主要内容

计划

找到两个姿势之间无障碍路径

自从R2019b

描述

例子

路径=计划(规划师,开始,目标)计算之间的无障碍路径启动和目标姿态,指定为(xyθ]使用输入向量,plannerHybridAStar对象。

(路径,方向]=计划(规划师,开始,目标)还返回运动的方向沿着路径,为每一个姿势方向作为一个列向量。的值1指示前进方向和一个值1表示相反方向。函数返回一个空的列向量规划师时找不到路径。

(路径,方向,solutionInfo]=计划(规划师,开始,目标)同样的回报solutionInfo包含解决方案信息路径规划的结构。

(___]=计划(___“SearchMode”,模式)指定搜索算法模式模式除了参数从以前的语法的任意组合。

例子

全部折叠

计划通过一个停车场车辆的无碰撞路径通过使用混合a *算法。

创建和分配映射到状态验证器

负载细胞的成本价值的车辆costmap停车场。

负载parkingLotCostVal.mat% costVal

创建一个binaryOccupancyMap与成本值。

分辨率= 3;地图= binaryOccupancyMap (costVal,决议);

创建一个状态空间。

党卫军= stateSpaceSE2;

更新状态空间边界地图限制一样。

ss.StateBounds = [map.XWorldLimits; map.YWorldLimits;[-ππ]];

创建一个状态验证器对象的碰撞检查。

sv = validatorOccupancyMap (ss);

指定映射到状态验证器对象。

sv。地图=地图;

计划和可视化道路

初始化plannerHybridAStar对象的状态验证器对象。指定MinTurningRadiusMotionPrimitiveLength规划师的属性。

规划师= plannerHybridAStar (sv,MinTurningRadius = 4,MotionPrimitiveLength = 6);

启动和目标提出了车辆定义为(x, y,θ)向量。xy指定位置的米,θ指定的定向角弧度。

startPose =[4 9π/ 2];%(米,米,弧度)goalPose =[30 19 -π/ 2];

计划从一开始就对道路目标构成。

refpath =计划(计划、startPose goalPose, SearchMode =“详尽”);

可视化使用显示函数的路径。

显示(计划)

图包含一个坐标轴对象。坐标轴对象标题混合*路径规划,包含X [m], ylabel Y [m]包含8图像类型的对象,线,散射。这些对象代表前进运动原语,反向运动原语,转发路径,路径点,定位,首先,目标。

输入参数

全部折叠

混合*路径规划,指定为一个plannerHybridAStar对象。

开始位置的路径,指定为1×3向量形式(xyθ]xy指定位置的米,θ指定的定向角弧度。

例子:(5 5π/ 2)

数据类型:

最终位置的路径,指定为1×3向量形式(xyθ]xy指定位置的米,θ指定的定向角弧度。

例子:(45岁π/ 4)

数据类型:

搜索算法模式,指定这些选项之一:

  • “贪婪”——优先考虑平均在最短的时间内找到一个解决方案。

  • “详尽”——增加节点的数量在开集优化的解决方案。

例子:计划(phastar,开始,目标,“SearchMode”,“贪婪”)

数据类型:字符串|字符

输出参数

全部折叠

无障碍路径,作为一个返回navPath对象。

沿着路径方向的运动姿势,返回的列向量1(向前)和1s(反向)。

数据类型:

解决方案信息,作为一个结构返回。结构的字段有:

领域的solutionInfo

字段 描述
IsPathFound 指示是否发现一个路径。它返回,1如果找到一个路径。否则,它将返回0
NumNodes 搜索树的节点数量在计划终止时(不含根节点)。
NumIterations 执行计划的迭代次数。

数据类型:结构体

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

版本历史

介绍了R2019b

全部展开