主要内容

reedsSheppPathSegment

连接两个位姿的里德-谢普路径段

描述

reedSheppPathSegment对象保存用于连接各位姿的reed - shepp路径段的信息。reed - shepp路径段将两个姿态连接成五个动作类型的序列。运动选项有:

  • 直的

  • 以最大方向左转

  • 最大转向右转

  • 没有运动

创建

生成一个reedSheppPathSegment对象,使用连接函数与一个reedssheppconnection.目的:

reedsPathSegObj =连接(connectionObj、启动、目标)使用指定的连接类型对象连接开始和目标姿势。

具体定义一个路径段:

reedsPathSegObj = reedsSheppPathSegment (connectionObj、启动目标,motionLengths motionTypes)指定reed - shepp连接类型、起始和目标姿态以及相应的运动长度和类型。这些值被设置为对象中相应的属性。

属性

全部展开

此属性是只读的。

车辆的最小转弯半径,指定为米的正标量。该值对应于车辆最大转向角处的转动圆的半径。

数据类型:

此属性是只读的。

车辆在路径段开始时的初始姿态,指定为[xyθ.矢量。xy在米。θ.是在弧度。

数据类型:

此属性是只读的。

车辆在路径段末端的目标姿态,指定为[xyθ.矢量。xy在米。θ.是在弧度。

数据类型:

此属性是只读的。

路径段中每个运动的长度,指定为以米为单位的五元数字矢量。中指定的运动类型对应于每个运动长度MotionTypes

数据类型:

此属性是只读的。

路径段中的每个运动类型,指定为五元素串单元阵列。

运动类型 描述
“S” 直(向前,p或逆转,n
“L”

以车辆最大转向角度左转(前进,p或逆转,n

“r”

以车辆最大转向角度右转(前进,p或逆转,n

“N” 没有运动

如果一个路径段有少于五种运动类型,其余的元素是“N”(无运动)。

例子:{“L”,“S”,“R”,“L”,“R”}

数据类型:细胞

此属性是只读的。

路径段中每个运动的方向,指定为一个由1s(向前运动)和-1s(反向运动)组成的五元矢量。每个运动方向对应于中指定的运动长度MotionLengths中指定的运动类型MotionTypes

当没有运动发生时,即aMotionTypes价值是“N”,则相应的MotionDirections元素是1

例子:[-1 1 -1 1 1]

数据类型:

此属性是只读的。

路径段的长度,指定为以米为单位标量。这个长度只是元素的总和MotionLengths

数据类型:

对象的功能

插入 沿路径段插值姿态
显示 可视化道路段

例子

全部折叠

创建一个reedssheppconnection.目的。

reedsConnObj = reedsSheppConnection;

定义开始和目标姿势(x yθ)向量。

startPose = [0 0 0];goalPose = [1 1 pi];

计算连接位姿的有效路径段。

[pathSegObj, pathCosts] =连接(reedsConnObj、startPose goalPose);

显示生成的路径。

show(pathsegobj {1})

图中包含一个坐标轴。轴包含13个类型为线、散的对象。这些对象代表前进路径,反向路径,开始位置,目标位置。

参考

里德,j。A。和洛杉矶。谢普。"汽车前进和后退的最佳路径"太平洋数学杂志.卷。145,第290号,第290页,第367-393页。

扩展功能

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

介绍了R2019b