本期,將與大家分享百度Apollo L4級別自動駕駛系統在高精地圖方面的進展和相關的內容。話不多說,歡迎各位開發者一起進入進階課程第6期。
SAE的自動駕駛分級
美國國家交通安全管理局將自動駕駛分為五個等級。SAE(SAE International, Society of Automotive Engineers 國際自動機工程師學會)將自動駕駛分成六個等級,國內廣泛接受SAE的六等級分類方法。
在SAE的六等級分類方法中,L0級別是人類駕駛,L1到L3級別是輔助駕駛,L3以上是自動駕駛。
在L1—L3輔助駕駛級別,常見的很多車型都已經配備其中的一些功能,比如偏離預警、碰撞預警和自適應巡航等。
L3級別以上的自動駕駛研發是現在Apollo正在做的事情,百度內部本身分L3和L4。
L3級別基本上已達到一定程度上的自動駕駛,它不需要車輛駕駛員來關注環境,只需要在緊急情況下接管;L4級別則可在限定區域下完全做到自動駕駛。
L5級別可能是比較遙遠的狀態。現在有些廠商宣稱L5級別自動駕駛可以做到完全沒有人員操控,車輛能處理所有的情況。
但這需要依賴于技術能夠發展到非常好的階段,到時候所有的道路情況車輛才能理解和處理。
從分類等級里面可以看到,L3級別以下不需要高精地圖,但在L3、L4級別,高精地圖是標配。
發展到L5階段是否需要高精地圖?到目前為止還不確定。在目前的情況下,如果沒有高精地圖,L3、L4級別的自動駕駛很難實現。
高精地圖的定義
傳統地圖的技術不是不精確,而是尚未達到自動駕駛的需求。
用于L3、L4級別自動駕駛的高精地圖,對整個道路的描述更加準確、清晰和全面。高精地圖除了傳統地圖的道路級別,還有道路之間的連接關系,專業術語叫Link。
高精地圖最主要的特征是需要描述車道、車道的邊界線、道路上各種交通設施和人行橫道。
即它把所有東西、所有人能看到的影響交通駕駛行為的特性全部表述出來。
第二個特征是實時性。實時性是非常關鍵的指標,因為自動駕駛完全依賴于車輛對于周圍環境的處理,如果實時性達不到要求,可能在車輛行駛過程中會有各種各樣的問題及危險。
高精地圖更類似于自動駕駛的專題組,但國內可能為了稱謂方便還是稱它為高精地圖。高精地圖并不是特指精度,它在描述上更加的全面,對實時性的要求更高。
導航地圖與高精地圖的差別
左邊是我們經常用到的一些電子導航地圖,它的表述形式傾向“有向圖”結構,把道路抽象成一條條的邊,各邊連通關系構成整體上的有向圖。這類似百度地圖、高德地圖、谷歌地圖的做法。
導航地圖只是給駕駛員提方向性的引導。識別標志標牌、入口復雜情況、行人等都是由駕駛員來完成,地圖只是引導作用。導航地圖是根據人的行為習慣來設計的。
高精地圖完全為機器設計的。因為對于道路的各種情況、人都能理解,但是對于車輛來說它完全不理解。
右邊的圖是比較典型的復雜路口,包括人行橫道、紅綠燈、限速標牌、車道左轉右轉類型。
我們可以看到圖中的路口中間有虛擬的連接線。真實道路中不存在連接線。連接線是為了讓車輛更好的去理解環境,并在高精地圖上表示出來。通過這一步,在人類構建的交通設施環境下,自動駕駛車輛便能運行。
自動駕駛領域對功能模塊的劃分
高精地圖可以作為自動駕駛的「大腦」。「大腦」里面最主要是地圖、感知、定位、預測、規劃、安全。綜合處理成自動駕駛車輛能接受的外部信息,并統一運行在實時的操作系統上。
ROS是業界普遍接受的實時操作系統,百度內部也在研發自己的操作系統。
編者注:
在2019CES的Apollo 3.5發布會上,Apollo正式發布首個自動駕駛高性能開源計算框架 Cyber RT。
Apollo Cyber RT系統是 Apollo 開源軟件平臺層的一部分,作為運行時計算框架,處于實時操作系統 (RTOS) 和應用模塊之間。
Apollo Cyber RT作為基礎平臺,支持流暢高效的運行所有應用模塊。
車上配備的傳感器類似于人的感知系統,用來感知外部環境;自動駕駛車輛會把感知的結果通過「大腦」處理后發送給控制系統。
HMI人機交互接口前期主要用于內部調試,后期當自動駕駛車輛量產后,需要用戶輸入目的地等信息。
因此,高精地圖對于感知、定位、規劃、決策、仿真和安全都是不可缺少的。
下面讓我們來逐一了解高精地圖模塊與其他模塊之間的關系。
視覺與高精地圖結合是比較典型的視覺定位方法
現在主流的自動駕駛的定位方案有兩種:一種是基于點云,另一種是基于Camera。其本身都是一種對周圍環境的感知。
感知后是Feature提取,提取之后可以通過特征匹配最終得到精確結果。
自動駕駛車輛在路口“看”到建筑物,然后通過激光雷達能搜到點云的信息,通過點云的特征提取,然后通過復雜的組合變換、視角變換,最終通過跟周圍環境的比對能得到比較準確的定位坐標。
目前主流Camera定位的視覺方案,會實時做LocationFeature的提取。在HDMap里面也存儲了對應的一些Location相關的特征。經過兩個提取特征的比較后可以得到相對準確的定位位置信息。
Camera下有GNSS,雷達也有。有初值之后可以減少搜索的范圍,在工程上可以搜到更好的結果。
路邊特征/車道線對比
左側「路邊的特征」圖片是我們利用粒子濾波提取路邊特征的演示。
車輛在初始位置時,Camera可以觀測到在它左邊有一棵樹。這棵樹可能是高精地圖的Feature,通過Feature我們知道車輛可能的位置。
下一刻,Camera觀測到它右邊又有一棵樹。通過這兩個Feature的比對,再通過概率性疊加計算,幾次迭代后就可以大概確定車輛所在道路的位置。
道路上的Feature是非常多的,除了樹以外,也可能是車道線。
右側「道路車道線」圖片是基于車道線的匹配情況演示。通過Camera、DeepLearning和實時的檢測模塊,系統能夠實時地檢測到車道線。
從右圖可以看出左邊的車道線匹配情況不太好,右邊的車道線匹配比較好,這時候能大概的確定我們在右邊車道線對應的相關位置。
高精地圖里面由定位提供的Feature有很多,例如電線桿、車道線、停止線和人行橫道等都能提供很多的約束信息。
超距離感知、障礙物感知與紅綠燈感知
自動駕駛車輛搭載的傳感器類型有很多。但64線激光雷達、Camera和Radar等傳感器都有一定局限性。
64線激光雷達號稱有一百米的檢測距離。但實踐中超過60米之后,點云本身已非常稀疏,60米外檢測的可信度會繼續下降。
自動駕駛車輛在行駛中如果遭遇灑水車,或者碰到霧霾天氣,對激光雷達的檢測可信度也會有很大影響。
Camera的局限更大,在夜間、逆光的情況下很難達到非常好的視覺效果。
Radar的穿透能力很強,但精度不高。
所以基于這些傳感器本身的局限性,高精地圖能夠提供非常大的幫助。
開發者可以把高精地圖看作是離線的傳感器,在高精地圖里,道路元素的位置都被標注好了。
由于物體的遮擋影響,自動駕駛車輛在某些地方看不到左下側/比較遠的紅綠燈。
在高精地圖里提前標注紅綠燈的三維空間位置后,感知模塊就可以提前做針對性的檢測。
這樣做不僅可以減少感知模塊的工作量,而且可以解決DeepLearning的部分缺陷。識別可能會有些誤差,但先驗之后可提高識別率。
高精地圖可以幫助車輛做到先驗信息/軌跡約束/預測選擇
規劃、預測和決策也是自動駕駛里非常重要的模塊。
「規劃模塊」完成的工作主要有兩個:第一是A點到B點的長距離規劃;第二個是短距離規劃。
自動駕駛車輛在行駛過程中面臨動態環境。其中包括道路交通的參與者,比如其他車輛和行人。我們要根據障礙物的實時位置及時地做局部規劃。
在Apollo源碼里有Planning的模塊,是用來專門研究規劃的。
有了以上兩個層面的規劃之后,還需要預測。「預測模塊」的作用是把其他道路參與者的可能行駛的路徑軌跡和行動預測出來。
「決策模塊」主要是根據規劃和預測的結果決定自動駕駛車輛是跟車、超車還是在紅綠燈燈前停下等決策。
「控制模塊」是把決策結果分解為一系列的控制行動,然后分發給控制模塊執行。
從以上分析可以看到,規劃、預測、決策和控制的每個步驟都與高精地圖有密切的關系。
高精地圖的規劃是Lean級別的,傳統導航只需知道點到點的信息。對于高精地圖而言,規劃需要知道從哪個Lean到哪個Lean,是一系列Lean的序列。
規劃的第二個層次是Planning。
在軌跡約束中,經高精地圖運算后,自動駕駛車輛避讓時會清楚地知道目的地在哪/怎么選,并提供可行的解空間。
預測的體系比較復雜,但底層仍依賴于高精地圖。
例如,自動駕駛車輛「看到」其他車輛在左轉車道上,系統會預測此車輛很大概率上要左轉;若是「看到」其他車輛在右轉車道上,系統會預測此車輛很大概率上要右轉;「看到」行人在人行橫道上,這時候紅綠燈是綠的,系統則預測行人要過馬路。
以上便是高精地圖給規劃、預測和決策模塊提供先驗的知識,高精地圖能夠讓車輛「決策」更加準確。
自動駕駛車輛聯網后,遭受攻擊無可避免
自動駕駛的主要目標是能夠取代人類司機,能夠取代的前提是自動駕駛車輛必須足夠的安全。
安全的維度有很多。駕駛算法的穩定性和對場景的處理能力也屬于安全范疇。
今天我們著重講安全模塊與高精地圖的關系。
自動駕駛車輛有很多傳感器,當自動駕駛車輛上路之后,會出現很多質疑的聲音。
聯網的自動駕駛車輛可能被攻擊。因為所有的東西一旦聯網,就存在各種各樣的隱患。
自動駕駛車輛可能遭受4個維度的攻擊:傳感器、操作系統、控制系統和通信系統。
傳感器是自動駕駛車輛輛上通用的模塊,相當于IMU慣性測量單元,它對于磁場是非常敏感,如果我們在車輛周圍放一些強磁場,會影響它測量的準確度。
輪速器也有風險。車輪變形和損壞都會影響測量精度。
激光雷達依賴于激光反射。如果我們在周圍環境上加載人工的反射物或假的紅綠燈,就會讓我們的車直接停下。假的GPS信號和激光也會對系統造成干擾。
定位模塊依賴于高精地圖提供的信息來做運動學的約束;激光雷達依賴高精地圖做一些三維點的掃描。
Apollo提供的定位方案基于激光雷達反射值。反射值不準確就會對定位精度有影響,紅綠燈對規劃決策控制也有很大的影響。
針對任何一種攻擊,目前來說,還很難有全面有效的方法來防止問題發生。
高精地圖能在這里面起什么作用?
高精地圖能提供離線的標準信息。比如說,激光雷達在場景中掃描到物體,通過與高精地圖中的信息進行對比匹配。如果結果不一致,我們可以大概率地認為此地有問題,這就是通過多傳感器的融合來解決安全問題。
仿真系統是自動駕駛非常重要的模塊
自動駕駛車輛的成本很高。車輛的成本幾十萬,64線激光雷達的成本在8萬美元。
實際情況中,開發者很難把所有的策略迭代都放在車上去測試,所以需要非常強大的仿真系統。
仿真的主要問題是「真實」,怎樣做到「真實」?
Apollo的仿真系統主要是基于高精地圖/真實場景來構建。仿真場景回放后,和真實上路的實際情況相比,可以基本保證Gap不會很大。
在實際測試的過程中,Apollo的測試人員也會錄一些Bag,記錄實測中遇到的一些問題,并放到仿真系統里去做測試。
高精地圖為仿真地圖提供了最底層的基礎結構,能讓仿真系統更好的去模擬真實道路的場景。
沒有高精地圖的高可靠性,L3/L4自動駕駛無法落地。
高精地圖可將人類經驗賦予自動駕駛系統
上圖是幾個非常典型的、難理解的場景。
第一是在重慶的某地。路網非常復雜,我們目前的技術從算法層面無法理解如此復雜的交通場景。
第二個是雪天。雪天是非常難解的場景,雪天時路上的車道線全部被蓋住了,不管是基于視覺還是雷達都無法正常運行。
2018年谷歌IO大會上提出了通過深度學習能夠解決雪天的場景。在下雪過程中,激光雷達在掃描到雪花之后會誤報出很多障礙物,通過深度學習能夠把激光雷達上檢測到的雪花障礙物過濾掉,最終得到跟沒有下雪的場景一樣,但是具體效果怎么樣,并沒有具體的數據披露。
第三個是復雜的紅綠燈,這種紅綠燈即使人看到也不知該如何處理。
高精地圖是靜態的Perception。機器理解不了,我們可以把人理解的經驗賦予給駕駛系統,相當于把人的經驗傳授給它。
高精地圖可以彌補系統性缺陷
自動駕駛需要非常復雜的計算系統,4G的傳輸速度并不能滿足現階段自動駕駛的海量數據傳輸需求。
64線激光雷達、Camera和其他傳感器,每時每刻都會產生巨量的數據,這些數據不能傳回云端,就不能采用互聯網的模式:通過云端計算把結果發送給終端。
5G是否能達到數據傳輸的要求還需要再驗證。目前從5G的宣傳層面來看,能夠達到數據實時傳輸的效果,但是5G的普及還需要時間。所以我們現在把大量的數據都放在終端。
Apollo的自動駕駛車輛后面有非常大的計算單元。基于英特爾工控機,Apollo把所有的計算都放在車上,這會對計算速度和實時性有很大的影響。
我們希望Apollo的各模塊都能達到實時級的響應,但是自動駕駛車輛的計算量太大,想要達到實時級的響應,仍需其他模塊的輔助。
舉個例子,高精地圖告訴感知/控制模塊,在你的雙向通行的車道中有柵欄隔離,對向車道的車不可能過來,系統就可以放棄檢測對向車道上的障礙物,有效地降低系統負擔。
傳感器有局限,但高精地圖給自動駕駛提供了超視覺、超過傳感器邊界的遠距離感知。
-
傳感器
+關注
關注
2552文章
51228瀏覽量
754653 -
自動駕駛
+關注
關注
784文章
13867瀏覽量
166597
原文標題:Apollo進階課程 ⑥ | 高精地圖與自動駕駛的關系
文章出處:【微信號:Apollo_Developers,微信公眾號:Apollo開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論