Swarm-SLAM
Lajoie 2024 · 论文
一句话总结 —— Swarm-SLAM是一个开源、传感器无关、去中心化的协作SLAM框架,其设计紧密围绕群体机器人学真正需要的特性——可扩展性、灵活性、去中心化与稀疏性——并提出了一种新颖的谱回环优先级排序方法,在固定预算下将资源花在最具信息量的跨机器人匹配上。
问题
协作SLAM是在没有外部定位系统的环境中(室内、地下或水下)进行多机器人作业的关键组成部分。但随着团队规模扩大,简单粗暴的协作SLAM设计会撞上通信瓶颈:在带宽受限的临时组网链路上,对每一对机器人之间的每一个候选回环都进行描述子交换和几何验证是不可持续的。Swarm-SLAM探讨的问题是:如何在一个去中心化系统中,在存储、传输和验证的每个环节都保持稀疏,同时仍能找到对准确的全局估计最重要的跨机器人回环。
方法与架构
前端(全局匹配)。 每个机器人接收任意的外部里程计输入以及同步的传感器数据(激光雷达、立体相机、RGB-D、IMU)。对每个关键帧,它提取一个紧凑的全局描述子——对激光雷达扫描使用ScanContext,对图像使用基于CNN的CosPlace——并只广播每个邻居尚不知道的描述子(邻居管理器负责记录管理)。基于余弦相似度的最近邻搜索产生候选的跨机器人回环。
预算约束下的谱优先级排序(核心创新)。 多机器人位姿图为,其中被拆分为已验证的固定边和未验证的候选边。由于代数连通度(旋转加权图拉普拉斯矩阵的第二小特征值)控制着SLAM最大似然估计最坏情况误差的大小,候选项的选取以最大化为目标。拉普拉斯矩阵的元素为
其中固定/局部边的权重,候选边的权重(全局匹配相似度分数)——因此不需要额外通信噪声信息。将增广拉普拉斯矩阵写为
每个周期都要选出大小为(用户设定的验证/通信预算)的子集,求解
这是NP难问题,因此整数约束被放松、廉价求解并舍入,并以贪心(相似度最高优先)解作为热启动。
局部匹配与通信。 被选中的候选项经过几何验证;应传输哪些关键帧的局部特征被转化为一个最小顶点覆盖问题,从而确保共享的顶点只被发送一次。一个临时的中介节点(通信范围内ID最小的机器人)负责协调匹配与传输请求。
后端(去中心化,而非分布式)。 每次相遇时,通过协商选出一个机器人来收集其邻居的位姿图,并在鲁棒截断最小二乘损失下使用渐进非凸性(GNC)求解器运行位姿图优化,随后将更新后的估计结果返回。一种锚点选择方案(固定参考坐标系ID最小的机器人的首个位姿)使得机器人子集能够在没有任何中心权威的情况下,经过零星的相遇逐渐收敛到同一个全局坐标系。
实验结果
- 数据集: 来自五个数据集的七个序列,混合了多种传感器:KITTI 00立体序列拆分为2个机器人,约10公里的KITTI-360 09激光雷达序列拆分为5个机器人,GrAco(3个激光雷达序列),M2DGR Gate(3个激光雷达序列),以及S3E(3个序列,激光雷达-IMU里程计,配合立体相机进行跨机器人回环检测)。
- 优先级排序: 在每周期预算的情况下,谱优先级排序如预期那样最大化了代数连通度,并比贪心相似度排序更快地降低ATE——在只计算了一小部分候选回环之后,就能达到合理的精度。
- 后端对比: 在相同前端下与DGS+PCM以及分布式GNC(D-GNC/RBCD)相比,基于GNC的去中心化后端始终获得最佳ATE以及最低的通信和计算时间;在KITTI-360 09(5个机器人)上,分布式基线所需的数据传输量超过其五倍,却仍未达到相同的精度。
- 真实世界部署: 三台异构机器人(Boston Dynamics Spot、Agilex Scout、Scout Mini;每台配备Jetson AGX Xavier、RealSense D455、Ouster OS0-64、VectorNav VN100,通过临时组网Wi-Fi通信),在一个室内停车场中:行驶475米,3103个关键帧,67次跨机器人回环,其中10个外点被GNC剔除,总传输量仅为94.95 MB。
对SLAM的意义
随着机器人团队规模扩大,简单粗暴的描述子广播和穷举式回环验证会使通信和计算量爆炸式增长。Swarm-SLAM正是针对这一瓶颈,证明了先验证哪些回环与如何优化它们同样重要——并且一个简单的去中心化选举后端在精度、带宽以及对通信故障的鲁棒性方面都能胜过更复杂的分布式求解器。作为与DOOR-SLAM出自同一研究团队的成果,它将十年来分布式SLAM的经验教训封装进一个现代化的ROS 2框架(MISTLab/Swarm-SLAM),其传感器无关性也使其成为异构多机器人实验的常见基线。