主要内容

plannerHybridAStar

混合型A*路径规划器

描述

该混合路径规划器对象在给定的二维空间中为具有非完整约束的车辆生成一条平滑路径。

请注意

混合A*计划器通过插值运动原语和分析扩展来检查地图中的碰撞验证数据财产的财产StateValidator.对象。如果是验证数据属性设置为INF.,对象根据状态验证器中指定的映射单元格大小进行插值。在将占用图分配给计划人员之前,先填充占用图,以考虑车辆的大小。

创建

描述

例子

策划者= plannerhybridastar(验证器使用混合A *算法创建路径规划器对象。指定验证器输入为A.Validatoroccupancemap.或者validatorVehicleCostmap对象。的验证器输入设置值的值StateValidator.财产。

策划者= plannerhybridastar(验证器名称,值属性路径规划器通过使用一个或多个名称值对参数。将单引号('')内的每个属性名称括起来。

属性

全部展开

计划的状态验证器,指定为Validatoroccupancemap.或者validatorVehicleCostmap基于SE(2)状态空间的对象。

要生成的运动原语的长度,指定为逗号分隔的配对组成“MotionPrimitiveLength”和米的正标量。增加大地图或稀疏环境的长度。减少密集环境的长度。

请注意

“MotionPrimitiveLength”不能超过一圆周长的四分之一'minturningradius'

数据类型:

最小车辆的车辆半径,指定为逗号分隔对'minturningradius'和米的正标量。

请注意

的价值'minturningradius'被设置为这样的“MotionPrimitiveLength”不能超过基于它的圆周长的四分之一。

数据类型:

要生成的运动原语数,指定为分开的逗号分隔对'nummotionprimitives'一个正奇数标量。

成本乘数以向前的方向行进,指定为逗号分隔对“ForwardCost”一个正标量。增加成本值来惩罚前进。

数据类型:

反向旅行的成本乘数,指定为逗号分隔的对,由“ReverseCost”一个正标量。增加成本值来惩罚反向运动。

数据类型:

运动方向切换的附加代价,由逗号分隔的一对组成“DirectionSwitchingCost”一个正标量。增加成本值以惩罚方向切换。

数据类型:

尝试从该实例中可用的最低代价节点进行分析展开的间隔,指定为由'AnalyticexpansionInterval'和一个正整数标量。

混合A * Path Planner将来自节点的运动基元扩展,在该实例中具有最低的成本:

  • 要扩展的节点数量取决于要在方向上生成的原语的数量及其有效性,循环重复到'AnalyticexpansionInterval'是达到了。

  • 然后,规划器尝试使用REEDS-SHEPP模型从树中伸展到树立姿势。如果尝试失败,则计划员重复循环。

通过减少间隔来提高算法性能,以增加与最终目标的REEDS-SHEPP连接的检查数量。

输出路径中插值姿态之间的距离,指定为由“InterpolationDistance”和米的正标量。

数据类型:

对象的功能

计划 找到两个姿势之间的无障碍路径
显示 可视化计划的路径

例子

全部折叠

利用混合a *算法规划车辆通过停车场的无碰撞路径。

创建并将映射创建并分配到状态验证程序

在停车场的车辆肋架中加载细胞的成本值。

负载parkingLotCostVal.mat% costVal

创建一个binaryOccupancyMap具有成本价值。

地图= Binaryoccupancap(Costval);

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

验证器= validatorOccupancyMap;

将映射分配给状态Validator对象。

验证器。地图=地图;

计划和可视化路径

初始化plannerHybridAStar使用状态验证器对象创建的。指定MinTurningRadiusMotionPrimitiveLength计划者的财产。

Planner = Plannerhybridastar(验证器,'minturningradius',4,“MotionPrimitiveLength”6);

定义车辆的开始和目标姿势[x, y,θ)向量。xy以米为单位指定位置,和θ指定弧度中的方向角度。

血统= [6 10 pi / 2];%[米,米,弧度]守门= [90 54-pi / 2];

规划从开始姿势到目标姿势的路径。

Refpath =计划(规划师,血统,守缩小);

使用show函数可视化路径。

显示(计划)

图包含轴。带标题混合动力A *路径策划器的轴包含6个类型图像,线路,分散。这些对象代表前向动作原语,反向运动基元,最终路径,开始,目标。

参考

Dolgov, Dmitri, Sebastian Thrun, Michael Montemerlo和James Diebel。自动驾驶路径规划中的实用搜索技术.美国人工智能协会,2008。

Petereit, Janko, Thomas Emter, Christian W. Frey, Thomas Kopfstedt和Andreas Beutel。混合A*在非结构化户外环境下自主移动机器人路径规划中的应用ROBOTIK 2012:第七届德国机器人大会.2012年,第1-6页。

扩展功能

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

介绍了R2019b