显示
想象的轨迹
描述
例子
在Frenet空间最优轨迹规划
这个例子展示了如何使用最优轨迹规划trajectoryOptimalFrenet
对象。
创建和分配映射到状态验证器
创建一个状态验证器对象的碰撞检查。
stateValidator = validatorOccupancyMap;
创建一个障碍网格地图。
网格= 0 (50100);网格(24:26 48:53)= 1;
创建一个binaryOccupancyMap
网格地图。
地图= binaryOccupancyMap(网格);
分配和国家边界映射到状态验证器。
stateValidator。地图=地图;:stateValidator.StateSpace.StateBounds (1:2) = [map.XWorldLimits;map.YWorldLimits];
计划和设想的轨迹
创建一个参考路径规划。
refPath =[0, 25岁,100年,25);
初始化规划对象的引用路径,验证器。
规划师= trajectoryOptimalFrenet (refPath stateValidator);
分配纵向终端状态、横向偏差和最大加速度值。
planner.TerminalStates。纵向= 100;planner.TerminalStates。横向= 10:5:10;planner.FeasibilityParameters。MaxAcceleration = 10;
指定偏移补偿值接近左边侧终端状态优先左车道上的变化。
计划。DeviationOffset = 5;
轨迹规划
最初的笛卡尔的车辆状态。
initCartState =(0 25π/ 9 0 0 0);
笛卡儿的车辆状态转换为Frenet状态。
initFrenetState = cart2frenet(规划师,initCartState);
计划一个轨迹从最初Frenet状态。
计划(计划、initFrenetState);
轨迹可视化
可视化的地图和轨迹。
显示(map)在显示(规划师,“轨迹”,“所有”)
分区纵向终端状态轨迹生成
这个例子展示了如何分区的纵向终端状态最优轨迹规划使用trajectoryOptimalFrenet
对象。
创建和分配映射到状态验证器
创建一个状态验证器对象的碰撞检查。
stateValidator = validatorOccupancyMap;
创建一个障碍网格地图。
网格= 0 (50100);网格(25:27 28:33)= 1;网格(16:18,37:42)= 1;网格(29:31 72:77)= 1;
创建一个binaryOccupancyMap
网格地图。
地图= binaryOccupancyMap(网格);
分配和国家边界映射到状态验证器。
stateValidator。地图=地图;:stateValidator.StateSpace.StateBounds (1:2) = [map.XWorldLimits;map.YWorldLimits];
计划和设想的轨迹
创建一个参考路径规划。
refPath =[0, 25岁,30岁,30岁,75年,20,100,25);
初始化规划对象的引用路径,验证器。
规划师= trajectoryOptimalFrenet (refPath stateValidator);
分配纵向终端状态、横向偏差和最大加速度值。
planner.TerminalStates。纵向= 100;planner.TerminalStates。横向= 5:5:5;planner.FeasibilityParameters。MaxAcceleration = 10;
指定分区的数量的纵向终端状态。
计划。NumSegments = 3;
轨迹规划
初始Frenet车辆的状态。
initFrenetState = 0 (1,6);
计划一个轨迹从最初Frenet状态。
计划(计划、initFrenetState);
轨迹可视化
可视化的地图和轨迹。
显示(map)在显示(规划师,“轨迹”,“所有”)举行在
生成车道边界
计算参考路径Frenet状态的结束。
refPathEnd = cart2frenet(规划师,[planner.Waypoints(最终,:)0 0 0 0]);
计算车道偏移两边的侧终端州一半车道宽度值。
laneOffsets =独特([planner.TerminalStates.Lateral planner.TerminalStates.Lateral + 2.5 - 2.5]);
计算车道在笛卡尔的位置状态。
numLaneOffsets =元素个数(laneOffsets);xRefPathEnd =装天花板(refPathEnd (1));laneXY = 0 ((numLaneOffsets * xRefPathEnd) + numLaneOffsets, 2);xIndex = 0;为laneID = 1: numLaneOffsets为x = 1: xRefPathEnd laneCart = frenet2cart(规划师,[x 0 0 laneOffsets (laneID) 0 0]);xIndex = xIndex + 1;laneXY (xIndex:) = laneCart (1:2);结束xIndex = xIndex + 1;laneXY (xIndex:) =南(1、2);结束
情节车道边界。
情节(laneXY (: 1) laneXY (:, 2),“线宽”,0.5,“颜色”(0.5 0.5 0.5),“DisplayName的”,“车道边界”,“线型”,“——”)
输入参数
规划师
- - - - - -在Frenet空间最优轨迹规划
trajectoryOptimalFrenet
对象
在Frenet空间最优轨迹规划,指定为一个trajectoryOptimalFrenet
对象。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“轨迹”,“所有”
轨迹
- - - - - -轨迹显示选项
“最优”
(默认)|“所有”
轨迹显示选项,指定为逗号分隔组成的“轨迹”
,要么“最优”
或“所有”
。
ReferencePath
- - - - - -参考路径显示选项
“上”
(默认)|“关闭”
参考路径显示选项,指定为逗号分隔组成的“ReferencePath”
,要么“上”
或“关闭”
。
TrajectoryColor
- - - - - -轨迹颜色显示选项
“速度”
(默认)|“加速”
|“成本”
|“没有”
轨迹颜色显示选项,指定为逗号分隔组成的“TrajectoryColor”
和下列之一:
“加速”
“成本”
“速度”
“没有”
将此属性设置为指定的轨迹显示为沿指定路径渐变。
版本历史
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。