ROS系列之初识gmapping(转载)

ROS系列之初识gmapping(转载)

本文出处:http://www.cnblogs.com/wenhust/p/5960973.html

简介

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 中可以看到地图的动态建立了。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值