RViz 实时观测机器人建立导航2D封闭空间地图过程 (SLAM)

      ROS提供了非常强大的图形化模拟环境RViz-3D可视化工具,这个RViz能做的事情非常多。今天我们学习一下如何使用RViz对机器人在路径探索过程中对地图动态观测。我们将学习重放已经采集的数据来模拟机器人输入,从而将精力放到SLAM和地图的建立以及RViz的使用上。

 ROS slam-gmaping 工具

      ROS 提供的gmaping包是用来生成地图的,它是对著名的开源OpenSlam包在ROS框架下的一个实现。这个包提供了对激光设备的slam, 根据激光设备的输入和姿态数据从而建立一个基于网格的的2D地图。它需要从ROS系统监听许多Topic,并输出一个Topic --map(nav_msgs/OccupancyGrid),这也是RViz的输入Topic.这个包需要单独下载 .我的环境是:ubuntu16.04 ROS kinetic版本

命令  :sudo apt-get install ros-kinetic-slam-gmapping

实现步骤:

启动ROS  master

~       roscore

RViz 实时观测机器人建立导航2D封闭空间地图过程 (SLAM)_第1张图片

下载ROS提供的激光数据采集记录文件  (这里我下载的数据放在 home目录下面  直接可以找到)

http://blog.csdn.net/guolonga/article/details/79489538

启动gmapping, 并监听 scan_base topic发来的消息。该topic是由模拟器发布的

~        rosrun gmapping slam_gmapping scan:=base_scan 

RViz 实时观测机器人建立导航2D封闭空间地图过程 (SLAM)_第2张图片

启动模拟器重放激光数据 

rosbag play --clock basic_localization_stage.bag

RViz 实时观测机器人建立导航2D封闭空间地图过程 (SLAM)_第3张图片

启动RViz,点击 add 按钮(左下方) ,在弹出的列表中选择 map,点击OK,这时开始展现一个空的地图

RViz 实时观测机器人建立导航2D封闭空间地图过程 (SLAM)_第4张图片
RViz 实时观测机器人建立导航2D封闭空间地图过程 (SLAM)_第5张图片

    最关键的一步,要告诉RViz  生成map信息的topic是什么。我们前面讲到过,gmapping输出的topic是 /map.  如下图配置,立即就可以看到地图的动态建立了

RViz 实时观测机器人建立导航2D封闭空间地图过程 (SLAM)_第6张图片

你可能感兴趣的:(RViz 实时观测机器人建立导航2D封闭空间地图过程 (SLAM))