主要内容

obstacleGeometry

障碍物的几何特性

描述

obstacleIDsgeomStruct= obstacleGeometry(capsuleListObj返回胶囊列表中每个障碍的障碍ID和几何参数。

例子

obstacleIDsgeomStruct= obstacleGeometry(capsuleListObjselectObstacleIDs指定返回哪个障碍物的ID和几何参数。

obstacleIDsgeomStruct状态= obstacleGeometry(capsuleListObjselectObstacleIDs返回每个ID是否在selectobstacleIDs的存在。

例子

全部折叠

方法向环境添加障碍dynamicCapsuleList对象。修改障碍物的属性。移除环境中的障碍。可视化环境中所有对象在不同时间戳时的状态。

创建dynamicCapsuleList对象。提取要用作对象路径时间戳数量的最大步骤数。

胶囊列表= dynamic胶囊列表;numSteps = capsuleList.MaxNumSteps;

添加障碍

指定两个障碍的状态作为从的线性路径x= 0米到x= 100米两个障碍物在地面上相反方向相距10米y设在。

obsState = linspace(0,1,numSteps)'。*[100 00];obsState1 = obsState+[0 10 0];obsState2 = obsState+[0 -10 0];

使用障碍物id生成两个障碍物的默认姿态和几何结构。

[obsIDs,obsPoseStruct] = obstaclePose(capsuleList,[1 2]);[obsIDs,obsGeomStruct] = obstacleGeometry(capsuleList,obsIDs);

更新障碍

将状态分配给障碍。

obsPoseStruct(1)。States = obsState1;obsPoseStruct(2)。States = obsState2;

增加第一个障碍物的半径到2米。

obsGeomStruct (1) .Geometry。半径= 2;

方法更新障碍updateObstaclePose而且updateObstacleGeometry对象的功能。

updateObstaclePose (capsuleList obsIDs obsPoseStruct);updateObstacleGeometry (capsuleList obsIDs obsGeomStruct);

想象障碍。

显示(capsuleList“步伐”1: numSteps);轴平等的

图中包含一个axes对象。axis对象包含两个patch类型的对象。

移除障碍

通过指定其ID,从胶囊列表中删除第一个障碍。

removeObstacle (capsuleList, 1);

再次想象障碍。

显示(capsuleList“步伐”1: numSteps);轴平等的

图中包含一个axes对象。axes对象包含一个patch类型的对象。

输入参数

全部折叠

动态胶囊列表,指定为dynamicCapsuleListdynamicCapsuleList3D对象。

障碍物id,指定为正整数的向量。这个函数只返回在这个向量中指定的障碍物的障碍物id和几何参数。

输出参数

全部折叠

障碍物的id,作为正整数的向量返回。

控件中的结构或结构数组返回障碍物的几何参数,其中每个结构包含来自该结构的字段几何相关障碍物的场。该结构的字段取决于是否使用dynamicCapsuleListdynamicCapsuleList3D对象。

表示存在障碍,返回为N- 1、0和负1的元素列向量。每个值表示相关障碍是否存在(1),更新(0)或副本(-1).中多次指定相同的自我体IDselectObstacleIDs参数,则函数将该ID在第一个之后的所有实例标记为重复项并忽略它们。

扩展功能

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

版本历史

在R2020b中引入

Baidu
map