主要内容

validatorOccupancyMap

基于二维网格地图状态验证器

自从R2019b

描述

validatorOccupancyMap对象验证状态和离散运动基于2 d入住率地图的价值。一个被占领的地图位置被解释为一个无效的状态。

创建

语法

描述

验证器= validatorOccupancyMap创建一个二维状态空间占用地图验证器与一个SE2默认设置。

例子

验证器= validatorOccupancyMap (stateSpace)在给定的状态空间创建一个验证器来自定义nav.StateSpace

验证器= validatorOccupancyMap (stateSpace,名称,值)指定了地图XYIndices属性的使用名称,值对参数。

属性

全部展开

状态空间的验证状态,指定为的一个子类nav.StateSpace。提供了状态空间对象包括:

地图用于验证状态,指定为一个binaryOccupancyMapoccupancyMap对象。

国家间的间隔抽样和检查状态有效性,指定为一个积极的数字标量。

状态变量映射xy状态向量的坐标,指定为一个双元素向量,[xIdx yIdx]。例如,如果一个状态向量给出[r p y x y z],xy坐标是5 [4]

对象的功能

复制 创建深拷贝的验证器对象
isStateValid 检查状态是否有效
isMotionValid 检查状态之间的路径是否有效

例子

全部折叠

这个例子展示了如何通过一个环境验证路径。

加载地图。使用简单的地图创建一个二进制入住率地图。

负载exampleMaps.mat地图= occupancyMap (simpleMap);显示(图)

图包含一个坐标轴对象。坐标轴对象与标题占用网格,包含X [m], ylabel Y(米)包含一个类型的对象的形象。

指定一个粗糙的地图路径。

路径=[2 2π/ 2;10 15 0;17日8 -π/ 2];持有情节(路径(:1),路径(:,2),”——o”)

图包含一个坐标轴对象。坐标轴对象与标题占用网格,包含X [m], ylabel Y [m]包含2类型的对象形象,线。

创建一个验证器使用状态stateSpaceSE2定义。指定映射和插值和验证路径段的距离。

验证器= validatorOccupancyMap (stateSpaceSE2);验证器。地图= map; validator.ValidationDistance = 0.1;

检查路径的点是有效的。三个点都在自由的空间,所以被认为是有效的。

isValid = isStateValid(验证器,路径)
isValid =3 x1逻辑阵列1 1 1

检查每个连续的路径之间的运动状态。的isMotionValid函数沿着路径状态之间的篡改。如果一个路径段是无效的,情节最后有效点沿着路径。

startStates =[路径(1:);路径(2:)];endStates =[路径(2:);路径(3:)];我= 1:2 (isPathValid lastValid] = isMotionValid(验证器,startStates(我,:),endStates(我,:));如果~ isPathValid情节(lastValid (1) lastValid (2),”或“)结束结束持有

图包含一个坐标轴对象。坐标轴对象与标题占用网格,包含X [m], ylabel Y [m]包含3类型的对象形象,线。一个或多个行显示的值只使用标记

扩展功能

版本历史

介绍了R2019b