Apollo自動駕駛進階課程是由百度Apollo聯合北京大學共同開設的課程,邀請百度Apollo開放平臺研發團隊的中美專家聯合講授。
上一期,我們為大家推送了課程第①講——《自動駕駛行業概述》。本周,阿波君根據Apollo產品負責人David.Zhou所講授的第二課《Apollo開源模塊講解(上)》進行了要點整理,方便更多未到現場/沒有時間觀看視頻的老鐵們閱讀。
話不多說,歡迎各位開發者一起進入進階課程第二期。
無人駕駛對安全精度和各種復雜技術的集成程度要求非常高,因此到目前為止,在民用領域里,無人駕駛車輛的技術難度之高是數一數二的。
做一輛無人駕駛車肯定要比做一個手機APP要復雜很多倍。無人駕駛車到底包括哪些核心技術呢,接下來我將為大家一一講解。
備受大家熱捧的無人駕駛車并不是一輛普通的車,因為無人駕駛的車一定要是線控車。所謂線控(by-wire),就是說這個車是能被電腦控制的。車的方向盤和輪子之間是有電機連接的,方向盤傳動到電機上,然后電機去控制車輪,這樣的話電腦就可以通過控制電機的方式來控制這個車輪。
為了保證無人駕駛車的安全性,當它在路上行駛的時候,必須做到它跟云端是有連接的。無人駕駛車并不需要時時跟云端匯報接下來會如何處理,而是要告訴云端它的位置以及行駛規劃。
對于無人駕駛來說,在馬路上行駛一定要有高精地圖,這里所說的高精地圖跟我們平時開車用的導航地圖有什么不同呢?
所謂的導航地圖就是我們平時使用的百度地圖、谷歌地圖等,在導航地圖上,它會告訴你怎么從A點到B點,然后有幾條路,預計需要用多長時間等信息。
而高精地圖相對于導航地圖來說,最大的特點就是高精度,它是需要做到車道線級別的。也就是說,高精地圖不光要知道你在哪條路上,還需要知道你在這個路的哪條車道線上,因為只有這樣才能準確地告訴無人駕駛車應該在哪個車道行駛,接下來應該怎么拐。
高精地圖對于無人車來說,具有非同尋常的價值。
第一,高精地圖能夠給無人車很多預判的空間。當無人車通過高精地圖知道前方的路況和交通標識信息后,能夠提前做行駛規劃,保證了行車的平穩性和經濟性。
第二,高精地圖能夠幫助無人車減少計算量。當無人車需要通過路口時,它需要提前感知前方信號燈的狀態,這時高精地圖就可以幫助它定位到信號燈所在的特定區域,從而有效降低了全范圍掃描識別的計算量。
除此以外,高精地圖將道路及周圍的所有靜態障礙物進行收集,減少無人車對靜態障礙物的算法處理。
無人車有了高精地圖之后,還需要知道它在地圖的什么位置,這里就需要使用定位技術。說到定位,很多人可能最先想到GPS。那么GPS定位的原理是什么呢?其實GPS定位原理實際上就是一個相對定位。
每個衛星會不停地發電磁波,當收到電磁波信號之后,根據收到信號的時間與光速算出和衛星之間的距離。有了與四個衛星的距離之后,就可以解一個方程算出所在位置。但由于電離層、反射作用等因素的干擾,GPS定位是有誤差的,它的精度只能達到米級。對于無人車來說,米級的定位精度是不安全的,為了解決無人車定位問題,還需要其他技術。
GPS定位還有一個問題,它是跳動的。GPS定位是每時每刻根據當前的時間去算的,容易出現計算結果不準的情況。為了抹平GPS的跳變,需要用到IMU(慣性導航),一般來說GPS和IMU是一塊用的,GPS不停的去給IMU一個方向去校準,然后IMU再給GPS一個方向。
除此之外,無人車在接收不到GPS信號的情況下,需要用到另一個技術——幾何定位。
幾何定位的原理和GPS原理差不多,就是在道路上選幾個feature,根據這些feature計算無人車所在的位置。幾何定位的精度很高,可以精確地算出無人車所在的位置。所以,目前比較流行的定位技術就是GPS、IMU和幾何定位等一系列技術的融合。
為了提高GPS的定位精度,大家又在GPS的基礎上發明了RTK技術。手機GPS定位中,手機就是一個移動站,它會經常變動位置。這里所說的RTK,是一個靜止站,它同樣也收到衛星的信號。無人車與RTK相隔不太遠的情況下,對二者之間的干擾信號用差分抹平,就可以認為無人車和RTK收到的信號是一樣的。
RTK的應用能讓GPS的定位精度達到10厘米,但是RTK技術的應用有個限制,它要求基站與車的距離要在16公里以內。
我們人類天生具備感知外界的能力,是因為我們具備各種“傳感器”。
無人車想在道路上安全行駛,也必須具備屬于它自己的各類傳感器去感知外界環境。目前,無人車主要的傳感器有攝像頭(Camera)、雷達(Radar)和激光雷達(Lidar)。
對于無人車來說,觀察信號燈以及一些交通標識都需要對顏色識別。
攝像頭恰能解決這個問題,它的主要優點是能夠辨別顏色,但是它沒有對距離的判斷的能力。因此,實現無人車對外界的感知還需要其他傳感器的配合。
雷達是無人車比較重要的傳感器之一,它是利用電磁波探測目標的電子設備。
雷達發射電磁波對目標進行照射并接收其回波,由此獲得目標至電磁波發射點的距離、距離變化率(徑向速度)、方位、高度等信息。雷達的應用場景是全天候的,由于電磁波可以饒過一些東西,所以它的準確性并不太高。
雷達還有一個特點,它對于速度判斷非常準,而對于靜態物體的誤報比較多。
激光雷達是目前無人車發展的一個比較核心的技術,它是以發射激光束探測目標的位置、速度等特征量的雷達系統。
激光雷達工作原理是向目標發射探測信號,然后將接收到的從目標反射回來的信號與發射信號進行比較,作適當處理后,就可獲得目標的有關信息。
激光雷達的最大優點就是對距離的判斷非常精準,但它也有個很大的缺點,就是對環境的要求非常高,比如在霧霾天氣里激光雷達的精準度就會降低很多。
激光雷達是一個非常新的技術,在發展無人車之前,它并沒有大規模的商業應用場景,因此它的價格非常昂貴。雖然目前激光雷達價格很貴,但它的種類還是挺多的。
大家可能見過無人車上有個不停旋轉的Lidar,這種是機械雷達。由于它需要不停旋轉,它本身也又大又重,機械損耗較大,容易出現問題。基于機械雷達,大家又發明了一些新的激光雷達,比如MEMSlidar、flashlidar等。
無人車收到各種傳感器獲取的信息之后,還需要做傳感器融合。所謂傳感器融合,就是要把每個傳感器看到的東西全部都疊加在一起。當所有傳感器看到的信息綜合在一起,無人車才能夠更加全面具體地感知外界環境。
當車輛在路上行駛時,通過傳感器獲取了周圍的信息,接下來就需要知道如何反應。
對于周圍的車輛或其他障礙物,無人車是需要避讓還是需要停下來,或者需要超越等等,這些都屬于約束條件。無人車需要在所有的約束條件中,規劃出一條可以走的路線。
無人車的軌跡規劃:
一是要滿足所有的約束條件。
二是要保證車輛運動的平滑。所謂平滑,是要保證車子的速度不能跳變。
在此基礎上,車子的加速度也需要是平滑的。
最終目的是,在人類可感知的范圍,車子行駛是順暢的,沒有不平滑不順的情況。
前面我們已經提到,無人車是線控車,而不是一個僅有齒輪組成的集合體。
實現對無人車的控制,我們需要知道踩剎車和減速的關系、踩油門和加速的關系等,當無人車拿到一些控制學參數后,就可以實現電腦對無人車的控制。
想要保證無人車是非常安全的,我們必須做到讓每一輛無人車成為“有經驗的司機”。所謂有經驗,就是見過很多路況并且知道如何處理這些路況。
百度在云端后臺有個巨大的仿真空間,每一輛無人車可以將自己遇到的復雜路況上傳到云端,因此網上就有了一個非常大的數據庫。
當無人駕駛的算法有更新時,就可以在云端的仿真場景中跑一下,檢驗是否能夠應對云端的這些路況。這個步驟,就是為了確保每個無人車都稱得上是“有經驗的司機”。
-
無人駕駛
+關注
關注
98文章
4108瀏覽量
121623 -
無人車
+關注
關注
1文章
304瀏覽量
36652 -
控制電機
+關注
關注
0文章
242瀏覽量
18366
原文標題:Apollo進階課程 ② | 開源模塊講解(上)
文章出處:【微信號:Apollo_Developers,微信公眾號:Apollo開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論