一、找到LIO-SAM配置文件,路径为config/params.yaml,修改以下两项参数:
savePCD: true # https://github.com/TixiaoShan/LIO-SAM/issues/3savePCDDirectory: "/home/slam/catkin_ws/src/maps" # in your home folder, starts and ends with "/". Warning: the code deletes "LOAM" folder then recreates it. See "mapOptimization" for implementation
二、 修改_TIMEOUT_SIGINT参数
保存地图需要一段时间,如果_TIMEOUT_SIGINT太小,很可能造成地图还未保存,节点就已经关
闭了,所以需要适当调高_TIMEOUT_SIGINT值)
sudo vim /opt/ros/melodic/lib/python2.7/dist-packages/roslaunch/nodeprocess.py
打开文件后找到 _TIMEOUT_SIGINT参数修改保存。
三、运行LIO-SAM和outdoor数据集
1、打开终端1运行roscore
2、打开终端2编译文件
cd catkin_wscatkin_makesource devel/setup.bashecho $ROS_PACKAGE_PATH
3、 打开终端3运行launch文件
cd ~/catkin_wssource devel/setup.bashroslaunch lio_sam run.launch
4、 打开终端4运行数据集
cd srccd datasource ~/catkin_ws/devel/setup.bashrosbag play kitti_2011_09_30_drive_0016_synced.bag
四、保存地图
打开终端5先配置环境变量
source devel/setup.bash
执行保存地图服务的命令
rosservice call /lio_sam/save_map 0.2 "/home/slam/catkin_ws/src/maps"
需要注意的是,需要在工作空间下执行此命令
在终端3出现lio-sam的节点日志输出
使用ls命令检查,出现下列命令显示已经成功保存。
CornerMap.pcd GlobalMap.pcd SurfMap.pcd trajectory.pcd transformations.pcd