< >
Home » autodrive入门教程 » autodrive入门教程-激光建图-实现Cartographer 2D实时建图

autodrive入门教程-激光建图-实现Cartographer 2D实时建图

autodrive多线入门教程-激光建图-实现Cartographer 2D实时建图

说明:

  • 介绍利用多线雷达通过cartographer算法实现建图。
  • 机型:autodrive + 多线雷达

步骤:

  • [autodrive]新终端,启动autodrive:
$ roslaunch racebot minimal.launch
  • [autodrive]新终端,启动激光建图
$ roslaunch racebot_slam laser_cartographer_demo.launch
  • [autodrive/pc]新终端,启动RVIZ
$ roslaunch racebot_rviz  nav.launch
  • [autodrive/pc]或者启动
$ roslaunch racebot_rviz  nav_cartographer.launch
  • [autodrive/pc]新终端,启动键盘
$ roslaunch racebot   joy.launch
  • 移动建图,移动autodrive走圈完成建图,也可以远程控制
  • 图示:

请输入图片描述

保存地图方法1:

  • [autodrive]新终端,完成建图后保存地图,实际路径是:/home/user/map/
$ rosrun racebot_map saver laser_cartographer_2d
$ ls ~/map   
  • 查看内容,包含laser_cartographer_2d.pgm laser_cartographer_2d.yaml
  • 此方法保存的地图会出现没有边。

保存地图方法2:

  • [autodrive]新终端,完成建图后保存pbstream
rosservice call /write_state ~/map/carto_map.pbstream 1
  • [autodrive]转换成ROS地图
rosrun cartographer_ros cartographer_pbstream_to_ros_map -map_filestem=/home/ubuntu/map/carto_ros_map -pbstream_filename=/home/ubuntu/map/carto_map.pbstream -resolution=0.05
  • 在目录/home/ubuntu/map/下即会出现
carto_ros_map.pgm
carto_ros_map.yaml

采集数据

  • 有时候实时建图效果并不一定理想,可以采用同时记录数据包,采用离线建图
roscd racebot_slam/rosbag/
./rosbag_record_cartographer.sh
  • 记录的数据包保存在~/rosbag/目录下,命名为laser_cartographer_2d.bag

  • 每录制一次可以重名为其他名称,指定为固定地点和时间,比如为

mv laser_cartographer_2d.bag laser_cartographer_2d_office_20191229.bag
  • 根据不同录制地点做命名,要不再次录制就会覆盖之前录制的版本

  • 移动小车完成建图过程。

演示视频

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: autodrive入门教程