时间:2021
作者:
Multi-UAV Collaborative Monocular SLAM的后续之作,关于之前那篇可参照:《论文笔记》Multi-UAV Collaborative Monocular SLAM
协作智能体数达到12个(目前最多的)
面向场景:
AR/VR需求,协同营救
控制方式:
中心化方式
初始条件:
多agent(具有在线VIO能力)+server(可以是本地服务器或云服务器)
系统模型:
Agent本身带有VIO功能,维护自身Local map,并可以通过通信模块和server通信完善自身信息
server模块受map manager调度,为每个agent初始化一个server map。map manager有权限访问server map库及KF(key frame) Database。优化部分提供两种优化。External Interface模块提供和外界交互。
下面介绍下系统模型一些细节:
map manager的工作可概括如下:
1.控制server map的更新及融合(当place Rec模块识别时进行更新,Place Rec基于词袋模型)
2.控制place Rec模块进行公共区域的检测(两种情况:同一server map的回环检测,不同server map的map fusion)
3.控制优化及冗余数据(包括冗余的KF和LM)的删除
4.控制外部接口和用户对接(其实没有很理解这部分的作用,也没从后面实验看到什么体现~)
5.负责保持map的一致性(特别是多个server map融合后,多个agent对应该融合map)
两种优化具体:
1.PGO(Pose-Graph Optimization)
PGO使用的时间两种情况,一是回环检测之后,对server map进行PGO。二是定期执行,进一步降低地图细化的频率,从而更好的平衡由于持续优化而受到限制的地图访问,并达到预期的高地图精度
2.GBA(Global Bundle Adjustment)
GBA由server进行控制,GBA考虑所有KF和LM(我把LM当成了关键点MP)
本文的创新点:
1.提出了基于VIO的中心化协同SLAM框架——COVINS,该框架保证较好精度,并且可以用于大规模(实验使用12架UAV)
2.设计了一个动态agent接入方式,留出接口,更灵活,贴合实际
3.框架中的通信模块功能做了拓展,移除通信模块的ROS依赖性,使用p2p方式,之前可能是局域网,本文中使用TCP通信协议。可以把server扩展到云端(虽然实验中没太体现云端优势,但如果任务计算大的话,云可能还是更好)
4.前端使用更先进的ORB-SLAM3完成VIO(之前用ORB-SLAM2),会使agent建立局部地图精度上升
5.后端增加交互模块,更贴合实际应用
本文基础:
本文基于: CVI-SLAM - Collaborative Visual-Inertial SLAM。相比这个做了一些改进:
1、前端提供接口,动态接入
2、大规模
3、place recognition部分不区分回环检测和地图融合
与分布式结构相比:避免重复计算信息,具有更高准确性
未来方向:
1.数量继续提升(hundreds of)
2.前端使用移动设备
3.场景扩展至多user AR
开源代码:
VIS4ROB-lab/covins (github.com)
因作者水平有限,如有错误之处,请在下方评论区指正,谢谢!