SLAM——讓機器人認路的技術。

姓名:16020140096劉珣玥


轉載自:http://mp.weixin.qq.com/s/y1_vF6p0ZNwQM1ABViQNGw

有刪節。


【嵌牛導讀】:SLAM (simultaneous localization and mapping),也稱為CML (Concurrent Mapping and Localization), 即時定位與地圖構建,或并發建圖與定位


【嵌牛鼻子】:例如掃地機器人就是一個很典型的SLAM問題,所謂完全的地圖(a consistent map)是指不受障礙行進到房間可進入的每個角落。 SLAM最早由Smith、Self和Cheeseman于1988年提出。 由于其重要的理論與應用價值,被很多學者認為是實現真正全自主移動機器人的關鍵。


【嵌牛提問】:將一個機器人放入未知環境中的未知位置,是否有辦法讓機器人一邊逐步描繪出此環境完全的地圖,同時一邊決定機器人應該往哪個方向行進。


【嵌牛正文】:

當你來到一個陌生的環境時,為了迅速熟悉環境并完成自己的任務(比如找飯館,找旅館),你應當做以下事情:

a.用眼睛觀察周圍地標如建筑、大樹、花壇等,并記住他們的特征(特征提取)

b.在自己的腦海中,根據雙目獲得的信息,把特征地標在三維地圖中重建出來(三維重建)

c.當自己在行走時,不斷獲取新的特征地標,并且校正自己頭腦中的地圖模型(bundle adjustment or EKF)

d.根據自己前一段時間行走獲得的特征地標,確定自己的位置(trajectory)

e.當無意中走了很長一段路的時候,和腦海中的以往地標進行匹配,看一看是否走回了原路(loop-closure detection)。實際這一步可有可無。

以上五步是同時進行的,因此是simultaneous localization and mapping

離不開這兩類傳感器

目前用在SLAM上的Sensor主要分兩大類,激光雷達和攝像頭。

圖片發自簡書App

這里面列舉了一些常見的雷達和各種深度攝像頭。激光雷達有單線多線之分,角分辨率及精度也各有千秋。SICK、velodyne、Hokuyo以及國內的北醒光學、Slamtech是比較有名的激光雷達廠商。他們可以作為SLAM的一種輸入形式。

這個小視頻里展示的就是一種簡單的2D SLAM。

圖片發自簡書App

而VSLAM則主要用攝像頭來實現,攝像頭品種繁多,主要分為單目、雙目、單目結構光、雙目結構光、ToF幾大類。他們的核心都是獲取RGB和depth map(深度信息)。簡單的單目和雙目(Zed、leapmotion)我這里不多做解釋,我主要解釋一下結構光和ToF。

最近流行的結構光和TOF

結構光原理的深度攝像機通常具有激光投射器、光學衍射元件(DOE)、紅外攝像頭三大核心器件。

圖片發自簡書App
圖片發自簡書App
可以看到primesense的doe是由兩部分組成的,一個是擴散片,一個是衍射片。先通過擴散成一個區域的隨機散斑,然后復制成九份,投射到了被攝物體上。根據紅外攝像頭捕捉到的紅外散斑,PS1080這個芯片就可以快速解算出各個點的深度信息。

這兒還有兩款結構光原理的攝像頭。

圖片發自簡書App
圖片發自簡書App
第一頁它是由兩幅十分規律的散斑組成,最后同時被紅外相機獲得,精度相對較高。但據說DOE成本也比較高。

還有一種比較獨特的方案(最后一幅圖),它采用mems微鏡的方式,類似DLP投影儀,將激光器進行調頻,通過微鏡反射出去,并快速改變微鏡姿態,進行行列掃描,實現結構光的投射。(產自ST,ST經常做出一些比較炫的黑科技)。

ToF(time of flight)也是一種很有前景的深度獲取方法。

傳感器發出經調制的近紅外光,遇物體后反射,傳感器通過計算光線發射和反射時間差或相位差,來換算被拍攝景物的距離,以產生深度信息。類似于雷達,或者想象一下蝙蝠,softkinetic的DS325采用的就是ToF方案(TI設計的),但是它的接收器微觀結構比較特殊,有2個或者更多快門,測ps級別的時間差,但它的單位像素尺寸通常在100um的尺寸,所以目前分辨率不高。

在有了深度圖之后呢,SLAM算法就開始工作了,由于Sensor和需求的不同,SLAM的呈現形式略有差異。大致可以分為激光SLAM(也分2D和3D)和視覺SLAM(也分Sparse、semiDense、Dense)兩類,但其主要思路大同小異。

圖片發自簡書App
圖片發自簡書App
SLAM算法實現的4要素

SLAM算法在實現的時候主要要考慮以下4個方面吧:

1. 地圖表示問題,比如dense和sparse都是它的不同表達方式,這個需要根據實際場景需求去抉擇

2. 信息感知問題,需要考慮如何全面的感知這個環境,RGBD攝像頭FOV通常比較小,但激光雷達比較大

3. 數據關聯問題,不同的sensor的數據類型、時間戳、坐標系表達方式各有不同,需要統一處理

4. 定位與構圖問題,就是指怎么實現位姿估計和建模,這里面涉及到很多數學問題,物理模型建立,狀態估計和優化

其他的還有回環檢測問題,探索問題(exploration),以及綁架問題(kidnapping)。

圖片發自簡書App
我大概講一種比較流行的VSLAM方法框架。

整個SLAM大概可以分為前端和后端,前端相當于VO(視覺里程計),研究幀與幀之間變換關系。首先提取每幀圖像特征點,利用相鄰幀圖像,進行特征點匹配,然后利用RANSAC去除大噪聲,然后進行匹配,得到一個pose信息(位置和姿態),同時可以利用IMU(Inertial measurement unit慣性測量單元)提供的姿態信息進行濾波融合

后端則主要是對前端出結果進行優化,利用濾波理論(EKF、UKF、PF)、或者優化理論TORO、G2O進行樹或者圖的優化。最終得到最優的位姿估計。

后端這邊難點比較多,涉及到的數學知識也比較多,總的來說大家已經慢慢拋棄傳統的濾波理論走向圖優化去了。

因為基于濾波的理論,濾波器穩度增長太快,這對于需要頻繁求逆的EKF(擴展卡爾曼濾波器),PF壓力很大。而基于圖的SLAM,通常以keyframe(關鍵幀)為基礎,建立多個節點和節點之間的相對變換關系,比如仿射變換矩陣,并不斷地進行關鍵節點的維護,保證圖的容量,在保證精度的同時,降低了計算量。

列舉幾個目前比較有名的SLAM算法:PTAM,MonoSLAM, ORB-SLAM,RGBD-SLAM,RTAB-SLAM,LSD-SLAM。

圖片發自簡書App
SLAM技術的應用領域


1)室內機器人

掃地機要算機器人里最早用到SLAM技術這一批了,國內的科沃斯、塔米掃地機通過用SLAM算法結合激光雷達或者攝像頭的方法,讓掃地機可以高效繪制室內地圖,智能分析和規劃掃地環境,從而成功讓自己步入了智能導航的陣列。

不過有意思的是,科沃斯引領時尚還沒多久,一大幫懂Slam算法的掃地機廠商就開始陸陸續續地推出自己的智能導航,直到昨天雷鋒網還看到一款智能掃地機新鮮出爐,而這追逐背后的核心,大家都知道就是SLAM技術的應用。

而另一個跟SLAM息息相關的室內移動機器人,因為目前市場定位和需求并不明確,我們目前只能在商場導購室內機器人和Buddy那樣的demo視頻里才能看到,國內Watchhhh Slam和Slam Tech兩家公司都是做這方面方案提供的,以現實的觀點看,現在室內移動機器人市場定位和需求沒落地的時候,由方案商公司推動,商用室內移動機器人先行,這反而是一種曲線救國的發展方式。

2)AR

目前基于SLAM技術開發的代表性產品有微軟的Hololens,谷歌的Project Tango以及同樣有名的Magic Leap,后者4月20號公布它的新一代水母版demo后,國內的AR公司更加看到了這個趨勢,比如進化動力近期就公布了他們的SLAM demo, 用一個小攝像頭實現VR頭顯空間定位,而易瞳去年10月雷鋒網去試用新品的時候,就發現已經整合SLAM技術了,國內其他公司雖然沒有正式公布,但我們可以肯定,他們都在暗暗研發這項技術,只等一個成熟的時機就會展現給大家。

3)無人機

國外的話,原來做 Google X Project Wing 無人機的創始人 MIT 機器人大牛 Nicholas Roy 的學生 Adam Bry 創辦的 Skydio,挖來了 Georgia Tech 的 Slam 大牛教授 Frank Dellaert 做他們的首席科學家。

國內大家非常熟悉的大疆精靈四避障用的雙目視覺+超聲波,一位大疆工程師徐梟涵在百度百家的撰文里坦率承認

“P4里面呈現的主動避障功能就是一種非常非常典型的Slam的弱應用,無人機只需要知道障礙物在哪,就可以進行 Planning,并且繞開障礙物。當然Slam能做的事情遠遠不止這些,包括災區救援,包括探洞,包括人機配合甚至集群,所有的關于無人機的夢想都建立在Slam之上,這是無人機能飛(具有定位,姿態確定以后)的時代以后,無人機最核心的技術。”

4)無人駕駛

因為Google無人駕駛車的科普,很多人都知道了基于激光雷達技術的Lidar Slam。Lidar Slam是指利用激光雷達作為外部傳感器,獲取地圖數據,使機器人實現同步定位與地圖構建。雖然成本高昂,但目前為止是最穩定、最可靠、高性能的SLAM方式。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,786評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,656評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,697評論 0 379
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,098評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,855評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,254評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,322評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,473評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,014評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,833評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,016評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,568評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,273評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,680評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,946評論 1 288
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,730評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,006評論 2 374

推薦閱讀更多精彩內容

  • 定位問題的引入 我們所熟知的機器人,可以大致分為以下四類: 1. 操作機器人: 模仿人的手和手臂的動作,特點...
    飛帥閱讀 1,727評論 0 2
  • 2017年無人駕駛還處于積極研發和普及期,民用的測試和技術探索也主要在小型汽車方面,各大巨頭都將2020年作為一個...
    方弟閱讀 7,127評論 1 16
  • 中國的機器人產業說起來很火,都是虛火,太多的人看到了這是個風口,都跑來創業,不是真正熱愛機器人,機器人行業本身需要...
    方弟閱讀 2,109評論 0 3
  • 第一件事 魏晶公傷住院半個月了今天手術,找夏紅幫聯系的醫生,手術一切順利。下午王總讓組織公司所有人消防演習,已完成...
    亢亢4466閱讀 381評論 1 1
  • 類(class):用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的...
    方豆兒閱讀 253評論 0 0