歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> ROS系列之初識gmapping,ros初識gmapping

ROS系列之初識gmapping,ros初識gmapping

日期:2017/3/3 18:10:16   编辑:學習Linux

ROS系列之初識gmapping,ros初識gmapping

ROS系列之初識gmapping,ros初識gmapping


簡介

ROS 提供的 gmaping 包是用來生成地圖的,它是對著名的開源 OpenSlam 包在 ROS 框架下的一個實現。這個包提供了對激光設備的 Slam,根據激光設備的輸入和姿態數據從而建立一個基於網格的的2D地圖。它需要從 ROS 系統監聽許多 Topic,並輸出一個 Topic——map(nav_msgs/OccupancyGrid),這也是 RViz 的輸入 Topic。

操作流程

下載gmaping及示例數據

sudo apt-get install ros-indigo-slam-gmapping
wget http://pr.willowgarage.com/data/gmapping/basic_localization_stage.bag

啟動ROS master

這是所有 ROS 操作的第一步,就像開機一樣。
roscore
啟動後將終端掛起,另開終端進行其他程序。

設置ROS系統時間

配置 ROS 啟用重放數據中的時間而非本機時間,影響整個系統所有時間 API 的輸出結果。在默認情況下,ROS 使用 ubuntu 系統的時間,也就是牆上時鐘時間(wall clock)。但我們重播一個記錄歷史文件時,裡面記錄的是歷史時間,所以我們需要告訴ROS從現在起開始啟用模擬時間。
rosparam set use_sim_time true

啟動gmapping

啟動 gmapping, 並監聽 scan_base topic 發來的消息。該 topic 是由模擬器發布的。
rosrun gmapping slam_gmapping scan:=base_scan
啟動後將終端掛起,另開終端進行其他程序。

啟動RViz

啟動 RViz,點擊 add 按鈕(左下方),在彈出的列表中選擇 map,點擊 OK,這時開始展現一個空的地圖。
rosrun rviz rviz
最關鍵的一步,要告訴 RViz 生成 map 信息的 topic 是什麼,我們前面講到過,gmapping 輸出的 topic 是 /map ,因此將其 topic 配置成 /map。
啟動後將終端掛起,另開終端進行其他程序。

啟動模擬器重放數據

rosbag play --clock basic_localization_stage.bag
立即可以在 RViz 中可以看到地圖的動態建立了。

http://xxxxxx/Linuxjc/1165304.html TechArticle

Copyright © Linux教程網 All Rights Reserved