九、SLAM学习笔记—— Cartographer建图(虚拟机仿真包)

一、cartographer 回放采集数据包

        在研究cartographer算法的时候,经常需要调试算法或者复现bug,此时利用playbag(播放包)会更加的方便。playbag里面主要包含水平激光信息(horizontal laser 2d)和惯性传感器(IMU)的信息。

九、SLAM学习笔记—— Cartographer建图(虚拟机仿真包)_第1张图片

1、第一步需要启动ros核心服务,如果已经启动了roscore则不再需要启动

roscore

2、打开rviz可视化图形界面

        有时候,我们需要在cartographer算法中用std:cout输出调试信息,此时需要在roslaunch后面加上--screen。

cd slam_ws
# 不打印输出信息
roslaunch cartographer_ros demo_revo_lds.launch
# 控制台打印信息,用于支持std::cout等调试输出
roslaunch --screen cartographer_ros demo_revo_lds.launch 

3、cartograher的编译

        在我们改动了cartographer算法之后,需要调用编译命令编译cartographer算法。首先先进入到cartographer的目录中。例如我这里采用的命名是slam_ws。如果我们没有改动cartographer的算法,则我们不用编译这一步骤。

九、SLAM学习笔记—— Cartographer建图(虚拟机仿真包)_第2张图片

# 进入到cartographer的工作空间
cd slam_ws
# 调用ninja编译cartographer
catkin_make_isolated --install --use-ninja

4、调用rosbag play命令播放指定的包 

# rosbag play YOUR_BAG_PATH
rosbag play ${HOME}/Downloads/2021-12-26-21-35-08.bag

二、ROS清理垃圾

        调试cartographer久了之后,我发现我的linux虚拟机的空间越来越小,甚至一度只剩下几十MB,后来发现由于运行很多次cartographer之后产生了许多的log,用以下命令清除无用log可以释放磁盘的空间。

rosclean check //检查有多少垃圾
rosclean purge // 清除垃圾
rosclean check //再次检查有多少垃圾

你可能感兴趣的:(个人,SLAM,自动驾驶,slam)