当前位置:网站首页>《论文笔记》Multi-UAV Collaborative Monocular SLAM
《论文笔记》Multi-UAV Collaborative Monocular SLAM
2022-07-05 00:05:00 【DWQY】
时间: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:通过VO方式自身维护局部地图,设置最多k个KF,通过Trimming过程决定维护的k个KF(有缓冲区机制)
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:对全局地图进行优化。发生Global BA有两种情况:(1)map fusion (2)检测到回环。发生Global BA过程中传输来的KF不予考虑。
通信模型:
1)server→agent
2)agent→server→agent(当server识别到agent有共同特征时,利用已知的其他agent信息反馈给原agent)
agent和server基于ROS的消息传递机制进行通信,对实时性没有要求。无线网络传输,连接时一切正常,agent和server断开连接时不再交流。为了传输时减少loss,设置信息阈值,进行切割。
agent发给server有确认接受机制,两类信息:Ppred和Ppar,用当前信息用于确保agent上一个发给server的成功接受。对于server发给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)之间的关系?
每次agent采集到的数据叫帧(frame),tracking thread会决定frame是否为KF(Key Frame)。local map中将每个KF作为一个点,两个KF若有多个匹配MP则将两个KF进行连线,组成graph
2.Trimming机制:若缓冲区为空,则取之前最新的k-1个KF+新到KF。若缓冲区满,则优先排除(借助serve)从其余agent处传递来的KF,若排除全部其余agent仍大于K,按时间排列,扔掉旧的。k的大小看资源条件。越大越健壮
3.server mapping分了三个步骤:(1)把KF送到三个操作KF的部分 (2)在KF和MP之间建立联系 (3)进行KF rejection
4.KF rejection:也叫redundarcy dectection,用于处理同一位置不同视角,减少KF的冗余度,以便更好的Global BA。不是全部情况都发生,只有需要Global BA的时候才有。思想是使server map越小越好
5.Sim(3)-transformation发生情况有两种:(1) agent发给server KF时,经过转化进入server map stack (2)map merging时,两个来自server map stack的map合并
6.关于这篇文章还有一个扩展的版本:CCM-SLAM: Robust and Efficient Centralized Collaborative Monocular SLAM for Robotic Teams。两篇文章的作者相同,这篇相比本文谈到这个篇幅更多,介绍了更多的实现细节,没有太多新的东西。本篇博客的内容一部分参考这个。
配套资料:
源码网址:https://github.com/VIS4ROB-lab/ccm_slam
示例视频网址:https://www.youtube.com/watch?v=L9rHht8fE5E
因作者水平有限,如有错误之处,请在评论区下方指出,谢谢!
边栏推荐
- Consolidated expression C case simple variable operation
- 跨域请求
- 积分商城游戏设置的基本要点
- 【雅思阅读】王希伟阅读P4(matching1)
- Application of fire fighting system based on 3D GIS platform
- Selected cutting-edge technical articles of Bi Ren Academy of science and technology
- uniapp 除了数字,其他输入无效
- Cross domain request
- uniapp微信小程序拿来即用的瀑布流布局demo2(方法二)(复制粘贴即可使用,无需做其他处理)
- GDB常用命令
猜你喜欢

How to use fast parsing to make IOT cloud platform

PMP证书续证流程

The company needs to be monitored. How do ZABBIX and Prometheus choose? That's the right choice!

Robot reinforcement learning synergies between pushing and grassing with self supervised DRL (2018)
![[kotlin] the third day](/img/c4/1bf1b00c4a1dda920ad3bb178ac0f9.png)
[kotlin] the third day

PMP certificate renewal process

How to effectively monitor the DC column head cabinet

Hash table, hash function, bloom filter, consistency hash

Application of fire fighting system based on 3D GIS platform
![[IELTS reading] Wang Xiwei reading P3 (heading)](/img/19/40564f2afc18fe3e34f218b7b44681.png)
[IELTS reading] Wang Xiwei reading P3 (heading)
随机推荐
快解析——好用的内网安全软件
Meet ThreadPoolExecutor
Go step on the pit - no required module provides package: go mod file not found in current directory or any parent
S32 design studio for arm 2.2 quick start
Microservice
uniapp上传头像
业务实现-日志写到同一个行数据里面
abc 258 G - Triangle(bitset)
ICML 2022 | 3dlinker: e (3) equal variation self encoder for molecular link design
Using fast parsing intranet penetration to realize zero cost self built website
Is it safe to open and register new bonds? Is there any risk? Is it reliable?
The pit of sizeof operator in C language
基本放大电路的学习
青海省国家湿地公园功能区划数数据、全国湿地沼泽分布数据、全国省市县自然保护区
【监控】zabbix
Consolidated expression C case simple variable operation
Tester's algorithm interview question - find mode
微服务(Microservice)那点事儿
【kotlin】第三天
Pytoch --- use pytoch to realize linknet for semantic segmentation