driving.Path

计划车辆路径

描述

driving.Path对象表示路径段的序列构成的车辆路径。这些段可以是driving.DubinsPathSegment对象或driving.ReedsSheppPathSegment对象和存储在路径区段财产driving.Path

要检查针对路径的有效性vehicleCostmap对象,请使用checkPathValidity功能。沿路径的长度内插的姿势,使用功能。

创建

创建一个driving.Path对象,请使用计划功能,指定一个pathPlannerRRT对象作为输入。

属性

展开全部

此属性是只读的。

车辆的初始姿势,指定为[XÿΘ)向量。Xÿ都是世界单位,比如米。Θ是在度。

此属性是只读的。

车辆的目标姿势,指定为[XÿΘ)向量。Xÿ都是世界单位,比如米。Θ是在度。

此属性是只读的。

沿着路径段,指定为阵列driving.DubinsPathSegment对象或driving.ReedsSheppPathSegment对象。

此属性是只读的。

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

对象函数

沿规划道路车辆姿势插值
情节 规划车辆路径

例子

全部收缩

通过使用最佳的快速随机树(RRT *)算法,通过规划停车场的车辆路径。检查路径是否有效,然后绘制沿路径的转换姿势。

加载一个停车场的成本地图。绘制成本地图,以看到停车场和膨胀的区域,为车辆避免。

数据=负载(“parkingLotCostmap.mat”);costmap = data.parkingLotCostmap;图(costmap)

将车辆的起始姿势和目标姿势定义为[XÿΘ]载体。世界单位为(Xÿ)位置是在米。世界单位为Θ取向角的单位为度。

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

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

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

检查路径是否有效。

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

插值沿路径的转换姿势。

transitionPoses =插入(refPath);

在成本图上标出计划的路径和过渡位置。

保持图(refPath,'显示名称'“计划路径”)散射(transitionPoses(:,1),transitionPoses(:,2),[]'填充'...'显示名称'“过渡体式”)举行

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

加载一个停车场的成本地图。绘制成本地图,以看到停车场和膨胀的区域,为车辆避免。

数据=负载(“parkingLotCostmap.mat”);costmap = data.parkingLotCostmap;图(costmap)

定义车辆的起始姿势和目标姿势为[XÿΘ]向量。世界单位为(Xÿ)位置是在米。世界单位为Θ取向角的单位为度。

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

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

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

在整个路径上每1米对车辆进行一次插值。

长度= 0:1:refPath.Length;姿势=插补(refPath,长度);

剧情上costmap插值姿势。

情节(costmap)散射(姿势(:,1),姿势(:,2),'显示名称'“插值体式”)举行

兼容性的考虑

展开全部

不推荐在R2018b开始

扩展功能

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

介绍了在R2018a