熊 蓉,傅 博,王 越,吳 俊
(浙江大學 工業控制技術國家重點實驗室,浙江 杭州 310027)
星面探測機器人是實現深空探測的重要手段,國內外均開展了深入研究,并已利用遠程地面遙控方式對火星和月球表面進行了探測。為進一步擴大探測范圍,提高探測效率,并為后續星面基地建設等任務服務,星面探測機器人需從遠程地面遙控方式向自主移動方式發展,為此,需要解決地圖構建、魯棒定位、探測導航等系列問題。
星面探測機器人研究開始于20世紀50年代。1969年,美國宇航員乘阿波羅號飛船首次登陸月球,采用航天員與月球車聯合的方式進行探測。1996年、2003年和2011年,美國3次發射機器人登陸火星,在火星表面漫游探測。我國探月工程始于20世紀90年代,2013年嫦娥三號月球探測器在月球虹灣地區成功著陸,2018年嫦娥四號月球探測器實施世界上第一次星面軟著陸和巡視探測。這一階段的研究著重于人機聯合技術在遙操作控制領域中的應用,通過地面操作員與星面機器人之間的配合,克服延時影響,完成星面測探任務。目前,各國都在圍繞增強星面探測機器人自主移動能力開展研究,并在視覺里程估計方面取得了一定進展。美國公開的火星探測機器人(MER)[1]攜帶兩種相機:一種是用于星面觀測的全景相機;另一種是導航用的立體視相機,在導航中通過匹配當前時刻與前一時刻的立體視圖像實現對自身前后兩個時刻位姿變換的估計。在后續研究中,又提出利用慣性測量單元對翻滾角和俯仰角的能觀特性提升視覺里程計性能[2]。雙目相機利用兩個相機之間的基線,比單目相機更加穩定、精確,但與多目相機相比沒有明顯的性能劣勢,是一種成本和性能之間相對平衡的方案。行駛于粗糙地面時,視覺里程估計方式與輪式里程計相比有非常明顯的優勢,因為輪式里程計無法在不平整、打滑等地面條件行駛時給出比較精確的估計。但視覺里程估計方式并不能解決里程誤差累積問題,長距離運行會產生較大漂移,且相機視野較小,難以形成全位置、豐富視角的回訪定位。加拿大目前正在研發的探測機器人主要通過示教—重現方式實現定位[3],克服了美國火星探測機器人僅采用視覺里程計估計導致的長期漂移進而無法返航、只能單方向漫游的問題。文獻[4]所提方法利用特征點而不是角點像素跟蹤的方法進行圖片匹配,并在視覺里程估計的基礎上,增加了定位功能,在運動中更迭變換定位的坐標系,以此引入局部定位方式,以克服全局定位中的漂移問題。這種方法對于要進行探測并回到著落器執行返艙任務的機器人來說具有非常重要的價值。但由于采用視覺傳感器,定位性能會受光照影響。這種影響主要體現在當機器人進行回訪定位時,前次運行的視覺數據和當前運行的視覺數據之間因為光照不同而出現明顯的外觀區別,從而導致定位算法無法將當前圖像和之前圖像進行關聯,最終使定位無法實現。
我國在星面探測機器人自主移動方面也開展了深入研究。嫦娥三號月球車采用視覺回望著陸器的定位方式,通過著陸器上目標點的檢測以及與目標點模型的匹配來估計著陸器坐標系下的機器人位姿。但是這種方式受限于視覺傳感器的視野,在距離較遠的情況下,難以實現準確的著陸器目標點檢測。
綜上所述,現有星面探測機器人主要采用的視覺定位技術還存在多方面問題,容易受到視野和光照的影響而導致定位失敗。自主移動技術已經取得了多方面進展,其有效性已在部分地面應用場景中得到驗證,但面向各種復雜大范圍環境如何實現長期穩定自主運行,仍在進一步研究中。星面探測是一種特殊場景下的應用,星面環境與地面環境相比存在很多的特殊性,這為自主移動技術帶來了新的挑戰。本文首次提出借鑒目前快速發展的無人駕駛技術和地面自主移動技術來推動星面探測機器人自主移動能力的發展,并歸納總結了目前國內外星面探測移動技術的研究現狀和存在的問題,以及地面自主移動研究在地圖構建、魯棒定位、探測導航等方面取得的進展。
近20年來地面自主移動技術的飛速發展,有效推動了工業移動機器人、移動服務機器人和無人駕駛等領域的發展。自主移動涉及的關鍵技術主要包括環境地圖構建、自主感知定位、導航規劃三方面。思維導圖如圖1所示。

圖1 地面自主移動技術思維導圖Fig.1 Mind map of techniques of autonomous movement on ground
地圖是移動機器人進行自主定位和導航的基礎,是對環境知識的一種描述方式。通常情況下,機器人在環境中進行自主移動作業時首先是獲得或自主構建環境地圖,由此涉及兩方面的問題:地圖的表示方法和構建方法。
1.1.1 地圖表示方法
地圖表示方法如圖2所示,現有地圖表示方法主要有點云地圖、柵格地圖、特征地圖、拓撲地圖等,近年來又提出了語義地圖。不同的地圖表示形式具有不同的特點與優勢,實際運用時需根據工作環境與應用需求構建合適的地圖。

圖2 地圖表示方法Fig.2 Map representations
如圖2(a)所示,點云地圖由空間點組成,可以通過激光點云拼接[5]直接構建稠密點云地圖,也可以基于視覺傳感器獲得的圖像進行關聯匹配,構建稀疏的特征點云地圖[6]或稠密、半稠密點云地圖[7]。點云地圖可使人較為直觀地獲得觀測結果,并實現激光、視覺等多種定位方式,但傳統點云地圖只是一種對障礙物表面的直接描述,地圖構建和定位中容易因初值誤差或者環境變化而導致錯誤數據關聯,且缺少是否可行等高層次語義信息,用于導航時需要進行數據的再處理。
柵格地圖將環境劃分為大小均勻的二維或三維柵格,每個柵格內存儲其對應空間的狀態信息。經典的柵格地圖中,柵格內存儲該區域被障礙物占有狀態的概率,這類地圖既適用于定位,也適用于快速導航規劃,因此在很多應用中被廣泛采用。針對火星探測,HERBERT等[8]設計了2.5維柵格地圖,也稱為高度地圖,在二維柵格地圖內的每一個柵格內存儲其障礙物的高度信息,如圖2(b)所示。為了足夠詳細地表示環境特征,往往需要設置較小的柵格分辨率。因此,與其他表示法相比,柵格地圖往往需要較大的存儲空間,特別是在大環境中。為了克服這一缺陷,WHELAN等[9]利用voxel hashing方法動態分配存儲空間,并通過滑動窗口的形式使內存中地圖的最大容量維持在固定范圍內。
特征地圖指由點元[10]、直線[11]、面[12]或基礎物體[13]等結構性形狀單元組成的地圖,這些基礎形狀單元可以通過一組參數進行建模,如圖2(c)所示。相較于點云地圖,特征地圖對環境有更高層次的描述性,使定位與建圖的魯棒性更強。目前一些地圖構建算法嘗試利用這種緊湊的表達方式來提高算法性能,例如SALAS-MORENO等[13]在同時定位和地圖構建算法中引入了基礎物體信息以實現魯棒性更好的數據關聯推理。這種基于基礎物體特征地圖的研究思路正逐漸向語義地圖發展。
拓撲地圖采用圖形表示,如圖2(d)所示。圖中節點代表環境中顯著的場景或標志,如果節點之間可以通行,則在節點間加上邊[14]。拓撲地圖表示形式簡潔緊湊,其分辨率與環境的復雜程度相關。與柵格地圖相比,在拓撲地圖上可以進行更快速的路徑規劃,且與人交互的可解釋性更強,可以被賦予更高層次的語義信息。但拓撲地圖在環境范圍較大時難以實現全局一致的地圖構建,也難以實現機器人的準確定位。
上述地圖表示形式可以解決環境中物體“在哪里”的問題,但不能給出物體“是什么”的信息,一定程度上限制了機器人與復雜環境的交互能力。近年來,研究者提出將環境語義信息融入地圖中,形成語義地圖[15],如圖2(e)所示。語義地圖的載體可以是上文中各種傳統地圖表示形式,除地圖的基本屬性外,地圖的每個組成單元還包含了該單元對應的語義信息。這種地圖表示方式使傳統的路徑規劃等方法可以上升到語義導航。對于自主移動來講,語義地圖的作用不僅是為了進行語義導航,也應該有助于復雜環境下的地圖構建和定位中的數據關聯,因此,如何表征語義[16],用怎樣的粒度表達[17],以及如何應用語義地圖來提升地圖構建和定位的準確性[18],已成為近年來的研究熱點。
1.1.2 地圖構建方法
地圖構建在自主移動中被定義為同時定位與地圖構建(SLAM)問題,即根據傳感器信息同時估計機器人自身位姿及環境地圖。這主要是因為地圖拼接依賴于定位的準確性,而定位的準確性依賴于現有感知和地圖匹配的正確性,是一個雞與蛋的問題。
早期SLAM算法主要基于濾波方法,包括擴展卡爾曼濾波和粒子濾波算法,但難以得到大范圍環境的一致性地圖。1997年,LU等[5]提出基于圖優化理論的SLAM問題求解方法,但由于計算量過大,該方法難以實時運行。2015年,KUMMERLE等[6]基于稀疏線性理論和最優化技術提出圖優化的通用求解框架g2o后,基于圖優化的SLAM求解方法得到了迅速推廣與應用。
地圖構建中的一個關鍵問題是正確的數據關聯,采用不同的傳感器直接影響數據關聯方法。激光地圖構建多采用迭代最近點(ICP)算法[19],通過優化點云到點云之間的歐氏距離實現點云匹配。ICP算法可以實現精度較高的點云位姿估計,但需要一個較好的初值,否則算法可能陷入局部極值點,且優化時間也受算法初值影響。視覺地圖構建方法則可以分為基于單目相機的地圖構建、基于雙目相機的地圖構建和基于RGB-D相機的地圖構建。單目相機系統的成本低,但是無法獲得場景的深度信息,需要通過多視圖幾何等方法計算得到環境中目標點的坐標。雙目相機系統可以獲得場景中目標點的深度信息,但對相機參數標定的要求較高。不論單目相機還是雙目相機,都只能恢復圖像匹配點的深度信息。RGB-D相機可以直接獲取圖像中每個像素點對應的深度信息和圖像紋理信息,但是檢測范圍小,容易出現數據空洞。
視覺SLAM算法的一個重要分支是研究魯棒視覺特征表示,以提高數據關聯的準確性,早期有SIFT、Harris等特征,近年來ORB特征被廣泛采用。另一條分支是利用關鍵幀進行局部或全局優化。這種算法只利用選取的關鍵幀計算地圖,大大減少了計算量,避免了基于濾波的SLAM算法在處理新信息很少的連續幀時浪費時間的問題。如圖3所示,研究人員提出了PTAM(parallel tracking and mapping)[20]、LSD-SLAM(large scale direct SLAM)[21]、ORB-SLAM[6]等算法,在室內外多種場景下驗證了方法的有效性,但當環境中光線、外觀等變化較明顯,或機器人視角變化較大時,由于視覺特征敏感性,這些方法易因前端的誤匹配而影響建圖與定位。

圖3 地圖構建方法Fig.3 Map construction methods
定位是求取當前機器人在已有地圖中的位姿。從傳感器種類來看,可以分為視覺定位、激光定位等。按時間跨度分類,可以分為短期定位和長期定位。其中,長期定位著重考察算法在較長一段時間內的定位效果,算法需要適應光照、季節、環境變遷等變化。按先驗知識分類,可以分為有先驗和無先驗兩類,其中有先驗定位常稱為位姿跟蹤,無先驗定位則稱為全局定位。
目前,有先驗的短期定位最為成熟。激光定位經歷了從幀間匹配到幀與地圖匹配的變化。幀間匹配丟棄了歷史數據信息,定位效果一般。在建立好的激光地圖上,通過ICP算法實現了二維位姿估計[22]。隨著三維激光雷達的普及,研究開始集中在三維激光定位。文獻[23]對比了若干ICP變種方法的定位精度,并提供了成熟的開源實現方法;文獻[24]借助正態分布變換(NDT),將地圖柵格化并計算每個柵格的點云分布情況,通過極大化地圖分布與實時激光數據,與已知地圖進行匹配,最后通過圖優化的方法得到定位信息;文獻[25]提出了采用高斯混合模型的稀疏三維點云匹配方法,用局部連續表面不確定性表征數據點,用多層分段高斯混合模型表達隱表面并靈活匹配,提高了匹配定位對初值誤差的魯棒性和收斂速度。另一類方法從稠密匹配出發,通過最小化光度誤差求取當前數據與稠密地圖之間的位姿[26],如圖4所示。

圖4 有先驗的短期定位Fig.4 Short-term localization with priori
無先驗的短期定位要求算法在已知地圖中尋找與當前數據最匹配的位姿。由于搜索空間變大,算法面臨著效率和精度兩個問題。該類方法中,對地圖的表現形式可分為兩類:基于地圖和基于關鍵幀。基于地圖的方法利用全局地圖信息,如通過對三維激光進行分割、描述,建立實時激光數據與地圖之間的關聯,從而得到激光位姿。視覺類算法偏向于利用關鍵幀,即在相機運動軌跡上采用距離等策略選擇若干圖像數據作為搜索的數據庫[27],如圖5所示。利用詞袋模型,對圖像的視覺特征描述子進行詞頻分析,對每張圖片進行編碼,從關鍵幀數據庫中快速搜索最相似的圖像,從而實現全局定位[28]。某些場合下,全局定位不要求給出具體位姿,只需給出最接近的歷史數據,學習類方法效果較好,尤其是將卷積神經網絡應用于視覺全局定位方面[25]。

圖5 無先驗的短期定位Fig.5 Short-term localization without priori
長期定位中,最大的挑戰來源于環境變化。如果用短期類問題的匹配方法,大量錯誤匹配會淹沒稀少的正確匹配。由于結構特征通常不會發生劇變,激光傳感器不失為一個更好的選擇。實驗發現,當環境的結構沒有發生較大改變時,傳統激光定位具有較高的魯棒性。由于視覺傳感器受光照影響很大,日夜變化、季節變遷等非結構變化會對長期視覺定位帶來極大挑戰。如圖6所示,有研究者利用結構特征穩定的特點,從視覺觀測中恢復結構特征,從而實現長期定位。利用特征點恢復結構信息,在激光地圖上尋找最匹配的激光點,通過特征圖優化實現六自由度定位[29]。利用雙目相機恢復深度圖,與激光投影得到的深度圖進行稠密匹配,實現定位[30]。通過對環境的多次觀測學習激光地圖中與視覺點云具有一致性的穩定子集,并設計相應的觀測模型,以將地圖信息緊耦合于視覺里程的圖模型中,實現視覺定位[31]。

圖6 基于異構定位的長期定位Fig.6 Long-term localization based on heterogeneous localization
導航是規劃機器人在空間中從起始狀態到目標狀態的運動過程,運動過程需要滿足機器人運動學約束、無碰安全、高效可靠等條件。經過幾十年的研究,導航規劃已經成為移動機器人較為重要和成熟的一個模塊。
根據規劃層面和任務屬性的不同,導航規劃可以分為路徑規劃、避障規劃和軌跡規劃。這三個部分的規劃是從全局到局部,從地圖空間到機器人本體,從空間路徑到控制指令,但各部分并沒有明確的界限,存在融合多種功能的規劃算法,比如Dijkstra算法[32]可以實現全局路徑規劃和局部避障,HART等[33]融合了機器人運動學約束和路徑規劃,TEB算法則融合了全局路徑規劃、局部動態避障和軌跡規劃,用多目標優化的思路將起點狀態到終點狀態用一根橡皮筋抽象連接,各種目標和約束函數(時間、平滑、運動學等)讓這條線發生形變,最終得到滿足目標和約束的運動規劃。
近年來面向人機共融發展需求,具有社會性的行為規劃也成為移動機器人領域一個新的研究熱點。其中一種方式是采用有限狀態機推導機器人的行為規劃。例如,在DARPA Urban Challenge比賽中采用該方法解決路口復雜環境中機器人的行為決策問題[34],或者采用馬爾可夫決策(MDP)[35]和有限馬爾可夫決策(POMDP)[36]描述狀態轉移過程。另一種方式是采用學習的方法,利用機器人移動經驗或人為遙控操作,通過支持向量機[37]、逆強化學習[38]等方法學習一些社會規則,并利用這種社會性質的行為規劃解決高動態環境下移動機器人的僵持問題[39]。
自主移動技術已經取得了多方面進展,其有效性已在部分地面應用場景中得到驗證,但面向各種復雜大范圍環境如何實現長期穩定自主運行仍在進一步研究中。星面探測是一種特殊場景下的應用,星面環境與地面環境相比存在很多的特殊性,這為自主移動技術帶來了新的挑戰。
首先,星面探測機器人自主移動需要考慮兩方面需求。一方面是對未知環境的探索需求,需要機器人具有對未知環境的探測規劃能力、自主地圖構建能力以及回訪定位導航能力,既能實現對未知環境的大范圍高效探測,能夠對探測環境進行建模或數據回傳下的建模,又能夠確保回到機器人基地,為后續探測和其他作業做準備。另一方面是在已探測環境下的作業需求,需要機器人能夠適應環境光照等變化,實現當前感知與已建環境模型之間的準確匹配定位,并根據定位與目標進行導航規劃。因此,與地面自主移動機器人研究類似,星面自主移動探測機器人同樣需要解決環境地圖構建、準確里程估計、自主魯棒定位、導航規劃等問題,
其次,星面環境廣闊且以未知為主,缺少地面自主移動應用環境常見的通用標識和設施,而星面機器人需要在環境中進行長期魯棒自主運行。目前地面無人駕駛在高速公路上的實現得益于全球定位系統(GPS)定位和公路上明顯的車道線,工廠內搬運機器人自主移動的實現是依賴于環境中磁釘、磁條、二維碼、激光反射板等人工部署的標識。近幾年實現的自然導航AGV可不依賴于人工部署標識,但需要利用環境中的結構信息。因此,在缺少通用標識和設施的條件下進行長期魯棒自主移動是需要解決的重要問題,而星面應用主要依靠視覺傳感器進行地圖構建和定位導航,對算法適應環境光照變化的性能提出了很高的要求。
第三,星面探測機器人機載資源有限,限制了算法的復雜性和信息的存儲。對于定位來講,地圖信息越豐富,定位的魯棒性和精確性越高,但對存儲的要求和定位計算資源的要求也越高。在有限資源條件下,應該考慮在確保定位魯棒性和準確性條件下的地圖壓縮。
第四,星面地形多樣,有高原、山脈、平原、低地和環形山等,對移動機器人的通行能力提出了要求,自主移動定位導航單元需要與所用移動機構相結合。例如腿足運動能很好地適應地面的不平整和不連續,但會造成感知單元上下晃動較明顯,并由于落腳點規劃需求而對近距離范圍內的環境感知精細度提出了更高的要求。
針對星面自主移動探測同時解決探測規劃的需求,早期自主移動領域曾對該問題進行了探討,提出采用熵進行信息量評估,例如通過最大化信息熵的方法貪婪搜索下一個最佳探測點[40]。但這些研究并未考慮星面環境和星面機器人的特點,其有效性有待進一步研究驗證。
針對缺少通用標識和設施條件下進行長期魯棒自主移動的需求,有兩個解決路徑可以考慮。一是提升地圖構建和定位算法前端數據關聯對環境變化的魯棒性,特別是回訪或再次探測時由視角和光照帶來的影響。目前研究人員在該方向進行了探索。唐立等[41]提出了基于拓撲局部尺度地圖的定位導航算法,在沒有全局坐標的假設下,以參考節點為中心進行定位,并引導機器人自主導航;在此基礎上提出記憶機制,不斷豐富地圖中的信息,從而提高定位成功率。焦艷梅等[42]提出基于點線特征的機器人魯棒視覺慣性定位方法,一方面同時利用視覺點特征和線特征增加候選特征的絕對數量實現正確匹配數量的提升,對環境光照等變化的魯棒性更高;另一方面利用慣性測量單元的重力測量實現自由度降維并推導出最小參數位姿估計解析解,減少RANSAC過程中每次采樣需要的樣本個數,增強定位魯棒性。MERRILL等[43]提出利用自動編碼器學習不變特征,他們通過重構梯度直方圖(HOG)特征,使中間特征層能適應較大的光照變化,并通過拉伸輸入圖像,提高特征對視角的魯棒性。從本質上講,星面移動機器人進行一般導航時對定位精度要求不高,因此,另一個可以考慮的策略是在粗糙地圖和粗糙定位或定位缺失下的智能導航,例如利用地面人工標注路徑的衛星地圖,基于當前感知與衛星地圖的匹配實現探測、導航和回航。
針對有限資源條件下,在確保定位魯棒性和準確性前提下的地圖壓縮需求,王越等[44]根據Kullbach-Leibler復雜度衡量,提出了基于特征信息量的地圖修剪方法。該方法能夠控制地圖的復雜程度,并在公共數據集上充分驗證其有效性。SOO等[45]將地圖數量壓縮問題轉化為整數規劃問題,并有效地解決了視覺點數量過多的問題。基于規劃的方法能夠在減少地圖點數之后,同樣保持機器人的定位魯棒性,這使其在后續的地圖壓縮研究中成為主流[46]。上述方法是從本機算法和存儲輕量化角度出發,另一種思路是實現星面探測機器人與星面基站的協同計算,但需要考慮機器人與基站之間的通信條件有限,存在時滯丟包等現象,因此需要研究通信有限條件下的云-端協同定位問題。為此,丁夏清等[47]提出了端云協作的視覺定位框架,在機器人本體端運行計算資源需求量較少的視覺-慣性里程計,將處理后的局部地圖信息發送至云端;云端存儲有整體環境地圖,在接收到機器人端的數據后,將進行資源需求量較大的定位計算,并將全局定位結果發送回機器人。本地機器人通過擴展卡爾曼濾波算法融合機器人實時位姿與云端傳回的延遲定位結果,從而實現本體端的實時全局定位。
針對探索環節中構建稠密地圖的需求,一個研究方向是構建可變形的稠密地圖。在機器人長期的探索任務操作過程中,由于累積性的相機跟蹤誤差與回環檢測的延遲使稠密地圖的建立變得不一致等問題,建立可變形的稠密環境地圖能夠有效控制累積誤差,實現全局一致的稠密可行域地圖構建。
針對星表環節傳統點特征重復性差等問題,一個研究方向是借助其他設備的俯視視野,比如無人機或近表面的衛星圖,并通過尋找大面積特征,來實現匹配。這對跨視野的特征匹配以及多設備的協同定位提出了要求。借助俯視視野的大視角特性,星表移動機器人的累積誤差可進一步減小。
為推動星面探測機器人自主移動能力的發展,借鑒目前快速發展的無人駕駛技術和地面自主移動技術,歸納總結了目前星面探測移動技術的研究現狀和存在的問題,以及目前地面自主移動研究取得的進展。星面探測是一種特殊場景下的應用,星面環境與地面環境相比存在很多的特殊性。在結合星面探測應用特殊性的基礎上,提出了未來在長期定位和可變形重建領域開展更深入研究的建議。后續將著眼于長期定位的魯棒性和準確性,以及可變形重建的實現。