SLAM是Simultaneous Localization and Ming的縮寫,意為“同時(shí)定位與建圖”。是機(jī)器人在位置環(huán)境中的一個(gè)未知位置開始移動(dòng),并在移動(dòng)過程中根據(jù)傳感器的信息,一邊計(jì)算自身位置,一邊構(gòu)建環(huán)境地圖,從而實(shí)現(xiàn)機(jī)器人的自主定位和導(dǎo)航。
目前,SLAM的應(yīng)用領(lǐng)域主要有機(jī)器人、虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)。其用途包括傳感器自身的定位,以及后續(xù)的路徑規(guī)劃、場(chǎng)景理解。
隨著傳感器種類和安裝方式的不同,SLAM的實(shí)現(xiàn)方式和難度會(huì)有很大差異。按傳感器來分,SLAM主要分為激光、視覺兩大類。其中,激光SLAM研究較早,理論和工程均比較成熟。視覺方案目前大部分還處于實(shí)驗(yàn)室研究階段,實(shí)際產(chǎn)品應(yīng)用相對(duì)較少。
激光雷達(dá)是研究最多、使用最成熟的深度傳感器,可以直接獲得相對(duì)于環(huán)境的直接距離信息,從而實(shí)現(xiàn)直接相對(duì)定位,很多常見的掃地機(jī)器人都有裝配。
一種是單目攝像頭,就是用一個(gè)攝像頭完成SLAM。這種方案的傳感器相對(duì)簡(jiǎn)單,適用性強(qiáng),但單目攝像頭無法再靜止?fàn)顟B(tài)測(cè)量距離,只有在動(dòng)態(tài)狀態(tài)下才能根據(jù)三角測(cè)量等原理感知距離。
另一種是雙目攝像頭,與單目攝像頭相比,雙目攝像頭可以感知距離信息,但是標(biāo)定相對(duì)復(fù)雜,大量的圖像數(shù)據(jù)會(huì)導(dǎo)致運(yùn)算量過大。
還有一種是RGB-D攝像頭是一種新興起的新型傳感器,它不僅可以獲取環(huán)境的RGB信息,也可以通過紅外結(jié)構(gòu)光、Time-of-Flight等原理獲取每一個(gè)像素點(diǎn)的深度信息。由于多了一組深度信息的數(shù)據(jù),使得RGB-D攝像頭不僅可以用于SLAM,還可以用于圖像處理、物體識(shí)別等多個(gè)方面。
在動(dòng)態(tài)環(huán)境又分為高動(dòng)態(tài)環(huán)境和低動(dòng)態(tài)環(huán)境;如果機(jī)器人在構(gòu)建地圖時(shí),在視野范圍內(nèi)有正在移動(dòng)的物體,這種情況定義為高動(dòng)態(tài)環(huán)境;如果機(jī)器人在構(gòu)建地圖時(shí),在視野范圍外有移動(dòng)的物體,這種情況定義為低動(dòng)態(tài)環(huán)境。
在靜態(tài)環(huán)境中,根據(jù)輸出地圖的類型可以分為三種:尺度地圖、拓?fù)涞貓D、混合地圖。
拓?fù)涞貓D主要是在環(huán)境較大的情況下使用,它可以將環(huán)境簡(jiǎn)化成一個(gè)個(gè)點(diǎn),如果兩點(diǎn)相連我們?cè)龠B一條邊,這條邊的長(zhǎng)度就是連個(gè)點(diǎn)之間的距離。
混合地圖就是在一個(gè)拓?fù)涞貓D的每一個(gè)點(diǎn)上都依附一個(gè)尺度地圖。而構(gòu)建尺度地圖的方法主要有兩種,一種是基于貝葉斯濾波器的構(gòu)建方法,另一種是基于圖優(yōu)化的構(gòu)建方法。
對(duì)于SLAM來說,可獲取的傳感器信息一般有里程計(jì)、激光雷達(dá)數(shù)據(jù)以及IMU數(shù)據(jù),對(duì)于里程計(jì)數(shù)據(jù),最常見的有兩輪差速運(yùn)動(dòng)模型和三輪全向底盤運(yùn)動(dòng)模型;而激光雷達(dá)數(shù)據(jù)則會(huì)由于傳感器的移動(dòng)而導(dǎo)致的采集回的數(shù)據(jù)產(chǎn)生畸變,需要通過估計(jì)或者里程計(jì)輔助等方法對(duì)畸變進(jìn)行矯正。
在實(shí)現(xiàn)前端配準(zhǔn)需要考慮特征點(diǎn),根據(jù)輸入激光數(shù)據(jù)提取特征,之后再對(duì)兩幀數(shù)據(jù)的特征點(diǎn)位置進(jìn)行匹配。當(dāng)然我們僅僅憑借兩幀的估計(jì)往往是不夠的,我們會(huì)把特征點(diǎn)緩存成一個(gè)小地圖,九游體育官網(wǎng)計(jì)算當(dāng)前幀與地圖之間的位置關(guān)系。這樣才能算的上是一個(gè)完整的前端配準(zhǔn)方法。
在后端優(yōu)化上,我們通常需要考慮更長(zhǎng)一段時(shí)間或者所有時(shí)間上的狀態(tài)估計(jì)問題,不僅僅使用過去的信息更新自己的狀態(tài),也會(huì)用未來的信息來更新自己。在SLAM的過程中由于可以用運(yùn)動(dòng)方程和觀測(cè)方程描述,那么我們可以列出運(yùn)動(dòng)觀測(cè)方程:
如果只像前端配準(zhǔn)那樣考慮相鄰時(shí)間上的關(guān)聯(lián),那么之前產(chǎn)生的誤差將不可避免地累積到下一個(gè)時(shí)刻,使得整個(gè)SLAM出現(xiàn)累積誤差,無法長(zhǎng)期估計(jì)。而在后端雖然能估計(jì)最大后驗(yàn)誤差,但只有相鄰關(guān)鍵數(shù)據(jù)時(shí),我們能做的事情并不是很多,無法消除累積誤差?;丨h(huán)檢測(cè)對(duì)SALM系統(tǒng)的意義重大,他關(guān)系到我們估計(jì)的軌跡和地圖在長(zhǎng)時(shí)間下的正確性,當(dāng)然也提供了當(dāng)前數(shù)據(jù)與所有歷史數(shù)據(jù)的關(guān)聯(lián),在跟蹤算法求職后,我們還可以利用會(huì)還檢測(cè)進(jìn)行重定位。因此,回環(huán)檢測(cè)對(duì)整個(gè)SLAM系統(tǒng)精度與穩(wěn)健性的提升是非常明顯的。
在SLAM模型中,我們的地圖就是所有路標(biāo)點(diǎn)的集合,一旦確定了各個(gè)路標(biāo)點(diǎn)的位置,那么就可以說我們完成了建圖。但即使是地圖,也會(huì)有許多不同的需求,可大致分為:定位、導(dǎo)航、避障、重現(xiàn)、交互這五個(gè)方面。
【智車聯(lián)盟】專注于智能網(wǎng)聯(lián)汽車產(chǎn)業(yè)鏈領(lǐng)域最先進(jìn)技術(shù)資料和核心開源代碼,搭建產(chǎn)業(yè)合作平臺(tái)、 技術(shù)交流平臺(tái)、 行業(yè)資訊平臺(tái)和產(chǎn)品交易平臺(tái)。如果您有投稿,品牌推廣和項(xiàng)目合作業(yè)務(wù)需求,請(qǐng)聯(lián)系我們【 手機(jī)同微信】
【智車聯(lián)盟】智能三電、 智能駕駛、 智能網(wǎng)聯(lián)、 智能交互產(chǎn)業(yè)社群招募中,歡迎感興趣的朋友掃以下二維碼申請(qǐng)入群。加號(hào)時(shí)請(qǐng)注明【姓名-公司】