VFH算法

维基百科,自由的百科全书

Vector Field Histogram算法,简称VFH算法,直译为“方向区间柱图法”。是一种由人工势场法改进而来的机器人导航算法。

人工势场法的局限性[编辑]

由于人工势场法无法很好地处理在目标点附近的陷阱干扰问题,因此Johann Borenstein和Yoram Koren在1991年提出了VFH算法。

算法核心思想[编辑]

算法会计算各个方向的行进代价,该方向的障碍越多,代价越高,并且会累加该方向不同距离的障碍物(根据距离,权重不同)。

根据不同方向的行进代价,可以直观的用一个柱状图表示。横坐标为0-360度的方向,纵坐标是该角度下的行进代价。柱状图越高,表示向该方向行进的代价越高,也表明越不可能通过。

理论上,这个柱状图低的区域是便于行进的,但可能会偏离目标方向,因此,需要一个平衡函数来平衡行进代价和目标方向。最终,会选择一个相对最适宜的方向行进。于是这个函数便是整个算法的核心。

最新研究进展[编辑]

最新的VFH改进算法有VFH+,VFH*。其中后者的星号源自A*搜寻算法,顾名思义,该算法引入了A*搜寻算法,将两者的优点结合起来。