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