码迷,mamicode.com
首页 > 其他好文 > 详细

(ros/navigation)how to build a map using logged data 怎样用记录的数据创建地图

时间:2015-07-13 16:20:33      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:ros   导航   

how to build a map using logged data 怎样用记录的数据创建地图

描述:怎样用记录的转换和激光扫描数据创建二维地图。

创建地图

 1.  如果作为源校验(相对于二进制安装),构建gmapping:

  rosmake gmapping

 2. 获取一个包。有两个选择:

         1 用机器人创建一个包

         2 下载一个现有的包做测试

     任何一种方式,都会得到一个包。

  3. 启动核心

  roscore 



  4. 在其他节点启动前,确保use_sim_time设置为true

<pre name="code" class="javascript">     rosparam set use_sim_time true


   5. 启动slam_gmapping,它将会接收激光扫描(在这个例子中,在base_scan话题上),并且创建地图:

    rosrun gmapping slam_gmapping scan:=base_scan 

注意:在PR2上,odom坐标系称为odom_combined。使用这个命令:

 rosrun gmapping slam_gmapping scan:=base_scan _odom_frame:=odom_combined 

  6. 在一个新终端,开始回放bag文件,莱维slam_gmapping提供数据:

      rosbag play --clock <name of the bag that you downloaded / created in step 2> 

 等待rosbag完成并退出。

  7. 使用map_server包的map_saver保存新地图到磁盘:

   rosrun map_server map_saver 

现在就有了一个地图,本地保存为map.pgm。可以用任何图像浏览器(gimp,eog,gthumb等)查看;

 

下载一个测试包

使用wget命令来下载测试包,

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

自己创建包

    1   启动机器人,发布激光扫描和转换数据,摇杆操纵启用(不同机器人的细节不同);

     2  开始记录扫描和转换(注意scan话题可能因为机器人不同而不同):

 rosbag record -O mylaserdata /base_scan /tf 

      将会在当前目录开始写文件,文件名字为’mylaserdata_<DATE>-topic.bag’

    3  驱动机器人转一圈。常用的建议:

                    ?    尝试限制快速旋转,因为他们在扫描匹配上最难。降低操纵杆的最大允许速度比较有用。

                    ?     用激光雷达可视化机器”看到”的;如果激光不能看到,则地图上就不会有。

                    ?    人类走动通常不会出现问题,除非他随着机器人走,在激光的视野内。

                    ?      回路闭合是最难的部分。关闭回路时,确保多行驶5-10米,来获得回路始端和终端之间的大量重叠。

    4 杀掉rosbag实例,并且注意创建的文件的名字。

变化:查看创建地图的进展

如果看到结果前,不介意等待直到记录数据回放和创建地图过程完成,可以再rviz中查看进展:

 rosrun rviz rviz 

添加地图显示,设置话题 /map

 

 

 技术分享

Author: wsh 
Email: tongzhuodenilove@163.com

 

(ros/navigation)how to build a map using logged data 怎样用记录的数据创建地图

标签:ros   导航   

原文地址:http://blog.csdn.net/w383117613/article/details/46861655

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!