姓名:16020140096劉珣玥
轉(zhuǎn)載自:http://mp.weixin.qq.com/s/y1_vF6p0ZNwQM1ABViQNGw
有刪節(jié)。
【嵌牛導(dǎo)讀】:SLAM (simultaneous localization and mapping),也稱為CML (Concurrent Mapping and Localization), 即時(shí)定位與地圖構(gòu)建藕夫,或并發(fā)建圖與定位
【嵌牛鼻子】:例如掃地機(jī)器人就是一個(gè)很典型的SLAM問題,所謂完全的地圖(a consistent map)是指不受障礙行進(jìn)到房間可進(jìn)入的每個(gè)角落枯冈。 SLAM最早由Smith毅贮、Self和Cheeseman于1988年提出。 由于其重要的理論與應(yīng)用價(jià)值尘奏,被很多學(xué)者認(rèn)為是實(shí)現(xiàn)真正全自主移動(dòng)機(jī)器人的關(guān)鍵滩褥。
【嵌牛提問】:將一個(gè)機(jī)器人放入未知環(huán)境中的未知位置,是否有辦法讓機(jī)器人一邊逐步描繪出此環(huán)境完全的地圖炫加,同時(shí)一邊決定機(jī)器人應(yīng)該往哪個(gè)方向行進(jìn)瑰煎。
【嵌牛正文】:
當(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)苛蒲,并且校正自己頭腦中的地圖模型(bundle adjustment or EKF)
d.根據(jù)自己前一段時(shí)間行走獲得的特征地標(biāo)卤橄,確定自己的位置(trajectory)
e.當(dāng)無意中走了很長一段路的時(shí)候,和腦海中的以往地標(biāo)進(jìn)行匹配臂外,看一看是否走回了原路(loop-closure detection)窟扑。實(shí)際這一步可有可無喇颁。
以上五步是同時(shí)進(jìn)行的,因此是simultaneous localization and mapping
離不開這兩類傳感器
目前用在SLAM上的Sensor主要分兩大類嚎货,激光雷達(dá)和攝像頭橘霎。
這里面列舉了一些常見的雷達(dá)和各種深度攝像頭。激光雷達(dá)有單線多線之分殖属,角分辨率及精度也各有千秋姐叁。SICK、velodyne洗显、Hokuyo以及國內(nèi)的北醒光學(xué)外潜、Slamtech是比較有名的激光雷達(dá)廠商。他們可以作為SLAM的一種輸入形式挠唆。
這個(gè)小視頻里展示的就是一種簡單的2D SLAM处窥。
而VSLAM則主要用攝像頭來實(shí)現(xiàn),攝像頭品種繁多损搬,主要分為單目碧库、雙目柜与、單目結(jié)構(gòu)光巧勤、雙目結(jié)構(gòu)光、ToF幾大類弄匕。他們的核心都是獲取RGB和depth map(深度信息)颅悉。簡單的單目和雙目(Zed、leapmotion)我這里不多做解釋迁匠,我主要解釋一下結(jié)構(gòu)光和ToF剩瓶。
最近流行的結(jié)構(gòu)光和TOF
結(jié)構(gòu)光原理的深度攝像機(jī)通常具有激光投射器、光學(xué)衍射元件(DOE)城丧、紅外攝像頭三大核心器件延曙。
這兒還有兩款結(jié)構(gòu)光原理的攝像頭趴荸。
還有一種比較獨(dú)特的方案(最后一幅圖),它采用mems微鏡的方式酝豪,類似DLP投影儀园骆,將激光器進(jìn)行調(diào)頻,通過微鏡反射出去寓调,并快速改變微鏡姿態(tài)锌唾,進(jìn)行行列掃描,實(shí)現(xiàn)結(jié)構(gòu)光的投射夺英。(產(chǎn)自ST晌涕,ST經(jīng)常做出一些比較炫的黑科技)。
ToF(time of flight)也是一種很有前景的深度獲取方法痛悯。
傳感器發(fā)出經(jīng)調(diào)制的近紅外光余黎,遇物體后反射,傳感器通過計(jì)算光線發(fā)射和反射時(shí)間差或相位差载萌,來換算被拍攝景物的距離惧财,以產(chǎn)生深度信息。類似于雷達(dá)扭仁,或者想象一下蝙蝠垮衷,softkinetic的DS325采用的就是ToF方案(TI設(shè)計(jì)的),但是它的接收器微觀結(jié)構(gòu)比較特殊乖坠,有2個(gè)或者更多快門搀突,測ps級別的時(shí)間差,但它的單位像素尺寸通常在100um的尺寸熊泵,所以目前分辨率不高仰迁。
在有了深度圖之后呢,SLAM算法就開始工作了顽分,由于Sensor和需求的不同徐许,SLAM的呈現(xiàn)形式略有差異。大致可以分為激光SLAM(也分2D和3D)和視覺SLAM(也分Sparse卒蘸、semiDense雌隅、Dense)兩類,但其主要思路大同小異悬秉。
SLAM算法在實(shí)現(xiàn)的時(shí)候主要要考慮以下4個(gè)方面吧:
1. 地圖表示問題澄步,比如dense和sparse都是它的不同表達(dá)方式,這個(gè)需要根據(jù)實(shí)際場景需求去抉擇
2. 信息感知問題和泌,需要考慮如何全面的感知這個(gè)環(huán)境村缸,RGBD攝像頭FOV通常比較小,但激光雷達(dá)比較大
3. 數(shù)據(jù)關(guān)聯(lián)問題武氓,不同的sensor的數(shù)據(jù)類型梯皿、時(shí)間戳仇箱、坐標(biāo)系表達(dá)方式各有不同,需要統(tǒng)一處理
4. 定位與構(gòu)圖問題东羹,就是指怎么實(shí)現(xiàn)位姿估計(jì)和建模剂桥,這里面涉及到很多數(shù)學(xué)問題,物理模型建立属提,狀態(tài)估計(jì)和優(yōu)化
其他的還有回環(huán)檢測問題权逗,探索問題(exploration),以及綁架問題(kidnapping)冤议。
整個(gè)SLAM大概可以分為前端和后端,前端相當(dāng)于VO(視覺里程計(jì))恕酸,研究幀與幀之間變換關(guān)系堪滨。首先提取每幀圖像特征點(diǎn),利用相鄰幀圖像蕊温,進(jìn)行特征點(diǎn)匹配袱箱,然后利用RANSAC去除大噪聲,然后進(jìn)行匹配义矛,得到一個(gè)pose信息(位置和姿態(tài))发笔,同時(shí)可以利用IMU(Inertial measurement unit慣性測量單元)提供的姿態(tài)信息進(jìn)行濾波融合
后端則主要是對前端出結(jié)果進(jìn)行優(yōu)化,利用濾波理論(EKF症革、UKF筐咧、PF)鸯旁、或者優(yōu)化理論TORO噪矛、G2O進(jìn)行樹或者圖的優(yōu)化。最終得到最優(yōu)的位姿估計(jì)铺罢。
后端這邊難點(diǎn)比較多艇挨,涉及到的數(shù)學(xué)知識也比較多,總的來說大家已經(jīng)慢慢拋棄傳統(tǒng)的濾波理論走向圖優(yōu)化去了韭赘。
因?yàn)榛跒V波的理論缩滨,濾波器穩(wěn)度增長太快,這對于需要頻繁求逆的EKF(擴(kuò)展卡爾曼濾波器)泉瞻,PF壓力很大脉漏。而基于圖的SLAM,通常以keyframe(關(guān)鍵幀)為基礎(chǔ)袖牙,建立多個(gè)節(jié)點(diǎn)和節(jié)點(diǎn)之間的相對變換關(guān)系侧巨,比如仿射變換矩陣,并不斷地進(jìn)行關(guān)鍵節(jié)點(diǎn)的維護(hù)鞭达,保證圖的容量司忱,在保證精度的同時(shí)皇忿,降低了計(jì)算量。
列舉幾個(gè)目前比較有名的SLAM算法:PTAM,MonoSLAM, ORB-SLAM,RGBD-SLAM,RTAB-SLAM,LSD-SLAM坦仍。
1)室內(nèi)機(jī)器人
掃地機(jī)要算機(jī)器人里最早用到SLAM技術(shù)這一批了鳍烁,國內(nèi)的科沃斯、塔米掃地機(jī)通過用SLAM算法結(jié)合激光雷達(dá)或者攝像頭的方法繁扎,讓掃地機(jī)可以高效繪制室內(nèi)地圖幔荒,智能分析和規(guī)劃掃地環(huán)境,從而成功讓自己步入了智能導(dǎo)航的陣列梳玫。
不過有意思的是铺峭,科沃斯引領(lǐng)時(shí)尚還沒多久,一大幫懂Slam算法的掃地機(jī)廠商就開始陸陸續(xù)續(xù)地推出自己的智能導(dǎo)航汽纠,直到昨天雷鋒網(wǎng)還看到一款智能掃地機(jī)新鮮出爐卫键,而這追逐背后的核心,大家都知道就是SLAM技術(shù)的應(yīng)用虱朵。
而另一個(gè)跟SLAM息息相關(guān)的室內(nèi)移動(dòng)機(jī)器人莉炉,因?yàn)槟壳笆袌龆ㄎ缓托枨蟛⒉幻鞔_,我們目前只能在商場導(dǎo)購室內(nèi)機(jī)器人和Buddy那樣的demo視頻里才能看到碴犬,國內(nèi)Watchhhh Slam和Slam Tech兩家公司都是做這方面方案提供的絮宁,以現(xiàn)實(shí)的觀點(diǎn)看,現(xiàn)在室內(nèi)移動(dòng)機(jī)器人市場定位和需求沒落地的時(shí)候服协,由方案商公司推動(dòng)绍昂,商用室內(nèi)移動(dòng)機(jī)器人先行,這反而是一種曲線救國的發(fā)展方式偿荷。
2)AR
目前基于SLAM技術(shù)開發(fā)的代表性產(chǎn)品有微軟的Hololens窘游,谷歌的Project Tango以及同樣有名的Magic Leap,后者4月20號公布它的新一代水母版demo后跳纳,國內(nèi)的AR公司更加看到了這個(gè)趨勢忍饰,比如進(jìn)化動(dòng)力近期就公布了他們的SLAM demo, 用一個(gè)小攝像頭實(shí)現(xiàn)VR頭顯空間定位,而易瞳去年10月雷鋒網(wǎng)去試用新品的時(shí)候寺庄,就發(fā)現(xiàn)已經(jīng)整合SLAM技術(shù)了艾蓝,國內(nèi)其他公司雖然沒有正式公布,但我們可以肯定斗塘,他們都在暗暗研發(fā)這項(xiàng)技術(shù)赢织,只等一個(gè)成熟的時(shí)機(jī)就會展現(xiàn)給大家。
3)無人機(jī)
國外的話馍盟,原來做 Google X Project Wing 無人機(jī)的創(chuàng)始人 MIT 機(jī)器人大牛 Nicholas Roy 的學(xué)生 Adam Bry 創(chuàng)辦的 Skydio于置,挖來了 Georgia Tech 的 Slam 大牛教授 Frank Dellaert 做他們的首席科學(xué)家。
國內(nèi)大家非常熟悉的大疆精靈四避障用的雙目視覺+超聲波朽合,一位大疆工程師徐梟涵在百度百家的撰文里坦率承認(rèn)
“P4里面呈現(xiàn)的主動(dòng)避障功能就是一種非常非常典型的Slam的弱應(yīng)用俱两,無人機(jī)只需要知道障礙物在哪饱狂,就可以進(jìn)行 Planning,并且繞開障礙物宪彩。當(dāng)然Slam能做的事情遠(yuǎn)遠(yuǎn)不止這些休讳,包括災(zāi)區(qū)救援,包括探洞尿孔,包括人機(jī)配合甚至集群俊柔,所有的關(guān)于無人機(jī)的夢想都建立在Slam之上,這是無人機(jī)能飛(具有定位活合,姿態(tài)確定以后)的時(shí)代以后雏婶,無人機(jī)最核心的技術(shù)“字福”
4)無人駕駛
因?yàn)镚oogle無人駕駛車的科普留晚,很多人都知道了基于激光雷達(dá)技術(shù)的Lidar Slam。Lidar Slam是指利用激光雷達(dá)作為外部傳感器告嘲,獲取地圖數(shù)據(jù)错维,使機(jī)器人實(shí)現(xiàn)同步定位與地圖構(gòu)建。雖然成本高昂橄唬,但目前為止是最穩(wěn)定赋焕、最可靠、高性能的SLAM方式仰楚。