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
根据不同录制地点做命名,要不再次录制就会覆盖之前录制的版本
移动小车完成建图过程。
演示视频
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号