自動駕駛無疑是汽車行業(yè)為用戶描畫的一張“大餅”,,能夠手離方向盤,將開車這種枯燥乏味且極具風險的“力氣活兒”變成一種享受,,太有誘惑力了,。
但現(xiàn)實是,吆喝了很多年,,我們似乎離真正的自動駕駛還有相當?shù)木嚯x,。如果你找個業(yè)內人士聊聊,他可能會列舉出從技術到安全,,從商業(yè)模式到法律法規(guī)等一系列苦衷,,借此來向你說明自動駕駛的“路漫漫其修遠兮”。但是理由再多,,趨勢在那兒,,面對這個人人都在為之而奮斗的終極目標,恐怕是有條件要上,沒有條件創(chuàng)造條件也要上,。但是這條路究竟應該如何走,,如何走得更順,就需要一個合理的規(guī)劃了,。
其實從技術上來講,,實現(xiàn)自動駕駛一直面臨著一個擴展性的問題,因為自動駕駛的終極目標是根據(jù)分級,、分階段實現(xiàn)的,,而不是一步到位,因此在這個漫長的過程中如何打造一個可擴展的技術架構去應對所有自動駕駛級別在算力,、安全性等方面的要求,,就成了一個十分重要的命題。而且這樣的可擴展的架構,,對于在這個過程中形成高中低端的差異化產(chǎn)品,,適應不同用戶市場的需要,及時將技術投入變現(xiàn),,也大有裨益,。
自動駕駛的分級
為了完美地解答這個問題,我們還是要先回到自動駕駛的分級上,。按照美國汽車工程師學會SAE給出的定義,,自動駕駛從L1到L5分為五級,分別對應著駕駛支持,、部分自動化,、有條件自動化、高度自動化和完全自動化,。
自動駕駛的分級說明
從圖中不難看出,,各個級別之間的差異是根據(jù)駕駛控制權的歸屬來界定的,自動駕駛級別越低,,駕駛員對車輛的控制權就越強,。比如在L1中,包括自動巡航,、自動制動和車道保持等幾個內容,,它們實際上只允許車輛在一個方向上做加速或減速的自動控制,而不包括轉向的操作,,駕駛員仍然對車輛具有絕對的控制權,必須通過親自觀察環(huán)境做出正確的判斷和決策,;而到了L5,,車輛則處于無需駕駛員干預的完全自動化狀態(tài),在大多數(shù)情況下駕駛員甚至對車輛的駕駛沒有“發(fā)言權”。
從這個分級規(guī)則中我們也可以看出,,在L3到L4之間,,其實存在一個很高的“臺階”。如果說,,從L1到L3的自動駕駛系統(tǒng)還是一個駕駛員導向的產(chǎn)品,,核心要義還是由人去操控汽車,那么到了L4和L5,,汽車基本上就等同于一個機器人了,,在大多數(shù)情況下是處于與“人”切斷聯(lián)系的狀態(tài),自主運行,。也可以說從L1至L3,,產(chǎn)品廣告詞吹得再玄妙,也還是ADAS,,只有到了L4和L5,,才是真正進入了的自動駕駛的境界。
從L1到L5的這種跨度,,反觀上文中所提到的技術架構的可擴展性,,就顯得更具挑戰(zhàn)性了。
可擴展的技術架構
想要解決這個問題,,首先需要在深入理解的基礎上對其進行簡化,。目前業(yè)內一種比較主流的認知是,可以將自動駕駛決策(THINK)分為兩個部分(域):一個是感知和建模(Perception and Modeling),,一個是安全計算(Safe Computing),。
具體來講,感知和建模是對來自車輛傳感器的數(shù)據(jù)進行特征提取,、分類、識別,、跟蹤等處理,,得出目標是什么、目標的XYZ坐標位置,,以及目標移動的速度和角度等信息,,并輸出一個網(wǎng)格圖。而感知和建模域的輸出,,則可作為安全計算域的輸入,,安全計算要做的就是將目標的網(wǎng)格圖與環(huán)境信息融合,進行最佳路線的規(guī)劃,,并動態(tài)預測未來幾秒內可能的變化,,其計算結果輸出為車輛加減速和轉向兩種控制信號,這樣的計算處理過程反復進行,,就可形成連貫的自動駕駛行為,。
由于感知和建模、安全計算這兩個域的功能不同,,具體的技術訴求也是不同的,這主要反映在功能安全性和計算效率上,。
對于感知和建模來說,,由于前端輸入來自多個傳該器——包括攝像頭、毫米波雷達和激光雷達三種類型——為了適應復雜應用場景,,至少需要兩種傳感器去滿足全面、準確的數(shù)據(jù)獲取要求,,這種傳感器的多樣性和冗余性,,使得單一傳感器的感知和建模系統(tǒng)只需滿足ASIL-B的功能安全要求,即可在整體上達到ASIL-D的功能安全水平,。而在算力上,定點計算即可滿足大多數(shù)感知和建模數(shù)據(jù)處理的要求,。
而安全計算則很不一樣,,由于經(jīng)過傳感器融合之后,沒有了數(shù)據(jù)的多樣性和冗余性,,因此安全計算處理器必須要達到ASIL-D的功能安全要求。同時由于計算復雜性要高,,必須同時使用定點運算和浮點運算——浮點運算主要是進行向量和線性代數(shù)加速——而且從安全性的角度,,神經(jīng)網(wǎng)絡因為不能回溯而無法勝任,因為必須使用確定性的算法,,這些計算效率上的要求,,都需要與其相適應的計算架構的支持。
試想一下,,如果用單一的計算架構去同時完成感知和建模、安全計算兩個任務,,顯然是不經(jīng)濟的,,而且喪失了靈活性。比如,,當你希望擴展傳感器的數(shù)量或類型時,,就不得不對整個處理器結構進行替換,。所以一種可擴展架構的思路就是,,分別為兩個域設計不同的處理器芯片與之相對應,這樣后續(xù)的系統(tǒng)擴展升級也會更容易,。
這樣一來,一個架構就可以滿足從L1到L5所有自動駕駛級別的技術要求,,開發(fā)者不論是做面向未來的技術探索,,還是做針對當下市場需求的產(chǎn)品研發(fā),都可以進退有據(jù),,游刃有余,。有了這樣的認識和技術支撐,,在通往自動駕駛的臺階上,前行的步伐也會更篤定,。