摘要:環境感知是移動機器人自主導航系統中的重要模塊之一,相關算法研究成果層出不同窮,本文主要沿算法研究時間、分算法類型、從機器人自主運動角度對部分經典研究成果進行分析概述,最後從地圖重構效率、環境內容完整性及碰撞檢測效率等方面對比多種感知算法生成的不同類型的地圖。
移動機器人運動行為是由自主導航系統決定的,自主導航系統主要包含感知、規劃、控制與定位四個模塊,感知模塊是連接機器人與環境的橋梁,其作用是「閱讀、提取」環境內容,思路是使用各種環境感知傳感器獲取機器人周圍環境原始數據,通過感知算法提取目標特徵,最終目的就是讓機器人知道自己在環境中的位置,知道自己周圍環境情況是怎麼樣的,以及環境中的內容是什麼含義,這些內容之間是什麼聯繫;規劃模塊是連接感知與控制的橋梁,其作用是「分析、理解」環境內容,並輸出可執行控制命令,因此感知、規劃模塊是決定導航系統智能程度的關鍵。
環境感知一直是非常經典的研究熱點之一,諸多學者和研究機構針對環境感知中的科學問題進行了深入研究。環境感知算法針對不同的應用場景有著不同的研究側重點,比如測繪、AR/VR等領域,就需要將實際環境的幾何、色彩等特徵細節儘可能詳細得展示出來,對實時性要求可以不用太高,而對於輪式機器人運動規劃而言,環境感知會更側重地圖佔用內存應儘可能小、地圖重建效率及定位精度應儘可能高,地圖中的移動障礙物應該標記出來,並測量移動障礙物的運動速度及其運動軌跡等。
為提升機器人在不同場景下的自主運動能力,適用於不同環境運動規劃的輪式機器人環境感知算法層出不窮,本文將根據算法原理分類、研究時間排序,有側重地概述了該研究領域的進展及成果。
環境感知與自主定位是運動規劃的前端,機器人通過傳感器(雷射雷達、視覺傳感器等)獲取周圍環境信息,構建臨時局部環境地圖,並同時求取機器人在該環境地圖中的位姿,即SLAM算法所解決的問題。如圖 2.1所示,SLAM算法相關研究於1986展開並延續至今,按照問題研究熱點趨勢,可分為三個階段:經典階段、算法分析階段及魯棒感知階段[1],諸多研究成果被發表,SLAM系統相關研究日趨成熟,接下來依次概述不同階段的算法研究情況。
(請橫屏看圖)
圖 2.1 SLAM算法發展路線概況
Leonard和Montemerlo等人針對SLAM問題,提出基於概率方法的解決思路,主要以EKF、PF和最大似然估計等概率方法解決,如EKF SLAM[2]、FastSLAM 1.0[3]和FastSLAM 2.0[4]。然而,後來的學者指出了SLAM的系統效率及魯棒性方面有待提升,從而對SLAM算法的研究進入了下一階段。
該階段主要研究SLAM系統的基本性質,包括可觀測性、收斂性和一致性,SLAM框架逐漸得到完善,系統性能顯著提升。
在這階段,首先Grisetti和Steux等人提出了改進濾波算法,如基於RBPF方法的Gmapping[5],改進了提議分布和選擇性重採樣以提升性能,效果如圖 2.2(a)。而CoreSLAM[6]將過程精簡化為距離計算和地圖更新兩步,Hector SLAM[7]使用高斯牛頓法解決scan-matching問題,缺少迴環檢測,這兩種算法簡化SLAM系統,極提高了系統效率,但「犧牲」了魯棒性。但基於濾波算法SLAM技術在處理信息時,總會丟失部分觀測信息,並隨著地圖擴展而存在計算內存消耗大、累積誤差擴大等問題。
為此,Konolige、Carlone和Hess等人將機器人運動姿態及約束關係採用稀疏有向圖來表達,如KartoSLAM[8]、LagoSLAM[9]及cartographer[10]均採用(線性近似)圖優化方法從全局優化機器人姿態序列,兼顧了系統效率及魯棒性,進一步提高SLAM系統性能。
上述方法多屬於雷射SLAM,而隨著傳感器硬體發展迅猛,視覺傳感器比雷射傳感器能獲取更多的信息(如色彩),研究熱點逐漸過渡到視覺SLAM。與雷射SLAM相似,視覺SLAM框架由前端、後端、閉環檢測及構圖四部分組成,且按照前端特徵點類別可分為稀疏法、半稠密法及稠密法,具體如下:
稀疏法:Klein、Davison和Mur-Artal等人分別使用不同的特徵算子識別圖像中的關鍵特徵,如PTAM[11]使用FAST特徵、MonoSLAM[12]使用Shi-Tomasi特徵、ORB-SLAM[13]使用ORB特徵等方法構建稀疏地圖,降低數據量以提高系統效率,效果如圖 2.2(e),相比於直接法有更好的容錯性,但也損失了較多環境信息,主要用於跟蹤相機(機器人)位姿。
稠密法:Newcombe和Whelan等人分別提出了DTAM[14]和ElasticFusion[15]方法,直接處理(近似)原始圖像數據以構建稠密地圖,效果如圖 2.2(c),可提供場景細節,常用於三維重建、三維反求等領域。
半稠密法:Engel和Forster等人分別提的LSD-SLAM[16]和SVO[17]等方法,可構建半稠密地圖,既包含部分環境特徵信息,又實現自主定位,且地圖內存消耗較稠密地圖小,適合於機器人運動規劃。
上述SLAM算法在系統效率、魯棒性及環境表達等方面已經取得非常大的突破,且已成功應用於部分實際場景。然而,單純的幾何環境模型嚴重限制了機器人的交互能力,缺乏對環境內容的解讀能力是限制機器人智能化的發展瓶頸之一。故追求高可靠穩定性的感知環境成了研究的焦點,由此進入魯棒感知階段。
圖 2.2 常見環境地圖
這一階段要求SLAM系統具備更穩健的性能、更高階的理解能力等多智能特徵[1]。要求語義SLAM將「環境語義信息」與「傳統SLAM幾何地圖」有效結合,豐富環境模型表達內容,更利於機器人理解環境。
Runz和Tateno等人提出在稠密地圖上實現語義分割的算法,如基於稠密點雲目標識別、跟蹤與重構多運動剛性對象的MaskFusion[18],同時還為精準分割的對象分配語義標籤。類似的,CNN-SLAM[19]將SLAM與CNN相結合,生成語義地圖,這類語義地圖可幫助機器人更準確認知環境場景,但對於運動規劃中的自主避障卻幫助不大。
Salas-Moreno等人提出側重於精準建模的算法——SLAM++[20],將先驗物體CAD模型資料庫與SLAM系統相結合,能更真實還原場景模型,且極大壓縮稠密點雲地圖,利於機器人運動碰撞檢測,但由於物體的CAD模型種類繁多而無法通用化推廣。
Nicholson等人提出基於對偶二次曲面理論的QuadricSLAM[21],使用帶有語義標籤的橢球體描述不同物體的姿態(大小、位置、姿態等),如圖 2.2(g)所示。相似的,Yang等人提出使用長方體描述的CubeSLAM[22],是一種適用於動靜態場景下單圖像3D立方體目標檢測和無先驗模型的多視角目標SLAM方法。
從便於機器人運動規劃的角度來分析,使用橢球體或立方體等特殊幾何體描述物體比稠密語義地圖或CAD模型更有實際意義,不僅提高碰撞檢測計算效率,同時也減少環境模型噪聲,有助於運動規劃系統穩定。
不同算法構建的環境地圖類型不相同,其應用的場景也不同。
地圖包含的信息是運動規劃模塊的輸入,因此從利於運動規劃的角度分析,表 3 1從地圖重構效率、環境內容完整性及碰撞檢測效率等方面對比了多種類型的地圖。
柵格地圖及特徵地圖是傳統雷射SLAM算法中常用的地圖類型,常被應用於室內導航系統,能夠較準確描述環境幾何信息,但缺乏語義信息限制了機器人智能化水平。
幾何語義地圖可提供目標物體類型、空間形態及位置,以及機器人在地圖中的位置,但目前僅能使用單一幾何體,同時受到深度學習的計算需求與硬體計算能力制約。
因此,構建、存儲、運用一個可用、普適、簡潔的語義地圖,解決傳統地圖存在的冗餘性、時效性問題,以提高機器人與不同環境的交互能力,是當前研究趨勢之一。
表 3-1 常見地圖類型對比(向左滑動)
地圖類型地圖重構效率環境內容完整性碰撞檢測效率典型算法柵格地圖★★★★★★★★★★★Gmapping[5]特徵地圖★★★★★★★★★★★★★EKF SLAM[2]稠密地圖★★★★★★★ElasticFusion[15]半稠密地圖★★★★★★★★★SVO[17]稀疏地圖★★★★★★★——ORB-SLAM[13]稠密語義地圖★★★★★★★MaskFusion[18]幾何語義地圖★★★★★★★★★★CubeSLAM[22]備註:★表示等級,——表示無法使用
本文沿時間先後順序,主要從適用於移動機器人運動規劃的角度,對比、分析了環境感知算法從經典階段、算法分析階段到魯棒感知階段的發展及演化過程,最後從地圖重構效率、環境內容完整性及碰撞檢測效率等方面對比了多種感知算法生成的不同類型的地圖。
環境感知算法種類繁多,應用場景各不相同,而本文僅從機器人運動這一角度對部分經典的環境感知算法進行了分析概述,只能算是窺探環境感知這一領域的冰山一角。後續會逐漸深入討論分析一些經典的算法。
(文章僅筆者個人分析,有誤請指正,謝謝!)
[1] CADENA C, CARLONE L, CARRILLO H, et al. Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age [J]. IEEE Transactions on robotics, 2016, 32(6): 1309-32.
[2] LEONARD J J, DURRANT-WHYTE H F. Mobile robot localization by tracking geometric beacons [J]. IEEE Transactions on robotics and Automation, 1991, 7(3): 376-82.
[3] MONTEMERLO M, THRUN S, KOLLER D, et al. FastSLAM: A factored solution to the simultaneous localization and mapping problem [J]. Aaai/iaai, 2002, 593598
[4] MONTEMERLO M, THRUN S, KOLLER D, et al. FastSLAM 2.0: An improved particle filtering algorithm for simultaneous localization and mapping that provably converges; proceedings of the IJCAI, F, 2003 [C].
[5] GRISETTI G, STACHNISS C, BURGARD W. Improved techniques for grid mapping with rao-blackwellized particle filters [J]. IEEE transactions on Robotics, 2007, 23(1): 34-46.
[6] STEUX B, EL HAMZAOUI O. tinySLAM: A SLAM algorithm in less than 200 lines C-language program; proceedings of the 2010 11th International Conference on Control Automation Robotics & Vision, F, 2010 [C]. IEEE.
[7] KOHLBRECHER S, VON STRYK O, MEYER J, et al. A flexible and scalable slam system with full 3d motion estimation; proceedings of the 2011 IEEE International Symposium on Safety, Security, and Rescue Robotics, F, 2011 [C]. IEEE.
[8] KONOLIGE K, GRISETTI G, KüMMERLE R, et al. Efficient sparse pose adjustment for 2D mapping; proceedings of the 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems, F, 2010 [C]. IEEE.
[9] CARLONE L, ARAGUES R, CASTELLANOS J A, et al. A linear approximation for graph-based simultaneous localization and mapping [J]. Robotics: Science and Systems VII, 2012, 41-8.
[10] HESS W, KOHLER D, RAPP H, et al. Real-time loop closure in 2D LIDAR SLAM; proceedings of the 2016 IEEE International Conference on Robotics and Automation (ICRA), F, 2016 [C]. IEEE.
[11] KLEIN G, MURRAY D. Parallel tracking and mapping for small AR workspaces; proceedings of the 2007 6th IEEE and ACM international symposium on mixed and augmented reality, F, 2007 [C]. IEEE.
[12] DAVISON A J, REID I D, MOLTON N D, et al. MonoSLAM: Real-time single camera SLAM [J]. IEEE transactions on pattern analysis and machine intelligence, 2007, 29(6): 1052-67.
[13] MUR-ARTAL R, MONTIEL J M M, TARDOS J D. ORB-SLAM: a versatile and accurate monocular SLAM system [J]. IEEE transactions on robotics, 2015, 31(5): 1147-63.
[14] NEWCOMBE R A, LOVEGROVE S J, DAVISON A J. DTAM: Dense tracking and mapping in real-time; proceedings of the 2011 international conference on computer vision, F, 2011 [C]. IEEE.
[15] WHELAN T, LEUTENEGGER S, SALAS-MORENO R, et al. ElasticFusion: Dense SLAM without a pose graph, F, 2015 [C]. Robotics: Science and Systems.
[16] ENGEL J, SCHöPS T, CREMERS D. LSD-SLAM: Large-scale direct monocular SLAM; proceedings of the European conference on computer vision, F, 2014 [C]. Springer.
[17] FORSTER C, PIZZOLI M, SCARAMUZZA D. SVO: Fast semi-direct monocular visual odometry; proceedings of the 2014 IEEE international conference on robotics and automation (ICRA), F, 2014 [C]. IEEE.
[18] RUNZ M, BUFFIER M, AGAPITO L. Maskfusion: Real-time recognition, tracking and reconstruction of multiple moving objects; proceedings of the 2018 IEEE International Symposium on Mixed and Augmented Reality (ISMAR), F, 2018 [C]. IEEE.
[19] TATENO K, TOMBARI F, LAINA I, et al. Cnn-slam: Real-time dense monocular slam with learned depth prediction; proceedings of the Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, F, 2017 [C].
[20] SALAS-MORENO R F, NEWCOMBE R A, STRASDAT H, et al. Slam++: Simultaneous localisation and mapping at the level of objects; proceedings of the Proceedings of the IEEE conference on computer vision and pattern recognition, F, 2013 [C].
[21] NICHOLSON L, MILFORD M, SüNDERHAUF N. QuadricSLAM: Dual quadrics from object detections as landmarks in object-oriented SLAM [J]. IEEE Robotics and Automation Letters, 2018, 4(1): 1-8.
[22] YANG S, SCHERER S. Cubeslam: Monocular 3-d object slam [J]. IEEE Transactions on Robotics, 2019, 35(4): 925-38.
筆者為小夥伴們整理了期刊論文版式原文PDF,方便收藏和回味
連結:https://pan.baidu.com/s/1fxJmegcXFFu3JYgqYd6gcA
提取碼:fv96
若連結失效,可在後臺聯繫作者或發送郵件:Zippen-Huang@outlook.com
相關聲明
1.如果轉載本文,文末務必註明:「轉自微信公眾號:混沌無形」
2.若有侵權,請聯繫作者
全文完,感謝閱讀!!如果覺得寫的不錯,那就點個讚或者「在看」吧。