在slam_gmapping中使用Log資料建立地圖

來源:互聯網
上載者:User

標籤:cal   動態   資料   http   topic   sudo   2d地圖   local   情況   

本文介紹使用機器人記錄的tf變換和雷射掃描資料來建立2D地圖.並在ROS的圖形化類比環境rviz中通過重新回放記錄的資料作為機器人真實感應器採集的輸入,來觀測地圖動態建立過程.

1.ROS gmapping工具

ROS提供的gmapping包是用來產生地圖的,它是對著名的開源openslam包在ROS架構下的一個實現.這個包提供了對雷射裝置的slam,根據雷射裝置的輸入和姿態資料從而建立一個基於網格的2D地圖.它需要從ROS系統監聽許多Topic,並輸出一個Topic,即map(nav_msgs/OccupancyGrid),這也是Rviz的輸入Topic.

下載這個包的命令如下:sudo apt-get install ros-indigo-slam-gmapping

2.硬體要求

本文採用的是類比資料,不需要任何硬體需要.

gmapping需要使用實際的機器人擷取雷射或者深度資料.通常這些雷射距離探測器價格比較昂貴,ROS推薦使用的SCIP2.2, Hokuyo Model 04LX, 30LX ,SICK LMS2xx Lasers 價格都巨貴無比,而且尺寸都較大。ROS使用的廉價機器人TurtleBot使用的則是深度相機Kinnect來類比,其價格在接近千元.

3.資料包準備過程

1)資料包的準備

下載ROS提供的雷射資料擷取記錄檔案

wget http://pr.willowgarage.com/data/gmapping/basic_localization_stage.bag 

 

2)使用機器人建立自己的bag包

 

a)給機器人安裝雷射器,確保發行就緒變換資料,且可以遙控操作

 

b)啟動掃描和變換資料記錄

 

 

rosbag record -O mylaserdata /base_scan /tf

目前的目錄將建立一個名為mylaserdata_<DATE>-topic.bag的檔案

c)讓機器人動起來

d)kill掉rosbag使用者可以看到記錄檔案已經建立

4.操作過程

1)啟動節點管理器master

roscore

2)配置ROS啟用重放資料中的時間而非本機時間,影響整個系統所有時間API的輸出結果.在預設情況下,ROS使用ubuntu系統的時間,也就是牆上時鐘時間(wall clock).但我們重播一個記錄曆史檔案時,裡面記錄的是曆史時間,所以我們需要告訴ROS從現在起開始啟用類比時間.

rosparam set use_sim_time true

3)運行slam_gmapping節點,它將在base_scan主題上監聽雷射掃描資料並建立地圖,base_scan是模擬器rosbag發布的.

Note:在PR2上裡程座標系名字為odom_combined

命令為:rosrun gmapping slam_gmapping scan:=base_scan _odom_frame:=odom_combined

4)重新開啟一個終端,使用模擬器rosbag啟動bag包回放,將資料提供給slam_gmapping節點.

rosbag play --clock basic_localization_stage.bag

5)啟動rviz,在左下方選擇add,然後選擇map,建立一副空地圖;接著指定rviz的topic為/map可以監聽到地圖資料

rosrun rviz rviz

 

6)使用map_server功能包的map_saver儲存新地圖到磁碟(等rosbag結束後)

rosrun map_server map_saver -f my_map

此時可以看到本地地圖map.gpm已經產生,可以用映像瀏覽器(gimp, eog, gthumb, 等等)開啟查看。例如eog my_map1.pgm

注意:最後別忘了重新設定use_sim_time參數,即使用命令:rosparam set use_sim_time false

5.下面來看一下顯示的節點圖

1.

2.

3.

 

4.

 

5.

6.

查看它的服務和話題

 

在slam_gmapping中使用Log資料建立地圖

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.