楊學
摘要:環(huán)境建模問題是移動機器人研究領域中的一個關鍵問題。提出一種移動機器人對室內(nèi)未知環(huán)境進行建模的方法。機器人采取內(nèi)螺旋算法在室內(nèi)環(huán)繞一周確定環(huán)境邊界,然后通過上位機控制機器人逼近障礙物,對障礙物進行環(huán)繞并在地圖上標記完成整個建模過程。通過實驗證明了該方法的有效性。
關鍵詞:移動機器人;柵格法;環(huán)境建模
DOIDOI:10.11907/rjdk.151463
中圖分類號:TP301
文獻標識碼:A 文章編號文章編號:16727800(2015)008007902
0 引言
隨著智能機器人的廣泛應用,利用移動機器人對環(huán)境進行建模成為了當前機器人研究領域的熱點問題之一。所謂環(huán)境建模, 是指機器人通過感知周圍環(huán)境和自身狀態(tài),對于周圍環(huán)境自動構建一個地圖,這是機器人進一步完成各種更復雜任務的前提和基礎[1]。地圖生成算法的復雜度與環(huán)境復雜度及算法的自主程度成正比,而若想要機器人完全自主地對環(huán)境進行建模,不僅算法復雜度大大增加,對機器人的智能程度也提出更高要求。
1 地圖生成
在環(huán)境未知的情況下,僅靠機器人自身來生成地圖,對機器人的智能程度要求較高。為此,本文簡單分析了3類地圖表示方法,比較各自的優(yōu)缺點后提出了一種基于柵格地圖的環(huán)境建模方法。首先機器人通過內(nèi)螺旋算法確定環(huán)境邊界,然后由操作員控制機器人逼近障礙物并對其進行環(huán)繞,同時記錄障礙物信息,生成環(huán)境的一個柵格地圖,完成環(huán)境建模。
1.1 地圖表示方法
常用的地圖表示方法有幾何法、拓撲法和柵格法[2]。幾何法指移動機器人利用傳感器收集對環(huán)境的感知信息,從中提取幾何特征建立環(huán)境地圖。這些信息可以精確地存儲在地圖中,在局部區(qū)域內(nèi)可獲得較高精度的地圖,但在大范圍環(huán)境中卻難以得到,而且地圖更新比較復雜。拓撲法將環(huán)境表示為一張拓撲意義的圖,通常是根據(jù)環(huán)境結構定義的,由節(jié)點和邊組成。拓撲地圖抽象度高,有利于路徑和任務規(guī)劃,且存儲和搜索空間較小,計算效率高,可以很方便地使用很多現(xiàn)有的、成熟高效的搜索和推理算法。但基于拓撲地圖的定位必須建立在對拓撲節(jié)點的識別與匹配基礎上,因此要求機器人必須能夠識別節(jié)點。
柵格法是Elfes和Moravec首先提出的,它利用均勻分布的網(wǎng)格對環(huán)境進行描述,每個網(wǎng)格給定一個[0,1]之間的可能值,表示該網(wǎng)格被障礙物占據(jù)的置信概率。0表示該網(wǎng)格無障礙物,可自由通過;1表示該網(wǎng)格有障礙物,無法通過。柵格地圖是一種近似描述,表示直觀,容易創(chuàng)建和維護,對某個柵格的信息可直接與環(huán)境中的區(qū)域相對應,能夠比較完整地保留環(huán)境信息。本文提出的方法采用柵格地圖對環(huán)境進行描述。設定起始位置時,機器人移動坐標系與世界坐標系重合。起始位置處于環(huán)境邊界處,機器人從該起始位置出發(fā),在機器人行進過程中,根據(jù)自身攜帶的編碼器采用航位推測實現(xiàn)自身定位,同時增量式地構建全局環(huán)境地圖。設置二維數(shù)組MAP[m][n]表示地圖第m行第n列是否有障礙物,MAP[m][n]=1表示地圖第m行第n列有障礙物,MAP[m][n]=0表示地圖第m行第n列無障礙物,MAP[][]的初始值為0.5,表示環(huán)境是否有障礙物未知。
1.2 地圖算法創(chuàng)建
將機器人放置在環(huán)境邊界位置,采取內(nèi)螺旋算法在環(huán)境沿邊界行走一周后回到初始位置,并在此過程獲得邊界信息以建立起環(huán)境邊界。然后通過上位機控制機器人前、后、左、右行走,實現(xiàn)環(huán)繞障礙物的邊界,同時在后臺生成環(huán)境地圖。具體算法如下:
Step1:將機器人放置在環(huán)境邊界任意角落,并將該點作為地圖的起點。
Step2:機器人按內(nèi)螺旋算法沿環(huán)境邊界行走[3],當進入轉(zhuǎn)角時,機器人自動通過超聲進行避障并向右旋轉(zhuǎn)90°,然后繼續(xù)沿邊界行走直到回到起點。此時完成環(huán)境的邊界檢測。
Step3:操作員通過上位機控制機器人從正面靠近障礙物,當超聲檢測到距離達到設定閾值時停止前進,開始環(huán)繞障礙物行走,同時在地圖上進行標記。環(huán)繞一周后彈出提示該障礙物標記完成。
Step4:重復Step3,完成環(huán)境中的全部障礙物檢測。算法結束,環(huán)境建模完成。
示意圖1、2表示地圖的增量生成過程。紅色線條表示機器人經(jīng)過路線,灰色柵格表示地圖把該柵格標記為有障礙物,即柵格值為1。當機器人進行環(huán)境邊緣檢測及環(huán)繞障礙物時,環(huán)境邊緣及障礙物始終處于機器人左側(cè),機器人會把行進路線的左側(cè)柵格記錄為邊界或障礙物。圖1是機器人在環(huán)境邊界檢測模式下進行地圖框架生成的過程。當機器人在障礙物環(huán)繞模式下對障礙物環(huán)繞一周后,根據(jù)矩形的頂點即機器人的拐點,算法會將包圍在矩形內(nèi)的所有柵格值置為1,表示被障礙物占有,如圖2所示。
圖1 機器人邊緣檢測 圖2 機器人環(huán)繞障礙物
2 實驗與分析
將本文提出的算法在北京博創(chuàng)生產(chǎn)的差動兩輪機器人未來之星上進行試驗。搭建一個360cm×360cm的實驗環(huán)境,將機器人置于左上角位置(見圖3)。理論上柵格地圖中劃分柵格越小,越能詳細表示環(huán)境,但在實際應用中,若柵格劃分過小,由于存在誤差,可能導致柵格表示不準確,反而降低地圖精度。綜合考慮機器人大小,此處設定柵格大小為20cm×20cm。機器人向右開始按內(nèi)螺旋算法沿邊界行進一周后回到初始位置,確定環(huán)境柵格地圖框架,如圖4所示?;疑珫鸥癖硎经h(huán)境邊界,灰色柵格圍繞的白色柵格區(qū)域?qū)獙嶒灜h(huán)境。
環(huán)境框架建立完成后,操作員通過上位機控制機器人從正面靠近障礙物。當超聲波傳感器探測到機器人與障礙物間距離達到設定閾值時,機器人停止前進,如圖5所示。然后對障礙物進行環(huán)繞,當完成對環(huán)境內(nèi)所有障礙物的環(huán)繞時,環(huán)境建模完成,如圖6所示。
將機器人創(chuàng)建地圖(見圖6)與圖5中實際環(huán)境的測量數(shù)據(jù)進行對比,可以得出生成地圖中表示的障礙物比實際障礙物略大。出現(xiàn)此種結果的主要原因,一是因為柵格精度,二是因為要保證機器人不與障礙物發(fā)生碰撞(設定了機器人與障礙物間的閾值),避免因碰撞引起機器人定位失準。
圖3 實際實驗環(huán)境 圖4 生成柵格地圖邊界
圖5 機器人靠近障礙物 圖6生成柵格地圖
3 結語
針對目前機器人完全自主對環(huán)境進行建模尚難以實現(xiàn),本文提出了一種首先通過內(nèi)螺旋算法沿環(huán)境邊界行走一周,確定地圖邊界,然后利用上位機控制確定環(huán)境障礙物位置,并將獲得的信息用柵格地圖表示的建模方法。此方法在未來之星機器人上得以實現(xiàn),雖然由于上位機的介入使得此方法獨立性有所降低,但由于其不需要用模糊度量或概率度量等方法來處理不確定信息,從而大大降低了算法的復雜度,加上上位機友好的操作界面使整個建模過程易于操作和完成。實驗結果表明,建立的環(huán)境地圖比較精確。
參考文獻:
[1] 蔡自興.機器人學[M].北京:清華大學出版社,2009.
[2] 陳衛(wèi)東,張飛.移動機器人的同步定位與地圖創(chuàng)建研究進展[J].控制理論及應用,2005(3):455460.
[3] XUEMIN SUN,SHUHUA LIU,XUE YANG.A method of map building for robots in unknown indoor environments[C].In Proceeding of the 10th World Congress on Intelligent Control and Automation,2012.
[4] 呂洪波,宋亦旭,賈培發(fā).機器人修磨中融合先驗知識的適應學習建模方法[J].機器人,2011(6):641648.
(責任編輯:黃 ?。?