姓名:劉一婷;學號:20021210599;學院:電子工程學院
轉(zhuǎn)載于 :微信公眾號“計算機視覺life”’
原文鏈接:https://mp.weixin.qq.com/s/RGZOgBf6XyTwiy-p2pRqdg
【嵌牛導讀】隨著以掃地機器人為代表智能機器人技術(shù)的普及,以及自動駕駛、AR等技術(shù)的爆發(fā),作為核心技術(shù)之一的SLAM技術(shù)逐漸受到許多研究者的關注,那么它有什么特點和應用呢?
【嵌牛鼻子】SLAM
【嵌牛提問】SLAM傳感器的分類?
【嵌牛正文】
什么是SLAM?
SLAM(Simultaneous Localization and Mapping),中文譯作同時定位與地圖創(chuàng)建。
外行乍一聽起來非常拗口,為了不在一開始就嚇跑讀者,我們先不對其進行專業(yè)的解釋,用一個形象的例子來進行說明。我們知道現(xiàn)在有不少家用的掃地機器人(如下圖所示),可以代替人對室內(nèi)進行自動清掃。早期的掃地機器人并不智能,它只是具有簡單的避障功能,在室內(nèi)隨機游走,遇到障礙物就轉(zhuǎn)彎,這樣會導致有很多地方會漏掉,掃地效率非常低。
要想真正實現(xiàn)智能的清掃,掃地機器人至少需要知道以下幾件事情:
1、我在哪里?也就是掃地機器人在工作過程中要知道自己在房間的具體位置。對應的術(shù)語叫:定位(Localization)。
2、我周圍的環(huán)境是什么樣子?也就是掃地機器人需要知道整個房間的地面結(jié)構(gòu)信息。對應的術(shù)語叫:建圖(Mapping)。
3、我怎樣到達指定地點(充電器)?當掃地機器人電量不足時,如何以最短的路徑到達充電器所在位置進行自動充電。對應的術(shù)語叫:路徑規(guī)劃(Route Planning)。
有了以上的幾個能力,掃地機器人就立馬變的智能了,不再像無頭蒼蠅一樣在室內(nèi)亂跑,而是可以從任意位置出發(fā),一邊清掃一邊對周圍的環(huán)境(房屋結(jié)構(gòu)、障礙物)建立地圖,同時根據(jù)地圖定位自己當前在地圖中的位置,并實時調(diào)整規(guī)劃路線。隨著使用時間的增長,掃地機器人建立的地圖會越來越準確,規(guī)劃的清掃路線越來越高效,變的越來越智能。這也不難理解斷點續(xù)掃(一次掃不完,回到充電地點重合點,回到原位置繼續(xù)清掃)的功能是如何實現(xiàn)的了。
看明白了上面的例子,我們給出SLAM的定義。SLAM是指當某種移動設備(如機器人)從一個未知環(huán)境里的未知地點出發(fā),在運動過程中通過傳感器觀測定位自身位置、姿態(tài)、運動軌跡,再根據(jù)自身位置進行增量式的地圖構(gòu)建,從而達到同時定位和地圖構(gòu)建的目的。定位和建圖是兩個相輔相成的過程,地圖可以提供更好的定位,而定位也可以進一步擴建地圖。SLAM非常強調(diào)未知環(huán)境,是自主移動機器人的核心技術(shù)。
SLAM 傳感器
很多人注意到,同一個行業(yè)的SLAM應用,有人用相對傳統(tǒng)的激光雷達作為傳感器,有人用最近幾年興起的視覺攝像頭作為傳感器,當然,還有人將它們結(jié)合起來使用,它們的區(qū)別在哪里呢?事實上,SLAM的實現(xiàn)方式與難度和傳感器的形式與安裝方式密切相關。用于SLAM的傳感器主要分為激光雷達和視覺兩大類。
1
激光雷達
激光雷達是非常傳統(tǒng)的SLAM傳感器。它可以提供機器人本身與周圍環(huán)境障礙物間的距離信息。常見的激光雷達有SICK、Velodyne、Rplidar等。
主流的2D激光傳感器掃描一個平面內(nèi)的障礙物,適用于平面運動的機器人(如掃地機等)進行定位,并建立2D的柵格地圖。這種地圖在機器人導航中很實用,因為多數(shù)機器人還不能在空中飛行或走上臺階,仍限于地面。在SLAM研究史上,早期SLAM研究幾乎全使用激光傳感器進行建圖,且多數(shù)使用濾波器方法,例如卡爾曼濾波器與粒子濾波器等。
激光雷達的技術(shù)方案有如下幾個特點:
1、精度很高,也比較穩(wěn)定。
2、速度快,計算量也不大,容易做成實時SLAM。
3、理論研究成熟。激光雷達用于SLAM的技術(shù)方案(EKF-SLAM)因為研究較早,現(xiàn)在已經(jīng)非常成熟。當然人們也對EKF-SLAM的缺點也有較清楚的認識,例如不易表示回環(huán)、線性化誤差嚴重、必須維護路標點的協(xié)方差矩陣等。
4、笨重。從上圖就可以看出,激光雷達比普通的攝像頭在空間體積上大了不少。
5、價格昂貴。激光雷達成本很高,因此激光的研究主要集中于如何降低傳感器的成本上,現(xiàn)在激光雷達也有平價的產(chǎn)品了,現(xiàn)在高級的掃地機器人中就已經(jīng)在使用激光雷達了,但性能配置會低一些。
2
視覺傳感器
視覺SLAM是最近幾年SLAM研究熱點之一。它有如下幾個特點:
1、價格便宜。
2、體積小,重量輕。想想手機里動輒幾千萬像素的攝像頭也就占指甲蓋那么小的面積。
3、可以獲取豐富且直觀的信息。有研究表明,視覺信息占了人類獲取信息的80%以上,所以通過攝像頭可以獲取的信息要遠遠超過通過激光雷達獲得的信息。
4、計算量大。往往信息量和計算量是成正比的,視覺SLAM中的特征點檢測、匹配等過程非常耗時。不過隨著CPU、GPU處理器速度的飛速發(fā)展,很多以前被認為無法實時化的視覺算法,得以近乎實時化地運行。
5、需要一定的假設條件。比如視覺算法無法在無紋理區(qū)域進行。
視覺SLAM傳感器主要分為三大類:單目、雙目(或多目)、RGBD。此外還有魚眼、全景等特殊相機,由于在研究和產(chǎn)品中都屬于少數(shù)在此不做介紹。
就實現(xiàn)難度而言,這三類方法難易程度從難到易依次為:單目視覺、雙目視覺、RGBD。下面來具體介紹。
單目相機
單目相機SLAM簡稱MonoSLAM,即只用一個攝像頭實現(xiàn)SLAM。優(yōu)勢是傳感器特別的簡單、成本特別的低,所以單目SLAM非常受研究者關注。相比別的視覺傳感器,單目有個最大的問題,就是沒法確切地得到深度。單目相機有如下幾個特點:
1、單目SLAM只能估計一個相對深度。由于絕對深度未知,單目SLAM沒法得到機器人運動軌跡以及地圖的真實大小。直觀地說,如果把軌跡和房間同時放大兩倍,單目看到的像是一樣的。
2、單目相機必須通過運動才能獲取深度。它無法僅根據(jù)一張圖像獲得圖像中物體離自己的相對距離。為了估計這個相對深度,單目SLAM要靠運動中的三角測量,來求解相機運動并估計像素的空間位置。也就是說,它的軌跡和地圖,只有在相機運動之后才能收斂,如果相機不進行運動時,就無法得知像素的位置。
3、相機必須進行旋轉(zhuǎn)和平移。相機運動還不能是純粹的旋轉(zhuǎn),這就給單目SLAM的應用帶來了一些麻煩,好在日常使用SLAM時,相機都會發(fā)生旋轉(zhuǎn)和平移。
4、既可以用于室內(nèi),又可以用于室外。
雙目相機
與單目不同的是,雙目立體視覺既可以在運動時估計深度,也可在靜止時估計,消除了單目視覺的許多麻煩。不過,雙目或多目相機配置與標定均較為復雜,其深度量程也受雙目的基線與分辨率限制。此外,通過雙目圖像計算深度計算量也非常大。
RGBD相機
RGBD相機是一種可以獲得彩色圖并測量深度的相機。目前常用的RGBD相機包括Kinect一代、Kinect 二代、Xtion、Realsense等。RGBD相機有如下特點:
1、一般通過結(jié)構(gòu)光或Time-of-Flight原理,直接測出物體離攝像頭的距離。相對于雙目立體視覺,它的速度非常快,可以用于實時應用。
2、它比單目或雙目相機能夠提供更豐富的信息。
3、現(xiàn)在多數(shù)RGBD相機還存在視場角小、分辨率低等諸多問題。主要用于室內(nèi)SLAM。