一.环境以及设备(如标题)
ros1 noetic
二.安装算法
安装过程来源于官方,并且我在编译过程中没有遇见报错,如下:
https://github.com/hku-mars/r3live
三.运行官方的数据集
数据集的百度网盘地址:百度网盘 请输入提取码,提取码:wwxw
两个终端分别运行:
roslaunch r3live r3live_bag.launch
rosbag play YOUR.bag
运行效果如下:
四.运行自己的数据集
1.准备工作:
我使用的设备是livox_horizon以及oak-d-pro。首先要注意的一点是时间戳同步的问题,使用livox官方的livox_ros_driver会有rbg和点云,imu时间戳不同步的问题,因为官方的时间戳从雷达开始开同步,而相机一般是和系统时间同步,所以需要下载此算法作者修改后的livox_ros_driver,会忽略掉不同步的部分
GitHub - ziv-lin/livox_ros_driver_for_R2LIVE
在下列路径修改相机的usb接口,我的接口如下,这样才能开启同步功能。
2.录制数据集
需要以下三个话题
rosbag record -O xxx.bag /livox/lidar /livox/imu /stereo_inertial_publisher/color/image
3.运行算法,播放数据集
首先要修改launch文件,我修改后如图
分别开两个终端
rosbag play xxx.bag
roslaunch r3live r3live_bag.launch
效果如下(从效果来说,光照会影响上色效果,尽量在光照充足的情况下进行测试):
4.运行3d重建
算法作者还提供了3维重建的工具,只需要保存地图后,运行。
roslaunch r3live r3live_reconstruct_mesh.launch
然后在r3live_output目录下运行,就能够看到重建后的地图了,需要注意的是,保存地图会覆盖你上一次保存的,如果要留存的话请把你要的东西移动到另一个文件夹。
meshlab textured_mesh.ply
五.总结
其实跑这个算法最麻烦的是标定,你的相机要和雷达有固定的相对位置,因为我没有专业标定工具,所以只用棋盘格标定了一下相机内参,并且标定过程并不太专业,所以请参考站内标定教程。标定后来看和官方的差不了太多。所以如果实在没有条件标定,直接用官方的也能凑合。