蘇華 徐善針 王金祥
摘 要:本文提出一種基于激光傳感器的機(jī)器人避障方法,該方法通過激光傳感器獲取障礙物的信息,進(jìn)而計(jì)算出障礙物與機(jī)器人的距離與方位信息,根據(jù)三態(tài)避障法將機(jī)器人分為初級(jí)避障態(tài)、沿墻態(tài)、緊急避障態(tài)。實(shí)驗(yàn)效果表明該方法實(shí)時(shí)性強(qiáng),魯棒性好。
關(guān)鍵詞:機(jī)器人避障;初級(jí)避障態(tài);沿墻態(tài);緊急避障
DOI:10.16640/j.cnki.37-1222/t.2019.19.118
1 機(jī)器人基本避障方法研究
隨著人類對(duì)機(jī)器人避障領(lǐng)域的深入研究,現(xiàn)今已產(chǎn)生了許多成熟的機(jī)器人避障方法。例如經(jīng)典的超聲波避障方法,聲波傳感器定向的發(fā)射和接收超聲波,根據(jù)檢測(cè)到的情況實(shí)現(xiàn)避障。此外還有得到廣泛應(yīng)用的視覺圖像避障法,通過搭載攝像頭的方法感知環(huán)境圖像,使用圖像處理技術(shù)對(duì)其進(jìn)行分析處理,以此提供環(huán)境信息,完成障礙物檢測(cè)。本文基于激光傳感器,提出了一種三態(tài)避障法。
2 本文避障方法
三態(tài)避障方法將避障系統(tǒng)分為三種狀態(tài),初級(jí)避障態(tài)、沿墻態(tài)、緊急避障態(tài)。針對(duì)圓形輪式機(jī)器人,機(jī)器人前方搭載激光測(cè)距儀,通過激光傳感器獲得機(jī)身與障礙物的距離和角度信息,判斷當(dāng)前機(jī)器人所處的狀態(tài)。然后根據(jù)所處的狀態(tài),機(jī)器人按照一定的算法進(jìn)行避障行走。
2.1 初級(jí)避障態(tài)
初級(jí)避障態(tài)是為了提高避障的流暢度并且能夠與沿墻態(tài)銜接的一個(gè)狀態(tài)。如果障礙物進(jìn)入了初級(jí)避障范圍,那么機(jī)器人會(huì)以圓弧運(yùn)動(dòng)的形式接近抽象于障礙物方位的假想墻,若該障礙物是墻壁,則與假想墻吻合,后期運(yùn)動(dòng)交給沿墻算法處理。若該障礙物不是墻壁,則后期會(huì)根據(jù)檢測(cè)出的數(shù)據(jù)改變運(yùn)動(dòng)軌跡或者切換系統(tǒng)狀態(tài)。
設(shè)初級(jí)避障態(tài)中機(jī)身與障礙物的最短距離為,初級(jí)避障態(tài)讓機(jī)器人走一個(gè)半徑為的圓弧路徑。如果假想墻存在,那么之后傳感器每次檢測(cè)出的距離和角度都可以計(jì)算出相同的值,機(jī)器人就會(huì)走一個(gè)圓弧路徑直到進(jìn)入沿墻態(tài)。若不存在,則傳感器每次掃描后都會(huì)計(jì)算出一個(gè)新的值,這也就意味著機(jī)器人會(huì)走一個(gè)類拋物線的路徑。
2.2 緊急避障態(tài)
在緊急避障態(tài)中,機(jī)器人和障礙物距離已經(jīng)非常接近,繼續(xù)運(yùn)動(dòng)下去可能會(huì)發(fā)生碰撞。因此機(jī)器人在進(jìn)入該狀態(tài)后,應(yīng)該立刻停止運(yùn)動(dòng),然后進(jìn)行原地轉(zhuǎn)向,直到進(jìn)入其它狀態(tài)。
因?yàn)榧す鈧鞲衅魇谴嬖诿^(qū)的,所以機(jī)器人在原地旋轉(zhuǎn)時(shí),障礙物可能會(huì)進(jìn)入傳感器的盲區(qū)。為了保證障礙物不會(huì)與機(jī)器人發(fā)生碰撞,障礙物在盲區(qū)時(shí)與機(jī)身最近的距離要大于零。設(shè)緊急避障態(tài)的閾值為,此閾值要保證障礙物離機(jī)器人的距離大于零的同時(shí)還應(yīng)保證機(jī)身前的傳感器不會(huì)與障礙物發(fā)生碰撞。另外機(jī)器人在運(yùn)行中,采集和處理數(shù)據(jù)以及控制電機(jī)都需要時(shí)間而且機(jī)器人在運(yùn)動(dòng)時(shí)還有一定的慣性,所以應(yīng)當(dāng)將閾值設(shè)大一些,留有一定的緩沖距離。
2.3 沿墻態(tài)
沿墻態(tài)的設(shè)置是為了提高機(jī)器人避障的穩(wěn)定性,防止機(jī)器人亂走。在該狀態(tài)下,機(jī)器人始終沿著墻壁走,墻起到了一個(gè)引導(dǎo)的作用,通過這種方法可以解決避障死鎖的問題。
沿墻態(tài)中,機(jī)器人始終與墻平行并保持一定距離,但是要讓機(jī)器人完全走出直線是不太可能的,所以需要在運(yùn)動(dòng)過程中實(shí)時(shí)地調(diào)整姿態(tài)。
在沿墻壁前進(jìn)的過程中,激光傳感器需要不斷采集30度和150度角方向機(jī)身與墻的距離,然后與剛進(jìn)入沿墻態(tài)時(shí)30度和150度方向的初始距離進(jìn)行對(duì)比,如果比初始距離小,說明機(jī)器人正在靠近墻,需要向遠(yuǎn)離墻一側(cè)調(diào)整。反之,向接近墻的一側(cè)調(diào)整。
2.4 各種狀態(tài)轉(zhuǎn)換策略
首先傳感器不斷采集障礙物與機(jī)器人的距離,并計(jì)算出機(jī)身與障礙物距離。當(dāng)<=時(shí),達(dá)到初級(jí)避障態(tài)的閾值,機(jī)器人進(jìn)入避障狀態(tài)。之后根據(jù)距離和角度來判斷具體進(jìn)入了哪種避障狀態(tài)。
若<=,說明機(jī)器人已經(jīng)到達(dá)了緊急避障態(tài)的閾值。機(jī)器人會(huì)進(jìn)行原地旋轉(zhuǎn),直到>脫離緊急避障態(tài)。
若<<=,機(jī)器人則可能處于初級(jí)避障態(tài)或者沿墻態(tài)。如果<<=,這時(shí)并沒有達(dá)到沿墻態(tài)的閾值,機(jī)器人處于初級(jí)避障態(tài)。當(dāng)<且在0度<<5度或170度<<180度時(shí),探測(cè)到的障礙物與機(jī)身距離和不滿足三角關(guān)系,說明機(jī)器人沒有和墻保持平行,所以依然處于初級(jí)避障態(tài)。
只有當(dāng)<且0度<<5度或170度<<180度滿足三角關(guān)系時(shí),才進(jìn)入沿墻態(tài)。
3 實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)機(jī)器人左右輪距為34cm,后方一個(gè)萬向從動(dòng)輪。緊急避障態(tài)的閾值必須保證側(cè)面無碰撞,必須使必須大于0,帶入數(shù)據(jù)后可得閾值。機(jī)身前方的激光傳感器長(zhǎng)度為145mm,所以也能保證傳感器不會(huì)受到碰撞。但是機(jī)器人在獲取距離數(shù)據(jù)與控制電機(jī)運(yùn)動(dòng)有一個(gè)延遲,所以要適當(dāng)提高閾值,通過實(shí)驗(yàn)我們選取較為合適。
初級(jí)避障態(tài)的閾值涉及到機(jī)器人是否會(huì)進(jìn)入避障狀態(tài),所以這個(gè)閾值不能能夠太大,閾值太大則會(huì)讓機(jī)器人太過于敏感,同時(shí)也要考慮到會(huì)影響到,如果閾值太小會(huì)讓圓弧軌跡半徑變小,進(jìn)而導(dǎo)致拐彎速度上升影響精度。所以這里取一個(gè)中間值,初級(jí)避障距離閾值。
沿墻態(tài)需要與初級(jí)避障態(tài)進(jìn)行對(duì)接,還需要考慮機(jī)身會(huì)在沒有完全平行(偏向墻壁一側(cè))但接近平行于墻壁的狀態(tài)下進(jìn)入沿墻態(tài),所以要略大于,假設(shè)這個(gè)值為310mm,另外要考慮機(jī)器人的半徑,最終經(jīng)過實(shí)驗(yàn)我們找到了一個(gè)效果較好得閾值。
實(shí)驗(yàn)結(jié)果表明,機(jī)器人能夠平滑的地避開非墻面的障礙物,機(jī)器人可以平緩地貼近墻面行走,在機(jī)器人進(jìn)入緊急避障態(tài)時(shí)可以緊急避障,在不同狀態(tài)間可以自主轉(zhuǎn)換。總體來看,基于激光傳感器的三態(tài)避障法實(shí)用可行,具有實(shí)時(shí)性強(qiáng),魯棒性好的特點(diǎn)。