《论文笔记》Collaborative Monocular SLAM with Multiple Micro Aerial Vehicles
時間:2013
作者:
工作方式:
??多agent(資源受限,但能自主完成VO)+中心化server(無限資源)
協同感知原理:
??server為每個agent創建一個local map,出現交集后融合
通信模型:
??agent→server(傳遞信息:關鍵幀提取的特征+上一關鍵幀的相對位姿估計)
??agent→server→agent
注:獲取當前位姿方法:上一時刻位姿(server已知)+相對位姿(agent傳送)
創新點:
??1.提出一種解決方案(CSFM, Collaborative Structure from Motion)來解決機載估計軌跡和地面站估計軌跡之間的尺度差異(CSFM本身有回環檢測和局部BA,VO沒有)
??2.對數據結構及處理過程進行設計,允許多線程并發讀寫map,來保證實時性(并行+異步)
系統模型:
??系統整體包含前端和后端,前端由MAV自身VO建圖,后端server為每個MAV創建一個Frame handler,對應保存其局部地圖。當檢測到重疊時,局部地圖融合。多agent對應同一map。后端具體流程圖如下:
后端更新過程:
??幀處理線程(每個agent都有)對frame進行處理(主要是判斷KF,特征提取,生成特征描述),再將數據傳遞至重疊部分檢測線程。檢測到重疊時,若來自同一map,則執行局部BA。來自不同map則進行map合并。此處針對多圖合并設計特殊數據結構和C++并發控制機制,允許多個幀處理線程安全訪問和更新,來保證實時性
部分實現細節:
??1.CSfM系統不保留關鍵幀的時間順序,也考慮舊關鍵幀。設置核心關鍵幀(一組四個)、外圍關鍵幀(所有關鍵幀,要求是與核心或者新關鍵幀至少共享一個公共MP)
??2.使用詞袋模型進行place recongnization,全局使用一個詞袋模型。這為跨地圖回環檢測提供基礎(跨地圖回環檢測后面就要進行地圖融合了)
??3.當位置識別模塊返回一個與當前關鍵幀相似的幀后,再進行幾何驗證(P3P算法)。幾何驗證只應用于不同map間發現重疊。驗證成功計算兩幀的轉換矩陣(集成了P3P的RANSAC)。
??4.對冗余信息的改進:每個重疊地圖區域中的所有地圖點將重新投影到其他地圖的關鍵幀中,并合并響應的地圖點。地圖融合的時候,用RANSAC+P3P,計算轉換矩陣,把回環幀投影到當前幀上,如果點重合,則消除點,減少冗余信息
重要細節:將比例因子s應用于在變換貼圖上操作的所有幀處理程序的比例差因子,這對于確保從BO接收到的相對位置估計值相對于地圖正確縮放是必要的。
??5.改進優化完成貼圖和關鍵幀,
??循環結束后,優化完成貼圖和關鍵幀的標準解決方案是運行全局BA。但具有兩點缺點:
????1.計算要求很高
????2.可能收斂到局部極小值而完全失敗。
??本文改進(兩步走):
????1.將地圖點邊緣化,使貼圖表示減少為姿勢圖(全局位姿圖優化)。
????2.在姿勢圖優化后,更新貼圖點并進行全局BA優化地圖點和關鍵幀姿勢(兩步未理解)
??6.并發數據的訪問設計實現
??原理:互斥鎖
??建立KF-list(保存所有關鍵幀),每個KF保留觀測到的MP(維護MP列表),每個MP也保留其組成的KF。一個線程擁有關鍵幀的鎖,它可以去讀整個關鍵幀觀測到的所有MP。對KF修改前需要獲取該KF的鎖,對MP修改前需要獲取所有可觀測到該MP的KFs的鎖。也就是說,鎖只加在KF上,而不加在MP上,因為MP遠多于KF,對MP加鎖會大大加重性能負擔
參考資料:
協作SLAM論文賞析 - 簡書 (jianshu.com)
因作者水平有限,如有不足之處,請在下方評論區指正,謝謝!
總結
以上是生活随笔為你收集整理的《论文笔记》Collaborative Monocular SLAM with Multiple Micro Aerial Vehicles的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MFC:Socket编程—TCP服务端和
- 下一篇: 用navicat连接数据库报错:1130