陳 超, 唐 堅, 靳祖光
(江蘇科技大學(xué) 機械工程學(xué)院, 江蘇 鎮(zhèn)江, 212003)
隨著機器人技術(shù)的飛速發(fā)展,研發(fā)導(dǎo)盲機器人成為輔助盲人正常生活的最好選擇之一[1].對于自主移動機器人來說,能夠規(guī)劃出自己的運動路徑并能夠執(zhí)行該運動路徑是機器人自主行為的一個重要體現(xiàn).導(dǎo)盲機器人主要的服務(wù)對象是盲人或視力受損傷的人,因此路徑規(guī)劃這個功能對導(dǎo)盲機器人來說尤其重要[2].
目前,導(dǎo)盲設(shè)備大致分為以下3類:① 手杖類行進輔具;② 穿戴式行進輔具;③ 移動式行進輔具[3].這些導(dǎo)盲設(shè)備中大部分以避障為主要實現(xiàn)目的,不具有路徑規(guī)劃功能.少數(shù)具備路徑規(guī)劃功能的導(dǎo)盲設(shè)備往往需要大量的資金投入.文中以自主設(shè)計的導(dǎo)盲機器人為實際應(yīng)用背景,依據(jù)射頻識別模塊在數(shù)據(jù)獲取方面的優(yōu)勢,用極低的成本來實現(xiàn)機器人的路徑規(guī)劃功能.
機器人主體主要由4層亞克力板搭建而成,直徑為0.5 m,其上主要安置了步進電機、避障傳感器模塊、射頻模塊、語音識別模塊、PLC控制模塊及操縱手桿等部件.機器人車體配置方式采用經(jīng)典的三輪差動結(jié)構(gòu),包含兩個驅(qū)動輪和一個萬向輪,兩個后輪為驅(qū)動輪,前輪為萬向輪,起輔助支撐作用,使整個車體的重心位于由輪子和地面的接觸點所構(gòu)成的三角形內(nèi),從而增加車體行走時的穩(wěn)定性和定向性.機器人轉(zhuǎn)向主要由兩只后輪的轉(zhuǎn)速差來實現(xiàn),當(dāng)兩輪轉(zhuǎn)速大小相等方向相反時,可實現(xiàn)整個車體的靈活回轉(zhuǎn).機器人的整體結(jié)構(gòu)如圖1所示.
1.操縱手柄;2.伸縮手桿; 3.手桿轉(zhuǎn)臺;4.射頻通信及語音識別模塊;5.超聲波避障傳感器;6.PLC控制模塊; 7.亞克力板;8.驅(qū)動輪;9.萬向輪;10.步進電機;11.步進電機驅(qū)動器;12.開關(guān)電源;13.紅外線避障模塊.
圖1機器人整體結(jié)構(gòu)
Fig.1Integralstructureoftherobot
機器人的自定位是指確定其在工作環(huán)境(一般指二維環(huán)境)中的全局坐標(biāo)和運動方向.由于射頻系統(tǒng)(RFID)可以在幾毫秒內(nèi)獲得厘米級的數(shù)據(jù)精度,文中導(dǎo)盲機器人采用一個RFID閱讀器與多個標(biāo)簽組成射頻識別系統(tǒng),將閱讀器放置在導(dǎo)盲機器人上(即閱讀器的位置就是機器人的位置),標(biāo)簽粘貼在障礙物上,采用讀寫器多路存儲的通訊方式,在閱讀器的應(yīng)答范圍內(nèi),有多個有源標(biāo)簽的數(shù)據(jù)同時傳給閱讀器,使得閱讀器閱讀標(biāo)簽中所存儲的障礙物特征點坐標(biāo)、標(biāo)簽的坐標(biāo)值和閱讀器與標(biāo)簽之間的信號強度值(RSSI)等信息.當(dāng)閱讀器與標(biāo)簽的距離不一樣時,接收標(biāo)簽發(fā)回的信號強度值也就不一樣了.即根據(jù)閱讀器接收的信號強度值,得到標(biāo)簽與導(dǎo)盲機器人的相對距離[4]如下:
d=10(|RSSI|-A)/(10*n)
(1)
式中:A為閱讀器與標(biāo)簽相距1m時的信號強度值(經(jīng)多次測量,文中A的取值為-45.8 dBm);n為環(huán)境對信號的衰減系數(shù)(經(jīng)多次測量,文中n的取值為3).
在定位過程中,標(biāo)簽對未知機器人的位置都有影響力.標(biāo)簽與機器人之間的相對距離越小其影響力越大,該標(biāo)簽對機器人位置的決定權(quán)越大.如圖2所示,假設(shè)t時刻閱讀器收到了4個信息標(biāo)簽的信號,4個信息標(biāo)簽的坐標(biāo)分別是(x1,y1),(x2,y2),(x3,y3),(x4,y4),它們到導(dǎo)盲機器人的距離分別為d1,d2,d3,d4.可以看出d1 圖2 定位方法Fig.2 Location method 根據(jù)Tag1,Tag2,Tag4到閱讀器的距離d1,d2,d4可以求出t時刻機器人的坐標(biāo)st(xs,ys): (2) 用同樣的辦法可以求出t+1時刻的機器人的坐標(biāo)st+1(xs+1,ys+1),從而得到機器人運動的方向角θ,如公式(2)所示,確定了機器人的方位.機器人從起點運動到終點的過程中,可以根據(jù)標(biāo)簽不斷地檢驗和調(diào)整自己的運動方向,將定位誤差降到最低. (3) 在地圖創(chuàng)建中,將所有實際的障礙物等效成投影在平面內(nèi)的多邊形集合(圖3),只要記錄下多邊形的特征點就記錄下了該障礙物.由于機器人車體被簡化為其轉(zhuǎn)動中心,成為二維坐標(biāo)系下的一個點,所以將障礙物根據(jù)機器人的尺寸和測量誤差進行膨脹.文中障礙物以(w/2+a)尺寸進行膨脹.其中,w是機器人的直徑,a是機器人的定位誤差(文中a為0.15 m).對于一些不規(guī)則或圓形的障礙物,將其膨脹為規(guī)則的幾何圖形,以便于路徑規(guī)劃. 圖3 環(huán)境模型示意圖Fig.3 Diagram of environment model 導(dǎo)盲機器人的環(huán)境創(chuàng)建主要借助于射頻模塊來實現(xiàn)的.首先,正常人通過手柄控制機器人在室內(nèi)環(huán)境中走一遍[6].機器人運用車載射頻模塊閱讀器閱讀障礙物上粘貼的標(biāo)簽信息,獲得該障礙物數(shù)據(jù)信息(包括障礙物特征點等);其次,通過膨脹規(guī)則將得到的障礙物信息進行膨脹;最后將膨脹后的坐標(biāo)值存入二維數(shù)組,其中二維數(shù)組的下標(biāo)為膨脹前的坐標(biāo)值,便于尋找,具體流程如圖4,即完成了障礙物地圖的創(chuàng)建.機器人具有自學(xué)習(xí)功能,進入陌生環(huán)境時,只要重復(fù)上述過程,就可以創(chuàng)建新的障礙物地圖,提高了導(dǎo)盲機器人的實用性. 圖4 環(huán)境地圖創(chuàng)建流程Fig.4 Flow chart of establishing environmental map A*算法在人工智能中是一種典型的啟發(fā)式搜索算法,結(jié)合了啟發(fā)式方法和形式化方法.它通過一個估價函數(shù)來估計每個最佳節(jié)點的權(quán)值,并解出狀態(tài)空間搜索的最短路徑.文中通過射頻模塊和語音模塊等搜集環(huán)境信息,結(jié)合A*算法的思想,提出了一種路徑規(guī)劃算法: 1) 運用上述環(huán)境地圖創(chuàng)建算法,創(chuàng)建二維障礙物地圖. 2) 通過三角定位算法獲得機器人當(dāng)前方位作為起點S,以語音模塊的語音輸入功能輸入目標(biāo)點G. 3) 在二維障礙物地圖中,求取與線段SG相交的障礙物,本算法下面將只考慮與線段SG相交的障礙物. 4) 從起點S開始,將起始點S加入開啟列表(開啟列表就像一張購物清單,路徑可能會通過它包含的點,也有可能不會),尋找開啟列表中f值最低的點,作為當(dāng)前點.其中f值為g值和h值之和,g值為從起始點S沿著產(chǎn)生的路徑運動到當(dāng)前點所走過的距離;h值是當(dāng)前點到目標(biāo)點G的歐式距離;若當(dāng)前點坐標(biāo)為(xd,yd),目標(biāo)點坐標(biāo)為(xm,ym),則有 (4) 5) 把當(dāng)前點切換到關(guān)閉列表(關(guān)閉列表中保存所有不需要再次檢查的點),并從開啟列表中刪除該點.搜索當(dāng)前點能不經(jīng)過障礙物而直接到達的障礙物特征點,判斷該特征點是否在關(guān)閉列表中,如果在則略過此點;反之判斷該特征點是否在開啟列表中,若不在則以當(dāng)前點作為該特征點的父節(jié)點算出g,h和f值并將其加入到開啟列表中;反之則以g值作為參考檢查新的路徑是否更好(g值越小則路徑越優(yōu)),如果更好則把這一點的父節(jié)點改為當(dāng)前點,重新計算這一點的g,h和f值. 6) 判斷開啟列表是否為空,若是則路徑不存在,算法結(jié)束. 7) 判斷是否將目標(biāo)點加進了開啟列表,如果是則路徑找到,算法結(jié)束;反之轉(zhuǎn)到步驟4). 8) 保存路徑.從目標(biāo)點開始沿著每一點的父節(jié)點移動直到回到起始點,并將經(jīng)歷過的點保存成數(shù)組的形式,顛倒該數(shù)組的順序,則該數(shù)組就是路徑. 該路徑規(guī)劃算法以障礙物膨脹,增強了機器人對環(huán)境不確定信息的適應(yīng);依靠射頻模塊和語音模塊,精確地得到室內(nèi)環(huán)境信息,完成了機器人定位信息和目標(biāo)點信息的獲取;障礙物地圖只存入障礙物特征點,相對于同樣存入數(shù)字地圖的柵格算法,最大限度的降低了存入地圖需要的存儲空間,降低成本且在路徑搜索效率上優(yōu)于柵格算法. 柵格算法中柵格大小的選擇直接影響著控制算法的性能.柵格選得小,環(huán)境分辨率小,但抗干擾能力弱,環(huán)境信息存儲量大,決策速度慢;柵格選得大,抗干擾能力強,環(huán)境信息存儲量小,決策速度快,但分辨率下降,在密集障礙物中發(fā)現(xiàn)路徑的能力弱[7].文中算法很好的解決了這個問題.首先,障礙物地圖只存入障礙物特征點,與柵格選擇小的柵格算法相比,降低了環(huán)境信息存儲量的同時又不降低環(huán)境分辨率,而且由于環(huán)境障礙物的膨脹使得該算法的抗干擾能力得到加強;其次,利用現(xiàn)有的數(shù)學(xué)定理:在平面障礙物為多邊形的情況下最短路程一定是一條由起始點經(jīng)過各可視障礙頂點到達終點的一條折線.根據(jù)這個數(shù)學(xué)定理,文中算法在搜索路徑時,只考慮與起始點和目標(biāo)點連線相交的障礙物,在保證搜索路徑最優(yōu)或次優(yōu)的同時進一步降低了搜索算法處理的數(shù)據(jù)量,提高了搜索效率,所以該算法優(yōu)于柵格法. 采用相同的障礙物環(huán)境,分別將文中路徑規(guī)劃算法和柵格法在MATLAB中進行對比仿真實驗,得到的路徑的距離相差不大,但文中算法搜索時間明顯少于柵格法,搜索效率優(yōu)于柵格法.多次實驗統(tǒng)計結(jié)果顯示,文中算法搜索時間最小值、最大值及平均值分別為0.479 0,0.763 0,0.620 5 s,柵格算法則分別為1.185 0, 1.566 0,1.375 5 s.圖5是文中算法與柵格算法得到的有效路徑.由此可得,文中算法優(yōu)于柵格算法. a) 文中算法搜索到的路徑 b) 柵格法搜索到的路徑 利用上述算法編程做了實驗,試驗場地和導(dǎo)盲機器人如圖6.在機器人行走過程中,通過語音輸入目標(biāo)點坐標(biāo),系統(tǒng)將立即規(guī)劃出一條從機器人當(dāng)前位置到目標(biāo)點的最優(yōu)或次優(yōu)路徑,并沿該路徑行走直至到達目標(biāo)點,通過實驗表明,基本上滿足了導(dǎo)盲的要求. 圖6 導(dǎo)盲機器人室內(nèi)環(huán)境實驗Fig.6 Indoor environment experiment of seeing eyes robot 1) 結(jié)合射頻模塊和語音模塊等設(shè)備在數(shù)據(jù)獲取上的優(yōu)勢,利用射頻模塊獲取環(huán)境信息,運用三角定位算法確定導(dǎo)盲機器人在環(huán)境中的位置. 2) 運用障礙物膨脹和等效投影的思想創(chuàng)建障礙物地圖,以保證路徑規(guī)劃算法搜索出的路徑的可行性. 3) 運用語音模塊獲取目標(biāo)點信息,結(jié)合A*算法的啟發(fā)式搜索方式找出一條連接起始點和目標(biāo)點的路徑;實驗表明,該算法在提高搜索效率的同時,保證了搜索出的路徑的平滑性和可通行性. 參考文獻(References) [1] 韓雪峰.導(dǎo)盲機器人[D].黑龍江哈爾濱:哈爾濱工程大學(xué),2009:1-7. [2] 王志文,郭戈.移動機器人導(dǎo)航技術(shù)現(xiàn)狀與展望[J].機器人.2003,9(25):470-474. Wang Zhiweng,Gou Ge.Present situation and future develepment of mobile robot path planning technology[J].Robot,2003,9(25):470-474.(in Chinese) [3] Burgard W, Cremers A, Fox D, et al.Experiences with an interactive museum tour-guide robot[J].ArtificialIntelligence, 1999,114:3-55. [4] 劉晶.RFID技術(shù)在移動機器人同步定位中的應(yīng)用[J].中南民族大學(xué)學(xué)報,2008,27(3):84-87. Liu Jing.Application of RFID technology in SLAM[J].JournalofSouth-CentralUniversityforNationalities, 2008,27(3):84-87.(in Chinese) [5] Liu Jing,Yang Po.A localization algorithm for mobile robots in RFID system [C]∥SSRR.2007InternationalConferenceonWirelessCommunications,NetworkingandMobileComputing.United States:Institute of Electrical and Electronics Engineers Computer Society,2007:2109-2112. [6] Kiyosumi Kidono,Jun Miura,Yoshiaki Shirai.Autonomous visual navigation of a mobile robot using a human-guided experience[J].RoboticsandAutonomousSystems,2002,40:121-130. [7] 許斯軍,曹奇英.基于可視圖的移動機器人路徑規(guī)劃[J].計算機應(yīng)用與軟件.2011,3(28):220-236. Xu Sijun,Cao Qiying.A visibility graph based path planning algorithm for mobile robot[J].ComputerApplicationsandSoftware,2011,3(28):220-236.3 路徑規(guī)劃
3.1 環(huán)境地圖創(chuàng)建
3.2 路徑規(guī)劃算法
3.3 算法性能分析
4 實驗調(diào)試
5 結(jié)論