主要内容

stateSpaceReedsShepp

reed - shepp车辆的状态空间

描述

stateSpaceReedsShepp对象将参数和状态存储在reed - shepp状态空间中,状态空间由[表示的状态向量组成xyθ]。x而且y是笛卡尔坐标,和θ是方向角。reed - shepp状态空间在转弯半径上有一个下限(由MinTurningRadius对象中的属性)和正向和反向成本(由ForwardCost而且ReverseCost属性)用于在状态之间导航。

创建

描述

例子

空间= stateSpaceReedsShepp创建reed - shepp状态空间对象,其默认状态边界为xy,θ

求法= stateSpaceReedsShepp (界限指定了界限xy,θ.超出边界的状态值被截断为边界。输入,界限的值StateBounds财产。

属性

全部展开

状态空间的名称,指定为字符串。

此属性是只读的。

状态空间的维度,指定为正整数。

状态变量的边界,指定为3乘2的实值矩阵。

  • 的下限和上界x状态以米为单位。

  • 的下限和上限y状态以米为单位。

  • 的下界和上界θ状态以弧度为单位。

数据类型:

最小转弯半径(米),用正标量表示。最小转弯半径是指车辆在单一方向上最大转向时所能绕的最小圈。

向前运动的代价乘数,指定为正标量。增加惩罚向前运动的代价。

反向运动的代价乘数,指定为正标量。增加惩罚反向运动的成本。

对象的功能

复制 创建状态空间对象的深度副本
距离 两态之间的距离
enforceStateBounds 简化状态到状态边界
插入 在状态之间插值
sampleGaussian 样本状态采用高斯分布
sampleUniform 样品状态采用均匀分布

例子

全部折叠

创建ReedsShepp状态空间。

ss = stateSpaceReedsShepp;

创建一个occupanyMap基于的状态验证器,使用所创建的状态空间。

sv = validatoroccuancymap (ss);

从示例地图创建一个居住者地图,并将地图分辨率设置为10 cell /米。

负载exampleMapsmap = occuancymap (simpleMap,10);sv。地图=地图;

为验证器设置验证距离。

sv。ValidationDistance = 0.01;

更新状态空间边界使其与映射限制相同。

ss.StateBounds = [map.XWorldLimits;map.YWorldLimits;[-ππ]];

创建路径规划器并增加最大连接距离。

planner = plannerrt (ss,sv);计划。MaxConnectionDistance = 0.3;

设置开始和目标状态。

Start = [0.5,0.5,0];目标= [2.5,0.2,0];

使用默认设置规划路径。

rng (100“旋风”);可重复结果%[pthObj,solnInfo] = plan .plan(开始,目标);

想象结果。

显示(地图);持有;情节(solnInfo.TreeData (: 1) solnInfo.TreeData (:, 2),“。”);树扩展百分比情节(pthObj.States (: 1) pthObj.States (:, 2),的r -“线宽”, 2)%绘制路径

图中包含一个axes对象。标题为占用网格的轴对象包含3个类型为图像、直线的对象。

扩展功能

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

版本历史

在R2019b中引入

Baidu
map