<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 光學雷達(LiDAR)在無人駕駛技術(shù)中的應(yīng)用

          光學雷達(LiDAR)在無人駕駛技術(shù)中的應(yīng)用

          作者: 時間:2016-12-13 來源:網(wǎng)絡(luò) 收藏
          無人駕駛汽車的成功涉及高精地圖、實時定位以及障礙物檢測等多項技術(shù),而這些技術(shù)都離不開光學雷達LiDAR)。本文將深入解析光學雷達是如何被廣泛應(yīng)用到無人車的各項技術(shù)中。文章首先介紹光學雷達的工作原理,包括如何通過激光掃描出點云;然后詳細解釋光學雷達在無人駕駛技術(shù)中的應(yīng)用,包括地圖繪制、定位以及障礙物檢測;最后討論光學雷達技術(shù)目前面臨的挑戰(zhàn),包括外部環(huán)境干擾、數(shù)據(jù)量大、成本高等問題。

          無人駕駛技術(shù)簡介

          無人駕駛技術(shù)是多個技術(shù)的集成,包括了傳感器、定位與深度學習、高精地圖、路徑規(guī)劃、障礙物檢測與規(guī)避、機械控制、系統(tǒng)集成與優(yōu)化、能耗與散熱管理等等。雖然現(xiàn)有的多種無人車在實現(xiàn)上有許多不同,但是在系統(tǒng)架構(gòu)上都大同小異。圖1顯示了無人車的通用系統(tǒng)架構(gòu),系統(tǒng)的感知端(圖1左)由不同的傳感器組成,其中GPS用于定位,光學雷達(Light Detection And Ranging,簡稱 LiDAR)用于定位以及障礙物檢測,照相機用于基于深度學習的物體識別以及定位輔助。


          圖1 無人車通用系統(tǒng)架構(gòu)

          在傳感器信息采集后,我們進入了感知階段,主要是定位與物體識別(圖1中)。在這個階段,我們可以用數(shù)學的方法,比如Kalman Filter與 Particle Filter等算法,對各種傳感器信息進行融合,得出當前最大幾率的位置。如果使用LiDAR為主要的定位傳感器,我們可以通過LiDAR掃描回來的信息跟已知的高精地圖做對比,得出當前的車輛位置。如果沒有地圖,我們甚至可以把當前的LiDAR掃描信息與之前的掃描信息用ICP算法做對比,推算出當前的車輛位置。在得出基于LiDAR的位置預測后,可以用數(shù)學方法與其它傳感器信息進行融合,推算出更精準的位置信息。

          最后,我們進入了計劃與控制階段(圖1右)。在這個階段,我們根據(jù)位置信息以及識別出的圖像信息(如紅綠燈)實時調(diào)節(jié)車輛的行車計劃,并把行車計劃轉(zhuǎn)化成控制信號操控車輛。全局的路徑規(guī)劃可以用類似A-Star的算法實現(xiàn),本地的路徑規(guī)劃可以用DWA等算法實現(xiàn)。

          光學雷達基礎(chǔ)知識

          先來了解下光學雷達的工作原理,特別是產(chǎn)生點云的過程。

          工作原理

          光學雷達是一種光學遙感技術(shù),它通過首先向目標物體發(fā)射一束激光,再根據(jù)接收-反射的時間間隔來確定目標物體的實際距離。然后根據(jù)距離及激光發(fā)射的角度,通過簡單的幾何變化可以推導出物體的位置信息。由于激光的傳播受外界影響小,LiDAR能夠檢測的距離一般可達100m以上。與傳統(tǒng)雷達使用無線電波相比較,LiDAR使用激光射線,商用LiDAR使用的激光射線波長一般在600nm到1000nm之間,遠遠低于傳統(tǒng)雷達所使用的波長。因此LiDAR在測量物體距離和表面形狀上可達到更高的精準度,一般可以達到厘米級。

          LiDAR系統(tǒng)一般分為三個部分:第一是激光發(fā)射器,發(fā)射出波長為600nm到1000nm之間的激光射線;第二部分是掃描與光學部件,主要用于收集反射點距離與該點發(fā)生的時間和水平角度(Azimuth);第三個部分是感光部件,主要檢測返回光的強度。因此我們檢測到的每一個點都包括了空間坐標信息(x, y, z)以及光強度信息(i)。光強度與物體的光反射度(reflectivity)直接相關(guān),所以根據(jù)檢測到的光強度也可以對檢測到的物體有初步判斷。

          什么是點云?

          無人車所使用的LiDAR并不是靜止不動的。在無人車行駛的過程中,LiDAR同時以一定的角速度勻速轉(zhuǎn)動,在這個過程中不斷地發(fā)出激光并收集反射點的信息,以便得到全方位的環(huán)境信息。LiDAR在收集反射點距離的過程中也會同時記錄下該點發(fā)生的時間和水平角度(Azimuth),并且每個激光發(fā)射器都有編號和固定的垂直角度,根據(jù)這些數(shù)據(jù)我們就可以計算出所有反射點的坐標。LiDAR每旋轉(zhuǎn)一周收集到的所有反射點坐標的集合就形成了點云(point cloud)。


          圖2 點云的產(chǎn)生

          如圖2所示,LiDAR通過激光反射可以測出和物體的距離distance,因為激光的垂直角度是固定的,記做a,這里我們可以直接求出z軸坐標為sin(a)*distance。由cos(a)*distance我們可以得到distance在xy平面的投影,記做xy_dist。LiDAR在記錄反射點距離的同時也會記錄下當前LiDAR轉(zhuǎn)動的水平角度b,根據(jù)簡單的集合轉(zhuǎn)換,可以得到該點的x軸坐標和y軸坐標分別為cos(b)*xy_dist和sin(b)*xy_dist。

          LiDAR 在無人駕駛技術(shù)中的應(yīng)用領(lǐng)域

          接下來介紹光學雷達如何應(yīng)用在無人駕駛技術(shù)中,特別是面向高精地圖的繪制、基于點云的定位以及障礙物檢測。

          高清地圖的繪制

          這里的高清地圖不同于我們?nèi)粘S玫降膶Ш降貓D。高清地圖是由眾多的點云拼接而成,主要用于無人車的精準定位。高清地圖的繪制也是通過LiDAR完成的。安裝LiDAR的地圖數(shù)據(jù)采集車在想要繪制高清地圖的路線上多次反復行駛并收集點云數(shù)據(jù)。后期經(jīng)過人工標注,過濾一些點云圖中的錯誤信息,例如由路上行駛的汽車和行人反射所形成的點,然后再對多次收集到的點云進行對齊拼接形成最終的高清地圖。

          基于點云的定位

          首先介紹定位的重要性。很多人都有這樣的疑問:如果有了精準的GPS,不就知道了當前的位置,還需要定位嗎?其實不然。目前高精度的軍用差分GPS在靜態(tài)的時候確實可以在“理想”的環(huán)境下達到厘米級的精度。這里的“理想”環(huán)境是指大氣中沒有過多的懸浮介質(zhì)而且測量時GPS有較強的接收信號。然而無人車是在復雜的動態(tài)環(huán)境中行駛,尤其在大城市中,由于各種高大建筑物的阻攔,GPS多路徑反射(Multi-Path)的問題會更加明顯。這樣得到的GPS定位信息很容易就有幾十厘米甚至幾米的誤差。對于在有限寬度上高速行駛的汽車來說,這樣的誤差很有可能導致交通事故。因此必須要有GPS之外的手段來增強無人車定位的精度。

          上文提到過,LiDAR會在車輛行駛的過程中不斷收集點云來了解周圍的環(huán)境。我們可以很自然想到利用這些環(huán)境信息來定位。這里我們可以把這個問題用一個簡化的概率問題來表示:已知t0時刻的GPS信息,t0時刻的點云信息,以及t1時刻無人車可能所在的三個位置:P1、P2和P3(這里為了簡化問題,假設(shè)無人車會在這三個位置中的某一個)。求t1時刻車在這三點的概率。根據(jù)貝葉斯法則,無人車的定位問題可以簡化為如下概率公式:



          圖片描述

          右側(cè)第一項表示給定當前位置,觀測到點云信息的概率分布。其計算方式一般分局部估計和全局估計兩種。局部估計較簡單的做法就是通過當前時刻點云和上一時刻點云的匹配,借助幾何推導,可以估計出無人車在當前位置的可能性。全局估計就是利用當前時刻的點云和上面提到過的高清地圖做匹配,可以得到當前車相對地圖上某一位置的可能性。在實際中一般會兩種定位方法結(jié)合使用。右側(cè)第二項表示對當前位置預測的概率分布,這里可以簡單的用GPS給出的位置信息作為預測。通過計算P1、P2和P3這三個點的后驗概率,就可以估算出無人車在哪一個位置的可能性最高。通過對兩個概率分布的相乘,可以很大程度上提高無人車定位的準確度,如圖3所示。


          圖3 基于點云的定位

          障礙物檢測

          眾所周知,在機器視覺中一個比較難解決的問題就是判斷物體的遠近,基于單一攝像頭所抓取的2D圖像無法得到準確的距離信息。而基于多攝像頭生成深度圖的方法又需要很大的計算量,不能很好地滿足無人車在實時性上的要求。另一個棘手的問題就是光學攝像頭受光照條件的影響巨大,物體的識別準確度很不穩(wěn)定。圖4展示了光線不好的情況下圖像特征匹配的問題:由于相機曝光不充分,左側(cè)圖中的特征點在右側(cè)圖中沒有匹配成功。圖5左側(cè)展示了2D物體特征匹配成功的例子:啤酒瓶的模板可以在2D圖像中成功識別。但是如果將鏡頭拉遠,如圖5右所示,我們只能識別出右側(cè)的啤酒瓶只是附著在另一個3D物體的表面而已。2D物體由于維度缺失的問題很難在這個情境下做出正確的識別。


          圖4 暗光條件下圖像特征匹配的挑戰(zhàn)


          圖5 2D圖像識別的問題

          利用LiDAR所生成的點云可以很大程度上解決上述兩個問題,借助LiDAR的特性,我們可以對反射障礙物的遠近、高低甚至是表面形狀有較為準確的估計,從而大大提高障礙物檢測的準確度,而且這種方法在算法的復雜度上低于基于攝像頭的視覺算法,因此更能滿足無人車的實時性需求。

          LiDAR技術(shù)面臨的挑戰(zhàn)

          前文我們專注于LiDAR對無人駕駛系統(tǒng)的幫助,但是在實際應(yīng)用中,LiDAR也面臨著許多挑戰(zhàn),包括技術(shù)、計算性能以及價格挑戰(zhàn)。要想把無人車系統(tǒng)產(chǎn)品化,我們必須解決這些問題。

          技術(shù)挑戰(zhàn):空氣中懸浮物

          LiDAR的精度也會受到天氣的影響。空氣中懸浮物會對光速產(chǎn)生影響。大霧及雨天都會影響LiDAR的精度,如圖6所示。


          圖6 外部環(huán)境對LiDAR測量的影響


          圖7 雨量對LiDAR測量影響的量化

          圖7測試中使用了A和B兩個來自不同制造廠的LiDAR,可以看到隨著實驗雨量的增大,兩種LiDAR的最遠探測距離都線性下降。雨中或霧中的傳播特性最近幾年隨著激光技術(shù)的廣泛應(yīng)用越來越受到學術(shù)界的重視。研究表明:雨和霧都是由小水滴構(gòu)成的,雨滴的半徑直接和其在空中的分布密度直接決定了激光在傳播的過程中與之相撞的概率。相撞概率越高,激光的傳播速度受影響越大。

          計算性能挑戰(zhàn):計算量大

          從表1可以看到,即使是16線的LiDAR每秒鐘要處理的點也達到了30萬。要保證無人車定位算法和障礙物檢測算法的實時性,如此大量的數(shù)據(jù)處理是面臨的一大挑戰(zhàn)。例如,之前所說的LiDAR給出的原始數(shù)據(jù)只是反射物體的距離信息,需要對所有產(chǎn)生的點進行幾何變換,將其轉(zhuǎn)化為位置坐標,這其中至少涉及4次浮點運算和3次三角函數(shù)運算,而且點云在后期的處理中還有大量坐標系轉(zhuǎn)換等更復雜的運算,這些都對計算資源 (CPU、GPU、FPGA) 提出了很大的需求。



          成本挑戰(zhàn):造價昂貴

          LiDAR的造價也是要考慮的重要因素之一。上面提到的Velodyne VLP-16 LiDAR官網(wǎng)報價為稅前7999美元,而Velodyne HDL-64E LiDAR預售價在10萬美元以上。這樣的成本要加在本來就沒有很高利潤的汽車價格中,無疑會大大阻礙無人車的商業(yè)化。

          展望未來

          盡管無人駕駛技術(shù)漸趨成熟,但LiDAR始終是一個繞不過去的坎。純視覺與GPS/IMU的定位以及避障方案雖然價格低,卻還不成熟,很難應(yīng)用到室外場景中;但同時LiDAR價格高居不下,消費者很難承受動輒幾十萬美元定價的無人車。因此,當務(wù)之急就是快速把系統(tǒng)成本特別是LiDAR的成本大幅降低。其中一個較有希望的方法是使用較低價的LiDAR,雖然會損失一些精確度,但可以使用其它的低價傳感器與LiDAR做信息混合,較精準地推算出車輛的位置。換言之,就是通過更好的算法去彌補硬件傳感器的不足,我們相信這是無人車近期的發(fā)展方向。而高精度LiDAR的價格由于市場需求大增也將會在未來的一兩年內(nèi)出現(xiàn)降幅,為無人車的進一步普及鋪路。


          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();