2021-04-15 深入理解SLAM技术 【2】 SLAM的框架
1 問題提出
首先假設一個場景,在下圖的機器人上,你如何讓它自由行走?也就是說,擁有自主運動能力?
當然,增加輪子和電機是必不可少的。然而,有了輪子和電機,它只能亂跑亂撞,因為缺少規劃和控制。如何才能擁有規劃和控制?首先需要增加相機,通過相機捕獲周邊環境信息。
然而,相機雖可以感知環境,歸根到底要知道環境的啥信息,要干啥?答案是,至少需要解決兩個問題:
1 周邊環境什么樣子?構建環境地圖。(建圖)
2 清楚知道,我在哪里?(定位)
回顧一下,在沒有提出SLAM之前,或者說如果不用SLAM,如何能夠解決以上兩個基本問題?其方案有:
- ?? 地上標注黃線,讓機器沿黃線運動。
- ?? 在墻上貼上二維碼做地標
- ?? 用無線定位設備。
- ?? 戶外用GPS
而SLAM方案與以上所列有所不同,它是通過如下配置完成:輪式編碼器、相機、激光傳感器來完成定位和構圖的。這里對比一下,非SLAM方案與SLAM比較存在啥區別:
- 非SLAM方案將建圖和定位安裝在機器人的外端,與環境構成一體。
- SLAM將定位和地圖,安裝在移動機器人上,與機器人構成一體。
以上兩種方案的優缺點比較:
- 非SLAM方案優點,構成簡單,容易實現。缺點是條件限制太多,太多的限制將不足以實現機器人的自主行走。
- SLAM方案優點,定位系統獨立于環境,不受環境限制,能實現自主行動。缺點:對環境測量不是直接的,是迂回的,要求算法必須足夠高級。
2 視覺測量傳感器--相機
SLAM的相機有三種:1)單目相機 2)雙目相機 3)RGB-D深度相機。單目相機,就是普通的相機,輸出的是圖片。雙目相機,是由兩個單目相機構成,因此,能同時拍攝兩張圖片,這兩張圖片相差一個視角,因此密切相關,通過對極幾何、三角測量等原理換算出距離。注意,換算景物距離,不僅僅是個障礙規避問題,更重要的是能換算出相機移動的距離向量,從而實現自身定位。RGB-D是2010年才出現的相機,是彩色,雙目,能測量景物深度的相機。由于雙目相機計算量大,耗時,因此業內注重單目相機,因為單目移動一個距離后,前后兩個圖片也可以實現雙目相同的計算。
3 經典SLAM框架
如果將環境限定成:靜態、剛體、光照變化不顯著、沒有人為干擾。那么,目前的SLAM已經相當成熟。而環境如果是動態的、光干擾明顯、物體形狀可變(如布料),則挑戰驟然升級。以下我們列出目前較成型的SLAM框架結構:
1)傳感器信息讀取:說白了就是把現場圖片導入內存。加上必要的預處理圖像。
2)前端(視覺里程機):通過兩次相機采樣,換算出相機走過的距離向量。也就是處理STEP的問題。
3)后端(非線性優化):將前端形成的每一步移動,并產生全局軌跡地圖。解決ROUTER問題。
4)回環檢測:是計算相機移動中,是否產生回路。
5) 建圖:根據后端所生成的軌跡,以及及環境信息,構成全局地圖。
?
參考資料:《視覺SLAM十四講》高翔
?
?
?
?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的2021-04-15 深入理解SLAM技术 【2】 SLAM的框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021-04-08 Halcon进阶【
- 下一篇: 2021-04-17 深入理解SLAM