秦國(guó)威,陳孟元
(1.蚌埠學(xué)院 電子與電氣工程學(xué)院,安徽 蚌埠 233030;2.安徽工程大學(xué) 電氣工程學(xué)院,安徽 蕪湖 241000)
隨著社會(huì)地突飛猛進(jìn),在眾多學(xué)者的孜孜努力下,機(jī)器人在20世紀(jì)終于得以成功問(wèn)世。機(jī)器人的誕生對(duì)我國(guó)的工農(nóng)業(yè)、制造業(yè)、服務(wù)業(yè)等領(lǐng)域都產(chǎn)生了非常深遠(yuǎn)的影響[1]。移動(dòng)機(jī)器人作為其中最典型的代表之一,被廣泛地應(yīng)用在醫(yī)療、餐飲等服務(wù)行業(yè),為使移動(dòng)機(jī)器人能夠提供更加高質(zhì)量的服務(wù),對(duì)移動(dòng)機(jī)器人開(kāi)展一系列的智能化、自主化研究就顯得具有非常遠(yuǎn)大的意義和價(jià)值[2-3]。
自主導(dǎo)航是移動(dòng)機(jī)器人需完成的一項(xiàng)最基本的工作。簡(jiǎn)而言之,即移動(dòng)機(jī)器人在復(fù)雜或陌生的環(huán)境中建立環(huán)境地圖,自主規(guī)劃出一條安全高效無(wú)碰撞的最優(yōu)路徑,并且沿著該路徑行進(jìn)到目標(biāo)點(diǎn)。歸納起來(lái),移動(dòng)機(jī)器人自主導(dǎo)航主要包含以下三方面工作:第一,地圖構(gòu)建問(wèn)題;第二,定位問(wèn)題;第三,路徑規(guī)劃問(wèn)題。三方面之間的關(guān)系如圖1所示。地圖構(gòu)建問(wèn)題即SLAM[4],作為移動(dòng)機(jī)器人自主導(dǎo)航的首要任務(wù),是實(shí)現(xiàn)自主導(dǎo)航的堅(jiān)實(shí)基礎(chǔ)。目前,ROS下SLAM建圖方法主要有以下三種。(1)基于圖優(yōu)化的cartographer算法[5],此算法是Goole公司于2016年10月推出的圖優(yōu)化SLAM算法,故又被稱(chēng)為Graph-based SLAM,其需要里程計(jì)、慣導(dǎo)(IMU)等傳感器。圖優(yōu)化的思想就是在機(jī)器人運(yùn)行過(guò)程中,將不同時(shí)刻的位姿抽象為若干個(gè)點(diǎn)(pose),在不同位置上觀測(cè)所產(chǎn)生的約束抽象為點(diǎn)與點(diǎn)之間的邊。構(gòu)圖完成后,從多方面調(diào)整移動(dòng)機(jī)器人的位姿去滿(mǎn)足這些邊構(gòu)成的約束,從全圖的角度進(jìn)行優(yōu)化。由于cartographer算法沒(méi)有集成到ROS中,因此,ROS環(huán)境下若要使用此算法,還需要采用源碼的方式進(jìn)行安裝,過(guò)程較為繁瑣。(2)基于粒子算法的Gmapping算法,此算法是一種基于粒子濾波的SLAM方法,眾多的加權(quán)粒子表示路徑的后驗(yàn)概率,每個(gè)粒子都代表一個(gè)重要性因子。機(jī)器人在建圖過(guò)程中,由于粒子基數(shù)比較大,而且還不斷地被重采樣,導(dǎo)致計(jì)算量和內(nèi)存消耗的持續(xù)增加,因此此算法建圖的效率偏低,此外,由于該算法需要使用多種傳感器獲取信息,導(dǎo)致所建地圖的準(zhǔn)確性和魯棒性也備受影響。(3)基于高斯牛頓法的Hector-SLAM:此方法僅利用激光雷達(dá)獲取場(chǎng)景的地圖信息,完全擺脫里程計(jì)數(shù)據(jù),僅采用圖優(yōu)化的方法進(jìn)行建圖,此算法非常有利于在特定的非結(jié)構(gòu)化的復(fù)雜環(huán)境下進(jìn)行地圖構(gòu)建,而且靈活性高、擴(kuò)展性強(qiáng)。本文綜合考慮,采用此算法建圖。本文在環(huán)境建圖建成后,接著就需要在地圖中確定移動(dòng)機(jī)器人的位置和姿態(tài),即定位。在ROS環(huán)境下移動(dòng)機(jī)器人定位大部分都采用蒙特卡洛(MCL)算法[6],但此算法存在計(jì)算量大、實(shí)時(shí)性差等問(wèn)題,由此本文采用一種基于KLD重采樣的自適應(yīng)AMCL算法[7],能夠?qū)崟r(shí)在線自適應(yīng)調(diào)整粒子數(shù),減少算法的計(jì)算量。定位完成后,下一步就需要規(guī)劃出一條安全且無(wú)碰撞的路徑,即路徑規(guī)劃[8]。在眾多的路徑規(guī)劃算法中,A*算法是一種基于柵格地圖的算法[9],相比于D*算法,對(duì)于已知的環(huán)境場(chǎng)景,能夠規(guī)劃出更加有效平滑地路徑;相比于Dijkstra算法,A*算法采用了啟發(fā)式搜索模式,大大降低了搜索節(jié)點(diǎn)的數(shù)量,從而提高了搜索節(jié)點(diǎn)的效率。由此可看出A*算法在路徑規(guī)劃方面具有非常大的優(yōu)勢(shì)。
圖1 自主導(dǎo)航各模塊關(guān)系圖
綜上,本文在ROS環(huán)境環(huán)境下所設(shè)計(jì)實(shí)現(xiàn)的自動(dòng)導(dǎo)航系統(tǒng),首先利用Hector-SLAM完成環(huán)境地圖構(gòu)建,其次使用基于KLD重采樣的自適應(yīng)AMCL算法確定移動(dòng)機(jī)器人自身位置,最后利用改進(jìn)型A*算法和DWA[10]動(dòng)態(tài)窗口法完成機(jī)器人路徑規(guī)劃和運(yùn)行控制。本文研究?jī)?nèi)容對(duì)于移動(dòng)機(jī)器人導(dǎo)航領(lǐng)域研究具有非常遠(yuǎn)大的意義和實(shí)用價(jià)值[11]。
移動(dòng)機(jī)器人要在陌生環(huán)境中實(shí)現(xiàn)完全自主導(dǎo)航,必須首先獲取周?chē)沫h(huán)境信息,明確自身所處的位置,進(jìn)而建立環(huán)境地圖模型。當(dāng)下,機(jī)器人均是通過(guò)自身攜帶的傳感器進(jìn)行在線測(cè)量和位置估計(jì),在陌生且復(fù)雜的環(huán)境中利用相關(guān)的SLAM算法來(lái)完成地圖構(gòu)建?;诖?,本文采用一種Hector-SLAM圖優(yōu)化算法完成環(huán)境地圖的建模。
Hector-SLAM建圖分為兩步,第一步利用激光雷達(dá)獲取外界的環(huán)境信息,第二步則是與先驗(yàn)激光數(shù)據(jù)信息進(jìn)行匹配,進(jìn)而完成概率柵格地圖的構(gòu)建。整個(gè)過(guò)程不需要里程計(jì)的參與,僅依賴(lài)于高頻率高精度的激光,在第二步中利用Gauss-Newton法解決掃描匹配問(wèn)題。本文主要針對(duì)2D SLAM子系統(tǒng),開(kāi)展Hector-SLAM算法研究,Hector-SLAM原理框架如圖2所示。
圖2 Hector-SLAM原理圖框架
利用Hector-SLAM算法進(jìn)行地圖構(gòu)建,即為依賴(lài)激光雷達(dá)進(jìn)行環(huán)境掃描,將連續(xù)的環(huán)境信息進(jìn)行采樣離散化。同時(shí)為了克服離散性對(duì)精度的不利影響,采用雙線性插值法進(jìn)行柵格占有概率估計(jì)。如圖3為雙線性插值濾波示意圖。
圖3 雙線性插值濾波示意圖
對(duì)于給定的地圖坐標(biāo)Pm,M(Pm)表示該柵格的占有值,為了方便計(jì)算,其周?chē)乃膫€(gè)點(diǎn)坐標(biāo)簡(jiǎn)單表示為(P00,P01,P10,P11),由此沿橫軸和縱軸進(jìn)行雙線性插值,如式(1)所示。
(1)
將Pm在x方向、y方向求偏導(dǎo)如式(2)所示。
(2)
將(1)、(2)兩式聯(lián)合,連續(xù)柵格地圖坐標(biāo)Pm點(diǎn)梯度值如式(3)所示。
(3)
在環(huán)境柵格地圖構(gòu)建完成后,下一步需要將當(dāng)前采集的激光掃描幀與已建立的柵格地圖進(jìn)行匹配,進(jìn)而完成移動(dòng)機(jī)器人的位姿估計(jì)。在整個(gè)過(guò)程中,依據(jù)激光雷達(dá)采集的第一幀數(shù)據(jù)直接進(jìn)行建圖,之后采集的數(shù)據(jù)需要與已建地圖逐一對(duì)齊匹配。利用高斯-牛頓梯度法進(jìn)行最優(yōu)解的求解,如式(4)所示。
(4)
式中:η=(Px,Py,β)為柵格地圖旋轉(zhuǎn)矩陣,即機(jī)器人的最佳位姿。Sj(η)表征激光雷達(dá)的端點(diǎn)坐標(biāo)Sj=(Sj,x,Sj,y)T在世界坐標(biāo)系下的位置,如式(5)所示。
(5)
式中:M(Sj(η))表征坐標(biāo)為Sj(η)的環(huán)境柵格地圖值,依據(jù)高斯-牛頓梯度法的高級(jí)思想,設(shè)定一個(gè)初始化數(shù)值η,根據(jù)下式對(duì)增量Δη進(jìn)行估計(jì),如式(6)所示。
(6)
對(duì)式(6)中M(Sj(η+Δη))進(jìn)行一階泰勒展開(kāi),且對(duì)Δη求偏導(dǎo)如式(7)所示。
(7)
由此,Δη問(wèn)題可轉(zhuǎn)化為函數(shù)極值問(wèn)題進(jìn)行處理。令上式為0可得Δη的解如式(8)所示。
(8)
式中:H為Hession矩陣如式(9)所示。
(9)
式中:▽M(Sj(η))表征的地圖梯度值已在地圖獲取部分進(jìn)行闡述,如式(3)所示。
上述的Hector-SLAM算法采用高精度激光傳感器,完全不依賴(lài)?yán)锍逃?jì)的數(shù)據(jù)信息,適用的范圍非常廣泛,尤其在移動(dòng)機(jī)器人SLAM領(lǐng)域,廣泛用于解決環(huán)境地圖建模問(wèn)題。
移動(dòng)機(jī)器人在獲取地圖信息后,接著就需要在復(fù)雜的環(huán)境中確定自身所處的位置。在本文研究中,機(jī)器人在利用Hector-SLAM算法獲取的先驗(yàn)環(huán)境地圖信息、上一時(shí)刻的位姿估計(jì)以及激光雷達(dá)的數(shù)據(jù)信息后,進(jìn)而經(jīng)過(guò)信息的變換、處理,最終依賴(lài)當(dāng)前時(shí)刻機(jī)器人所處的姿態(tài)來(lái)最終完成自主定位。本文采用基于KLD重采樣的AMCL(自適應(yīng)蒙特卡洛定位)算法完成整個(gè)定位過(guò)程。
原始的蒙特卡洛(MCL)定位算法廣泛應(yīng)用于估計(jì)移動(dòng)機(jī)器人在已知環(huán)境地圖信息下的位姿狀態(tài)。移動(dòng)機(jī)器人的運(yùn)動(dòng)學(xué)方程和觀測(cè)方程如式(10)所示。
xt=ft(xt-1,ut-1)
zt=ht(xt,vt)
(10)
式中:xt∈Rnx,表征系統(tǒng)在t時(shí)刻的運(yùn)動(dòng)狀態(tài);zt∈Rnz分別表征系統(tǒng)在t時(shí)刻的觀測(cè)狀態(tài);ft、ht分別表征系統(tǒng)的狀態(tài)的轉(zhuǎn)移函數(shù)和觀測(cè)函數(shù);ut、vt分別表征系統(tǒng)的控制噪聲和觀測(cè)噪聲。
MCL定位是概率確定位置的結(jié)果,可將其理解在環(huán)境地圖m和系統(tǒng)初始化狀態(tài)x0給定的條件下,利用一組有限的離子集St來(lái)估計(jì)機(jī)器人位姿狀態(tài)xt的后驗(yàn)信度,后驗(yàn)概率密度的分布如式(11)所示。
(11)
(12)
在不同的時(shí)間間隔內(nèi),MCL算法基于重要性采集理論,首先采用權(quán)重粒子集St,接著對(duì)權(quán)重粒子集進(jìn)行重采樣方式處理,處理的新粒子用于姿態(tài)更新,由此得出當(dāng)前時(shí)刻系統(tǒng)狀態(tài)后驗(yàn)信度分布bel(xt)的離散估計(jì),最后,系統(tǒng)狀態(tài)的最小方差用粒子集替代估計(jì)。式(13)為運(yùn)動(dòng)狀態(tài)xt的后驗(yàn)概率密度估計(jì)。
(13)
式中:δ表示樣本估計(jì)概率。
從MCL(蒙特卡洛)算法中可以明確得知,系統(tǒng)的樣本容量是一層不變的,同時(shí)缺少系統(tǒng)的觀測(cè)信息zt,忽略了移動(dòng)機(jī)器人所處場(chǎng)景的觀測(cè)信息對(duì)狀態(tài)估計(jì)的修正作用,進(jìn)而使得采樣粒子集分布在觀測(cè)似然的尾部,導(dǎo)致粒子集退化問(wèn)題,最終使得移動(dòng)機(jī)器人定位存在偏差。
考慮到原始的MCL算法在定位方面存在的問(wèn)題,本文采用基于KLD重采樣的AMCL算法完成移動(dòng)機(jī)器人定位,致力于服務(wù)機(jī)器人更好的完成自主導(dǎo)航工作。
2.2.1 KLD采樣
粒子濾波效率和定位的精度由以下兩方面的因素決定。一是后驗(yàn)信度分布與信度函數(shù)之間的似然性,二是信度函數(shù)的準(zhǔn)確分布情況。本文所采用的KLD重采樣對(duì)采樣部分進(jìn)行調(diào)整改進(jìn),是自適應(yīng)定位的關(guān)鍵技術(shù)。KLD采樣的核心思想如下,在粒子濾波的每一次迭代中,以概率1-δ使真實(shí)后驗(yàn)概率和基于樣本的估計(jì)信度之間的誤差是否小于ε,由此來(lái)確定重采樣樣本數(shù)目,該誤差是通過(guò)計(jì)算最大似然估計(jì)與真實(shí)的后驗(yàn)分布之間的差值,即K-L距離來(lái)確定的。K-L距離用來(lái)表示兩個(gè)概率分布p和q之間的逼近誤差,如式(14)所示。
(14)
式中:k表示K-L距離,且當(dāng)p,q兩個(gè)似然分布保持相同且全部為0時(shí),是概率分布之間差異的衡量標(biāo)準(zhǔn)。
q的似然概率估計(jì)值λn在粒子數(shù)n趨向于正無(wú)窮大時(shí)服從差分分布,如式(15)所示。
(15)
p=(K(p,q)≤ε)=1-δ
(16)
但是,計(jì)算n的值非常困難,由概率論與梳理統(tǒng)計(jì)分析所學(xué)知識(shí)可知:當(dāng)n的數(shù)量滿(mǎn)足一定值時(shí),就一定可以保證真實(shí)概率密度與估計(jì)概率密度之間的K-L距離小于閾值ε,從而可以進(jìn)一步保證兩者之間的逼近誤差最小,再接著利用wilson-hilferty變換近似可以得出n的近似值如式(17)所示。
(17)
式中:z1-δ服從標(biāo)準(zhǔn)正態(tài)分布,上界為1-δ。
在重采樣過(guò)程中,對(duì)權(quán)重大的粒子數(shù)進(jìn)行復(fù)制,反之,進(jìn)行忽略拋棄。在粒子的復(fù)制過(guò)程中采用KLD采樣的方法來(lái)確定下一次重采樣的粒子數(shù)。由此可以看出,采用重采樣的粒子處理方式可以實(shí)現(xiàn)粒子的實(shí)時(shí)調(diào)整,計(jì)算量得以大大減小。
2.2.2 基于KLD的自適應(yīng)AMCL算法
基于KLD的自適應(yīng)AMCL算法流程如下。
第二步:將粒子集權(quán)重作歸一化處理。
第四步:以粒子集的數(shù)學(xué)期望值作為當(dāng)前t時(shí)刻下移動(dòng)機(jī)器人位置和方向即位姿的輸出,位姿與數(shù)學(xué)期望關(guān)系式如式(18)所示。
(18)
式中:E[ ]為數(shù)學(xué)期望。
移動(dòng)機(jī)器人自主導(dǎo)航在完成環(huán)境地圖建模,自身定位兩部分工作之后,還剩下最后一個(gè)環(huán)節(jié),即機(jī)器人路徑規(guī)劃。本文采用改進(jìn)型A*算法,使機(jī)器人在所處陌生場(chǎng)景中完成初始點(diǎn)到目標(biāo)點(diǎn)的全局路徑規(guī)劃,采用DWA動(dòng)態(tài)窗口法完成局部路徑規(guī)劃、避障及運(yùn)動(dòng)控制等工作。
A*算法作為一種啟發(fā)式搜索方法,是非常常用的移動(dòng)機(jī)器人路徑規(guī)劃算法,其關(guān)鍵評(píng)價(jià)函數(shù)定義如式(19)所示。
f(n)=s(n)+h(n)
(19)
式中:n表征當(dāng)前位置的節(jié)點(diǎn);f(n)表征初始節(jié)點(diǎn)經(jīng)過(guò)節(jié)點(diǎn)n到目標(biāo)節(jié)點(diǎn)的總估計(jì)代價(jià)函數(shù);s(n)表征初始點(diǎn)到目標(biāo)點(diǎn)的實(shí)際代價(jià)函數(shù);h(n)表征初始節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的估計(jì)代價(jià)。h(n)是啟發(fā)代價(jià)函數(shù)中最重要的部分,其取值即可決定算法的性能,正確地選擇h(n)能夠大大提高A*算法的精準(zhǔn)度。A*算法利用曼哈頓舉例作為h(n)的代價(jià)函數(shù),公示如式(20)所示。
h(n)=|x1-x0|+|y1-y0|
(20)
式中:(x0,y0)表征初始節(jié)點(diǎn)所在柵格中心的坐標(biāo),(x1,y1)表征目標(biāo)節(jié)點(diǎn)所在柵格中心的坐標(biāo)。
傳統(tǒng)A*算法采用的是八領(lǐng)域搜索法,如圖4所示。通過(guò)當(dāng)前柵格中心節(jié)點(diǎn)向臨近8個(gè)方向擴(kuò)散,由此會(huì)產(chǎn)生很多轉(zhuǎn)折點(diǎn),從運(yùn)動(dòng)學(xué)的角度來(lái)說(shuō),傳統(tǒng)的A*算法在實(shí)際場(chǎng)景中的應(yīng)用效果顯然不理想。
圖4 八領(lǐng)域搜索示意圖
根據(jù)傳統(tǒng)的A*算法的八領(lǐng)域搜索方向:x方向、y方向、對(duì)角線方向,將A*算法啟發(fā)函數(shù)h(n)采用的曼哈頓距離分解成這三個(gè)方向的線性組合,經(jīng)過(guò)采用這種方法處理后,即可更準(zhǔn)確地計(jì)算出柵格地圖上任意兩點(diǎn)的實(shí)際代價(jià),并且還可使得算法搜尋出最優(yōu)路徑。改進(jìn)后的A*啟發(fā)函數(shù)如式(21)所示。
(21)
式中:dx(n)=|x1-x0|,dy(n)=|x1-x0|。
A*算法h(n)啟發(fā)函數(shù)經(jīng)過(guò)優(yōu)化后,對(duì)于實(shí)際移動(dòng)代價(jià)的估算更加精確。
在ROS系統(tǒng)下,移動(dòng)機(jī)器人完成自主導(dǎo)航的流程如圖5所示。首先要在ubantu系統(tǒng)下將ROS安裝完畢,接著調(diào)用ROS環(huán)境下的三個(gè)功能包,共同組成了導(dǎo)航棧的核心。首先,需要調(diào)用的時(shí)hector-SLAM功能包,根據(jù)hector-SLAM算法以及激光傳感器獲得的數(shù)據(jù)完成環(huán)境地圖的建模;其次,需調(diào)用amcl定位功能包,根據(jù)基于KLD重采樣的AMCL算法,評(píng)估機(jī)器人在地圖中的位置,完成定位工作;最后,需調(diào)用Move-base包,使用A*算法以及DWA動(dòng)態(tài)窗口法實(shí)現(xiàn)初始點(diǎn)到目標(biāo)點(diǎn)的路徑規(guī)劃以及機(jī)器人的自主運(yùn)行。下面就逐一討論分析建圖、定位、路徑規(guī)劃的的虛擬仿真效果。
圖5 導(dǎo)航流程圖
Hector-SLAM算法僅需要激光掃描儀采集的數(shù)據(jù)就可完成地圖的構(gòu)建,由于Hector-SLAM不需要里程計(jì)等傳感器,使其應(yīng)用場(chǎng)景非常廣泛,如空中無(wú)人機(jī)、視覺(jué)設(shè)備等。在模擬化的ROS環(huán)境下進(jìn)行仿真,首先要在ROS中機(jī)器人主要訂閱“/scan”激光數(shù)據(jù)和“/syscommand”系統(tǒng)命令話題,由此向外發(fā)布機(jī)器人的位姿信息及柵格地圖信息。其次通過(guò)ROS系統(tǒng)啟動(dòng)launch腳本功能,與此同時(shí),使用鍵盤(pán)方向按鍵控制機(jī)器人在環(huán)境中的行進(jìn),在移動(dòng)機(jī)器人行進(jìn)的過(guò)程中,環(huán)境地圖被完整構(gòu)建出來(lái),與真實(shí)場(chǎng)景基本吻合,未出現(xiàn)打滑、重影等情況。地圖構(gòu)建的過(guò)程如圖6所示,柵格地圖白色區(qū)域?yàn)榭臻e區(qū)域,一圈黑邊表示障礙物區(qū)域,黑邊上的紅點(diǎn)為激光點(diǎn)云,淺灰色區(qū)域?yàn)槲粗獏^(qū)域。
圖6 環(huán)境地圖
在ROS環(huán)境下機(jī)器人要完成路徑規(guī)劃,首先需要機(jī)器人不管在何處都能估算出自身所處的位置,接著進(jìn)行路徑的規(guī)劃。此路徑規(guī)劃工作可通過(guò)調(diào)用ROS中的兩個(gè)功能包來(lái)完成。第一,調(diào)用AMCL功能包,對(duì)底層的蒙特卡洛算法進(jìn)行改進(jìn),實(shí)現(xiàn)基于KLD重采樣的AMCL算法,以準(zhǔn)確評(píng)估出機(jī)器人所處的位置。第二,調(diào)用Move-base功能包,其中全局路徑規(guī)劃采用A*算法來(lái)完成,局部路徑規(guī)劃采用DWA動(dòng)態(tài)窗口法,準(zhǔn)確評(píng)估出最優(yōu)路徑。如圖7所示,為移動(dòng)機(jī)器人定位的結(jié)果。開(kāi)始粒子云在初始位姿處隨機(jī)分布,隨著機(jī)器人的移動(dòng),粒子逐漸收斂到正確位姿。
圖7 定位過(guò)程圖
通過(guò)上述使用多種算法后,實(shí)現(xiàn)了SLAM環(huán)境地圖的構(gòu)建。由此接下來(lái)可以通過(guò)將地圖加載在ROS框架上實(shí)現(xiàn)移動(dòng)機(jī)器人路徑規(guī)劃以及自主導(dǎo)航仿真實(shí)驗(yàn)。此實(shí)驗(yàn)通過(guò)Gazebo進(jìn)行機(jī)器人的虛擬導(dǎo)航仿真。在Gazebo中啟動(dòng)導(dǎo)航節(jié)點(diǎn),最終的路徑規(guī)劃導(dǎo)航過(guò)程如圖8所示,圖中的紅藍(lán)區(qū)域表示障礙物膨脹區(qū)域,以此使得機(jī)器人更加有效實(shí)現(xiàn)避障。機(jī)器人的起點(diǎn)在左下角,終點(diǎn)在右上角,行進(jìn)過(guò)程中規(guī)劃的路徑逐漸縮短,最終順利到達(dá)終點(diǎn)。
圖8 路徑規(guī)劃及導(dǎo)航過(guò)程圖
本文基于ROS的移動(dòng)機(jī)器人自動(dòng)導(dǎo)航系統(tǒng)設(shè)計(jì)研究為目的,著重對(duì)機(jī)器人環(huán)境感知能力、SLAM建圖、AMCL定位、路徑規(guī)劃算法等開(kāi)展了一系列討論研究。通過(guò)在ROS模擬化場(chǎng)景下搭建導(dǎo)航框架,最終實(shí)現(xiàn)移動(dòng)機(jī)器人自主導(dǎo)航功能。下一步將繼續(xù)利用已有的硬件條件,在真實(shí)的場(chǎng)景中,基于ROS搭建自主導(dǎo)航系統(tǒng),完成真實(shí)場(chǎng)景下的導(dǎo)航實(shí)驗(yàn)。