主要内容

validatorVehicleCostmap

基于二维成本图的状态验证器

描述

validatorOccupancyMap对象根据二维成本图中的值验证状态和离散化运动。已占用的映射位置被解释为无效状态。

创建

语法

描述

验证器= validatorVehicleCostmap创建一个与具有默认设置的SE2状态空间相关联的车辆成本地图验证器。

例子

验证器= validatorVehicleCostmap (stateSpace在派生的给定状态空间定义中创建验证器导航。StateSpace

验证器= validatorVehicleCostmap (stateSpacexyIndices设置XYIndices属性来指定状态向量中的哪些变量定义xy坐标。

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

属性

全部展开

的子类指定的用于验证状态的状态空间导航。StateSpace.所提供的状态空间对象包括:

用于验证状态的映射,指定为vehicleCostmap(自动驾驶工具箱)对象。

状态之间抽样和检查状态有效性的间隔,指定为正数值标量。

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

的状态变量映射θ状态向量中的坐标,指定为正整数。例如,如果一个状态向量为[x y],θ坐标是3.

对象的功能

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

例子

全部折叠

这个例子展示了如何在环境中验证路径。

加载示例映射。使用简单的地图创建车辆成本地图。指定膨胀半径为1米。

负载exampleMaps.matmap = vehicleCostmap(double(simpleMap));地图。CollisionChecker = inflationCollisionChecker(“InflationRadius”1);图(图)

图中包含一个axes对象。坐标轴对象包含两个类型为image、patch的对象。该对象表示膨胀区域。

指定通过地图的粗路径。

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

图中包含一个axes对象。坐标轴对象包含3个对象,类型分别是image、patch和line。该对象表示膨胀区域。

方法创建状态验证器stateSpaceSE2定义。指定插值和验证路径段的映射和距离。

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

检查路径上的点是否为有效状态。所有三个点都在自由空间中,因此被认为是有效的。

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

检查每个连续路径状态之间的运动。的isMotionValid函数沿着状态之间的路径插值。如果路径段无效,则绘制沿路径的最后一个有效点。

startStates = [path(1,:);path(2,:)];endStates = [path(2,:);path(3,:)];i = 1:2 [isPathValid, lastValid] = isMotionValid(validator,startStates(i,:),endStates(i,:));如果~ isPathValid情节(lastValid (1) lastValid (2),”或“结束结束持有

图中包含一个axes对象。坐标轴对象包含4个对象,类型为image、patch和line。该对象表示膨胀区域。

扩展功能

版本历史

在R2019b中引入

Baidu
map