瞿洋 陳歡歡
摘 要:針對移動機(jī)器人在未知環(huán)境下進(jìn)行自主探索,并構(gòu)建地圖的需要,設(shè)計并實(shí)現(xiàn)了基于迷宮探索規(guī)則的未知環(huán)境探索算法。分析了主要的路口類型,給出了基于摸墻算法的迷宮探索流程,討論了基于激光雷達(dá)的路口判別依據(jù),提出了基于迷宮探索規(guī)則的機(jī)器人未知環(huán)境探索算法流程,并采用TurtleBot 3 Burger機(jī)器人,在ROS框架下進(jìn)行了實(shí)驗(yàn)。結(jié)果表明,所給出的算法能夠有效地實(shí)現(xiàn)機(jī)器人在未知環(huán)境下的自主探索,并實(shí)現(xiàn)了地圖構(gòu)建。
關(guān)鍵詞:移動機(jī)器人;未知環(huán)境;ROS;摸墻算法
中圖分類號:TP301. 6 文獻(xiàn)標(biāo)識碼:A 文章編號:1671-2064(2019)19-0034-02
0 引言
機(jī)器人對未知環(huán)境自主感知、導(dǎo)航的能力,是其自主執(zhí)行各項(xiàng)任務(wù)的基礎(chǔ)[1,2]。隨著機(jī)器人應(yīng)用領(lǐng)域的不斷擴(kuò)展,人們對機(jī)器人自動化程度的需求日益增高,隨之而來的是對機(jī)器人自主環(huán)境感知與導(dǎo)航能力要求的提高。
當(dāng)前,對未知環(huán)境的探索,在機(jī)器人學(xué)研究領(lǐng)域,主要的方法為同步定位與地圖構(gòu)建(Simultaneous Localization and Mapping,SLAM)[3],該方法基于機(jī)器人搭載的各類傳感器,通過構(gòu)建狀態(tài)方程與量測方程,實(shí)現(xiàn)對機(jī)器人當(dāng)前時刻相對位姿的估計以及對周圍環(huán)境特征的位姿估計,進(jìn)而實(shí)現(xiàn)對環(huán)境的感知以及對機(jī)器人的定位,被認(rèn)為是實(shí)現(xiàn)無人系統(tǒng)真正的自主的關(guān)鍵。
1 基于摸墻算法的迷宮探索方法
1.1 迷宮道路及路口類型
對于結(jié)構(gòu)化環(huán)境而言,通常環(huán)境中的道路及路口類型,主要包括以下幾種:(1)直線道路;(2)T形路口;(3)L形路口;(4)十字形路口;(5)死胡同;(6)回轉(zhuǎn)形等。
對于不同的道路及路口類型,基于不同的探索規(guī)則,具有不同的轉(zhuǎn)向選擇。基于摸墻算法的迷宮探索方法,根據(jù)左手摸墻或者右手摸墻的不同選擇,在遇到符合規(guī)則的可轉(zhuǎn)向路口時,選擇向左轉(zhuǎn)向或者向右轉(zhuǎn)向。
1.2 基于左(右)手摸墻規(guī)則的迷宮探索方法
1.2.1 基于左手摸墻規(guī)則的迷宮探索方法
基于左手摸墻規(guī)則的迷宮探索方法,是指當(dāng)?shù)竭_(dá)某一類型的路口時,若可向左側(cè)轉(zhuǎn)向通行,則優(yōu)先向左轉(zhuǎn)向,當(dāng)且僅當(dāng)只能向右轉(zhuǎn)向才能通行時,才向右轉(zhuǎn)向,算法流程如圖1所示。
1.2.2 基于右手摸墻規(guī)則的迷宮探索方法
基于右手摸墻規(guī)則的迷宮探索方法,是指當(dāng)?shù)竭_(dá)某一類型的路口時,若可向右側(cè)轉(zhuǎn)向通行,則優(yōu)先向右轉(zhuǎn)向,當(dāng)且僅當(dāng)只能向左轉(zhuǎn)向才能通行時,才向左轉(zhuǎn)向,算法流程如圖2所示。
2 基于迷宮探索規(guī)則的機(jī)器人未知環(huán)境探索算法
2.1 基于激光雷達(dá)的路口類型識別
激光雷達(dá)能夠獲取機(jī)器人周邊360°范圍內(nèi)的障礙物距離數(shù)據(jù),能夠有效辨識當(dāng)前機(jī)器人所處的路口類型。設(shè)初始時刻機(jī)器人位于道路中央,迷宮道路寬度為D,機(jī)器人運(yùn)動方向?yàn)榧す饫走_(dá)掃描起點(diǎn),逆時針對激光雷達(dá)數(shù)據(jù)進(jìn)行計數(shù),則根據(jù)激光雷達(dá)前方、左方、右方以及后方一定角度范圍內(nèi)的雷達(dá)數(shù)值均值與相應(yīng)閾值大小關(guān)系,可判定當(dāng)前機(jī)器人所處的路口類型。
對于直線形道路,左側(cè)、右側(cè)距離均小于某一閾值,前方、后方距離均大于某一閾值,同理可以進(jìn)行其他類型路口的識別。
2.2 ROS下的SLAM與路徑規(guī)劃算法
機(jī)器人操作系統(tǒng)(Robot Operate System)是近年來諸多優(yōu)秀的機(jī)器人軟件框架中最為突出、應(yīng)用最為廣泛的一個。作為一個可以靈活編寫機(jī)器人應(yīng)用程序的框架,ROS集成了大量的工具、庫、協(xié)議,為用戶、計算機(jī)操作系統(tǒng)以及外部設(shè)備提供了完備的通信功能,這些外部設(shè)備包括傳感器、攝像機(jī),同時也包括機(jī)器人。
在諸多的工具和庫中,目前應(yīng)用最為廣泛的是ROS的導(dǎo)航功能包。導(dǎo)航功能包中提供了對當(dāng)前主流SLAM方法以及路徑規(guī)劃算法的支持,主要有g(shù)mapping、hector-slam、cartographer、rgbdslam以及ORB_SLAM、amcl功能包等,為同步定位與構(gòu)圖以及基于地圖的路徑規(guī)劃提供了支持。我們可以方便地在ROS下編寫自己的launch文件,接入自己的機(jī)器人平臺及相應(yīng)的環(huán)境感知設(shè)備,調(diào)用ROS中的slam算法功能包,并結(jié)合已知地圖進(jìn)行路徑規(guī)劃。
2.3 基于迷宮探索規(guī)則的機(jī)器人未知環(huán)境探索算法
結(jié)合迷宮探索規(guī)則、SLAM算法以及路徑規(guī)劃算法,我們可以實(shí)現(xiàn)對于未知環(huán)境的規(guī)則化探索,探索的同時實(shí)現(xiàn)對環(huán)境的地圖構(gòu)建,并能夠?yàn)楹罄m(xù)其他機(jī)器人的自主導(dǎo)航提供依據(jù),基于迷宮探索規(guī)則與SLAM算法進(jìn)行探索與地圖構(gòu)建的具體算法流程如圖3所示。
在基于圖3所示的未知環(huán)境探索與地圖構(gòu)建算法的基礎(chǔ)上,可以實(shí)現(xiàn)對未知環(huán)境的探索,同時實(shí)現(xiàn)對環(huán)境地圖的構(gòu)建,基于構(gòu)建的地圖,借助ROS所提供的路徑規(guī)劃算法,即可以實(shí)現(xiàn)為后續(xù)其他機(jī)器人平臺的路徑規(guī)劃,從而為自主導(dǎo)航提供支持。
3 實(shí)驗(yàn)與分析
3.1 實(shí)驗(yàn)環(huán)境與設(shè)備
基于Ubuntu 16.04操作系統(tǒng)、ROS Kinetic發(fā)行版作為軟件系統(tǒng)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)用機(jī)器人平臺為TurtleBot 3 Burger,其性能參數(shù)及傳感器配置如表1所示。
3.2 實(shí)驗(yàn)結(jié)果與分析
以最為復(fù)雜的回轉(zhuǎn)路口為例,識別及轉(zhuǎn)向結(jié)果如圖4所示。
選擇性能較為優(yōu)異的cartographer作為SLAM處理算法,在地圖上選擇起點(diǎn)與終點(diǎn),則地圖構(gòu)建與路徑規(guī)劃結(jié)果如圖5所示。
從圖4、5所示的實(shí)驗(yàn)結(jié)果可以看出,基于本文所提出的方法,機(jī)器人能夠從未知環(huán)境中由起點(diǎn)運(yùn)動至指定的終點(diǎn),并且構(gòu)建由起點(diǎn)至終點(diǎn)的地圖,基于該地圖,結(jié)合ROS框架下的路徑規(guī)劃功能包,可實(shí)現(xiàn)機(jī)器人的自主導(dǎo)航。
4 結(jié)語
針對移動機(jī)器人在未知環(huán)境下進(jìn)行自主探索,并構(gòu)建地圖的需要,設(shè)計并實(shí)現(xiàn)了基于迷宮探索規(guī)則的未知環(huán)境探索算法。給出了基于摸墻算法的迷宮探索流程,討論了基于激光雷達(dá)的路口判別依據(jù),結(jié)合ROS下的SLAM功能包與路徑規(guī)劃功能包,提出了基于迷宮探索規(guī)則的機(jī)器人未知環(huán)境探索算法流程,并采用TurtleBot 3 Burger機(jī)器人,在ROS框架下進(jìn)行了實(shí)驗(yàn)。結(jié)果表明,所給出的算法能夠有效地實(shí)現(xiàn)機(jī)器人在未知環(huán)境下的自主探索與地圖構(gòu)建,能夠?yàn)闄C(jī)器人自主導(dǎo)航提供支持。
參考文獻(xiàn)
[1] 梁明杰,閔華清,羅榮華.基于圖優(yōu)化的同時定位與地圖創(chuàng)建綜述[J].機(jī)器人,2013,35(4):500-512.
[2] 梁明杰.機(jī)器人認(rèn)知地圖創(chuàng)建關(guān)鍵技術(shù)研究[D].華南理工大學(xué),2014.
[3] 胡春旭,編著.ROS機(jī)器人開發(fā)實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2018.