主要内容

navPath

计划路径

自从R2019b

描述

navPath对象存储路径通常是由几何路径规划。路径点作为状态存储在一个关联的状态空间。

创建

描述

路径= navPath创建一个路径对象,路径使用SE(2)与默认设置状态空间。

例子

路径= navPath (空间)创建一个路径对象与指定的状态空间空间。的空间输入设置的值StateSpace财产。

路径= navPath (空间,)允许您初始化的路径与国家样本。指定作为一个矩阵的样本。以外的国家StateBounds国家的空间对象范围。的输入设置的值财产。

路径= navPath (空间,,maxNumStates)创建一个路径对象与指定的最大数量的国家允许的路径maxNumStates。的maxNumStates输入设置的值MaxNumStates财产。

属性

全部展开

状态空间的路径,指定为一个状态空间对象。每个州的路径是一个样本指定的状态空间。您可以使用对象等stateSpaceSE2,stateSpaceDubins,stateSpaceReedsShepp,或stateSpaceSE3为状态空间对象。您还可以定制一个状态空间对象使用nav.StateSpace对象。

州的路径,指定为一个实值——- - - - - -N矩阵。在路径的状态数,然后呢N是每个国家的维数。你只能在对象创建或使用设置该属性附加函数。

例子:[0 0 0;1 1 0;2 2 0)

例子:[0 0 0 1 0 0 0;1 1 1 1 0 0 0;2 2 1 1 0 0 0)

数据类型:

这个属性是只读的。

一些国家的样本路径,指定为一个非负整数。数量是一样的行数的矩阵中指定财产。

数据类型:

最大数量的州允许在指定的路径,是一个积极的标量整数。

当指定为道路是明确resizeable。对于代码生成,DynamicMemoryAllocation必须设置为“上”

当指定为一个标量正整数,州的最大数量的对象仅限于指定的值。使用它来创建一个resizeable路径时启用DynamicMemoryAllocation在代码生成是不允许的。

数据类型:

对象的功能

附加 增加国家的路径
复制 创建路径对象的副本
插入 插入点沿着路径
路径长 路径的长度

例子

全部折叠

创建一个navPath基于多个中转地点一个杜宾空间对象。

dubinsSpace = stateSpaceDubins ([0 25;0 25;π-π)
dubinsSpace = stateSpaceDubins属性:SE2属性名称:“SE2杜宾的StateBounds: [3 x2双]NumStateVariables: 3 MinTurningRadius杜宾车辆属性:1
pathobj = navPath (dubinsSpace)
pathobj = navPath属性:StateSpace: [1 x1 stateSpaceDubins]: [0 x3双]NumStates: 0 MaxNumStates:正
路点=[8 10π/ 2;7 14π/ 4;10 17π/ 2;10 10 -π);追加(pathobj锚点)

插入路径,它包含了250点。

插入(pathobj, 250)

可视化插值路径和原来的锚点。

网格图平等的持有情节(pathobj.States (: 1) pathobj.States (:, 2),“。b”)情节(锚点(:1)锚点(:,2),“* r”,“MarkerSize”,10)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。一个或多个行显示的值只使用标记

计算路径的长度。

len =通路长度(pathobj);disp ("路径长度= "+ num2str (len))
路径长度= 19.4722

一块3 d占用城市地图加载到工作区。指定阈值考虑细胞无障碍。

mapData =负载(“dMapCityBlock.mat”);omap = mapData.omap;的核心。FreeThreshold = 0.5;

膨胀的入住率地图添加一个缓冲地带安全运行的障碍。

充气(omap, 1)

创建一个SE(3)状态空间对象状态变量的范围。

党卫军= stateSpaceSE3([0 0 220; 220; 100;正正,正正,正正,正正]);

创建一个navPath对象基于多个中转地点一个SE(3)状态空间。

路径= navPath (ss);路点= [40 180 15 0.7 - 0.2 0 0.1;55 120 20 0.6 - 0.2 0 0.1;25 100 100 0.5 0.2 0.1 0;130 90 30 0 0.4 0.1 - 0.6;150 33 35 0.3 0 0.1 0.6);追加(路径,路径点)

插入路径,它包含了250点。

插入(路径,250)

可视化插值路径和原来的锚点。

显示(omap)轴平等的视图(55 [-10])%开始状态scatter3(锚点(1,- 1),锚点(1、2),锚点(1、3)“g”,“填充”)%的目标状态scatter3(锚点(,1),锚点(,2),锚点(结束,3),“r”,“填充”)%中间路点scatter3(锚点(2:end-1, 1),锚点(2:end-1, 2),锚点(2:end-1, 3),“y”,“填充”)%的路径plot3 (path.States (: 1) path.States (:, 2), path.States (:, 3),“r -”线宽= 2)

计算路径的长度。

len =路径(路径);disp ("路径长度= "+ num2str (len))
路径长度= 204.1797

扩展功能

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

版本历史

介绍了R2019b