主要内容

dubinsConnection

Dubins路径连接类型

描述

dubinsConnection对象保存用于计算的信息dubinsPathSegment连接姿态之间的路径段。杜宾斯路径段将两个姿势连接为三个动作的序列。运动选项是:

  • 最大转向时左转

  • 最大转向时右转

杜宾斯路径段只允许正向运动。

使用此连接对象定义机器人运动模型的参数,包括最小转弯半径和路径类型选项。若要使用此连接类型在姿态之间生成路径段,请调用连接函数。

创建

描述

例子

dubConnObj= dubinsConnection使用默认属性值创建对象。

dubConnObj= dubinsConnection (名称,值使用名称-值对指定属性值。若要设置多个属性,请指定多个名称-值对。

属性

全部展开

车辆的最小转弯半径,以米为单位的正标量指定。最小转弯半径是指车辆在单一方向上最大转向时所能绕的最小圈。

数据类型:

禁用Dubins路径类型,指定为三元字符向量或字符串标量向量的单元格数组。单元阵列定义了车辆运动模型所禁止的三个运动序列。

运动类型 描述
“S”
“L”

在车辆最大转向角处左转

“R”

在车辆最大转向角处右转

要查看所有可用的路径类型,请参见AllPathTypes财产。

对于Dubins连接,可用的路径类型为:{" lsl "} {" lsr "} {" rsl "} {" rsr "} {" rlr "} {" lrl "}

例子:[" LSL”、“LSR”)

数据类型:字符串|细胞

此属性是只读的。

所有可能的路径类型,作为字符向量的单元格数组返回。此属性列出所有类型。中从此列表中指定类型,以禁用某些类型DisabledPathTypes

对于Dubins连接,可用的路径类型为:{' lsl '} {' lsr '} {' rsl '} {' rsr '} {' rlr '} {' lrl '}

数据类型:细胞

对象的功能

连接 为给定的连接类型连接姿势

例子

全部折叠

创建一个dubinsConnection对象。

dubConnObj = dubinsConnection;

定义开始姿势和目标姿势为[x y theta]向量。

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

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

[pathSegObj, pathCosts] = connect(dubConnObj,startPose,goalPose);

显示生成的路径。

表演(pathSegObj {1})

图中包含一个轴对象。axis对象包含12个类型为line、scatter的对象。这些对象表示路径、起始位置、目标位置。

创建一个dubinsConnection对象。

dubConnObj = dubinsConnection;

定义开始姿势和目标姿势为[x y theta]向量。

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

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

pathSegObj = connect(dubConnObj,startPose,goalPose);

显示生成的路径。注意转弯的方向。

表演(pathSegObj {1})

图中包含一个轴对象。axis对象包含12个类型为line、scatter的对象。这些对象表示路径、起始位置、目标位置。

pathSegObj{1}。MotionTypes
ans =1 x3单元格{' r '} {' l '} {' r '}

在一个新的连接对象中禁用这个特定的运动序列。减少MinTurningRadius如果机器人的机动性更好。再次连接姿势以获得不同的路径。

dubConnObj = dubinsConnection(“DisabledPathTypes”, {“RLR”});dubConnObj。MinTurningRadius = 0.5;[pathSegObj, pathCosts] = connect(dubConnObj,startPose,goalPose);pathSegObj{1}。MotionTypes
ans =1 x3单元格{' l '} {' s '} {' l '}
表演(pathSegObj {1})

图中包含一个轴对象。axis对象包含10个类型为line、scatter的对象。这些对象表示路径、起始位置、目标位置。

参考文献

[1] Shkel, Andrei M.和Vladimir Lumelsky。" Dubins集合的分类"机器人与自主系统.第34卷,2001年第4期,179-202页。

扩展功能

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

版本历史

R2019b引入

Baidu
map