控制服务
避免使用矢量场直方图
描述
这控制服务
System Object™使您的车辆能够使用矢量场直方图(VFH)避免基于范围传感器数据的障碍。给定激光扫描读数和朝向目标的目标方向,对象计算无障碍的转向方向。
控制服务
专门使用VFH+算法来计算无障碍方向。首先,该算法从激光扫描数据中获取范围和角度,并为障碍物位置构建极性直方图。然后,使用输入直方图阈值来计算指示占据和自由方向的二进制直方图。最后,该算法计算一个蒙版直方图,该直方图是根据车辆的最小转圈从二元直方图计算的。
该算法根据开放空间和可能的驱动方向选择多个转向说明。具有与先前,当前和目标方向相对应的重量功能,可以计算不同可能的方向的成本。然后,该物体以最低的成本返回无障碍方向。使用无障碍方向,您可以输入命令以朝着该方向移动车辆。
要将此对象用于您自己的应用程序和环境,必须调整算法的属性。属性值取决于您使用的车辆类型,范围传感器和硬件。
找到一个无障碍的转向方向:
创建
控制服务
对象并设置其属性。用参数调用对象,就好像它是一个函数一样。
要了解有关系统对象如何工作的更多信息,请参阅什么是系统对象?
创建
描述
返回一个矢量字段直方图对象,该对象可以使用VFH
= ContranceervFHVFH+
算法。
返回一个矢量字段直方图对象,其中一个或多个指定的其他选项VFH
= contrantervFH(姓名
,,,,价值
)名称,价值
成对。名称是属性名称,值是相应的值。名称必须出现在单引号中(''
)。您可以按任何顺序指定几个名称值对参数NAME1,Value1,...,Namen,Valuen
。未指定的属性保留其默认值。
特性
用法
描述
使用VFH+算法找到输入的无障碍转向方向Steeringdir
= vfh(扫描
,,,,TargetDir
)利达尔扫
目的,扫描
。基于目标位置给出目标方向。
要启用此语法,您必须设置Uselidarscan
财产为真的
。例如:
mcl =蒙特卡洛定位('Uselidarscan',真的);...[iSuped,姿势,协方差] = mcl(odompose,扫描);
用两个向量定义激光扫描:Steeringdir
= vfh(范围
,,,,角度
,,,,TargetDir
)范围
和角度
。
输入参数
输出参数
对象功能
要使用对象函数,请将系统对象指定为第一个输入参数。例如,释放名称的系统对象的系统资源OBJ
,使用此语法:
释放(OBJ)
例子
参考
[1] Borenstein,J。和Y. Koren。“矢量场直方图 - 移动机器人的快速障碍物避免。”IEEE机器人和自动化杂志。卷。7,第3期,1991年,第278-88页。
[2] Ulrich,I。和J. Borenstein。“ VFH:快速移动机器人的可靠障碍。”程序。1998 IEEE机器人技术国际会议。(1998):1572–1577。