段丙濤,楊 平,翟志敏
(電子科技大學機械電子工程學院,四川成都 611731)
經過近幾十年的研究與探索,移動機器人避障算法已初具規(guī)模,主要包括人工勢場法、柵格建模法、遺傳算法、快速隨機樹搜索等[1]。雖然這些能比較好地在一些良好環(huán)境下工作,但也存在一些問題,比如:避障比較緩慢、適應環(huán)境能力弱、存在避障盲區(qū)等。
在未知環(huán)境中,機器人必須通過傳感器獲取外界環(huán)境信息,以指導其行為,否則,機器人只能盲目在未知環(huán)境中移動,傳感器是自主機器人獲得環(huán)境信息的重要部件,因此,設計與實現(xiàn)一種性能優(yōu)良的傳感器系統(tǒng)也就成為自主機器人的重要課題之一[2]。目前,移動機器人采用的測距傳感器主要包括聲納、紅外和激光測距系統(tǒng)。相比而言,聲納測距在近距離范圍內有不受外界光線影響、結構簡單、成本低等優(yōu)點,也因此在高性能自主移動機器人上獲得了廣泛應用[3,4]。
一般來說,超聲波發(fā)生器可分為兩大類:電氣方式產生超聲波、機械方式產生超聲波。電氣方式包括壓電式、磁致伸縮型和電動型;機械方式有加爾統(tǒng)笛、液硝和氣流旋笛等[5]。它們所產生的超聲波頻率、和聲波特性各不相同,因為用途也不一樣,目前較為常用的是壓電式超聲波發(fā)生器。

常用的超聲波傳感器大都采用圓片換能器作為信號源。圓片換能器發(fā)出的超聲波不是一條直線,而是有一定的方向性開角。由圖1可知,換能器所發(fā)出的能量主要集中在主瓣部分,而副瓣部分的能量非常少,因此,換能器發(fā)出的超聲波就有了方向性。θ是方向性開角,它的大小和具體的超聲器件有關[4]。

圖1 超聲波的方向性Fig 1 Directionality of ultrasonic wave
本實驗旅行家II采用的是集成的超聲測距傳感器,使用簡單,操作方便。首先將超聲傳感器的INIT信號拉到高電平,此時超聲傳感器換能器將發(fā)出超聲波。INIT信號高電平的時間可以由自己設定。如圖2所示的INIT信號的高電平時間是32 ms。高電平的時間與需要測量的最長距離有關。當超聲波遇到障礙物時,超聲波將被返回,超聲傳感器檢測到回波信號后,將ECHO置為高電平。當INIT信號變?yōu)榈碗娖綍r,ECHO同時也變?yōu)榈碗娖健R虼耍梢杂嬎阏系K物的距離,障礙物的距離=(INIT高電平時間-ECHO 高電平的時間)×c/2[8~10]。

圖2 超聲傳感器的時間計算Fig 2 Time calculating of ultrasonic sensor
測距聲納的參數(shù)如表1。

表1 測距聲納參數(shù)Tab 1 Sonar parameter of distance measurement
在距離地面高度為45 cm、相隔為15°的同一環(huán)上均布安裝了24只超聲傳感器,其編號為1~24(逆時針布置),如圖3所示。超聲傳感器波速角為15°,超聲傳感器的最小作用距離為0.15 m。
因為超聲傳感器之間的安裝位置相差15°,而超聲傳感器的波速角為15°,如果超聲波同時反射,有可能會有干擾。如果采用輪循方式,即一個接一個地發(fā)射超聲波,雖然可以消除串擾回波的影響,但24只超聲傳感器循環(huán)一次周期較長,降低了采集頻率。為了不降低采集頻率的同時消除超聲的相互干擾,本系統(tǒng)將24只超聲傳感器分為A(1#,4#,7#,10#,13#,16#,19#,22#),B(2#,5#,8#,11#,14#,17#,20#,23#),C(3#,6#,9#,12#,15#,18#,21#,24#)三組,通過計算可以知道,這種情況下超聲傳感器同時工作不會產生干擾,因而,每一組的超聲傳感器同時工作,組與組直接采用輪詢方式工作。這樣既可以達到很高的采集頻率,同時也滿足系統(tǒng)的實時性要求。

圖3 超聲波傳感器分布Fig 3 Distribution map of ultrasonic wave sensor
超聲信息采集卡的功能是獲取完整的超聲波回波數(shù)字信號,然后送到CPU進行信號處理以精確計算障礙的距離。其基本工作原理:信息處理電路主控制芯片為AVR系列單片機Mega16,其通過8路鎖存器芯片74HC573分時使能24路超聲傳感器,每次使能一個;接收到超聲波得發(fā)射信號后停止計時器,將超聲波的發(fā)射時間簡單計算后存入緩存區(qū),在接到PC查詢指令后通過RS—485總線轉RS—232總線反饋給機載PC,其程序基本流程圖如圖4。

圖4 信息采集程序流程圖Fig 4 Flow chart of information collecting process
在實驗中,為了避免入射角引起的誤差,超聲波都是垂直射向干燥墻面(超聲波對于表面材料等因素十分敏感)。實驗測量范圍從40~640 cm(距離為20,30 cm時,超聲波讀數(shù)無顯示),實驗數(shù)據如表2所示。

表2 聲納精度測試Tab 2 Precision test of sonar
由表2可知,測出的讀數(shù)普遍比實際距離大,誤差在1%左右,此外聲納盲區(qū)與給定的參數(shù)出入比較大,因此,選擇較大的障礙距離來完成實驗。
聲納讀數(shù)存在兩大缺陷:“盲區(qū)”與“錯誤讀數(shù)”。“盲區(qū)”指的是為了消除超聲波換能器發(fā)射超聲波后的振鈴現(xiàn)象,本聲納給定參數(shù)中驅動電路將信號屏蔽0.9 ms,這對應的距離值就是15cm,即在小于15 cm的范圍內的障礙物,聲納傳感器是感受不到的。要解決這個問題,只有在啟動機器前,將機器人放置在與障礙物距離至少要大于20 cm(保險起見)的地方,也就是安全啟動位置,但實際上旅行家II機器人與障礙物得距離至少要35cm。“錯誤讀數(shù)”是由入射角引起的,實驗發(fā)現(xiàn)當入射角大于一個臨界數(shù)值的時候,聲納讀數(shù)就會產生錯誤,這是由于當超聲波入射角過大的時候,聲納傳感器接收不到回波信號而導致的。由于“錯誤讀數(shù)”是個別現(xiàn)象,可以通過以前的記錄來排除突然跳變的數(shù)據。
本實驗研究的機器人是雙輪差動機器人,如圖5所示。其超聲波傳感器系統(tǒng)有24只超聲傳感器,可以獲得機器人前后左右全方位的障礙物信息,具有操作方便、數(shù)據顯示實時等特點。

圖5 機器人結構圖Fig 5 Structure diagram of robot
在本實驗系統(tǒng)中,機器人是由北京博創(chuàng)興盛機器人技術有限公司開發(fā)生產的旅行者II號,車載計算機采用聯(lián)想Y450A-tsi。在實驗場景中,有四排辦公桌和剛性椅子的靜態(tài)障礙物,以及人作為動態(tài)障礙物。軟件方面,采用VC++6.0編譯環(huán)境來編寫控制程序。
避障行為控制算法最少需要用3只聲納(3#,21#,24#)來完成避障任務,基本思想是,當聲納讀數(shù)小于某一預設數(shù)值時,說明前方有障礙物,機器人就轉向,否則,繼續(xù)向前走,比如:右方障礙物比較近,那么,控制機器人左轉。避障流程如圖6所示。
當場景中存在靜態(tài)和動態(tài)障礙物的時候,機器人不僅要探測靜態(tài)障礙物的位置,同時也要探測動態(tài)障礙物的位置與運動方向,然后實行自主避障[8~10]。圖7描述了同時存在2個靜態(tài)障礙物和1個動態(tài)障礙物(走動的人)的機器人場景。運動過程中,機器人逐漸接近靜態(tài)障礙物,并且通過自身調整避過障礙物。在某一時刻,人突然出現(xiàn)在機器人行進軌跡中,機器人通過聲納傳感器感知到前方有障礙物,及時地做出避障,最終到達終點。

圖6 避障流程Fig 6 Obstacle avoidance process

圖7 機器人靜態(tài)和動態(tài)避障Fig 7 Static and dynamic obstacle avoidance of robot
避障行為是在室內進行的,其中兩次的實驗模擬過程如圖8、圖9。

圖8 靜態(tài)避障示意圖Fig 8 Schematic diagram of static obstacle avoidance
由圖8、圖9可知,避障算法的可行性得到驗證,具有較好的實時性和魯棒性。但在實驗過程中,機器人的避障速度比較慢,偶爾在感知椅子這樣的非完全實體障礙物時,避障停止,機器人原地打轉,這也是這一算法的缺陷。可以采用基于柵格的方法或視場法來改進避障行為。

圖9 動態(tài)避障示意圖Fig 9 Schematic diagram of dynamic obstacle avoidance obsta cle
本文為了避免入射角和固體材料引起的誤差,直接將超聲波垂直射向干燥的墻壁,檢驗了聲納的準確性與可應用性。同時運用一種比較有效的避障算法來讓機器人進行靜態(tài)和動態(tài)避障,降低了機器人自主移動的經濟成本與危險性,為將來輪椅式機器人的開發(fā)和改進提供了一定的理論參考和實驗數(shù)據。然而,在艱苦的道路表面和復雜多變的環(huán)境中,機器人系統(tǒng)需要進一步改進和完善。
[1]日本機器人學會.機器人技術手冊[M].新版.北京:科學出版社,2007:123 -124.
[2]蔡自興,賀漢根,陳 虹.未知環(huán)境中移動機器人導航控制理論與方法[M].北京:科學出版社,2009:498-499.
[3]姜道連,寧 延,袁世良.用 AT89c205l設計超聲波測距儀[J].國外電子元器件,2000(12):2-3.
[4]Suksakulchai T S,Wilkes D M.Sonar behavior-based fuzzy control for a mobile robot[C]//2000 IEEE International Conference on Systems,Man and Cybernetics,2000,5:3532 -3537.
[5]廖小翔.基于超聲波傳感器的移動機器人避障算法研究[D].浙江:浙江理工大學,2005:15-16.
[6]Siegwart R,Nourbakhsh I R.自主移動機器人導論[M].李人厚譯.西安:西安交通大學出版社,2006:231-250.
[7]張 飛,陳衛(wèi)東.具有聲納環(huán)的移動機器人及其自主行為研究[J].測控技術,2003,22(6):1 -2.
[8]Huang Jie,Supaongprapa T,Terakura I,et al.A model-based sound localization system and its application to robot navigation[J].Robotics and Autonomous Systems,1999,27:199 -209.
[9]Borenstein J,Koren Y.Obstacle avoidance with ultrasonic sensors[J].IEEE Journal of Robotics and Automation,1988,4(2):134-137.
[10]徐 德,皺 偉.室內移動式服務機器人的感知、定位及控制[M].北京:科學出版社,2008:256-258.