當(dāng)今科技發(fā)展速度飛快,想讓用戶在AR/VR、機(jī)器人、無(wú)人機(jī)、無(wú)人駕駛領(lǐng)域體驗(yàn)加強(qiáng),還是需要更多前沿技術(shù)做支持,SLAM就是其中之一。實(shí)際上,有人就曾打比方,若是手機(jī)離開了WIFI和數(shù)據(jù)網(wǎng)絡(luò),就像無(wú)人車和機(jī)器人,離開了SLAM一樣。
什么是SLAM
SLAM的英文全稱是Simultaneous Localization and Mapping,中文稱作“同時(shí)定位與地圖創(chuàng)建”。
SLAM試圖解決這樣的問題:一個(gè)機(jī)器人在未知的環(huán)境中運(yùn)動(dòng),如何通過對(duì)環(huán)境的觀測(cè)確定自身的運(yùn)動(dòng)軌跡,同時(shí)構(gòu)建出環(huán)境的地圖。SLAM技術(shù)正是為了實(shí)現(xiàn)這個(gè)目標(biāo)涉及到的諸多技術(shù)的總和。
SLAM通常包括如下幾個(gè)部分,特征提取,數(shù)據(jù)關(guān)聯(lián),狀態(tài)估計(jì),狀態(tài)更新以及特征更新等。
我們引用知乎上的一個(gè)解釋把它翻譯成大白話,就是:
當(dāng)你來到一個(gè)陌生的環(huán)境時(shí),為了迅速熟悉環(huán)境并完成自己的任務(wù)(比如找飯館,找旅館),你應(yīng)當(dāng)做以下事情:
a.用眼睛觀察周圍地標(biāo)如建筑、大樹、花壇等,并記住他們的特征(特征提取)
b.在自己的腦海中,根據(jù)雙目獲得的信息,把特征地標(biāo)在三維地圖中重建出來(三維重建)
c.當(dāng)自己在行走時(shí),不斷獲取新的特征地標(biāo),并且校正自己頭腦中的地圖模型(bundleadjustmentorEKF)
d.根據(jù)自己前一段時(shí)間行走獲得的特征地標(biāo),確定自己的位置(trajectory)
e.當(dāng)無(wú)意中走了很長(zhǎng)一段路的時(shí)候,和腦海中的以往地標(biāo)進(jìn)行匹配,看一看是否走回了原路(loop-closuredetection)。實(shí)際這一步可有可無(wú)。
以上五步是同時(shí)進(jìn)行的,因此是simultaneous localization and mapping。
傳感器與視覺SLAM框架
智能機(jī)器人技術(shù)在世界范圍內(nèi)得到了大力發(fā)展。人們致力于把機(jī)器人用于實(shí)際場(chǎng)景:從室內(nèi)的移動(dòng)機(jī)器人,到野外的自動(dòng)駕駛汽車、空中的無(wú)人機(jī)、水下環(huán)境的探測(cè)機(jī)器人等等,均得到了廣泛的關(guān)注。
沒有準(zhǔn)確的定位與地圖,掃地機(jī)就無(wú)法在房間自主地移動(dòng),只能隨機(jī)亂碰;家用機(jī)器人就無(wú)法按照指令準(zhǔn)確到達(dá)某個(gè)房間。此外,在虛擬現(xiàn)實(shí)(VirtualReality)和增強(qiáng)現(xiàn)實(shí)技術(shù)(ArgumentReality)中,沒有SLAM提供的定位,用戶就無(wú)法在場(chǎng)景中漫游。在這幾個(gè)應(yīng)用領(lǐng)域中,人們需要SLAM向應(yīng)用層提供空間定位的信息,并利用SLAM的地圖完成地圖的構(gòu)建或場(chǎng)景的生成。
當(dāng)我們談?wù)揝LAM時(shí),最先問到的就是傳感器。SLAM的實(shí)現(xiàn)方式與難度和傳感器的形式與安裝方式密切相關(guān)。傳感器分為激光和視覺兩大類,視覺下面又分三小方向。下面就帶你認(rèn)識(shí)這個(gè)龐大家族中每個(gè)成員的特性。
1.傳感器之激光雷達(dá)
激光雷達(dá)是最古老,研究也最多的SLAM傳感器。它們提供機(jī)器人本體與周圍環(huán)境障礙物間的距離信息。常見的激光雷達(dá),例如SICK、Velodyne還有我們國(guó)產(chǎn)的rplidar等,都可以拿來做SLAM。激光雷達(dá)能以很高精度測(cè)出機(jī)器人周圍障礙點(diǎn)的角度和距離,從而很方便地實(shí)現(xiàn)SLAM、避障等功能。
主流的2D激光傳感器掃描一個(gè)平面內(nèi)的障礙物,適用于平面運(yùn)動(dòng)的機(jī)器人(如掃地機(jī)等)進(jìn)行定位,并建立2D的柵格地圖。這種地圖在機(jī)器人導(dǎo)航中很實(shí)用,因?yàn)槎鄶?shù)機(jī)器人還不能在空中飛行或走上臺(tái)階,仍限于地面。在SLAM研究史上,早期SLAM研究幾乎全使用激光傳感器進(jìn)行建圖,且多數(shù)使用濾波器方法,例如卡爾曼濾波器與粒子濾波器等。
激光的優(yōu)點(diǎn)是精度很高,速度快,計(jì)算量也不大,容易做成實(shí)時(shí)SLAM。缺點(diǎn)是價(jià)格昂貴,一臺(tái)激光動(dòng)輒上萬(wàn)元,會(huì)大幅提高一個(gè)機(jī)器人的成本。因此激光的研究主要集中于如何降低傳感器的成本上。對(duì)應(yīng)于激光的EKF-SLAM理論方面,因?yàn)檠芯枯^早,現(xiàn)在已經(jīng)非常成熟。與此同時(shí),人們也對(duì)EKF-SLAM的缺點(diǎn)也有較清楚的認(rèn)識(shí),例如不易表示回環(huán)、線性化誤差嚴(yán)重、必須維護(hù)路標(biāo)點(diǎn)的協(xié)方差矩陣,導(dǎo)致一定的空間與時(shí)間的開銷,等等。
2.、傳感器之視覺SLAM
視覺SLAM是21世紀(jì)SLAM研究熱點(diǎn)之一,一方面是因?yàn)橐曈X十分直觀,不免令人覺得:為何人能通過眼睛認(rèn)路,機(jī)器人就不行呢?另一方面,由于CPU、GPU處理速度的增長(zhǎng),使得許多以前被認(rèn)為無(wú)法實(shí)時(shí)化的視覺算法,得以在10Hz以上的速度運(yùn)行。硬件的提高也促進(jìn)了視覺SLAM的發(fā)展。
以傳感器而論,視覺SLAM研究主要分為三大類:?jiǎn)文俊㈦p目(或多目)、RGBD。其余還有魚眼、全景等特殊相機(jī),但是在研究和產(chǎn)品中都屬于少數(shù)。此外,結(jié)合慣性測(cè)量器件(InertialMeasurementUnit,IMU)的視覺SLAM也是現(xiàn)在研究熱點(diǎn)之一。就實(shí)現(xiàn)難度而言,我們可以大致將這三類方法排序?yàn)椋簡(jiǎn)文恳曈X>雙目視覺>RGBD。
單目相機(jī)SLAM簡(jiǎn)稱MonoSLAM,即只用一支攝像頭就可以完成SLAM。這樣做的好處是傳感器特別的簡(jiǎn)單、成本特別的低,所以單目SLAM非常受研究者關(guān)注。相比別的視覺傳感器,單目有個(gè)最大的問題,就是沒法確切地得到深度。這是一把雙刃劍。
一方面,由于絕對(duì)深度未知,單目SLAM沒法得到機(jī)器人運(yùn)動(dòng)軌跡以及地圖的真實(shí)大小。直觀地說,如果把軌跡和房間同時(shí)放大兩倍,單目看到的像是一樣的。因此,單目SLAM只能估計(jì)一個(gè)相對(duì)深度,在相似變換空間Sim(3)中求解,而非傳統(tǒng)的歐氏空間SE(3)。如果我們必須要在SE(3)中求解,則需要用一些外部的手段,例如GPS、IMU等傳感器,確定軌跡與地圖的尺度(Scale)。
另一方面,單目相機(jī)無(wú)法依靠一張圖像獲得圖像中物體離自己的相對(duì)距離。為了估計(jì)這個(gè)相對(duì)深度,單目SLAM要靠運(yùn)動(dòng)中的三角測(cè)量,來求解相機(jī)運(yùn)動(dòng)并估計(jì)像素的空間位置。即是說,它的軌跡和地圖,只有在相機(jī)運(yùn)動(dòng)之后才能收斂,如果相機(jī)不進(jìn)行運(yùn)動(dòng)時(shí),就無(wú)法得知像素的位置。同時(shí),相機(jī)運(yùn)動(dòng)還不能是純粹的旋轉(zhuǎn),這就給單目SLAM的應(yīng)用帶來了一些麻煩,好在日常使用SLAM時(shí),相機(jī)都會(huì)發(fā)生旋轉(zhuǎn)和平移。不過,無(wú)法確定深度同時(shí)也有一個(gè)好處:它使得單目SLAM不受環(huán)境大小的影響,因此既可以用于室內(nèi),又可以用于室外。
-
傳感器
+關(guān)注
關(guān)注
2548文章
50667瀏覽量
751950 -
mems
+關(guān)注
關(guān)注
129文章
3896瀏覽量
190340
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論