- 新建一个文件map_save.sh在cartographer_ros文件下
touch map_save.sh
- 将下面的脚本写入文件
#!/bin/bash
rosservice call /finish_trajectory 0
sleep 5
rosservice call /write_state "{filename: '${HOME}/catkin_workspace/src/cartographer_ros/maps/$1.pbstream'}"
rosrun cartographer_ros cartographer_pbstream_to_ros_map -map_filestem=${HOME}/catkin_workspace/src/cartographer_ros/maps/$1 -pbstream_filename=${HOME}/catkin_workspace/src/cartographer_ros/maps/$1.pbstream -resolution=0.05
echo "succeed save map!"
3.每次建完图需要保存就运行即可(注意脚本后面需要加上你的地图名称)
./map_save.sh 你的文件名称