加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 什么是SLAM
    • 激光SLAM與視覺SLAM
    • SLAM算法實現的要素
    • SLAM未來在自動駕駛領域的應用
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

SLAM技術在自動駕駛的應用

2022/07/20
850
閱讀需 9 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

定位在自動駕駛中占據著不可替代的地位,而且未來有著可期的發(fā)展。目前自動駕駛中的定位都是依賴RTK配合高精地圖,這給自動駕駛的落地增加了不少成本與難度。試想一下人類開車,并非需要知道自己的全局高精定位及周圍的詳細環(huán)境,有一條全局導航路徑并配合車輛在該路徑上的位置,也就足夠了,而這里牽涉到的,便是SLAM領域的關鍵技術。

什么是SLAM

SLAM (Simultaneous Localization and Mapping),也稱為CML (Concurrent Mapping and Localization),即時定位與地圖構建,或并發(fā)建圖與定位。問題可以描述為:將一個機器人放入未知環(huán)境中的未知位置,是否有辦法讓機器人一邊逐步描繪出此環(huán)境完全的地圖,同時一邊決定機器人應該往哪個方向行進。例如掃地機器人就是一個很典型的SLAM問題,所謂完全的地圖(a consistent map)是指不受障礙行進到房間可進入的每個角落。

SLAM最早由Smith、Self和Cheeseman于1988年提出。由于其重要的理論與應用價值,被很多學者認為是實現真正全自主移動機器人的關鍵。

模擬人類來到一個陌生的環(huán)境時,為了迅速熟悉環(huán)境并完成自己的任務(比如找飯館,找旅館),這時應當依次做以下事情:

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

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

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

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

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

以上五步是同時進行的,因此是Simultaneous Localization and Mapping。

激光SLAM與視覺SLAM

目前用在SLAM上的傳感器主要分兩大類,激光雷達攝像頭。激光雷達有單線多線之分,角分辨率及精度也各有千秋。

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

由于受制成本的影響,視覺SLAM在近些年變得越來越流行,通過低成本的攝像頭進行實時的建圖與定位,這里面的技術難度也是非常之大。以ToF(Time of Flight),一種很有前景的深度獲取方法為例。傳感器發(fā)出經調制的近紅外光,遇物體后反射,傳感器通過計算光線發(fā)射和反射時間差或相位差,來換算被拍攝景物的距離,以產生深度信息。類似于雷達,或者想象一下蝙蝠,softkinetic的DS325采用的就是ToF方案(TI設計的)。但是它的接收器微觀結構比較特殊,有2個或者更多快門,測ps級別的時間差,但它的單位像素尺寸通常在100um的尺寸,所以目前分辨率不高。

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

SLAM算法實現的要素

SLAM技術非常實用,同時難度也相當大,在時刻需要精確定位的自動駕駛領域,想要完成SLAM落地也是困難重重。一般來說,SLAM算法在實現的時候主要考慮以下4個方面:

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

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

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

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

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

目前比較流行的視覺SLAM框架主要包含前端和后端:

前端:前端相當于VO(視覺里程計),研究幀與幀之間變換關系。

首先提取每幀圖像特征點,利用相鄰幀圖像,進行特征點匹配,然后利用RANSAC去除大噪聲,然后進行匹配,得到一個pose信息(位置和姿態(tài)),同時可以利用IMU(Inertial measurement unit慣性測量單元)提供的姿態(tài)信息進行濾波融合后端則主要是對前端出結果進行優(yōu)化,利用濾波理論(EKF、UKF、PF)、或者優(yōu)化理論TORO、G2O進行樹或者圖的優(yōu)化。最終得到最優(yōu)的位姿估計。

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

因為基于濾波的理論,濾波器穩(wěn)度增長太快,這對于需要頻繁求逆的EKF(擴展卡爾曼濾波器),PF壓力很大。

而基于圖的SLAM,通常以keyframe(關鍵幀)為基礎,建立多個節(jié)點和節(jié)點之間的相對變換關系,比如仿射變換矩陣,并不斷地進行關鍵節(jié)點的維護,保證圖的容量,在保證精度的同時,降低了計算量。

SLAM未來在自動駕駛領域的應用

Slam技術目前已經在多個領域都取得了不錯的落地效果與成績,包括室內的移動機器人,AR場景以及無人機等等。而在自動駕駛領域,SLAM技術卻一直未得到太多的重視,一方面由于定位在目前的自動駕駛行業(yè)中大多通過RTK來解決,并不會投入過多的資源去進行深入的研究,另一方面也是由于目前技術還不成熟,在自動駕駛這種關乎生命的領域,任何一種新技術都得經過時間的檢驗才能被接受。

在未來,隨著傳感器精度的逐漸提升,SLAM也會在自動駕駛領域大顯身手,其成本的低昂性,性能的魯棒性,都將為自動駕駛帶來革命性的變化。而隨著SLAM技術的逐漸火熱,也將有越來越多的定位人才涌進自動駕駛領域,為自動駕駛注入新鮮血液,帶來新的技術方向與研究領域。

參考資料:

[1] https://blog.csdn.net/u010632165/article/details/119426739

相關推薦

電子產業(yè)圖譜