controllerVFH
描述
的controllerVFH
系统对象™使您的车辆以避免障碍范围基于传感器数据使用向量场直方图(VFH)。鉴于激光扫描数据和目标方向开车,对象计算一个无障碍指导方向。
controllerVFH
具体使用VFH +算法来计算一个无障碍的方向。首先,该算法从激光扫描数据的范围和角度位置和构建一个极地直方图障碍。然后,输入直方图阈值用于计算二进制直方图表示占领和自由的方向。最后,算法计算一个蒙面的直方图,从二元直方图计算基于车辆的最小转弯半径。
算法选择多个转向方向基于开放空间和可能的行驶方向。成本函数,权值对应于前,电流,和目标方向,计算不同的成本可能的方向。对象返回一个无障碍方向以最小的成本。使用无障碍的方向,您可以输入命令来移动你的车在那个方向。
为您自己的应用程序使用该对象和环境,你必须优化算法的性能。属性值取决于车辆的类型,范围传感器和硬件使用。
找到一个无障碍转向方向:
创建
controllerVFH
对象并设置其属性。调用对象的参数,就好像它是一个函数。
了解更多关于系统对象是如何工作的,看到的系统对象是什么?
创建
描述
返回一个向量场直方图对象计算无障碍使用指导方向VFH
= controllerVFHVFH +
算法。
返回一个向量场直方图对象由一个或多个指定附加选项VFH
= controllerVFH (的名字
,价值
)名称,值
对。的名字是属性名和值对应的值。名称必须出现在单引号(' '
)。您可以指定几个名称-值对参数在任何顺序Name1, Value1,…,的家
。没有指定属性保留默认值。
属性
使用
描述
找到一个无障碍转向方向使用VFH +算法的输入steeringDir
= vfh (扫描
,targetDir
)lidarScan
对象,扫描
。目标方向是基于目标位置。
要启用这种语法,你必须设置UseLidarScan
财产真正的
。例如:
制程= monteCarloLocalization (“UseLidarScan”,真正的);…[isUpdated,姿势,协方差]=制程(odomPose,扫描);
用两个向量定义了激光雷达扫描:steeringDir
= vfh (范围
,角
,targetDir
)范围
和角
。
输入参数
输出参数
对象的功能
使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj
使用这个语法:
发行版(obj)
例子
引用
[1]伯伦斯坦,J。科伦,y。“向量场直方图——快速移动机器人避障。”IEEE Journal of Robotics and Automation. Vol. 7, Number 3, 1991, pp.278–88.
[2]乌尔里希,我。,和J. Borenstein. "VFH : Reliable Obstacle Avoidance for Fast Mobile Robots."诉讼。1998年IEEE机器人与自动化国际会议上。(1998):1572 - 1577。
扩展功能
版本历史
介绍了R2019b