主要内容

开车。路径

计划车辆路径

描述

开车。路径对象表示由路径段序列组成的车辆路径。这些部分可以是其中之一开车。DubinsPathSegment对象或开车。ReedsSheppPathSegment对象,并存储在PathSegments的属性开车。路径

方法检查路径的有效性vehicleCostmap对象,使用checkPathValidity函数。要沿路径的长度插值姿态,使用插入函数。

创建

创建一个开车。路径对象,使用计划函数,指定一个pathPlannerRRT对象作为输入。

属性

全部展开

此属性是只读的。

车辆的初始姿态,指定为[xyΘ)向量。x而且y是世界单位,如米。Θ是在度。

此属性是只读的。

车辆的目标姿态,列明为[xyΘ)向量。x而且y是世界单位,如米。Θ是在度。

此属性是只读的。

的数组指定的路径上的段开车。DubinsPathSegment对象或开车。ReedsSheppPathSegment对象。

此属性是只读的。

路径长度,以世界单位表示,指定为正实标量。

对象的功能

插入 沿着计划的车辆路径插值姿态
情节 规划车辆路径

例子

全部折叠

利用最优快速搜索随机树(RRT*)算法规划通过停车场的车辆路径。检查路径是否有效,然后沿着路径绘制过渡姿势。

加载一个停车场的成本图。绘制成本图,看到停车场和充气区域的车辆要避免。

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

图中包含一个axes对象。坐标轴对象包含两个类型为image、patch的对象。该对象表示膨胀区域。

定义车辆的起始和目标姿态为[xyΘ)向量。的世界单位(xy)的位置以米为单位。世界单位Θ方位角以度为单位。

startPose = [4,4,90];%[米,米,度]goalPose = [30, 13, 0];

使用一个pathPlannerRRT对象来规划从起始姿势到目标姿势的路径。

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

检查路径是否有效。

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

沿着路径插值过渡姿势。

transitionPoses =插入(refPath);

在成本图上绘制计划的路径和转换姿势。

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

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

通过使用快速探索随机树(RRT*)算法规划通过停车场的车辆路径。插值车辆的姿态在沿途的点。

加载一个停车场的成本图。绘制成本图,看到停车场和充气区域的车辆要避免。

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

图中包含一个axes对象。坐标轴对象包含两个类型为image、patch的对象。该对象表示膨胀区域。

定义车辆的起始和目标姿态为xyΘ向量。的世界单位(xy)的位置以米为单位。世界单位Θ方位角以度为单位。

startPose = [4,4,90];%[米,米,度]goalPose = [30, 13, 0];

使用一个pathPlannerRRT对象来规划从起始姿势到目标姿势的路径。

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

沿着整个路径每1米插值车辆姿势。

长度= 0:1:refPath.Length;提出了=插入(refPath、长度);

在成本图上绘制插值的姿势。

情节(costmap)散射(姿势(:1),姿势(:,2),“DisplayName的”“插入的姿势”)举行

图中包含一个axes对象。坐标轴对象包含3个类型的对象,图像,补丁,散射。这些对象代表膨胀的区域,插值的姿势。

扩展功能

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

版本历史

介绍了R2018a

全部展开

Baidu
map