本研究由美国Stevens Institute of Technology的Yewei Huang和Brendan Englot(通讯作者)、SRI International的Tixiao Shan以及Exyn Technologies的Fanfei Chen共同完成,发表于2022年4月的IEEE Robotics and Automation Letters第7卷第2期。研究获得了美国国家科学基金会(NSF IIS-1652064、IIS-1723996)和海军研究办公室(ONR N00014-21-1-2161)的资助。
在机器人导航领域,同步定位与建图(Simultaneous Localization and Mapping,SLAM)是核心关键技术。虽然单机器人SLAM已有诸多成熟方案,但多机器人SLAM系统(multi-robot SLAM)在面对搜救、基础设施检测等高时效性任务时仍存在挑战。传统3D激光雷达(Lidar)SLAM系统通常需要中央服务器或无法实现实时在线运行,且现有分布式方法如分布式高斯-赛德尔(Distributed Gauss-Seidel,DGS)在初始条件未知时稳定性不足。
本研究提出名为Disco-SLAM的创新框架,首次将轻量级扫描上下文(scan context)描述符应用于多机器人激光SLAM,通过两级全局-局部图优化解决分布式系统中机器人间闭环检测(loop closure)初始条件未知的问题,实现了数据高效通信与稳定定位。
系统包含三个核心线程: - 局部SLAM线程:采用LIO-SAM(紧耦合激光-惯性里程计)或LEGO-LOAM(纯激光方案)作为基础框架 - 特征提取线程:使用扫描上下文描述符将3D激光点云投影为2D平面图像(参数:60扇区×16环) - 通信线程:通过环形关键帧缓冲区(last in, first out buffer)实现机器人间数据交换
采用两阶段验证机制: 1. 惰性初始化:至少检测到5个闭环候选才启动验证 2. 几何一致性检查:要求任意两个机器人间约束满足∥(zβlβj·zβjαi·zαiαk)·zβlαk^(-1)∥₂² < 5
全局优化阶段: - 建立机器人局部坐标系到全局坐标系的变换图 - 目标函数:minΣeβα^Tωβαeβα,其中eβα = tβα - t̂βα(tgβ,tgα) - 使用Levenberg-Marquardt法求解
局部优化阶段: 1. 坐标转换:αxβj = ̂tgα^(-1)·̂tgβ·xβj 2. 半径搜索:在局部坐标系内寻找最近间隔位姿(timestamp>阈值) 3. 虚拟观测生成:αzβjk = (αxβj)^(-1)·αxk 4. 位姿图优化:结合里程计、机器人内/间约束进行联合优化
使用四个定制数据集: 1. KITTI 08数据集:含IMU的合成双机器人数据(16线降采样) 2. KITTI 00数据集:纯激光的三机器人数据 3. Stevens数据集:Jackal UGV采集的校园环境数据 4. Park数据集:新型三机器人数据集(含RTK-GPS真值)
测试平台配置: - 硬件:Intel i9-9900K CPU,62.7GB内存 - 软件:ROS Ubuntu 18.04 - 对比 baseline:采用PCM的DGS方法
在Park数据集上的测试表明: - 仅全局优化:平均RMSE 4.87m(GPS基准) - 全局+局部(仅机器人内约束):RMSE降至2.15m - 完整框架(含机器人间约束):RMSE进一步降至1.62m
关键轨迹连接点误差对比: | 数据集 | 平移误差(m) | 旋转误差(°) | |————–|————|————| | KITTI 08 | 1.24 | 2.8 | | Stevens | 2.31 | 5.6 | | Park | 0.98 | 1.9 |
40次重复实验显示: - Disco-SLAM平均RMSE:1.62±0.21m - DGS方法平均RMSE:2.85±1.17m - 在KITTI 00数据集中,DGS因低帧率(~1Hz)导致旋转估计陷入局部最优,z轴误差达3.4m
VLP-16激光雷达的关键数据量: | 消息类型 | 平均大小 | 总量(每万帧) | |——————|———|————–| | 扫描上下文描述符 | 8.2KB | 82MB | | 特征点云 | 196KB | 1.96GB | | 坐标变换 | 1.4KB | 14MB |
各步骤耗时(均值): - 特征描述:12.4ms - 特征匹配:18.7ms - 点云匹配:56.3ms - 全局优化:42.1ms - 局部优化:37.8ms