主要内容

stateSpaceDubins

杜宾斯车的州空间

描述

stateSpaceDubins对象将参数和状态存储在Dubins状态空间中,该状态空间由状态向量表示[xyθ].xy是笛卡尔坐标,然后呢θ为方向角。杜宾斯状态空间对转弯半径有一个下限(由MinTurningRadius属性)用于在状态之间导航,并使用最短的可行曲线连接状态。

创建

描述

例子

空间= stateSpaceDubins创建一个默认状态边界为的Dubins状态空间对象xy,θ

空间= stateSpaceDubins (界限指定了界限xy,θ.超出边界的状态值将被截断到边界。输入,界限的值StateBounds财产。

属性

全部展开

状态空间的名称,以字符串形式指定。

此属性是只读的。

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

状态变量的界,指定为一个3 × 2实值矩阵。

  • 属性的上、下界x在米。

  • 属性的上下边界y在米。

  • 属性的上下边界θ州弧度。

数据类型:

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

对象的功能

复制 创建状态空间对象的深度拷贝
距离 两态距离
enforceStateBounds 减少州到州的边界
插入 国家之间插入
sampleGaussian 样本状态使用高斯分布
sampleUniform 样本状态使用均匀分布

例子

全部折叠

创建一个Dubins状态空间,并设置最小转向半径为0.2

党卫军= stateSpaceDubins;ss.MinTurningRadius = 0.2;

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

sv = validatorOccupancyMap (ss);

从示例地图创建一个占用地图,并设置地图分辨率为10单元格/米。

负载exampleMaps地图= occupancyMap (simpleMap 10);sv。地图=地图;

为验证器设置验证距离。

sv。ValidationDistance = 0.01;

更新状态空间边界,使其与地图限制相同。

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

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

规划师= plannerRRT (ss、sv);计划。MaxConnectionDistance = 0.3;

设定开始和目标状态。

开始= (0.5,0.5,0);目标= (2.5,0.2,0);

使用默认设置规划路径。

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

可视化结果。

显示(地图);持有;情节(solnInfo.TreeData (: 1) solnInfo.TreeData (:, 2),“。”);%树扩张情节(pthObj.States (: 1) pthObj.States (:, 2),的r -“线宽”, 2)%画出路径

图中包含一个坐标轴。以“占用网格”为标题的坐标轴包含图像、直线三个对象。

扩展功能

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

介绍了R2019b