分類:
ROS提供了非常強(qiáng)大的圖形化模擬環(huán)境 RViz,這個 RViz 能做的事情非常多。今天我們學(xué)習(xí)一下如何使用 RViz 對機(jī)器人在路徑探索過程中對地圖動態(tài)觀測。我們將學(xué)習(xí)重放已經(jīng)采集的數(shù)據(jù)來模擬機(jī)器人輸入,從而將精力放到SLAM和地圖的建立以及RViz的使用上。下面是效果圖:
一 基本概念ROS 對機(jī)器人導(dǎo)航提供了非常強(qiáng)大的支持,這可以讓我們在不了解細(xì)節(jié)和海量復(fù)雜無比的科學(xué)計算的情況下就可以對機(jī)器人的導(dǎo)航,定位,路徑規(guī)劃。這其中第一步就是要建立一個封閉環(huán)境的地圖,這個過程叫做SLAM (simultaneous localization and mapping),也稱為CML (Concurrent Mapping and Localization), 即時定位與地圖構(gòu)建,或并發(fā)建圖與定位。 SLAM最早由Smith、Self和Cheeseman于1988年提出。 由于其重要的理論與應(yīng)用價值,被很多學(xué)者認(rèn)為是實現(xiàn)真正全自主移動機(jī)器人的關(guān)鍵。
二 ROS gmaping 工具ROS 提供的gmaping包是用來生成地圖的,它是對著名的開源OpenSlam包在ROS框架下的一個實現(xiàn)。這個包提供了對激光設(shè)備的Slam, 根據(jù)激光設(shè)備的輸入和姿態(tài)數(shù)據(jù)從而建立一個基于網(wǎng)格的的2D地圖(就像建立樓房設(shè)計的 平面圖)。它需要從ROS系統(tǒng)監(jiān)聽許多Topic,并輸出一個Topic --map (nav_msgs/OccupancyGrid),這也是RViz的輸入Topic.
這個包需要單獨下載 ,命令 : sudo apt-get install ros-indigo-slam-gmapping 三 硬件要求本文提供的是模擬數(shù)據(jù),所以沒有任何硬件需要。 gmaping 需要使用實際的機(jī)器人獲取激光或者深度數(shù)據(jù)。通常這些激光距離探測器價格比較昂貴,ROS推薦使用的 SCIP2.2, Hokuyo Model 04LX, 30LX ,SICK LMS2xx Lasers 價格都巨貴無比,而且尺寸都較大。ROS使用的廉價機(jī)器人TurtleBot使用的則是Kinnect價格在接近1000元,但這個不是我們今天的話題內(nèi)容。
四 操作過程
|
|