姜奧博 胡聰 朱輝 吳漢斌
摘 ?要:腿足機(jī)器人是移動機(jī)器人領(lǐng)域的重要研究方向。與其他類型的移動機(jī)器人相比,腿足機(jī)器人在非結(jié)構(gòu)環(huán)境中進(jìn)行野外探測,災(zāi)區(qū)救援和粗糙道路交通運輸上有著顯著優(yōu)勢。該文基于仿生運動學(xué)和圖像處理算法進(jìn)行設(shè)計六足機(jī)器人可以實現(xiàn)通過手機(jī)控制六足機(jī)器人行走,可以實現(xiàn)通過WiFi進(jìn)行機(jī)器人與手機(jī)的通信,實現(xiàn)機(jī)器人跟隨發(fā)送的指令進(jìn)行相應(yīng)動作。系統(tǒng)穩(wěn)定可靠。
關(guān)鍵詞:六足機(jī)器人 ?圖像采集 ?WiFi ?傳感器
中圖分類號:TP242 ? 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2019)11(a)-0010-03
1 ?系統(tǒng)組成及機(jī)械結(jié)構(gòu)
該文設(shè)計一個仿生自主運動的六足機(jī)器人[1],利用圖像采集設(shè)備獲取圖像數(shù)據(jù),通過WiFi發(fā)送給Android手機(jī),分析出下一步機(jī)器人的運動打算并返回給機(jī)器人,機(jī)器人分析這些控制命令和自身傳感器數(shù)據(jù),控制舵機(jī)實現(xiàn)自主運動??蓱?yīng)用于危險和惡劣的工作環(huán)境中。仿生六足機(jī)器人,從定義上講,六足式機(jī)器人在我們完美的架構(gòu)中,依靠昆蟲的運動特性及原理。足是昆蟲的唯一運動器官。昆蟲有三對腿,分別稱它們?yōu)榍白?、中足和后足。參照以上昆蟲足結(jié)構(gòu),提出了一種更簡單的表達(dá)方式。一只腳有3個關(guān)節(jié)(假設(shè)沒有爪)。一個是左右擺動,另兩個是上下運動,機(jī)器人模型結(jié)構(gòu)設(shè)計圖如圖1所示。
在六足昆蟲行走時,它們不是按照直線運動六足同時前進(jìn)[2]。而是作為將6個足分為兩個組替換,是三角結(jié)構(gòu)交換前行。現(xiàn)在大部分多足機(jī)器人都是仿照了昆蟲一樣的運動結(jié)構(gòu)。6條腿分散在身體兩側(cè)。左邊前后及右邊的中劃分為一個組。右邊前后及左邊的中劃分為一個組。這是典型的三角腳步姿態(tài)行走的方法,模仿這種運動姿態(tài)可以使機(jī)器人更加穩(wěn)定,所以運用也十分廣泛,如圖2所示。
2 ?系統(tǒng)的軟硬件實現(xiàn)
2.1 硬件方案與選型
2.1.1 六足機(jī)器人主控器的選擇
該文選用樹莓派作為該六足機(jī)器人主控制板。Raspberry Pi系統(tǒng)[3]的核心是在Broadcom BCM2835芯片上使用該系統(tǒng),這是一種多媒體處理器系統(tǒng)。這意味著系統(tǒng)的大多數(shù)組件,包括中央處理器、圖形處理器和音頻和通信設(shè)備,可以集成到單個芯片中,并放置在主板中心的存儲器芯片下面。通常使用的Broadcom BCM2835片上系統(tǒng)和通常的臺式機(jī)或筆記本電腦不僅在處理器設(shè)計過程上有所不同,而且還使用不同的指令集架構(gòu)(ISA),即ARM架構(gòu)。
2.1.2 SLAM傳感器選擇
SLAM根據(jù)傳感器分為視覺SLAM和激光SLAM[4],考慮激光掃描儀可靠性高、實用性高、技術(shù)成熟、建圖直觀、精度高、不存在累計誤差等優(yōu)點,該文選取2D激光掃描儀作為SLAM傳感器。它可以在360°和6m的范圍內(nèi)進(jìn)行激光掃描,并在平面上的點云地圖上生成關(guān)于用于繪圖的空間,導(dǎo)航機(jī)器人的定位。
2.2 系統(tǒng)軟件設(shè)計
2.2.1 ROS機(jī)器人操作系統(tǒng)的介紹
可以通過ROS給機(jī)器人編寫程序,讓它去做一些有趣的事:檢測人臉和其他物體,在房間中自主導(dǎo)航,相應(yīng)語音命令[5]。ROS:用于控制機(jī)器人在各種現(xiàn)實世界和虛擬環(huán)境中工作的編程框架。它包括完成從導(dǎo)航路徑規(guī)劃到定位任務(wù)的軟件(SLAM)、語言識別與合成、機(jī)器人視覺、3D物體識別、行動計劃、多關(guān)節(jié)機(jī)械臂的運動控制、機(jī)器學(xué)習(xí),甚至玩臺球。ROS可以運行在多個平臺:Linux、MaxOS X以及Windows。該項目的開發(fā)環(huán)境:Indigo版本的ROS+Ubuntu14.04(Trusty)系統(tǒng)。
2.2.2 2D激光掃描儀及SLAM算法
現(xiàn)在已經(jīng)設(shè)計了一個六足機(jī)器人,準(zhǔn)備嘗試給它添加更強大的功能——同步定位并重建地圖(SLAM)[6]。具有SLAM功能的機(jī)器人能夠在未知的環(huán)境下重建地圖,并可以同時定位自己在地圖上的方位。在ROS里面的qmapping包的功能是使用激光掃描儀的數(shù)據(jù)創(chuàng)建一個地圖(或者使用深度相機(jī)來模擬激光數(shù)據(jù))。將上面的事情完成后,就可以命令機(jī)器人在任何場地里避開障礙物。使用move_base實現(xiàn)路徑規(guī)劃和避障在編譯了讓機(jī)器人走一根方形的腳本,在那個腳本里面,監(jiān)聽/odom坐標(biāo)系和/base_link坐標(biāo)系中的轉(zhuǎn)換信息,在跟蹤機(jī)器人前進(jìn)的距離和轉(zhuǎn)動的角度。
2.2.3 Socket網(wǎng)絡(luò)通信
Socket網(wǎng)絡(luò)通信是需要消耗時間的,所以需要單獨開一個線程[7]。然后創(chuàng)建一個類MyServer用來執(zhí)行所有的Socket通信的程序。因為Socket同時是耗時的程序,我們將耗時的或者繁瑣的數(shù)據(jù)處理放在后臺任務(wù),有結(jié)果了在通知UI線程更新,這樣的好處是:不會干擾UI線程的運行,不會因為將耗時程序或者繁瑣的數(shù)據(jù)處理放在UI界面而出現(xiàn)程序運行時,界面回卡頓或者崩潰的現(xiàn)象。通信返回到UI界面的軌跡如圖4所示。
3 ?實驗結(jié)果
3.1 虛擬真實校準(zhǔn)測試
在實物試驗前需要進(jìn)行虛擬真實校準(zhǔn)測試,對于調(diào)節(jié)虛擬機(jī)器人關(guān)節(jié)的角度對應(yīng)上真實機(jī)器人的關(guān)節(jié)角度,需要確定幾個量[8]。
(1)真實機(jī)器人關(guān)節(jié)舵機(jī)讀取的值。
(2)真實機(jī)器人關(guān)節(jié)的角度。
調(diào)整真實的機(jī)器人與ArbotiX軟件中同步的虛擬機(jī)器人關(guān)節(jié)角度的位置實現(xiàn)正確的對準(zhǔn)。當(dāng)使用將現(xiàn)實的機(jī)器人得到的舵機(jī)反饋的角度信息直接的賦予給ArbotiX中URDF機(jī)器人模型,可以看到虛擬機(jī)器人關(guān)節(jié)的角度與真實的機(jī)器人的關(guān)節(jié)的角度是完全不同的。出現(xiàn)這個問題的原因肯定是某些參數(shù)設(shè)置的不正確所導(dǎo)致的[9],可以通過分析就可以知道是什么參數(shù)設(shè)置不正確所導(dǎo)致的現(xiàn)在的這個問題。機(jī)器人的實物圖效果如圖5所示。
3.2 手機(jī)端運行效果
手機(jī)APP上查看機(jī)器人當(dāng)前的運行狀態(tài),周邊環(huán)境信息。實現(xiàn)通過APP設(shè)置機(jī)器人的下一個運動動作,可以實現(xiàn)機(jī)器人跟隨發(fā)送的指令進(jìn)行相應(yīng)動作。手機(jī)端運行效果如圖6所示。
4 ?結(jié)語
該文基于仿生運動學(xué)和圖像處理算法設(shè)計并實現(xiàn)了六足機(jī)器人自主運動,可以實現(xiàn)通過手機(jī)控制六足機(jī)器人行走,可以實現(xiàn)通過WiFi進(jìn)行機(jī)器人與手機(jī)的通信,可以在手機(jī)APP上查看機(jī)器人當(dāng)前的運行狀態(tài)、周邊環(huán)境信息??梢詫崿F(xiàn)通過APP設(shè)置機(jī)器人的下一個運動動作,可以實現(xiàn)機(jī)器人跟隨發(fā)送的指令進(jìn)行相應(yīng)動作。系統(tǒng)穩(wěn)定可靠。
參考文獻(xiàn)
[1] 辛桂陽,鐘國梁,王恒升,等.基于對偶二次規(guī)劃的六足并聯(lián)機(jī)器人驅(qū)動力分配[J].機(jī)械工程學(xué)報,2018(7):20-27.
[2] 許家忠,王巖,尤波,等.結(jié)合人機(jī)工程學(xué)的輪足式移動平臺模擬駕駛艙布局設(shè)計[J].哈爾濱理工大學(xué)學(xué)報,2017(4):1-6.
[3] 尤波,蔡佳龍,許家忠,等.載人六足機(jī)器人人機(jī)功能分配及操縱系統(tǒng)設(shè)計[J].哈爾濱理工大學(xué)學(xué)報,2017(1):48-53.
[4] 金馬,高海波,丁亮,等.一種六足機(jī)器人模擬駕駛系統(tǒng)研究與實現(xiàn)[J].機(jī)器人,2016(6):678-686.
[5] PAN Yang,GAO Feng,QI Chenkun,et al.Human-Tracking Strategies for a Six-legged Rescue Robot Based on Distance and View[J].Chinese Journal of Mechanical Engineering,2016(2):219-230.
[6] 鹿振宇,黃攀峰,戴沛.面向空間遙操作的非對稱雙人共享控制及其性能分析[J].航空學(xué)報,2016(2):648-661.
[7] 徐坤,鄭羿,丁希侖.六輪腿式機(jī)器人結(jié)構(gòu)設(shè)計與運動模式分析[J].北京航空航天大學(xué)學(xué)報,2016(1):59-71.
[8] 劉逸群,鄧宗全,劉振,等.液壓驅(qū)動六足機(jī)器人一種低沖擊運動規(guī)劃方法[J].機(jī)械工程學(xué)報,2015(3):10-17.
[9] 宋愛國,馬俊青.力覺臨場感遙操作機(jī)器人:環(huán)境的動力學(xué)描述[J].南京信息工程大學(xué)學(xué)報:自然科學(xué)版,2014(2):113-120.