说明
本文主要用来记录复现3D激光slam过程的一些问题。计划包含lego-loam、loam、fastlio2,以及相应改进算法,后续逐步加入。
ubuntu版本为20.04,ros为noetic版本。
lego-loam复现(nsh_indoor_outdoor.bag数据集)
报错1、rviz不显示点云
一般会提示报错,找不到/camera_init的tf变换。
解决方法:修改源码中 header.frame_id = "/camera_init"为header.frame_id = “camera_init”,然后重新编译。
启动程序与保存地图
1、source devel/seutp.bash
2、rosrun lego_loam run.launch
3、rosbag play nsh_indoor_outdoor.bag --clock -r 0.3 (-r参数可选,为倍速播放)
4、在bag快播放完时,rosbag record /laser_cloud_surround, 记录这个话题的数据。播放bag结束后,生成bag名称.bag。
5、rosrun pcl_ros bag_to_pcd bag名称.bag /laser_cloud_surround lego.pcd,生成pcd文件。
可使用pcl_viewer xxxxx.pcd查看点云,或其他方式查看点云。效果如下
fastlio复现
数据集说明
nsh_indoor_outdoor.bag
内部没有imu数据,为16线激光雷达,坐标系是/velodyne,点云数据话题是/velodyne_points。