论文: Zhu Y, Zheng C, Yuan C, et al. Camvox: A low-cost and accurate lidar-assisted visual slam system[J]. arXiv preprint arXiv:2011.11357, 2020.(ICRA 2020)
github: https://github.com/ISEE-Technology/CamVox。
提出一种CamVox SLAM算法,将Livox 固态激光雷达融合进ORB-SLAM2中,实现了大尺度大场景下的鲁邦"RGB-D"SLAM。主要内容包括:
现有的纯视觉双目系统和RGBD相机系统(ORBSLAM2等)在室外大尺度环境下深度估计严重不足。常规的RGBD相机对光照比较敏感,且探测距离有限,一般有效距离小于10米。视觉惯性系统(ORBSLAM3, VINS等)可以解决尺度的问题,但是需要对imu进行严格标定和bias补偿,一般消费级imu精度不够,高精度imu价格又过于昂贵。
激光雷达天然的可以提供三维空间的尺度测量。典型的LOAM系统可以达到相比视觉更高的定位和建图精度,但是在缺少显著结构特征的环境(比如长通道和高速路)中容易运行失败。 LeGO-LOAM进一步改进,基于分割和聚类实现了更高效的特征提取,而且增加了回环检测消除长期漂移。
将相机和激光雷达进行融合,既可以得到大尺度高精度的深度信息,又可以得到丰富的颜色信息。V-LOAM将单目相机和激光雷达进行松耦合,据称可以实现足够高的精度,甚至回环都没有必要。
激光雷达在实际使用中价格略贵,Livox新出的棱镜扫描式固态激光雷达,可以实现性能优异,价格低廉的特性。这种新的扫描方式运行进行非重复式扫描,在时间累积的基础上可以实现更高密度的点云信息。100ms的累积,Livox Horizon可以达到类64线传统激光雷达的精度,且可持续增长。这个优势可以有效解决传统激光雷达在两条线之间缺乏足够特征导致的雷达相机联合标定困难的问题。棱镜设计也具有更大的光学孔径,可以实现更远距离的探测。比如Horizon型号可以在强烈阳光下探测260米远。下图为Livox激光雷达的扫描累积图:
硬件:
软件:
Pipeline:
对于CamVox这种支持远距离深度探测的系统,外参数标定非常重要。因为一个较小的角度失准,则会导致较大的深度对齐误差。离线状态下使用棋盘格进行标定的结果不总是有效的,当存在传感器固定失败或者发生剧烈碰撞时便会导致较大的误差。
由于固态激光雷达的非重复扫描特性,可以使得在任何场景下进行自动的雷达-相机外参数标定。自动标定的触发条件设为:检测到机器人处于静止状态持续几秒后(为了消除运动模糊),在此期间进行雷达数据累积。
下图8.a为未标定时,外参失准角大概是2度,cost function是7.95。自动标定触发后是8.b,cost function是6.11。8.c是最好的标定结果,cf为5.88。同时,在其他几个不同的在线场景(8.d-8.f),自动标定结果也都较为有效可靠。
对启动CamVox之后的前100帧数据进行分析,匹配点数量与特征探测距离的曲线图见下。探测距离越远,则匹配的点对越多。但是超过一定范围之后,对应的关系就会变化缓慢,文中推荐距离阈值为130米。
CamVox非常接近GT,且性能明显优于Livox_horizon_loam和VINS-Mono。
在4核Inter Core i7-8550U中的运行时间见下,CamVox可以实时运行。外参自动标定花费58秒。
作者提出一种低成本雷达辅助的视觉SLAM框架,目标是综合最好的相机角分辨能力和最好的雷达深度探测能力。