經(jīng)歷了近30余年的發(fā)展,SLAM技術(shù)已日益成熟,從最早在軍事中應(yīng)用,如勇氣號(hào)火星探測(cè)車(chē),為了執(zhí)行任務(wù),借助SLAM技術(shù)在無(wú)法實(shí)時(shí)遙控的未知行星上來(lái)進(jìn)行導(dǎo)航與避障。到如今,SLAM技術(shù)已廣泛應(yīng)用于民用場(chǎng)所,小到家庭中的掃地機(jī),大到無(wú)人駕駛的汽車(chē)都應(yīng)用了SLAM技術(shù),以及在AR及VR領(lǐng)域均有SLAM技術(shù)的身影。
SLAM,自主移動(dòng)的核心技術(shù)
正常來(lái)說(shuō),凡涉及到自主移動(dòng)的機(jī)器人都離不開(kāi)SLAM技術(shù),SLAM通過(guò)傳感器獲取的信息來(lái)進(jìn)行當(dāng)前位姿的推算、軌跡估計(jì)與環(huán)境建圖,相比傳統(tǒng)的衛(wèi)星導(dǎo)航、慣性導(dǎo)航、路標(biāo)導(dǎo)航等定位方式,SLAM技術(shù)的所有算法都是圍繞傳感器收集的信息來(lái)展開(kāi)的。
總體來(lái)說(shuō),SLAM技術(shù)大致包含了感知、定位、建圖三個(gè)過(guò)程:
感知——機(jī)器人通過(guò)傳感器(激光雷達(dá)或視覺(jué)傳感器)來(lái)獲取周?chē)h(huán)境的信息。
定位——通過(guò)傳感器實(shí)時(shí)獲取自身位置及姿態(tài)。
建圖——根據(jù)自身位置及傳感器獲取的信息,描述出當(dāng)下所在環(huán)境的地圖
感知是實(shí)現(xiàn)SLAM的必要條件,只有先感知到周?chē)沫h(huán)境信息,才能可靠確定定位及構(gòu)建環(huán)境地圖。
當(dāng)下主流的SLAM技術(shù)
在SLAM技術(shù)中包含了激光SLAM與視覺(jué)SLAM兩大類(lèi),其中激光SLAM是目前應(yīng)用最廣泛也最為成熟的SLAM技術(shù),在掃地機(jī)器人、送餐機(jī)器人、導(dǎo)購(gòu)機(jī)器人等服務(wù)機(jī)器人中普遍搭載了激光SLAM,激光雷達(dá)的出現(xiàn)使得測(cè)量更快更精準(zhǔn),信息也更為豐富。
激光雷達(dá)可對(duì)周?chē)矬w實(shí)現(xiàn)360度全方位掃描測(cè)距,其采集到的物體信息會(huì)呈現(xiàn)出一系列分散的、具有準(zhǔn)確角度和距離信息的點(diǎn),被稱(chēng)為點(diǎn)云。通常激光SLAM系統(tǒng)通過(guò)對(duì)不同時(shí)刻兩片點(diǎn)云的匹配與比對(duì),計(jì)算激光雷達(dá)相對(duì)運(yùn)動(dòng)的距離和姿態(tài)的改變,也就完成了對(duì)機(jī)器人自身的定位。
相對(duì)來(lái)說(shuō),激光雷達(dá)距離測(cè)量比較精準(zhǔn),誤差模型簡(jiǎn)單,在強(qiáng)光直射外的環(huán)境中運(yùn)行穩(wěn)定、點(diǎn)云的數(shù)據(jù)處理也較為容易,因點(diǎn)云信息本身包含直接的幾何關(guān)系,所以機(jī)器人的路徑規(guī)劃及導(dǎo)航也變得更為直觀。
總體來(lái)說(shuō),激光SLAM理論研究更為成熟、落地也更為豐富。
SLAM技術(shù)是如何實(shí)現(xiàn)的?
以下是一個(gè)完整的SLAM和導(dǎo)航系統(tǒng)的主要框架圖:
在SLAM技術(shù)核心過(guò)程主要包含:預(yù)處理、匹配、地圖融合這3個(gè)主要步驟。
1.預(yù)處理
激光雷達(dá)和其他類(lèi)似設(shè)備一樣,在某一時(shí)刻只能獲取它所在位置的環(huán)境信息。
上圖就是我們所說(shuō)的點(diǎn)云,它只能反映機(jī)器人所在環(huán)境中的一個(gè)部分。而預(yù)處理主要是對(duì)激光雷達(dá)原始數(shù)據(jù)進(jìn)行優(yōu)化,并將一些有問(wèn)題的數(shù)據(jù)進(jìn)行剔除,或進(jìn)行濾波。
2.匹配
匹配是很關(guān)鍵的一步,它的好壞將會(huì)直接影響SLAM構(gòu)建的地圖精度,其主要是把當(dāng)前在局部環(huán)境上的一個(gè)點(diǎn)云數(shù)據(jù),在已經(jīng)建立地圖上尋找到對(duì)應(yīng)的位置。與我們玩的拼圖游戲有點(diǎn)相似,就是在已經(jīng)拼好的畫(huà)面中找到相似之處,確定新的拼圖該放的位置。而在SLAM過(guò)程中,需要將激光雷達(dá)當(dāng)前采集的點(diǎn)云(紅色部分)匹配拼接到原有地圖中。
如果不進(jìn)行匹配的過(guò)程,所構(gòu)建的地圖可能就亂成一團(tuán),導(dǎo)致機(jī)器人無(wú)法使用。
?3.地圖融合
地圖融合就是將來(lái)自激光雷達(dá)的新數(shù)據(jù)拼接到原始地圖中,最終完成地圖的更新。
如下圖,該過(guò)程是永遠(yuǎn)伴隨SLAM過(guò)程的。
數(shù)據(jù)融合與簡(jiǎn)單的貼圖是有很大差異的,因?yàn)橥獠凯h(huán)境不僅有靜態(tài)的,還有動(dòng)態(tài)的,此時(shí),如果在機(jī)器人旁邊闖入了一只小狗,實(shí)際在進(jìn)程數(shù)據(jù)融合的過(guò)程會(huì)更為復(fù)雜,需要用到很多概率算法,且處理難度很大。
舉例來(lái)說(shuō),如果遇到回環(huán)問(wèn)題,匹配算法不夠優(yōu)秀,或者在環(huán)境中存在很不巧的干擾,當(dāng)機(jī)器人繞著環(huán)境走一圈后,便有可能出現(xiàn)原本應(yīng)該閉合的一個(gè)環(huán)形走廊斷開(kāi)了。
比如正常地圖應(yīng)該這樣:
?但如果處理不好,實(shí)際地圖就有可能變成這樣:
?
在環(huán)境較大場(chǎng)景,回環(huán)問(wèn)題是不得不面對(duì)的,但現(xiàn)實(shí)總是不理想,即使擁有了高精度的激光雷達(dá)傳感器,也難免存在一定誤差,而回環(huán)的難點(diǎn)在于,在一開(kāi)始的少許誤差并不會(huì)被發(fā)覺(jué),直到機(jī)器人走完一圈后,隨著誤差的不斷累積,導(dǎo)致了環(huán)路無(wú)法閉合,出現(xiàn)這種情況一般很難回天。
當(dāng)然,并不是說(shuō)出現(xiàn)該問(wèn)題就沒(méi)有解決方法了,一個(gè)好的商用化SLAM系統(tǒng)就能很好的解決環(huán)境問(wèn)題。
以下是思嵐科技員工在他們辦公室進(jìn)行的測(cè)試,當(dāng)機(jī)器人已經(jīng)繞場(chǎng)一周后,ROS構(gòu)建的地圖出現(xiàn)了中斷,而利用SLAMWARE模塊構(gòu)建的地圖是一個(gè)完美的閉環(huán),它與思嵐科技辦公室的設(shè)計(jì)圖完美重合。
除了算法層面的回環(huán)問(wèn)題,SLAM技術(shù)實(shí)際應(yīng)用中還會(huì)碰到其他坑,比如走廊問(wèn)題與外界干擾問(wèn)題。以外界干擾問(wèn)題來(lái)說(shuō),通常,激光雷達(dá)作為機(jī)器人的眼睛,一般是安裝在底盤(pán)上的,它能看到的視野很有限。當(dāng)受到外界干擾(人類(lèi)或者寵物等等)后,機(jī)器人很容易丟失定位精度,無(wú)法正常完成后續(xù)的建圖工作。
當(dāng)機(jī)器人安裝SLAMWARE后,機(jī)器人受到干擾,可以完全不受影響,照樣能夠正常工作。目前,SLAM的開(kāi)源實(shí)現(xiàn)代表多為學(xué)術(shù)界,實(shí)際應(yīng)用有很多corner case要處理,需要傳感器、系統(tǒng)參數(shù)、其他輔助設(shè)備的聯(lián)合調(diào)優(yōu)。
一般來(lái)說(shuō),上述的SLAM過(guò)程對(duì)于運(yùn)算消耗是巨大的,雖然并沒(méi)有達(dá)到像訓(xùn)練神經(jīng)網(wǎng)絡(luò)動(dòng)用服務(wù)器集群那種地步,但傳統(tǒng)上需要PC級(jí)別的處理器。
除配備激光雷達(dá)外,還需要機(jī)器人具有IMU(慣性測(cè)量單元)、里程計(jì)來(lái)為激光雷達(dá)提供輔助數(shù)據(jù),否則SLAM系統(tǒng)也難以得到運(yùn)行。總的來(lái)說(shuō),SLAM技術(shù)本身是一個(gè)對(duì)于外部系統(tǒng)有著多種依賴(lài)的算法,這是一個(gè)切實(shí)的工程問(wèn)題。我們知道很多機(jī)器人,比如掃地機(jī)是不可能裝一個(gè)PC進(jìn)去的。為了讓SLAM能在這類(lèi)設(shè)備里運(yùn)行,除了解決激光雷達(dá)成本外,還要對(duì)SLAM技術(shù)做出很好的優(yōu)化。
思嵐科技一直在朝這個(gè)方向努力,一方面在SLAM算法上很好的解決了各類(lèi)實(shí)際算法難點(diǎn),另一方面,把SLAM這個(gè)復(fù)雜的系統(tǒng)做了很大的優(yōu)化,可以放到一個(gè)硬幣那么大的模塊內(nèi)部,降低尺寸功耗。此外,還集成了IMU等配套傳感器,力求做到對(duì)于SLAM的使用的便捷性。
另外,為了幫助機(jī)器人適應(yīng)多種應(yīng)用環(huán)境,思嵐科技日前已推出了全新的SLAM 3.0系統(tǒng),即使面對(duì)復(fù)查的大場(chǎng)景,機(jī)器人也能輕松完成導(dǎo)航任務(wù),相比傳統(tǒng)SLAM,升級(jí)后的SLAM 3.0系統(tǒng)采用了圖優(yōu)化方式進(jìn)行構(gòu)圖,能實(shí)現(xiàn)百萬(wàn)平米級(jí)別的地圖構(gòu)建能力,同時(shí)擁有主動(dòng)式回環(huán)閉合糾正能力,能很好消除長(zhǎng)時(shí)間運(yùn)行導(dǎo)致的里程累計(jì)誤差,成為目前行業(yè)中最受歡迎的定位導(dǎo)航方式。目前在SLAMWARE及思嵐科技最新平臺(tái)產(chǎn)品均采用了最新的SLAM 3.0技術(shù),配合激光雷達(dá)在商用復(fù)雜環(huán)境中應(yīng)用已逐漸普及。
關(guān)鍵字:SLAM技术,SLAM技术的具体实现,SLAM技术的实现步骤