摘要:實(shí)現(xiàn)移動(dòng)機(jī)器人同時(shí)定位與建圖技術(shù)和路徑規(guī)劃技術(shù)是讓機(jī)器人真正智能化的前提。針對(duì)機(jī)器人自主導(dǎo)航問(wèn)題,本文在gazebo仿真環(huán)境下,利用開(kāi)源軟件包Gmapping提供的算法完成了機(jī)器人的自定位與手動(dòng)地圖構(gòu)建,在此基礎(chǔ)上結(jié)合move_base軟件包相關(guān)的路徑規(guī)劃算法完成了移動(dòng)機(jī)器人自主移動(dòng)建圖、路徑規(guī)劃以及自主避障功能。仿真結(jié)果表明,該系統(tǒng)能夠滿足移動(dòng)機(jī)器人在陌生環(huán)境下的自主導(dǎo)航需求。
關(guān)鍵詞:SLAM;路徑規(guī)劃;移動(dòng)機(jī)器人
0引言
在陌生環(huán)境中實(shí)現(xiàn)移動(dòng)機(jī)器人的自主避障和導(dǎo)航一直是機(jī)器人相關(guān)研究領(lǐng)域的熱點(diǎn)。機(jī)器人自主導(dǎo)航技術(shù)的實(shí)現(xiàn)關(guān)鍵在于如何解決機(jī)器人在陌生環(huán)境中的定位與路徑規(guī)劃問(wèn)題。一方面?;诶锍逃?jì)慣性導(dǎo)航的實(shí)現(xiàn),往往因?yàn)閼T性傳感器長(zhǎng)時(shí)間的累積誤差,極易造成機(jī)器人航跡計(jì)算偏差,無(wú)法滿足移動(dòng)機(jī)器人定位與路徑規(guī)劃的精度要求。另一方面,采用GPS信號(hào)的衛(wèi)星導(dǎo)航技術(shù),存在室內(nèi)環(huán)境信號(hào)弱,定位誤差大,且極易受到天氣與環(huán)境影響等問(wèn)題。顯然可以知道,傳統(tǒng)上的自主導(dǎo)航技術(shù)滿足不了移動(dòng)機(jī)器人自主導(dǎo)航的需求[1]。及時(shí)定位與地圖構(gòu)建SLAM技術(shù)的提出可以有效的解決傳統(tǒng)上導(dǎo)航技術(shù)的缺陷。
ROS(robot operating system)是一個(gè)開(kāi)源的機(jī)器人操作系統(tǒng)。它提供了很多關(guān)于機(jī)器人的硬件抽象、以及常用功能的實(shí)現(xiàn),使得機(jī)器人的開(kāi)發(fā)更加便捷迅速,很快在機(jī)器人研究領(lǐng)域成為研究熱潮。ROS 中有很多封裝好的代碼,用于實(shí)現(xiàn)一些常用功能,可以使人們?cè)陂_(kāi)發(fā)機(jī)器人中把研究重點(diǎn)放在核心算法的研究和改進(jìn)上,極大地提高機(jī)器人開(kāi)發(fā)效率
因此本文通過(guò)ROS中開(kāi)源的功能包對(duì)移動(dòng)機(jī)器人實(shí)現(xiàn)自主移動(dòng)建圖和路徑規(guī)劃并進(jìn)行仿真。
1移動(dòng)機(jī)器人模型和仿真環(huán)境搭建
對(duì)于機(jī)器人模型和仿真環(huán)境本人就不過(guò)多贅述,在ROS/gazebo仿真環(huán)境下搭建的機(jī)器人模型和仿真環(huán)境如下圖1、圖2所示。

圖1移動(dòng)機(jī)器人模型

圖2仿真世界模型
2 移動(dòng)機(jī)器人自主導(dǎo)航系統(tǒng)設(shè)計(jì)
2.1.導(dǎo)航相關(guān)概念
機(jī)器人的自主導(dǎo)航系統(tǒng)主要包括定位模塊、坐標(biāo)變換模塊、里程計(jì)模塊、路徑規(guī)劃模塊以及傳感器模塊等[2]。其整體系統(tǒng)結(jié)構(gòu)如下圖所示。

圖3 ROS導(dǎo)航模塊
2.2 SLAM建圖
SLAM算法有很多比如gmapping、hector_slam等,由于Gmapping 建圖算法原理相較于其他算法比較簡(jiǎn)單,而且使用該算法構(gòu)建出的地圖也非常精確。因此本文選用Gmapping算法進(jìn)行地圖構(gòu)建。Gmapping建圖其實(shí)使用的是基于2D 激光雷達(dá)的RBPF算法完成二維柵格地圖構(gòu)建的SLAM 算法[3]。RBPF 的關(guān)鍵是根據(jù)觀測(cè)數(shù)據(jù) Z1:t和里程數(shù)據(jù)u0:t 來(lái)估計(jì)機(jī)器人處于潛在位姿 X1:t下的后驗(yàn)概率 p(X1:t|u0:t, Z1:t),然后利用此概率來(lái)計(jì)算地圖和位姿的聯(lián)合后驗(yàn)概率:

該概率可被有效地求出,因?yàn)榈貓D的概率p(m|X1:t, Z1:t)可以由 X1:t和 Z1:t計(jì)算得出。為估計(jì)位姿的后驗(yàn)概率 p(X1:t|u0:t, Z1:t),RBPF采用粒子濾波方法,使每個(gè)粒子樣本都對(duì)應(yīng)一個(gè)獨(dú)立地圖。每個(gè)地圖都根據(jù)對(duì)應(yīng)粒子的環(huán)境觀測(cè)數(shù)據(jù)Z1:t 和位姿X1:t創(chuàng)建。
在ROS中提供了用于機(jī)器人在室內(nèi)環(huán)境下定位與建圖的Gmapping軟件包,該節(jié)點(diǎn)名為slam_gmapping,該節(jié)點(diǎn)方便調(diào)用。通過(guò)編寫(xiě)gmapping節(jié)點(diǎn)相關(guān)的launch文件包括機(jī)器人基坐標(biāo)系、里程計(jì)坐標(biāo)系、地圖坐標(biāo)系以及地圖更新頻率激光雷達(dá)探測(cè)的最大可用范圍(超出這個(gè)值,將會(huì)被截?cái)啵┑葏?shù)設(shè)置。完成launch文件的編寫(xiě)后,先啟動(dòng)gazebo仿真環(huán)境,然后在啟動(dòng)地圖繪制的launch文件,在終端輸入鍵盤(pán)控制節(jié)點(diǎn)命令,用于控制機(jī)器人完成運(yùn)動(dòng)建圖。在gazebo中機(jī)器人激光雷達(dá)顯示和rviz可視化環(huán)境下移動(dòng)機(jī)器人構(gòu)建地圖,如下圖4、圖5所示。

圖4地圖構(gòu)建下gazebo中畫(huà)面

圖5 rviz中仿真建圖結(jié)果
2.3路徑規(guī)劃
路徑規(guī)劃是導(dǎo)航中的核心功能,在ROS的導(dǎo)航功能包集navigation中提供了move_base功能包,用于實(shí)現(xiàn)此功能。Move_base可以根據(jù)給定的目標(biāo)點(diǎn),控制機(jī)器人運(yùn)動(dòng)至目標(biāo)位置,并且在運(yùn)動(dòng)過(guò)程中會(huì)連續(xù)反饋機(jī)器人自身的姿態(tài)與目標(biāo)點(diǎn)的狀態(tài)信息。Move_base在global_costmap全局代價(jià)地圖上實(shí)現(xiàn)全局路徑規(guī)劃,在local_costmap上實(shí)現(xiàn)局部路徑規(guī)劃。Move_base軟件包運(yùn)行時(shí)需要加載編寫(xiě)的配置文件,實(shí)現(xiàn)移動(dòng)機(jī)器人的自主導(dǎo)航。相關(guān)的配置有:通用配置文件;全局代價(jià)地圖配置文件;局部代價(jià)地圖配置文件以及基本的局部規(guī)劃器參數(shù)設(shè)置。
(1)通用參數(shù)配置
通用參數(shù)配置文件主要用于move_base在全局路徑規(guī)劃和局部路徑規(guī)劃時(shí)調(diào)用的參數(shù)配置,比如機(jī)器人的尺寸、距離障礙物的安全距離以及傳感器信息等。在此配置如下:

其中,robot_radius參數(shù)配置圓形機(jī)器人的半徑;obstacle_range配置雷達(dá)探測(cè)障礙物的最大范圍;ray_range表示障礙物最小引入代價(jià)地圖的距離;observation_sources參數(shù)定義構(gòu)建代價(jià)地圖傳感器的來(lái)源;
(2)全局代價(jià)地圖參數(shù)配置配置
該文件用于全局代價(jià)地圖參數(shù)設(shè)置。配置如下:

其中,global_frame與robot_base_frame定義全局地圖與機(jī)器人本體坐標(biāo)系統(tǒng);update_frequency定義代價(jià)地圖的更新頻率;pubilish_frequency 定義代價(jià)地圖的發(fā)布頻率;static_map代表是否使用地圖服務(wù)器或者一個(gè)地圖來(lái)初始化全局代價(jià)地圖;inflation_radius代表膨脹半徑,擴(kuò)展在碰撞區(qū)域以外的代價(jià)區(qū)域使得機(jī)器人規(guī)劃路徑避開(kāi)障礙物;cost_scaling_factor代表代價(jià)比例系數(shù),越大則代價(jià)值越小。
(3)局部代價(jià)地圖參數(shù)配置文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-789378.html
局部代價(jià)地圖用于規(guī)劃?rùn)C(jī)器人遇到障礙物時(shí)自主避障行為,該文件配置如下:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-789378.html
到了這里,關(guān)于基于gazebo仿真環(huán)境的移動(dòng)機(jī)器人導(dǎo)航仿真的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!