国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ROS系統(tǒng)移動(dòng)機(jī)器人SLAM算法的研究與實(shí)現(xiàn)

2020-03-03 16:07:54李賀喜李富強(qiáng)牛童立杜邊境
技術(shù)與市場 2020年7期
關(guān)鍵詞:建圖移動(dòng)機(jī)器人定位

李賀喜,李富強(qiáng),牛童立,李 康,杜邊境

(中國礦業(yè)大學(xué)徐海學(xué)院,江蘇 徐州 221000)

0 引言

從20世紀(jì)機(jī)器人誕生以來,經(jīng)過多年的技術(shù)革新與發(fā)展,機(jī)器人技術(shù)由傳統(tǒng)的只能在預(yù)設(shè)的熟悉環(huán)境中進(jìn)行機(jī)械性重復(fù)運(yùn)動(dòng)的工業(yè)機(jī)器人,轉(zhuǎn)變?yōu)榫哂凶灾鞫ㄎ?、自主建圖、自動(dòng)導(dǎo)航的智能機(jī)器人。在未來,無人駕駛汽車、巡檢機(jī)器人等設(shè)備的發(fā)展都需要用到機(jī)器人的路徑規(guī)劃與自主導(dǎo)航功能。因此,移動(dòng)機(jī)器人的自主導(dǎo)航能力至關(guān)重要。本文利用SLAM技術(shù)實(shí)現(xiàn)移動(dòng)中的不斷自主定位,同時(shí)把對(duì)環(huán)境的感知建立起全局的地圖,移動(dòng)機(jī)器人便可以通過算法制定最優(yōu)的路徑。

1 ROS系統(tǒng)與SLAM技術(shù)簡介

Robot Operating System簡稱ROS,是一個(gè)機(jī)器人軟件平臺(tái)。ROS在機(jī)器人項(xiàng)目開發(fā)的過程中提供了大量的實(shí)用工具和package,憑借開源優(yōu)勢,除了ROS官方發(fā)布的功能包之外,在多個(gè)互聯(lián)網(wǎng)平臺(tái)上有全球的機(jī)器人軟件開發(fā)者發(fā)布的特殊功能的包,為其他機(jī)器人開發(fā)者節(jié)約了大量的時(shí)間和精力,大大提高了機(jī)器人開發(fā)效率[1]。

SLAM(Simultaneous Localization and Mapping)其意為即時(shí)定位與建圖技術(shù)。將一個(gè)機(jī)器人放置于完全陌生的環(huán)境中,可以通過SLAM技術(shù)將環(huán)境中的地圖在移動(dòng)的過程中建立出來,同時(shí)定位自身所處位置。目前,有以下幾種主流的SLAM算法:Hector SLAM、Gmapping、Karto SLAM、Cartographer[2]。

2 SLAM算法的選擇與分析

Gmapping是基于濾波SLAM框架的開源算法,也是目前應(yīng)用最多的2D SLAM方法,利用激光點(diǎn)云數(shù)據(jù)結(jié)合機(jī)器人的位姿進(jìn)行定位建圖。建立精確柵格地圖的過程中會(huì)使用到RBPF(Rao-Blackwellised Particle Filter)粒子濾波算法[3],將定位和建圖過程分離,先定位再建圖。Hector-SLAM算法在建圖過程中會(huì)因移動(dòng)機(jī)器人的運(yùn)行速度過快或者環(huán)境中特征點(diǎn)較少等因素,出現(xiàn)定位不準(zhǔn)確,建圖過程中產(chǎn)生“打滑”現(xiàn)象[4]。而Gmapping與Hector SLAM的重要區(qū)別是Gmapping加入了里程計(jì)數(shù)據(jù),避免了“打滑”現(xiàn)象,并且對(duì)激光雷達(dá)頻率要求低。因此Gmapping算法比Hector SLAM算法穩(wěn)定、建圖效果好。

綜合考慮實(shí)際情況,本項(xiàng)目采用了Gmapping方法作為移動(dòng)機(jī)器人的定位建圖的策略。主要考慮兩個(gè)方面:①機(jī)器人安裝的是低成本激光傳感器,Gmapping算法對(duì)激光傳感器頻率要求低,并且機(jī)器裝有里程計(jì)傳感器可以輔助Gmapping算法定位建圖。②仿真和應(yīng)用場景面積相對(duì)較小,依據(jù)Gmapping建圖的基本原理,在構(gòu)建小場景地圖時(shí)所需計(jì)算量小并且精度高,因此使用Gmapping算法是比較適合的。

3 Gazebo下的模型搭建與仿真實(shí)現(xiàn)

3.1 仿真模型搭建

首先通過終端打開Gazebo軟件,在指令中執(zhí)行roslaunch命令打開Gazebo并非直接打開,這樣的區(qū)別在于用roslaunch命令打開后Gazebo的運(yùn)行就包含了一個(gè)通信節(jié)點(diǎn),而當(dāng)Gazebo的啟動(dòng)信息放置在launch文件中作為節(jié)點(diǎn)時(shí),可以把后續(xù)的運(yùn)行與之結(jié)合起來,避免其脫離整個(gè)工程而單獨(dú)存在,在后續(xù)的執(zhí)行過程中可以把多個(gè)節(jié)點(diǎn)置于同一個(gè)launch文件中,這樣就可以通過單一launch文件的運(yùn)行指令啟動(dòng)多個(gè)節(jié)點(diǎn),此方式極大地簡化了整個(gè)項(xiàng)目各個(gè)部分。結(jié)合Gazebo的強(qiáng)大仿真能力,我們根據(jù)項(xiàng)目實(shí)際情況,自建仿真環(huán)境,預(yù)設(shè)了仿真場景。

模型的創(chuàng)建有兩種方法:第一種是直接用代碼寫一個(gè)URDF的模型文件,以此來描述模型的特征。URDF文件是一種特殊的xml文件格式,是一種描述型文件,通常用于機(jī)器人模型的創(chuàng)建。通過URDF文件建立機(jī)器人模型要對(duì)各部分概念有一定的認(rèn)識(shí),首先是link和joint,link之間的連接通過joint實(shí)現(xiàn),其類似與機(jī)器人的關(guān)節(jié)的存在,而link的放置還需要設(shè)置位置信息和形狀信息,這樣看來link并非是質(zhì)點(diǎn)的存在,所以對(duì)于link的描述不僅需要3個(gè)維度的坐標(biāo)信息,還要有其各個(gè)維度的旋轉(zhuǎn)信息,也即繞x軸的偏轉(zhuǎn)(yaw)、繞y軸的俯仰(pitch)、繞z軸的滾動(dòng)(roll),同時(shí)此處的偏轉(zhuǎn)信息使用的是弧度進(jìn)行的描述。在link的放置中要避免產(chǎn)生重合,所以又引入了collision標(biāo)簽對(duì)其進(jìn)行約束。第二種是通過3D建圖軟件solideworks作出機(jī)器人模型的形狀,然后導(dǎo)出成URDF文件。綜合考慮后,選用代碼實(shí)現(xiàn)了機(jī)器人模型的創(chuàng)建。

3.2 仿真環(huán)境SLAM實(shí)現(xiàn)

前文中成功完成了Gazebo中場景模型的搭建,以下將在自建的環(huán)境中進(jìn)行SLAM算法的實(shí)現(xiàn),在程序的運(yùn)行中為了清楚地了解各個(gè)節(jié)點(diǎn)的話題訂閱以及發(fā)布情況,使用ROS系統(tǒng)指令rqt_graph可以查看各個(gè)節(jié)點(diǎn)之間的通信聯(lián)系。軟件會(huì)自動(dòng)生成節(jié)點(diǎn)間關(guān)系圖。

節(jié)點(diǎn)關(guān)系圖可以輔助解決調(diào)試過程中的問題,在圖中可以清楚地看到各個(gè)節(jié)點(diǎn)的運(yùn)行情況和各個(gè)節(jié)點(diǎn)之間的話題訂閱關(guān)系,在調(diào)試中出現(xiàn)問題可以快速定位是否有節(jié)點(diǎn)訂閱信息出錯(cuò)以及是否有節(jié)點(diǎn)缺失。

通過鍵盤控制指令讓turtlebot在場景中行進(jìn),在鍵盤控制時(shí)需要注意讓鍵盤控制指令運(yùn)行的所在終端始終浮于rviz的上方,否則無法激活鍵盤控制。確??刂茩C(jī)器人在預(yù)設(shè)場景中得到充分的運(yùn)動(dòng),否則建圖將不完整,影響建圖效果。最終形成仿真中機(jī)器人在場景充分運(yùn)動(dòng)后生成的2D平面地圖,成功完成了機(jī)器人在仿真環(huán)境中Gmapping方法的建圖與定位。

4 結(jié)語

本文對(duì)ROS以及SLAM技術(shù)作了簡單的闡述,深入介紹了Gmapping方法的基本特征、適應(yīng)場景;運(yùn)用Gazebo工具進(jìn)行了仿真實(shí)現(xiàn),介紹了仿真模型的搭建過程、仿真模型的URDF文件編寫、運(yùn)行turtlebot在自建的場景中完成了建圖與定位工作,即SLAM算法的仿真實(shí)現(xiàn)。對(duì)于不同功能的智能移動(dòng)機(jī)器人,自主導(dǎo)航都是其根本所在,在載體平臺(tái)依據(jù)需求加上不同的傳感器則可實(shí)現(xiàn)所需要求。在未來,移動(dòng)機(jī)器人的SLAM技術(shù)將進(jìn)一步優(yōu)化并將更加廣泛應(yīng)用到人們的日常生活中,更好地服務(wù)于人類社會(huì)。

猜你喜歡
建圖移動(dòng)機(jī)器人定位
移動(dòng)機(jī)器人自主動(dòng)態(tài)避障方法
視覺同步定位與建圖中特征點(diǎn)匹配算法優(yōu)化
《導(dǎo)航定位與授時(shí)》征稿簡則
Smartrail4.0定位和控制
基于三輪全向機(jī)器人的室內(nèi)建圖與導(dǎo)航
電子制作(2019年10期)2019-06-17 11:45:06
一種基于多傳感融合的室內(nèi)建圖和定位算法
找準(zhǔn)定位 砥礪前行
基于Twincat的移動(dòng)機(jī)器人制孔系統(tǒng)
機(jī)器人室內(nèi)語義建圖中的場所感知方法綜述
青年擇業(yè)要有準(zhǔn)確定位
高邑县| 象州县| 武功县| 阳朔县| 阳泉市| 神农架林区| 洛阳市| 陇川县| 大安市| 枝江市| 洪洞县| 怀仁县| 莒南县| 虞城县| 深圳市| 浏阳市| 渑池县| 新密市| 阜宁县| 武平县| 文安县| 乃东县| 洛宁县| 务川| 申扎县| 亳州市| 河东区| 南丹县| 墨脱县| 和林格尔县| 文山县| 徐汇区| 加查县| 黔西| 根河市| 庐江县| 凤台县| 巩义市| 博爱县| 永康市| 北辰区|