簡(jiǎn) 毅, 高 斌, 張 月
(重慶大學(xué) 機(jī)械工程學(xué)院,重慶 400044)
室內(nèi)掃地機(jī)器人是家用服務(wù)機(jī)器人的一種,具有掃地省力、省時(shí),功能多樣化、操作簡(jiǎn)單等優(yōu)點(diǎn),可代替人工減輕勞動(dòng)負(fù)擔(dān),已成為智能機(jī)器人研究的熱點(diǎn)[1]。傳感器技術(shù)和全遍歷路徑規(guī)劃技術(shù)是掃地機(jī)器人的核心技術(shù),通過多傳感器融合來估計(jì)自身位姿和檢測(cè)環(huán)境信息,然后按照某種優(yōu)化指標(biāo)在起始點(diǎn)和目標(biāo)點(diǎn)之間規(guī)劃出一條與環(huán)境障礙無碰撞并可全區(qū)域遍歷的路徑[2~4]。
目前,室內(nèi)掃地機(jī)器人采用的全區(qū)域遍歷路徑規(guī)劃分為兩類:無環(huán)境模型的規(guī)劃和基于環(huán)境模型的規(guī)劃方法[5]。無環(huán)境模型的路徑規(guī)劃可分為隨機(jī)式和規(guī)劃式,隨機(jī)式即掃地機(jī)器人無法直行時(shí)就隨機(jī)旋轉(zhuǎn)一定的角度繼續(xù)直行,該方法雖然簡(jiǎn)單,但效率比較低。規(guī)劃式包括弓形式和內(nèi)外螺旋式路徑規(guī)劃,容易造成漏掃且重復(fù)率高,也不易實(shí)現(xiàn)多房間的遍歷清潔[6]。基于環(huán)境模型的路徑規(guī)劃在遍歷清潔之前要進(jìn)行地圖的創(chuàng)建,一般采用激光雷達(dá)或激光測(cè)距儀進(jìn)行掃描,成本高且地圖創(chuàng)建困難[7]。
針對(duì)以上問題提出了一種簡(jiǎn)單的室內(nèi)掃地機(jī)器人全遍歷路徑規(guī)劃方法,經(jīng)實(shí)驗(yàn)驗(yàn)證了方法覆蓋提高了4%~8%,清掃時(shí)間縮短了2~7min。
遍歷清掃流程如圖1所示。
圖1 清掃流程
掃地機(jī)器人控制系統(tǒng)由三部分組成:傳感檢測(cè)系統(tǒng)、主控系統(tǒng)和電機(jī)執(zhí)行系統(tǒng)。其系統(tǒng)結(jié)構(gòu)框圖如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)
傳感檢測(cè)系統(tǒng)主要獲取機(jī)器人自身狀態(tài)和周圍環(huán)境信息。超聲波測(cè)距傳感器主要測(cè)量周圍障礙物的邊界信息,在機(jī)器人左、中、右各方向有3個(gè)超聲波傳感器模塊,為了避免各模塊發(fā)射信號(hào)和回波信號(hào)之間的相互干擾,采取輪流觸發(fā)的模式啟動(dòng)各超聲波模塊;紅外傳感器用于避開障礙物,在機(jī)器人前方180°范圍內(nèi)均勻布置了4只紅外傳感器;碰撞開關(guān)在超聲波傳感器和紅外傳感器故障情況下起保護(hù)作用。在2個(gè)驅(qū)動(dòng)輪上安裝光電編碼器用于檢測(cè)機(jī)器人行走距離,陀螺儀用于機(jī)器人方位角的識(shí)別,掃地機(jī)器人傳感器分布如圖3所示。主控系統(tǒng)采用低成本、能耗低的STM32F103系列芯片,用來采集傳感器傳至的數(shù)據(jù),經(jīng)過分析處理后創(chuàng)建環(huán)境地圖和進(jìn)行全遍歷路徑規(guī)劃,然后發(fā)出相應(yīng)的命令控制電機(jī)執(zhí)行系統(tǒng)完成掃地機(jī)器人的行走和清掃工作。電機(jī)執(zhí)行系統(tǒng)主要完成行走、清掃和吸塵功能。
圖3 傳感器分布
掃地機(jī)器人在進(jìn)行全遍歷路徑規(guī)劃前,應(yīng)該對(duì)周圍環(huán)境進(jìn)行檢測(cè),構(gòu)造出環(huán)境模型。常用的環(huán)境建模方法主要有柵格法、幾何法和拓?fù)鋱D法[8]。本文采用柵格法進(jìn)行環(huán)境建模,方法簡(jiǎn)單、易于實(shí)現(xiàn)和維護(hù),但柵格大小的劃分決定是否能夠準(zhǔn)確表示實(shí)際環(huán)境[9]。針對(duì)此問題提出了沿邊學(xué)習(xí)建立局部柵格地圖。
2.1.1沿邊學(xué)習(xí)
目前,沿邊學(xué)習(xí)過程主要對(duì)環(huán)境輪廓的學(xué)習(xí)。本文進(jìn)一步擴(kuò)展,不僅通過內(nèi)部傳感器獲取環(huán)境輪廓,而且通過外部測(cè)距傳感器檢測(cè)環(huán)境中孤立障礙物的相對(duì)位置信息,作為劃分子區(qū)域和建立局部地圖的依據(jù)。參考常見室內(nèi)布局設(shè)計(jì)環(huán)境模型如圖4所示。沿邊學(xué)習(xí)的詳細(xì)描述為:
1)掃地機(jī)器人從起始點(diǎn)(一般規(guī)定為充電座)開始,通過自身傳感器保證沿墻邊或緊靠墻邊障礙物行走;
2)沿邊行走時(shí),通過左側(cè)或右側(cè)超聲波測(cè)距傳感器檢測(cè)環(huán)境或障礙物邊界與機(jī)器人的距離數(shù)據(jù),存入h[n]距離數(shù)組;利用光電編碼器和陀螺儀獲取機(jī)器人自身位姿,存入P[i]=[xi,yi,θi]位置數(shù)組;
3)規(guī)定機(jī)器人行走時(shí)遇到障礙物或墻邊拐角進(jìn)行90°轉(zhuǎn)向繼續(xù)前進(jìn),并可通過轉(zhuǎn)向累計(jì)次數(shù)判斷機(jī)器人運(yùn)動(dòng)方向是橫向還是縱向;
4)沿邊學(xué)習(xí)結(jié)束標(biāo)志:機(jī)器人轉(zhuǎn)向后行走累計(jì)距離近似等于所測(cè)環(huán)境邊界與孤立障礙物的最大或最小距離;
5)完成一條邊的學(xué)習(xí)后,根據(jù)環(huán)境邊界與孤立障礙物邊界距離最大或最小原則,劃分矩形子區(qū)域,建立子區(qū)域柵格地圖。
圖4 環(huán)境模型
2.1.2子區(qū)域劃分與地圖創(chuàng)建
以第一條邊學(xué)習(xí)為例,機(jī)器人從起始點(diǎn)A以逆時(shí)針開始沿邊學(xué)習(xí)如圖5(a)所示,通過左側(cè)傳感器測(cè)得邊界距離數(shù)據(jù)依次為h1→h2→h3→h4→h5→h6,存入數(shù)組h[n]中,依靠光電編碼器傳感器測(cè)得機(jī)器人沿障礙物或墻壁的轉(zhuǎn)向距離依次為y1→y2→y3→y4,為保證覆蓋率和降低重復(fù)率,選取最小距離原則,即機(jī)器人轉(zhuǎn)向累計(jì)距離y4與測(cè)得的最小距離h5近似相等時(shí),第一條邊學(xué)習(xí)結(jié)束到達(dá)B點(diǎn)。以h5作為劃分矩形子區(qū)域的縱向距離,以掃地機(jī)器人吸塵口直徑D作為單元柵格邊的大小,每個(gè)柵格狀態(tài)由(i,j,k)描述, (i,j)表示柵格在地圖中所處的位置,k為柵格的屬性,0為可達(dá)柵格,1為不可達(dá)柵格,建立子區(qū)域局部地圖如圖5(b)所示。
圖5 子區(qū)域劃分與局部地圖
通過沿邊學(xué)習(xí)對(duì)子區(qū)域進(jìn)行劃分和創(chuàng)建局部地圖,然后以B點(diǎn)為起點(diǎn),以吸塵口直徑D作為側(cè)移距離,以h5作為最大沿邊向中擴(kuò)展距離,進(jìn)行迂回遍歷清掃,最后遍歷完子區(qū)域到達(dá)終點(diǎn)C,如圖6(a)所示,然后以C為起點(diǎn)進(jìn)行第二條邊的學(xué)習(xí),依此沿邊學(xué)習(xí),子區(qū)域劃分與局部地圖創(chuàng)建,沿邊擴(kuò)展清掃,沿邊學(xué)習(xí)直到完成整個(gè)環(huán)境的清掃,全遍歷清掃結(jié)果如圖6(b)所示,由于環(huán)境中兩個(gè)孤立障礙物存在漏掃,所以需要對(duì)漏掃區(qū)域進(jìn)行補(bǔ)掃如圖6(c)所示。
圖6 全遍歷路徑規(guī)劃
與已有的沿邊學(xué)習(xí)路徑規(guī)劃相比,本文方法具有如下優(yōu)點(diǎn):1)沿邊學(xué)習(xí)的過程中,既對(duì)環(huán)境輪廓進(jìn)行學(xué)習(xí),又對(duì)環(huán)境中的孤立障礙物邊界信息學(xué)習(xí);2) 每次沿邊學(xué)習(xí)只學(xué)習(xí)其中的一條邊,既能夠減小數(shù)據(jù)的存儲(chǔ)量,又能在對(duì)下一條邊學(xué)習(xí)時(shí)清除傳感器的累積誤差。
實(shí)驗(yàn)環(huán)境為1.2m×2.4m的封閉空間,以實(shí)驗(yàn)室自主研制的XF—400智能掃地機(jī)器人為實(shí)驗(yàn)平臺(tái),超聲波測(cè)距傳感器的范圍為0.015~4m,機(jī)器人的行走速度設(shè)定為0.5m/s,安裝有紅外對(duì)管和碰撞開關(guān)用于避障,實(shí)驗(yàn)?zāi)P腿鐖D7所示。
圖7 實(shí)驗(yàn)?zāi)P?/p>
對(duì)提出的全遍歷路徑規(guī)劃方法進(jìn)行實(shí)驗(yàn),記錄覆蓋率和清掃時(shí)間。然后分別采用隨機(jī)式和規(guī)劃式清掃方式,幾種清掃方式的覆蓋率和清掃時(shí)間對(duì)比如表1所示。
表1 幾種清掃方式對(duì)比
通過分析,本文提出的方法較常用的路徑規(guī)劃方法的覆蓋率和效率均有了較大的提高,而且成本低、方法簡(jiǎn)單易行,同時(shí)沿邊擴(kuò)展清掃可以實(shí)現(xiàn)多個(gè)房間的遍歷。雖然目前市場(chǎng)出現(xiàn)了通過激光雷達(dá)或者激光測(cè)距儀建立地圖從而進(jìn)行全遍歷,但是價(jià)格昂貴,控制系統(tǒng)要求高。
設(shè)計(jì)了一種成本低、性能可靠的掃地機(jī)器人路徑規(guī)劃控制系統(tǒng),并在控制平臺(tái)上提出了簡(jiǎn)單易行、可擴(kuò)展和維護(hù)方便的全遍歷路徑規(guī)劃方法。實(shí)驗(yàn)驗(yàn)證清掃覆蓋率至少可提高4%,清掃時(shí)間至少縮短了2 min,方法具有一定的應(yīng)用價(jià)值。為戰(zhàn)場(chǎng)偵察、排雷、修剪草坪、噴繪、擦窗機(jī)器人等的路徑規(guī)劃提供了參考。
[1] 李 航,宋春華,羅勝彬,等.機(jī)器人的研究現(xiàn)狀及其發(fā)展趨勢(shì)[J].微特電機(jī),2013,41(4):49-51.
[2] 王繼超.基于ARM的家用清潔機(jī)器人軟件設(shè)計(jì)與研究[D].杭州:浙江工業(yè)大學(xué),2011:1-2.
[3] 鮑慶勇,李舜酩,沈 峘,等.自主移動(dòng)機(jī)器人局部路徑規(guī)劃綜述[J].傳感器與微系統(tǒng),2009,28(9):1-2.
[4] Galceran E,Carreras M.A survey on coverage path planning for robotics[J].Robotics and Autonomous Systems,2013,61(12):1258-1276.
[5] 趙曉東,鮑 方.清潔機(jī)器人路徑規(guī)劃算法研究綜述[J].機(jī)電工程,2013,30(11):1441-1442.
[6] 徐 博,徐 旻,陳立平,等.智能機(jī)械全覆蓋路徑規(guī)劃算法綜述[J].計(jì)算機(jī)測(cè)量與控制,2016,24(10):1-5.
[7] 簡(jiǎn) 毅,程 洪,洪雪飛,等.一種沿邊導(dǎo)航向中擴(kuò)展的清潔機(jī)器人的清潔方法:中國,CN103099586A[P].2013—05—15.
[8] 徐 立,李慧萍,郭靜霞,等.未知環(huán)境下的移動(dòng)機(jī)器人環(huán)境建模研究[J].微計(jì)算機(jī)信息,2012,28(3):75-77.
[9] 郭利進(jìn),師五喜,李 穎,等.基于四叉樹的自適應(yīng)柵格地圖創(chuàng)建算法[J].控制與決策,2011,26(11):1690-1691.