主要内容

显示

想象的轨迹

描述

显示(规划师)可视化的参考路径和轨迹生成的候选人计划函数。轨迹显示为一行。情节还包括datatip模式,可用于可视化可行性向量和索引的轨迹TrajectoryList财产。

例子

显示(规划师,名称,值)使用一个或多个指定附加选项名称,值对参数。

axHandle=显示(规划师)返回的斧头柄用来绘制轨迹图。

例子

全部折叠

这个例子展示了如何使用最优轨迹规划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)显示(规划师,“轨迹”,“所有”)

图包含一个坐标轴对象。坐标轴对象与标题二进制占用网格包含5图像类型的对象,线,补丁。这些对象代表锚点,参考路径最优轨迹。

这个例子展示了如何分区的纵向终端状态最优轨迹规划使用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: numLaneOffsetsx = 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的”,“车道边界”,“线型”,“——”)

图包含一个坐标轴对象。坐标轴对象与标题二进制占用网格包含6类型的对象形象,线,补丁。这些对象代表锚点,参考路径,最优轨迹,车道边界。

输入参数

全部折叠

在Frenet空间最优轨迹规划,指定为一个trajectoryOptimalFrenet对象。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“轨迹”,“所有”

轴绘制轨迹,指定为逗号分隔组成的“父”和一个UIAxes对象。看到uiaxes

轨迹显示选项,指定为逗号分隔组成的“轨迹”,要么“最优”“所有”

参考路径显示选项,指定为逗号分隔组成的“ReferencePath”,要么“上”“关闭”

轨迹颜色显示选项,指定为逗号分隔组成的“TrajectoryColor”和下列之一:

  • “加速”

  • “成本”

  • “速度”

  • “没有”

将此属性设置为指定的轨迹显示为沿指定路径渐变。

输出参数

全部折叠

斧柄用来绘制轨迹,作为一个返回,或uiaxes对象。

版本历史

介绍了R2019b