当前位置:网站首页>《论文笔记》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
因作者水平有限,如有错误之处,请在评论区下方指出,谢谢!
边栏推荐
- PaddleOCR教程
- URL和URI
- 如何有效对直流列头柜进行监测
- If you open an account of Huatai Securities by stock speculation, is it safe to open an account online?
- 海思3559万能平台搭建:YUV422的踩坑记录
- Every time I look at the interface documents of my colleagues, I get confused and have a lot of problems...
- 45 year old professor, she threw two super unicorns
- Hash table, hash function, bloom filter, consistency hash
- IELTS examination process, what to pay attention to and how to review?
- Significance of acrel EMS integrated energy efficiency platform in campus construction
猜你喜欢
abc 258 G - Triangle(bitset)
他做国外LEAD,用了一年时间,把所有房贷都还清了
如何报考PMP项目管理认证考试?
How to use fast parsing to make IOT cloud platform
Application of fire fighting system based on 3D GIS platform
How to apply for PMP project management certification examination?
Fs8b711s14 electric wine bottle opener MCU IC scheme development special integrated IC
初识ROS
ORB(Oriented FAST and Rotated BRIEF)
Every time I look at the interface documents of my colleagues, I get confused and have a lot of problems...
随机推荐
"Xiaodeng" domain password policy enhancer in operation and maintenance
GDB常用命令
Fs8b711s14 electric wine bottle opener MCU IC scheme development special integrated IC
Face recognition 5- insight face padding code practice notes
JS convert pseudo array to array
Verilog tutorial (11) initial block in Verilog
PermissionError: [Errno 13] Permission denied: ‘data. csv‘
「运维有小邓」域密码策略强化器
If you open an account of Huatai Securities by stock speculation, is it safe to open an account online?
打新债开户注册安全吗?有没有风险的?靠谱吗?
uniapp 除了数字,其他输入无效
JS how to realize array to tree
如何将自己的代码作品快速存证,已更好的保护自己劳动成果
Consolidated expression C case simple variable operation
Some basic functions of enterprise projects are developed, and important things are saved to online first a
Best practice case of enterprise digital transformation: introduction and reference of cloud based digital platform system security measures
[ODX studio edit PDX] -0.3- how to delete / modify inherited elements in variant variants
45 year old professor, she threw two super unicorns
华为200万年薪聘请数据治理专家!背后的千亿市场值得关注
Enterprise application business scenarios, function addition and modification of C source code