《CCM-SLAM: Robust and Efficient Centralized Collaborative Monocular SLAM for Robotic Teams》
作者:Patrik Schmuck,Margarita Chli
单位:苏黎世联邦理工学院(ETH)
期刊:Journal of Field Robotics(JFR)(二区)
时间:2019
摘要:机器人协作有望提高任务的鲁棒性和效率,在搜救和农业等领域具有巨大的应用潜力。多机器人协作同时定位和建图(SLAM)正是实现协作的核心,这样每个机器人就可以在工作空间内共同定位并构建工作空间地图。然而,这个问题的核心挑战在于可靠的通信、高效的数据管理和代理之间的有效信息共享。为此,我们提出了CCM-SLAM,这是一个用于机器人的集中式、协作式SLAM框架,每个机器人都配备了一个单目摄像机、一个通信单元和一个小处理板。由于每个机器人都可以在板上运行视觉里程计,CCM-SLAM确保了他们作为个体的自主性,而一个可能具有更大计算能力的中央服务器通过收集他们的所有经历,合并和优化他们的地图,或者在适当的时候向他们传回信息,使他们能够进行协作。对基准数据集的深入分析展现了CCM-SLAM对实际任务中常见的信息丢失和通信延迟的可扩展性和鲁棒性。这表明,在通信中断的最坏情况下,协作会受到影响,但不会影响代理的自主性。最后,以三架装有不同传感器和计算能力的小型飞机的真实飞行为例,以一台标准笔记本电脑为服务器,协同估计它们的姿态和飞行场景,验证了该框架的实用性。
结论:在本文中,我们提出了CCM-SLAM,这是一个新颖而强大的框架,用于集中式服务器和多个代理(如小型无人机或其他机器人)的协作SLAM,每个机器人都配备了一个单目摄像机和一个小型处理单元。机器人在开始任务时采用了彼此和服务器之前都不知道的配置,同时在板上运行实时视觉里程计,以保持他们在整个任务中的自主性。潜在功能更强大的中央服务器充当每个机器人经历的簿记员,收集所有机器人上计算的估计值,同时执行更耗时但非时间关键的任务,如搜索环路闭合和跨机器人地图的重叠,并在必要时执行冗余检测和全局优化。服务器通知机器人其车载本地地图的任何更新(例如,遵循全局优化),并向每个机器人提供其当前操作附近的附加信息(即,姿势和地标)(如果可用),例如由相同代理或其他代理在过去收集的附加信息。虽然现有的工作通常只允许从代理到服务器的通信,但CCM-SLAM中的这种双向通信是实现更好和更一致的板载估计的关键。CCM-SLAM成功地解决了鲁棒处理常见通信干扰的挑战,进一步在任务期间真正利用了感兴趣区域内的多个机器人的存在。
在基准测试和新数据集上的深入实验分析表明,CCM-SLAM在处理常见的网络问题(如延迟和消息丢失)方面具有强大的能力,并且它对每个机器人上的计算资源和通信网络的可用带宽具有很强的适应性。对CCM-SLAM估计的比较证实,参与机器人之间的合作提高了最终全局轨迹估计的准确性,以及运行时机器人上的在线姿态估计。此外,对该框架在机器人数量上的可扩展性进行了研究,证实了机器人数量增加不会影响机器人的实时性能。正如预期的那样,每个新机器人都会增加网络流量的负担,因此,带宽是服务器计算能力之外唯一限制可扩展性的因素。利用这一分析,在具有三个不同机载计算资源的无人机的设置中,我们在真实实验中展示了CCM-SLAM的能力,所有的无人机都在同一区域飞行,同时通过标准的笔记本电脑作为服务器交换信息。只有在这样一个鲁棒高效的框架下,才能进行协作定位和地图绘制,这是机器人团队进一步协作任务的第一步。
未来工作:未来的方向将集中在研究机器人团队之间共享的每一位信息的价值,以提供对更灵活的信息处理的见解,并在协作系统估计的效率和准确性之间进行良好的权衡。
笔记:Covisibility Graph是一种图的形式。Covisilibilty Graph 的顶点是相机的Pose,而边是Pose-Pose的变换关系——所以也算是Pose Graph 一种吧。当两个相机看到相似的空间点时,它们对应的Pose就会产生联系(我们就可以根据这些空间点在照片上的投影计算两个相机间的运动)。根据观测到的空间点的数量,给这个边加上一个权值,度量这个边的可信程度。