《论文笔记》Multi-UAV Collaborative Monocular SLAM

时间:2017

作者:

在这里插入图片描述

实现条件:

  多agent+一中心服务器。每一个agent自带单目摄像头,中心服务器可与所有agent通信。agent没有任何先验知识。不考虑任何的传输延时所带来的不良影响。

分工

  agent工作:采集数据+建立局部地图+传送数据
  服务器工作:place recognition(位置识别),map fusion(地图融合),bundle adjustment(束调整)
  注:agent和server通信频率不是固定的

物理结构:

  多资源有限无人机(配置单目摄像头,单机ORB-SLAM2算法)+中心资源控制
  中心型相较于分布式优点(在节点资源有限情况下):
    1)保持数据一致性、避免重复计算信息
    2)大计算任务/对时延不敏感任务交给server,资源有限初计算关键任务

理论结构:

在这里插入图片描述
  agent包括
    1)VO:用来处理图像信息,形成KF
    2)Communication:与server进行通信(帧的传输)
    3)Local map:自身维护局部地图
  server包括
    1)agent Handler(数量同agent):包括communication(帧的传输)和Intra-MapPlicae(匹配自身的Server Map)。解决数据传输和数据转换的问题
    2)Global Map Stack:用于存储每个agent的Server Map(初始化数量与agent相同),单一agent反馈信息改进该agent对应的Server Map,多agent遇到特征点相同时Server Map彼此融合。
    3)Place Recognition Database:存储所有agent采集的所有关键帧,用于进行匹配,为匹配数据库(因agent资源有限,每个agent只能保存N个KF,而数据库不限制)
    4)Inter-Map Place(匹配其他的Server Map, 匹配成功说明两个Server Map可融合)
    5)Map Fusion:地图融合模块,操作对象是Server Map(两层:单一agent融合,多agent融合)
    6)Global BA:对全局地图进行优化,每发生一次Map Fusion要进行一次优化。

通信方式:

  1)server→agent
  2)agent→server→agent(当server识别到agent有共同特征时,利用已知的其他agent信息反馈给原agent)

本文创新点及思想:

  提出了一种协同SLAM框架可实现更好的感知。试验使用单目视觉SLAM完成,每个agent采集数据,数据以KF(keyframe关键帧)为数据结构基本单位。采集一帧后传给server。由server做place recognition,如果从两帧中提取到大量相同特征认为两agent走过相同地方。用B的经验传给A,用A的经验传给B以实现agent之间的交流(同时发生),强化agent的局部地图完整。同时server处会进行一次BA(bundle adjustment,束调整)。利用两帧数据强化全局地图中这部分的细节。

实验证明:

在这里插入图片描述
  上图agentB(蓝)形成自己的识别轨迹,agentA(黑)形成的轨迹被用于加强B的轨迹。可明显看出左侧红色点分布更密集,说明此处B的缺失数据被A进行补齐。实现了更好的全局地图。

备注:

  1.KF(Key Frame)和MP(Map Point)之间的关系?
  一张KF是由很多MP组成,MP之间相互连线组成KF
  2.关于这篇文章还有一个扩展的版本:CCM-SLAM: Robust and Efficient Centralized Collaborative Monocular SLAM for Robotic Teams。两篇文章的作者相同,这篇相比本文谈到这个篇幅更多,介绍了更多的实现细节,没有太多新的东西。

配套资料:

  源码网址:https://github.com/raulmur/ORB_SLAM2
  示例视频网址:https://www.youtube.com/watch?v=L9rHht8fE5E

因作者水平有限,如有错误之处,请在评论区下方指出,谢谢!

猜你喜欢

转载自blog.csdn.net/gls_nuaa/article/details/121570440
今日推荐