機器人在未知環境中從一個未知位置開始移動,在移動過程中根據位置估計和傳感器數據進行自身定位,同時逐步完善和構建完整地圖,這就是一個SLAM的過程。在SLAM中,機器人利用自身攜帶的傳感器識別未知環境中的特征標志,然后根據機器人與特征標志之間的相對位置和里程計的讀數估計機器人和特征標志的全局坐標。這種在線的定位與地圖創建需要保持機器人與特征標志之間的詳細信息。近幾年來,SLAM的研究取得了很大的進展,并已應用于各種不同的環境,如:機器人、AR、VR、無人機、自動駕駛等。
SLAM的關鍵性問題
1.地圖的表示方式
目前,常見的地圖表示方法大致可分為三類:柵格表示、幾何信息表示和拓撲圖表示,每種方法都有自己的優缺點。
(1)柵格地圖
柵格地圖即是將整個環境分為若干相同大小的柵格,對于每個柵格各指出其中是否存在障礙物。
優點:
創建和維護容易,盡量的保留了整個環境的各種信息;
借助于該地圖,可以方便地進行自定位和路徑規劃;
缺點:
當柵格數量增大時(在大規模環境或對環境劃分比較詳細時),對地圖的維護行為將變得困難,同時定位過程中搜索空間很大,如果沒有較好的簡化算法,實現實時應用比較困難。
(2)幾何信息地圖
幾何信息地圖表示法是指機器人收集對環境的感知信息,從中提取更為抽象的幾何特征,例如線段或曲線,使用這些幾何信息描述環境。
優點:
更為緊湊,且便于位置估計和目標識別;
幾何方法利用卡爾曼濾波在局部區域內可獲得較高精度,且計算量小;
缺點:
幾何信息的提取需要對感知信息作額外處理,且需要一定數量的感知數據才能得到結果;
在廣域環境中難以維持***的坐標信息;
(3)拓撲地圖
拓撲地圖抽象度高,特別在環境大而簡單時。這種方法將環境表示為一張拓撲意義中的圖(graph),圖中的節點對應于環境中的一個特征狀態、地點。如果節點間存在直接連接的路徑則相當于圖中連接節點的弧。
優點:
有利于進一步的路徑和任務規劃;
存儲和搜索空間都比較小,計算效率高;
可以使用很多現有成熟、高效的搜索和推理算法;
缺點:
使用時要建立在對拓撲節點的識別匹配基礎上的,如當環境中存在兩個很相似的地方時,拓撲圖方法將很難確定這是否為同一點;
2.不確定信息的描述
在環境完全未知的情況下,機器人想要建圖并行走,必須借助其他傳感器得到信息,如里程計、聲納、激光測距儀、視覺等。由于傳感器自身的限制,感知信息存在不同程度的不確定性,例如激光測距儀的不確定性主要來自距離的測量誤差以及反光鏡旋轉和激光散射引起的測量角誤差。
如何實現機器人在未知環境中的定位、建圖及移動?
如上圖所示,感知信息的不確定性必然導致所構建的環境模型也不可能是完全***的,同樣,當依靠模型和感知進行決策時也帶有不確定性,即不確定性具有傳遞性。
對不確定性進行度量的方法主要有概率度量、信任度量、可能性度量、模糊度量和證據理論等。目前,在AMR地圖構建中使用較多的是概率度量和模糊度量。概率度量主要存在兩種形式:
(1)以均值、方差和協方差等概率特征來描述不確定信息。這種度量方法的優點是均值等概率特征具有明確的幾何意義,缺點是概率特征的離散計算公式還沒有確定的形式;
(2)以概率模型來描述不確定信息,主要采用Bayes法則與Markov假設。這種度量方法的優點是以隨機概率模型描述機器人的位姿和環境信息,魯棒性非常好,缺點是概率模型的計算量非常大而且必須事先知道模型的先驗概率,給實際應用造成了困難。
3.定位與環境特征提取
移動機器人自定位與環境建模問題是緊密相關的。環境模型的準確性依賴于定位精度,而定位的實現又離不開環境模型。在未知環境中,機器人沒有什么參照物,只能依靠自己并不十分準確的傳感器來獲取外界信息,如同一個盲人在一個陌生環境中摸索的情況。這種情況下,定位是比較困難的。有地圖的定位和有定位的地圖創建都是容易解決的,但無地圖的定位和未解決定位的地圖創建如同"雞--蛋"問題,無從下手。
已有的研究中對這類問題的解決方法可分為兩類:
(1)利用自身攜帶的多種內部傳感器(包括里程儀、羅盤、加速度計等),通過多種傳感信息的融合減少定位的誤差,使用的融合算法多為基于卡爾曼濾波的方法。這類方法由于沒有參考外部信息,在長時間的漫游后誤差的積累會比較大。
(2)在依靠內部傳感器估計自身運動的同時,使用外部傳感器(如激光測距儀、視覺等)感知環境,對獲得的信息進行分析提取環境特征并保存,在下一步通過對環境特征的比較對自身位置進行校正。但這種方法依賴于能夠取得環境特征。
環境特征提取的方法有:
1).Hough transform是一類基于灰度圖檢測直線和其他曲線的方法。該方法需要一簇能被搜索的預先準備的特定曲線,并根據顯示的灰度圖中一簇曲線產生曲線參數。
2).Clustering分析是一種數據探測工具,對于未分類樣例是有效的,同時,它的目標就是把所針對對象分組成自然類別或基于相似性或距離的簇類。在被提取對象類別未知的情況中,簇技術是一類比HoughTransform更有效的技術。簇類應是以“凝聚”為中心,而不是支離破碎的、不相交的。而環境特征有時是很難提取出的,例如:環境特征不夠明顯時或者傳感器信息比較少,難以從一次感知信息中獲得環境特征。
4.數據關聯
數據關聯是對兩個特征標志進行匹配,確定它們是否對應環境中的同一物體。SLAM中的數據關聯主要需要完成三個任務:
(1)新特征標志的檢測;
(2)特征標志的匹配;
(3)地圖之間的匹配;
雖然在目標跟蹤、傳感融合等領域,數據關聯已經得到較好的解決,但是這些方法的計算量大,不能滿足SLAM的實時性要求。實現m個標志與擁有n個標志的地圖之間的數據關聯的復雜度與m之間呈指數關系,假設每個觀測到的標志i有 個可能的匹配,那么對于m個標志需要在指數空間 = 中搜索正確的匹配。數據關聯的搜索空間與環境的復雜程度以及機器人的定位誤差有關,環境的復雜程度的增加會使m增大,而誤差的增大會使Ni 增大。
5.累積誤差
SLAM中的誤差主要來自三個方面:
(1) 觀測誤差;
(2) 里程計的誤差;
(3) 錯誤的數據關聯帶來的誤差;
當機器人在已知地圖的環境中進行定位時,機器人可以通過觀測位置已知的特征標志對里程計的誤差進行補償,每一次觀測使機器人的位置誤差趨向于觀測誤差與特征標志的位置誤差之和。
然而在SLAM中,由于機器人的位置和環境中的特征標志的位置都是未知的,觀測信息不能有效糾正里程計的誤差,機器人的位置誤差隨著機器人的運動距離而增大。而機器人的位置誤差的增大將導致錯誤的數據關聯,從而增大特征標志的位置誤差:反過來,特征標志的誤差又將增大機器人的位置誤差。因此,機器人的位置誤差與特征標志的位置誤差密切相關。它們之間的相互影響使機器人和特征標志的位置估計產生累計誤差,難以保證地圖的一致性。
了解更多 歐姆龍機器人