跳至內容

VFH算法

維基百科,自由的百科全書

Vector Field Histogram算法,簡稱VFH算法,直譯為「方向區間柱圖法」。是一種由人工勢場法改進而來的機器人導航算法。

人工勢場法的局限性

由於人工勢場法無法很好地處理在目標點附近的陷阱干擾問題,因此Johann Borenstein和Yoram Koren在1991年提出了VFH算法。

算法核心思想

算法會計算各個方向的行進代價,該方向的障礙越多,代價越高,並且會累加該方向不同距離的障礙物(根據距離,權重不同)。

根據不同方向的行進代價,可以直觀的用一個柱狀圖表示。橫坐標為0-360度的方向,縱坐標是該角度下的行進代價。柱狀圖越高,表示向該方向行進的代價越高,也表明越不可能通過。

理論上,這個柱狀圖低的區域是便於行進的,但可能會偏離目標方向,因此,需要一個平衡函數來平衡行進代價和目標方向。最終,會選擇一個相對最適宜的方向行進。於是這個函數便是整個算法的核心。

最新研究進展

最新的VFH改進算法有VFH+,VFH*。其中後者的星號源自A*搜尋算法,顧名思義,該算法引入了A*搜尋算法,將兩者的優點結合起來。