機器人技術(shù)基礎系列:規劃與導航
避障
本文引用地址:http://dyxdggzs.com/article/106820.htm路徑規劃人員僅考慮預先知道的環(huán)境障礙。在路徑執行中可能由于地圖精度或動(dòng)態(tài)環(huán)境等因素,造成機器人真實(shí)傳感器的值與預期值之間存在差異。因此,機器人必須能根據真實(shí)傳感器的值實(shí)時(shí)改變運動(dòng)路徑。這正是避障能力重要的原因。一些通用的避障方法包括Bug算法、VFH算法。
Bug算法
一種直接的路徑規劃方法是沿機器人行進(jìn)路線(xiàn)中每個(gè)障礙的輪廓繞行。Bug1算法中,機器人完全沿障礙物輪廓環(huán)繞,并在到 達離目標地點(diǎn)最近的點(diǎn)時(shí)分離。這種方法效率低,但能確保機器人到達任何可到達的目標。Bug2算法中,機器人先沿障礙物輪廓行進(jìn),當達到可直達目標地點(diǎn)的 位置時(shí)立刻分離。Bug2算法顯著(zhù)縮短了機器人的行進(jìn)路程,但仍不是最優(yōu)的。
VFH算法
Bug算法的一個(gè)限制是機器人每一刻的行為一般為傳感器最近時(shí)刻讀數的函數。這就可能導致機器人的瞬時(shí)傳感器讀數不能為 穩定的避障能力提供足夠的信息。VFH技術(shù)通過(guò)創(chuàng )建機器人周?chē)h(huán)境的地圖克服了該限制。在避障時(shí)生成極坐標柱狀圖來(lái)確定轉向。首先,識別能夠讓機器人通過(guò) 的所有通道。然后,執行考慮目標方向、輪方向和前一刻方向的代價(jià)函數。

圖2. LabVIEW VI的前面板運行VFH避障算法
在中LabVIEW使用算法
通過(guò)LabVIEW用戶(hù)可選擇最有效的語(yǔ)法來(lái)開(kāi)發(fā)算法,或使用內置工具來(lái)導入其它基于文本語(yǔ)言寫(xiě)的算法。繼承代碼中已有的搜索算法及其它機器人庫可輕松導入LabVIEW、LabVIEW Real-Time和LabVIEW FPGA中。
評論