黃宏州 鄭博 陳億 黃根 陳杰
摘要:本文介紹了基于樹莓派的ROS機(jī)器人系統(tǒng)的路徑設(shè)計與地圖構(gòu)建,通過各類傳感器,能夠得到外界各類環(huán)境的數(shù)據(jù)。利用SLAM技術(shù)實(shí)現(xiàn)機(jī)器人的移動和巡游功能。并展開了速度測試,實(shí)驗(yàn)結(jié)果表明,該移動機(jī)器人系統(tǒng)設(shè)計方案可行,能夠遠(yuǎn)程控制機(jī)器人進(jìn)行精確移動,還具有性能高可擴(kuò)展等特點(diǎn)。
關(guān)鍵詞:樹莓派;ROS系統(tǒng);SALM;傳感器
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)30-0028-02
1 緒論
機(jī)器人技術(shù)是綜合了計算機(jī)、控制論、機(jī)構(gòu)學(xué)、信息和傳感技術(shù)、人工智能、仿生學(xué)等多門學(xué)科而形成的高新技術(shù),本文所談機(jī)器人為TurtleBot。該項(xiàng)目旨在解決災(zāi)后救援過程中由于環(huán)境惡劣并且救援人員不能保證自身的安全的情況下和預(yù)防事故出現(xiàn)而設(shè)計的環(huán)境偵察機(jī)器人。該機(jī)器人能夠?qū)崿F(xiàn)通過無線控制進(jìn)行遠(yuǎn)程環(huán)境圖像采集、環(huán)境氣體檢測、環(huán)境溫度檢測、運(yùn)送急救物品等,并且可以將收集到的信息返回給控制端,為增加操作方便性,該機(jī)器人的控制端分為web控制端和手機(jī)APP端。
2 危險環(huán)境偵查機(jī)器人總體設(shè)計
本項(xiàng)目基于ROS操作系統(tǒng)的機(jī)器人平臺,以樹莓派為操作核心,結(jié)合各種傳感器技術(shù)以及SLAM算法來實(shí)現(xiàn)多功能、強(qiáng)適應(yīng)、環(huán)境監(jiān)測能力的偵察機(jī)器人。完善的項(xiàng)目成品將具有多種環(huán)境監(jiān)測如環(huán)境溫度、濕度、氣體、熱源感應(yīng)等方面的能力,能夠在化工廠事故、火災(zāi)事故等情況下進(jìn)入現(xiàn)場取得反饋,也能夠在各種容易發(fā)生火災(zāi)或者核生化污染事故的地區(qū)進(jìn)行監(jiān)測,可以大大減少人員傷亡以及事故發(fā)生概率。該項(xiàng)目旨在解決災(zāi)后救援過程中由于環(huán)境惡劣并且救援人員不能保證自身的安全的情況下和預(yù)防事故出現(xiàn)而設(shè)計的環(huán)境偵察機(jī)器人。為增加操作方便性,該機(jī)器人的控制端分為web控制端和手機(jī)APP端。
第一、機(jī)器人具有在室內(nèi)和室外可以自主地感知外界的環(huán)境的功能,因此樹莓派上安裝了能夠感知外界環(huán)境的各種傳感器。有溫度傳感器,紅外線傳感器,一氧化氮、一氧化碳濃度傳感器。
第二、機(jī)器人能夠?qū)崿F(xiàn)巡游的功能,將機(jī)器人底盤與樹莓派組成系統(tǒng),通過代碼是機(jī)器人完成巡游以及得到傳感器的數(shù)據(jù)。
3 硬件部分
3.1 機(jī)器人底盤的制作
機(jī)器人系統(tǒng)由機(jī)械系統(tǒng)和控制系統(tǒng)組成,機(jī)械系統(tǒng)部分由機(jī)器人運(yùn)載系統(tǒng)和攝像裝置和傳感裝置構(gòu)成;控制系統(tǒng)部分由運(yùn)動控制模塊,無線通訊模塊和圖形無線傳輸模塊構(gòu)成。整個機(jī)器人分為上位機(jī)和下位機(jī)兩部分,上位機(jī)為PC或其他移動設(shè)備下位機(jī)為機(jī)器人,上位機(jī)通過無線通訊模塊遙控機(jī)器人作業(yè),實(shí)現(xiàn)機(jī)器人前進(jìn)前進(jìn)、后退、轉(zhuǎn)彎和越障以及攝像裝置運(yùn)動等動作。
3.2 傳感器的連接
傳感器的連接:
如圖所示,將各類傳感器與樹莓派的端口相連。
樹莓派有豐富的接口類型,內(nèi)置互聯(lián)網(wǎng)接口以及USB接口,大量的GPIO針腳可以連接各種類型的傳感器。使用基于Linux的Ubuntu操作系統(tǒng),并利用其中的Python庫對各類傳感器設(shè)備進(jìn)行訪問,樹莓派與傳感器之間采用請求/應(yīng)答方式的通訊協(xié)議,樹莓派通過GPIO接口想傳感器發(fā)出請求,傳感器返回測量值。
4 軟件部分
4.1 地圖的創(chuàng)建和路徑設(shè)計
使用服務(wù)器和機(jī)器人連接到同一個網(wǎng)絡(luò)下,然后在服務(wù)器上建立節(jié)點(diǎn)管理器進(jìn)行調(diào)試,SLAM與路徑規(guī)劃等節(jié)點(diǎn)以及TURTLEBOT上創(chuàng)建紅外線傳感器等節(jié)點(diǎn)。利用可視化工具RVIZ在服務(wù)器上實(shí)現(xiàn)SLAM和路徑規(guī)劃等工作。
SLAM接收來自機(jī)器人主管控制器端視覺、激光雷達(dá)和里程計節(jié)點(diǎn)分別發(fā)布的點(diǎn)云數(shù)據(jù)。進(jìn)行SLAM并在RVIZ運(yùn)行。路徑規(guī)劃利用SLAM節(jié)點(diǎn)創(chuàng)建的地圖和機(jī)器人在地圖上的位置和速度等信息進(jìn)行路徑規(guī)劃和是機(jī)器人自主導(dǎo)航。并使用鍵盤和命令遠(yuǎn)程控制機(jī)器人移動。
4.2 RVIZ軟件規(guī)劃示意圖
在RVIZ中定位TurtleBot當(dāng)啟動之后,TurtleBot并不知道自己在哪個位置。需要給它提供它在地圖上的近似位置:
1)點(diǎn)擊rviz中的”2D Pose Estimate”按鈕。
2)在地圖上標(biāo)出TurtleBot的近似位置,并指出TurtleBot的朝向(TurtleBot的正運(yùn)動方向)。
之后你將會看見一組箭頭,它們是TurtleBot位置的假設(shè)(前面標(biāo)出的是一個近似位置)。如果這個過程不是很理想,可重復(fù)實(shí)施。
3)遠(yuǎn)程控制可以和導(dǎo)航棧同時運(yùn)行。當(dāng)遠(yuǎn)程發(fā)送控制信號后,遠(yuǎn)程信號會將自主行為進(jìn)行覆蓋。遠(yuǎn)程控制能夠協(xié)助機(jī)器人收斂于一個準(zhǔn)確的位姿估計。
發(fā)送一個導(dǎo)航目標(biāo)TurtleBot定位之后,它可以自動對當(dāng)前環(huán)境進(jìn)行路徑規(guī)劃:
1)點(diǎn)擊rviz上的”2D Nav Goal”按鈕。
2)在地圖上標(biāo)出TurtleBot的導(dǎo)航目標(biāo),并且指出其在導(dǎo)航終點(diǎn)的朝向。
如果路徑受阻,此過程會失敗。
4.3 完善與測試
在完成鍵盤遠(yuǎn)程控制機(jī)器人以后,本研究首先進(jìn)行發(fā)送速度的指令遠(yuǎn)程機(jī)器人移動的測試。
從數(shù)據(jù)中可以看出機(jī)器人移動時線速度誤差在2mm/s之內(nèi),實(shí)測速度比反饋速度值略大,變化在4mm/s之內(nèi)。經(jīng)過修改參數(shù)和完善程序等調(diào)試,機(jī)器人能夠?qū)崿F(xiàn)精確移動
5 結(jié)論與展望
本研究利用機(jī)器人基于樹莓派操作系統(tǒng)ROS,該系統(tǒng)首先由TURTLEBOT機(jī)器人對多種傳感器進(jìn)行信息采集,然后利用SLAM和路徑規(guī)劃等方面的研究,遠(yuǎn)程控制機(jī)器人進(jìn)行精確移動。最后對機(jī)器人進(jìn)行了調(diào)試,是機(jī)器人達(dá)到設(shè)計要求。為以后開展移動機(jī)器人的研究打下了堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn):
[1] 薛永勝,王姮,張華,等.EKF-SLAM算法的改進(jìn)及其在Turtlebot的實(shí)現(xiàn)[J].西南科技大學(xué)學(xué)報,2015,30(1):54-59.
[2] 曲麗萍. 移動機(jī)器人同步定位與地圖構(gòu)建關(guān)鍵技術(shù)的研究[D].哈爾濱工程大學(xué),2013.
【通聯(lián)編輯:唐一東】