主要内容

reedsSheppPathSegment

reed - shepp路径段连接两个姿态

描述

reedSheppPathSegment对象持有reed - shepp路径段的信息,以连接姿态之间。reed - shepp路径段将两个姿态连接为五种运动类型的序列。动议选项如下:

  • 直的

  • 最大转向时左转

  • 以最大方向右转

  • 没有运动

创建

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

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

要明确定义一个路径段:

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

属性

全部展开

此属性是只读的。

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

数据类型:

此属性是只读的。

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

数据类型:

此属性是只读的。

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

数据类型:

此属性是只读的。

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

数据类型:

此属性是只读的。

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

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

在车辆最大转向角度(向前,p或逆转,n)

“r”

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

“N” 没有运动

如果一个路径段的运动类型少于5种,那么剩下的元素是“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];目标姿态= [1 1 pi];

计算一个有效的路径段连接的姿态。

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

显示生成的路径。

show(pathsegobj {1})

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

参考

J. A. reed和L. A. Shepp。"既能前进又能后退的汽车的最优路径"太平洋数学杂志。卷。145,第290号,第290页,第367-393页。

扩展功能

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

介绍了R2019b