主要内容

pathPlannerRRT

配置RRT路径规划

描述

pathPlannerRRT对象配置基于最优车辆路径规划迅速探索随机树(RRT *)算法。* RRT路径规划探索车辆周围的环境通过构造随机树无碰撞造成。

一旦pathPlannerRRT对象配置,使用计划函数的计划从一开始就对这个目标的道路。

创建

描述

例子

规划师= pathPlannerRRT (costmap)返回一个pathPlannerRRT对象规划车辆路径。costmap是一个vehicleCostmap对象指定车辆周围的环境。costmap设置Costmap属性值。

规划师= pathPlannerRRT (costmap,名称,值)属性路径的规划师通过使用一个或多个名称-值对参数。例如,pathPlanner (costmap GoalBias, 0.5)设置GoalBias属性概率为0.5。在报价附上每个属性的名字。

属性

全部展开

Costmap车辆的环境,指定为一个vehicleCostmap对象。costmap用于碰撞检测的随机生成的姿势。指定这个costmap创造你的时候pathPlannerRRT对象使用costmap输入。

宽容在目标构成,指定为一个(xTol,yTol,ΘTol)向量。路径规划完成计划当车辆到达目标构成这些公差内(x,y)位置和姿态角,Θ。的xTolyTol值在同一个世界单位vehicleCostmapΘTol是在度。

的概率选择目标构成,而不是随机的姿势,指定为一个真正的标量范围[0,1]。大值加速达到目标未能实现障碍的风险。

方法用于计算连续姿势之间的联系,指定为“杜宾”“Reeds-Shepp”。使用“杜宾”如果只允许向前运动。

“杜宾”方法包含一个序列的三个基本动作,每一个都是这些类型之一:

  • 直(向前)

  • 左转车辆的最大转向角(向前)

  • 右转车辆的最大转向角(向前)

如果你使用此连接方法,那么计划的部分车辆路径被存储为一个数组driving.DubinsPathSegment对象。

“Reeds-Shepp”方法包含一个序列的三到五个基本动作,每一个都是这些类型之一:

  • 直(正向或反向)

  • 左转车辆的最大转向角(正向或反向)

  • 右转车辆的最大转向角(正向或反向)

如果你使用此连接方法,那么计划的部分车辆路径被存储为一个数组driving.ReedsSheppPathSegment对象。

MinTurningRadius属性决定了最大转向角。

最大距离两个连接构成,指定为一个积极的真正的标量。pathPlannerRRT计算之间的连接距离沿着路径两个姿势,与包括。较大的值导致长路径段之间的姿势。

最小转弯半径的车辆,指定为一个积极的真正的标量。这个值对应的半径转弯半径最大转向角。较大的值限制的最大转向角路径规划,和较小的值导致尖锐。默认值是计算使用2.8米的轴距35度的最大转向角。

为探索costmap最小数量的迭代计划,指定为一个正整数。增加这个值增加抽样costmap的可选路径。

为探索costmap最大数量的迭代计划,指定为一个正整数。增加这个值增加样本的数量寻找一个有效的路径。如果没有找到一个有效的路径,路径规划后出口超过这个最大值。

使近似最近邻搜索,指定为真正的。将这个值设置为真正的使用一个更快,但近似搜索算法。将这个值设置为使用一个精确的搜索算法在计算时间增加的成本。

对象的功能

计划 计划车辆路径使用RRT路径规划
情节 情节路径计划RRT路径规划

例子

全部折叠

计划一个车辆路径的停车位使用RRT *算法。

负载的costmap停车场。情节costmap看到停车场和车辆,以避免过高的地区。

data =负载(“parkingLotCostmapReducedInflation.mat”);costmap = data.parkingLotCostmapReducedInflation;情节(costmap)

图包含一个坐标轴对象。坐标轴对象包含2图像类型的对象,补丁。该对象代表的地区。

启动和目标提出了路径规划定义为(x, y,Θ)向量。世界单位(x,y位置是在米。世界单位Θ取向的值在度。

startPose = [11 10 0];%(米、米、学位)goalPose = (31.5, 90);

创建一个RRT *路径规划计划路径从一开始对目标构成。

规划师= pathPlannerRRT (costmap);refPath =计划(计划、startPose goalPose);

阴谋计划路径。

策划(计划)

图包含一个坐标轴对象。坐标轴对象包含12图像类型的对象,补丁,散点、线、多边形。这些对象代表的地区,规划路径,提出期望的目标。

计划通过使用一个停车场车辆路径最优迅速探索随机树(RRT *)算法。检查路径是否有效,然后沿着路径情节过渡姿势。

负载的costmap停车场。情节costmap看到停车场和车辆,以避免过高的地区。

data =负载(“parkingLotCostmap.mat”);costmap = data.parkingLotCostmap;情节(costmap)

图包含一个坐标轴对象。坐标轴对象包含2图像类型的对象,补丁。该对象代表的地区。

启动和目标提出了车辆定义为(x,y,Θ)向量。世界单位(x,y位置是在米。世界单位Θ取向角的度。

startPose = (4, 90);%(米、米、学位)goalPose =[0] 30日13日;

使用一个pathPlannerRRT对象从一开始就计划一个路径对目标构成。

规划师= pathPlannerRRT (costmap);refPath =计划(计划、startPose goalPose);

检查路径是否有效。

isPathValid = checkPathValidity (refPath costmap)
isPathValid =逻辑1

沿着路径插入过渡姿势。

transitionPoses =插入(refPath);

阴谋计划的路径和costmap过渡姿势。

持有情节(refPath“DisplayName的”,“计划路径”)散射(transitionPoses (: 1) transitionPoses (:, 2), [],“填充”,“DisplayName的”,“过渡姿势”)举行

图包含一个坐标轴对象。坐标轴对象包含13个类型的对象形象,补丁,散点、线、多边形。这些对象代表的地区,规划路径,过渡姿势。

提示

  • 更新的属性的任何计划计划扫清了道路pathPlannerRRT。调用情节只显示costmap直到计划使用的道路计划

  • 为了提高性能,pathPlannerRRT对象使用一个近似最近邻搜索。这个搜索技术检查sqrt (N)节点,N是搜索的节点数量。使用精确的最近邻搜索,设置ApproximateSearch财产

  • 杜宾和Reeds-Shepp连接方法是假定为运动学上地可行而忽略惯性的影响。这些方法使路径规划适合低速环境,在惯性轮力的影响很小。

引用

Sertac Karaman[1],埃米利奥Frazzoli。“最佳Kinodynamic运动规划使用增量Sampling-Based方法。”第49 IEEE会议决定和控制(CDC)。2010年。

[2]Shkel,安德烈·M。,Vladimir Lumelsky. "Classification of the Dubins Set."机器人和自治系统。34卷,4号,2001年,页179 - 202。

[3]芦苇,j . A。,L. A. Shepp. "Optimal paths for a car that goes both forwards and backwards."太平洋数学杂志。2号卷。145年,1990年,页367 - 393。

扩展功能

介绍了R2018a