機(jī)器人技術(shù)基礎(chǔ)系列:規(guī)劃與導(dǎo)航
避障
本文引用地址:http://www.ex-cimer.com/article/106820.htm路徑規(guī)劃人員僅考慮預(yù)先知道的環(huán)境障礙。在路徑執(zhí)行中可能由于地圖精度或動態(tài)環(huán)境等因素,造成機(jī)器人真實(shí)傳感器的值與預(yù)期值之間存在差異。因此,機(jī)器人必須能根據(jù)真實(shí)傳感器的值實(shí)時(shí)改變運(yùn)動路徑。這正是避障能力重要的原因。一些通用的避障方法包括Bug算法、VFH算法。
Bug算法
一種直接的路徑規(guī)劃方法是沿機(jī)器人行進(jìn)路線中每個(gè)障礙的輪廓繞行。Bug1算法中,機(jī)器人完全沿障礙物輪廓環(huán)繞,并在到 達(dá)離目標(biāo)地點(diǎn)最近的點(diǎn)時(shí)分離。這種方法效率低,但能確保機(jī)器人到達(dá)任何可到達(dá)的目標(biāo)。Bug2算法中,機(jī)器人先沿障礙物輪廓行進(jìn),當(dāng)達(dá)到可直達(dá)目標(biāo)地點(diǎn)的 位置時(shí)立刻分離。Bug2算法顯著縮短了機(jī)器人的行進(jìn)路程,但仍不是最優(yōu)的。
VFH算法
Bug算法的一個(gè)限制是機(jī)器人每一刻的行為一般為傳感器最近時(shí)刻讀數(shù)的函數(shù)。這就可能導(dǎo)致機(jī)器人的瞬時(shí)傳感器讀數(shù)不能為 穩(wěn)定的避障能力提供足夠的信息。VFH技術(shù)通過創(chuàng)建機(jī)器人周圍環(huán)境的地圖克服了該限制。在避障時(shí)生成極坐標(biāo)柱狀圖來確定轉(zhuǎn)向。首先,識別能夠讓機(jī)器人通過 的所有通道。然后,執(zhí)行考慮目標(biāo)方向、輪方向和前一刻方向的代價(jià)函數(shù)。
圖2. LabVIEW VI的前面板運(yùn)行VFH避障算法
在中LabVIEW使用算法
通過LabVIEW用戶可選擇最有效的語法來開發(fā)算法,或使用內(nèi)置工具來導(dǎo)入其它基于文本語言寫的算法。繼承代碼中已有的搜索算法及其它機(jī)器人庫可輕松導(dǎo)入LabVIEW、LabVIEW Real-Time和LabVIEW FPGA中。
評論