Gazebo環境下使用turtlebot建立環境octomap地圖

octomap是一種空間概率地圖,可以使用方格來表示周圍的環境,就像“我的世界”遊戲裏表示的那樣,優點是地圖計算速度快,內存佔用少,可以調整地圖的分辨率等等,與平面二維地圖相比,octomap所記錄的環境信息是三維的,是實現vSlam的一種方式,這裏展示一個小小的示例例程:在gazebo仿真環境下,使用turtlebot仿真機器人,通過機器人身上的kinect傳感器採集點雲數據,建立octomap地圖,最終在rviz環境下觀察地圖的效果。
這裏寫圖片描述
操作系統:ubuntu16.04
ROS版本:kinetic
Gazebo版本:7.14

需要安裝的軟件
1、gazebo7.x
2、turtlebot在ros下的仿真功能包

sudo apt-get install ros-kinetic-turtlebot-simulator

3、octomap在ros下的功能包

sudo apt-get install ros-kinetic-octomap*

啓動步驟

1、啓動turtlebot在gazebo下的仿真程序

roslaunch turtlebot_gazebo turtlebot_world.launch

2、啓動octomap_server的launch文件

roslaunch ~/catkin_oct/src/launch/display.launch   //這個路徑自己制定,只要能找到display.launch文件

該launch文件的內容如下

<launch>
  <node pkg="octomap_server" type="octomap_server_node" name="octomap_server">

    <!-- resolution in meters per pixel -->
    <param name="resolution" value="0.1" />

    <!-- name of the fixed frame, needs to be "/map" for SLAM -->
    <param name="frame_id" type="string" value="odom" />

    <!-- max range / depth resolution of the kinect in meter -->
    <param name="sensor_model/max_range" value="10.0" />
    <param name="latch" value="false" />

    <!-- max/min height for occupancy map, should be in meters -->
    <param name="pointcloud_max_z" value="500" />
    <param name="pointcloud_min_z" value="0" />

    <!-- topic from where pointcloud2 messages are subscribed -->
    <remap from="cloud_in" to="/camera/depth/points" />

  </node>
</launch>

紅色部分需要特別注意,octomap之所以能夠建立octomap地圖是通過點雲數據,而此處的點雲數據是有turtlebot仿真中的kinect提供的/camera/depth/points點雲。

爲了能夠得到正確的地圖,固定座標系要設置爲map、odom這類全局座標系,而這個座標系也是與turtlebot仿真程序裏對應的。

3、啓動turtlebot的鍵盤遙控節點

roslaunch turtlebot_telop keyboard_teleop.launch

此時你可以使用鍵盤控制gazebo環境下的turtlebot四處轉一轉。

4、啓動rviz並顯示機器人模型和occupancygrid視圖

rosrun rviz rviz

此時rviz下應該是一個默認的啓動畫面,還看不到你建立的地圖。
調整Displays面板的幾個選項即可:
1、Fixed frame 選擇 odom;
2、點擊Add按鈕,添加OccupancyGrid視圖,這個選項之所以存在是因爲之前安裝了octomap的相關組件,其中包括一個octomap在rviz下的插件。視圖出現後在話題一欄選擇octomap_binary話題即可。

這裏寫圖片描述
配置好rviz的視圖後,應該就能看的建立的octomap地圖了,對比一下gazebo下的仿真環境,建立的地圖與仿真環境下的模型世界是吻合的。

這裏寫圖片描述
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章