來源:車云網(wǎng)
7月13日,在由車云、武漢經(jīng)開投資有限公司、武漢現(xiàn)代制造業(yè)創(chuàng)業(yè)服務(wù)中心聯(lián)合主辦的“智商業(yè)·馭未來”第三屆中國智能汽車創(chuàng)新發(fā)展論壇上,NXP ADAS和自動駕駛技術(shù)市場經(jīng)理武鈺發(fā)表了名為《符合功能安全的自動駕駛軟硬件架構(gòu)》的演講。
智能汽車的車身電子架構(gòu)正在發(fā)生變化。傳統(tǒng)汽車采用了分布式架構(gòu),每個電子單元各自承擔(dān)計算任務(wù),需要集中處理的數(shù)據(jù)很少。這種架構(gòu)可擴(kuò)展性較強(qiáng),如果想增加一個新的傳感器也非常方便。
但是傳統(tǒng)的分布式架構(gòu)已經(jīng)無法滿足自動駕駛汽車的計算需求。隨著自動駕駛需要的傳感器越來越多,傳感器之間的信息需要更加深度的融合計算,這是就要有一個強(qiáng)大的計算機(jī)來完成所有的數(shù)據(jù)運算。
因此,很多自動駕駛原型車采用了中央式架構(gòu)——終端電子單元不對數(shù)據(jù)做修改處理,而是由中央處理器承擔(dān)所有的計算任務(wù)。但是這種架構(gòu)的缺點在于,假如新功能開發(fā)需要增加新傳感器,中央處理器的軟件就要重新刷寫,因此可擴(kuò)展性非常差。
NXP推薦的是一種混合性拓?fù)浣Y(jié)構(gòu)的車身電子電氣架構(gòu),通過在中央處理器和終端電子單元之間設(shè)置一個域控制器的方式,把從傳感器拿過來的數(shù)據(jù)放到域控制器里先行處理,再把處理后的有效信息傳給中央處理器。這樣一方面可以減少數(shù)據(jù)的傳輸壓力,另一方面也平衡了整個計算平臺的計算量。
這種混合性拓?fù)浣Y(jié)構(gòu)與中央式結(jié)構(gòu)相比,更加便于擴(kuò)展。例如主機(jī)廠已經(jīng)完成了自動泊車功能,想在此基礎(chǔ)上擴(kuò)展為車輛自己尋找車位的代客泊車。工程師可以不必更改中央處理器的軟件,只需要連接上新的傳感器,更新域控制器上面的軟件就可以實現(xiàn)。
通過增加中間節(jié)點的方式,混合性拓?fù)浣Y(jié)構(gòu)不僅可以根據(jù)功能要求靈活的改善硬件結(jié)構(gòu),而且可以容易地進(jìn)行軟件升級。同時在系統(tǒng)架構(gòu)上,NXP將硬件配合軟件分割成不同的域,來靈活配置不同的安全等級,從而使不同等級的自動駕駛系統(tǒng)整體滿足功能安全的要求。
NXP ADAS 和自動駕駛技術(shù)市場經(jīng)理 武鈺
以下為演講速記,車云菌在保持原意的基礎(chǔ)上做了刪減:
大家下午好,我叫武鈺,來自NXP技術(shù)市場部,主要負(fù)責(zé)ADAS和自動駕駛。說到自動駕駛安全性是第一位的,現(xiàn)在很多信息向我們鋪面而來,但是我們反思一下真正開始做自動駕駛的初衷是什么?是為了安全,保證道路參與者的生命安全。作為車載芯片供應(yīng)商,NXP一直把功能安全放在第一位。同時我們看到了ADAS自動駕駛軟件發(fā)展方向,開始做一些硬件上的考量。我們現(xiàn)在要根據(jù)自動駕駛的軟件結(jié)構(gòu),來重塑我們的硬件方案。
這張圖在座各位都不會太陌生,是SAE自動駕駛6類分級中的后5類。從L1開始,我們的車輛變得智能化,會從縱向的車身控制中選一樣來幫助駕駛員。NXP會重視從L2-L5的自動駕駛,因為L1到L2有個重大的變革,我們汽車可以同時做橫縱向的控制,把車身的控制權(quán)已經(jīng)從駕駛員分出一部分給汽車本身。一旦涉及到車身控制,我們功能安全考量一下子就要升級了。
從L2開始,我們提供自動泊車,這種自動泊車是指車已經(jīng)開到停車位,讓車通過操控方向盤和油門、剎車來停車,感知方面仍然由駕駛員來做,車輛只是起到橫縱向控制。還有自動剎車時同時包括方向盤轉(zhuǎn)動有規(guī)避障礙物的行為。從L2-L3,感知模塊也會移到汽車上。對泊車來說,車開到一個位置后要自己去尋找可供停車的位置,然后自己操作方向盤來停在這個位置。至于L4和L5,車身開始有自己的大腦,自己會做行為決策,也會做復(fù)雜性場景,自己有思維去尋找解決方案。比如說碰到很復(fù)雜的交通情況,會用大腦想出解決方案。
對應(yīng)不同的駕駛等級,傳感器選擇和數(shù)量都會有所不同。隨著自動駕駛等級的升級,傳感器的數(shù)量會越來越多。這樣會帶來一個問題,傳感器是不是越多越好呢?答案是不一定。因為傳感器越多,數(shù)據(jù)量會越大,對于海量數(shù)據(jù),車身具體怎么從海量數(shù)據(jù)進(jìn)行分析提取有效信息,并且根據(jù)這些有效信息形成符合安全駕駛原則的行為,這點也是我們需要考慮的。
比如激光雷達(dá)給到的是點云數(shù)據(jù),一秒可以達(dá)到幾個G的數(shù)量級。大家想一下,如果一秒是幾個G,整個車一天可以達(dá)到多大的數(shù)據(jù)。還有攝像頭是幾十到幾百兆每秒數(shù)據(jù),這些海量數(shù)據(jù)放在面前,車上的芯片怎么辦,這樣就會帶來新的問題。
NXP在分析車上的拓?fù)浣Y(jié)構(gòu)的時候,結(jié)合了行業(yè)的發(fā)展趨勢。
傳統(tǒng)分散式結(jié)構(gòu)中,每個傳感器的數(shù)據(jù)都在終端處理,好處在于對車上通信帶寬要求不高,真正有效的目標(biāo)數(shù)據(jù)才放到車上處理。但是問題在于每個傳感器需要同步,無論激光雷達(dá)或者毫米波雷達(dá)或者攝像頭,一旦涉及到同步性,分散式的拓?fù)浣Y(jié)構(gòu)就沒有辦法做得很好。
現(xiàn)在自動駕駛的原型車更多是采用右邊中心式的結(jié)構(gòu),它的數(shù)據(jù)全部是從傳感器部分傳到中央處理器,中央處理器面對高頻海量的數(shù)據(jù)來進(jìn)行計算,現(xiàn)在中央處理器一般選用的是IPC或者GPU。但劣勢很明顯,第一是中央處理器運算量特別大,而且?guī)捯蠛芨?,第二功耗也是汽車行業(yè)需要考量的。
NXP提出來的方案是中間的混合性拓?fù)浣Y(jié)構(gòu),我們會在一部分的節(jié)點上設(shè)置一個域控制器,這個域控制器會把從傳感器拿過來的數(shù)據(jù)作為先行處理,再把有效信息傳給中央處理器。一方面平衡了數(shù)據(jù)傳輸?shù)囊?,另一方面平衡了整個計算平臺,在終端處理器和中央處理器中間加了預(yù)處理器,這樣可以實現(xiàn)更好更平衡。
我們現(xiàn)在要反過來想自動駕駛軟件模塊,軟件層面是怎么搭建的。我列了行業(yè)比較標(biāo)準(zhǔn)的結(jié)構(gòu),從傳感器部分拿到原始數(shù)據(jù)(Raw Data),到感知模塊做特征提取和信息提取,再加上車身周圍信息建模,再根據(jù)高精地圖定位,加上高精度地圖和GPS信息做自定位,然后生成本地路徑。從本地的路徑中,我們通過車輛的分析和決策模塊,真正達(dá)到車輛控制。
作為NXP,我們想的是既然軟件可以分成不同模塊,那么硬件也應(yīng)該可以配合軟件的要求進(jìn)行區(qū)別對待。
上圖是我們硬件的考量,從頭開始看的話,從感知到建模的部分,對計算的算力要求特別高,因為要做矩陣運算,而且涉及到計算機(jī)視覺。在一個車上傳感器不會只有一種,所以激光雷達(dá)、毫米波雷達(dá)和攝像頭其實是互為補充的形態(tài),在這方面我們認(rèn)為安全等級可以稍微犧牲一點,更多是滿足算力要求。
而后面因為涉及到車身控制,我們認(rèn)為安全等級的要求就完全不能降低,一定要達(dá)到ASIL-D的水平。從上面這張圖上可以看到,對于前區(qū)的感知模塊,更多是從人工智能到數(shù)據(jù)流,以及軟件安全的發(fā)展方向。在后面的行為決策部分,我們更多想的是軟件層面優(yōu)化,再到底盤的控制,以及硬件安全考量。這兩方面,我們要根據(jù)軟件應(yīng)用特性來做不同的發(fā)展方向規(guī)劃。
回到芯片上面的框架,我們認(rèn)為一般來說如果車載芯片很重要的是要做冗余設(shè)計,如果出現(xiàn)失效或者錯誤的時候切換到安全模式,能夠有最安全的退出。
針對自動駕駛系統(tǒng),感知和行為決策部分是分開的話,NXP把感知放在S32V或S32R上面,這邊更多是傳感器處理器芯片,安全等級會稍微低一點。但是等到涉及到車身控制,會放在S32A,這個是專門的中央計算處理芯片,我們會加上冗余設(shè)計和備份。
正常運行的時候,這ECU Primary和ECU Backup都是同時接收各種信號。一旦出現(xiàn)失效或者錯誤,車身控制連接會完全放棄從Primary拿數(shù)據(jù),直接從Backup的芯片拿數(shù)據(jù)運算,保證了安全退出的模式。
S32是NXP研發(fā)的汽車計算平臺,也是全球首個可擴(kuò)展的計算機(jī)平臺,簡而言之做到了四個字——求同存異。這套系統(tǒng)計算平臺會有各種各樣的芯片,根據(jù)車身不同應(yīng)用會有對應(yīng)的不同芯片,但整個內(nèi)核設(shè)計部分是一樣的,保證我們的軟件開發(fā)是同一個平臺,但是根據(jù)芯片具體在車身哪個位置起作用,我們會加上不同的硬件加速器。比如對于S32V專門對視覺做的,我們會加上視覺的硬件處理器,S32R是針對毫米波雷達(dá)的,我們會根據(jù)毫米波雷達(dá)應(yīng)用做不同的改變。S32A的特色是算力和安全性非常高,所以作為中央處理器的運算。
我們采用這個設(shè)計,一方面在感知和規(guī)劃方面的錯誤都可以跟蹤到,但同時降低了系統(tǒng)功耗和成本,整個系統(tǒng)可以降低100美元。其他芯片和S32相比,如果想做功能安全冗余設(shè)計,需要把整個芯片做備份。NXP在車載芯片設(shè)計方面有很多年的經(jīng)驗,而且有自己專屬的自動駕駛考量,所以基于這個原則我們設(shè)計出來的芯片,一方面平衡了高性能低功耗,同時達(dá)到了安全等級ASIL-D的水平。
上圖是我們給出的低于L2自動駕駛模塊的整車模型,跟現(xiàn)在市面上大多數(shù)ADAS系統(tǒng)比較相似。在傳感器部分,我們采用終端處理器,比如現(xiàn)在的S32R或者S32V,直接在本地做傳感器數(shù)據(jù)處理,處理后通過CAN傳給網(wǎng)關(guān),然后網(wǎng)關(guān)會發(fā)信號到底盤不同區(qū)域做控制。
如果升級到L3和L4,就像我剛才說的,我們需要一個域控制器的概念,除了在傳感器的終端加上S32R、S32V這種終端處理器,還會有S32A專門做行為決策。
但除了這個,如果你想整個系統(tǒng)達(dá)到ASIL-D水平,最后希望的是S32A做冗余設(shè)計,對自動駕駛系統(tǒng)起到功能安全的考量。大家想一下,把芯片放在自動駕駛系統(tǒng)里面,本身這個系統(tǒng)很復(fù)雜,而且車在自動駕駛模式的話,周圍環(huán)境也是多元化的,各個方面都會對芯片的功能安全要求變高。我們非常注重這方面,但是也會給客戶提供功耗低和低成本的方案。
除了S32A做冗余設(shè)計,我們還有一個關(guān)注點,即便你拿到了車身控制信息,但是傳到底盤的EPS的時候,是通過網(wǎng)關(guān)傳輸?shù)摹H绻W(wǎng)關(guān)不能保證安全的話,對系統(tǒng)來說風(fēng)險是很大的。所以我們也會在Gateway做冗余設(shè)計,出了任何問題也會有預(yù)備方案,起碼可以保證車身控制是在我們可接受范圍內(nèi)。
這是NXP提供整套安全系統(tǒng)解決方案,綠色模塊是硬件功能安全特征,除了MCU硬件方面會加入很多新硬件的功能安全特性。同時,我們還有SVC,這本來是做時鐘的東西,但是我們也加入了功能安全的模塊。
除了硬件方面,大家可以往上看藍(lán)色的部分,這是NXP給客戶提供軟件層面的解決方案。如果你的軟件設(shè)計需要用到自檢或者安全退出或者復(fù)原的特性,我們會有現(xiàn)成的方案供客戶使用。
目前,NXP在ADAS和自動駕駛方面,在上海和重慶有一百多人工程師團(tuán)隊,專門負(fù)責(zé)軟件層面給客戶的支持。所以可以看出來,我們芯片業(yè)務(wù)技術(shù)支持在中國本地投入量最大,有任何困難或者軟件上需要什么幫助,我們都可以提供。
NXP的硬件系統(tǒng)可以支持多個操作系統(tǒng),可以根據(jù)軟件應(yīng)用的方向,可以自己選擇想跑實時的操作系統(tǒng)還是跑Linux系統(tǒng),Linux系統(tǒng)可能會更加適合計算量比較大的軟件硬件,實時操作系統(tǒng)比較適合功能安全的軟件應(yīng)用,可以跑QNX和Autosar,所有傳統(tǒng)汽車行業(yè)需要的一連串的軟件設(shè)計,NXP已經(jīng)有非常成熟的方案了。這兩個操作系統(tǒng)跟硬件中間有一個Hypervisor,就是抽象層面,會根據(jù)運行系統(tǒng)的設(shè)置做調(diào)度,然后在硬件上面達(dá)到一致。NXP提供功能安全方案,我們是從硬件上面做升級,同時在軟件的支持上也做了很多的東西,我們可以根據(jù)客戶的需求來靈活調(diào)用軟件和硬件。
S32推出以后,歐洲比較大的整車廠都會偏向S32計算平臺,因為非常節(jié)省軟件開發(fā)成本。根據(jù)一些調(diào)查,整車上面采用統(tǒng)一S32計算平臺,軟件工作量可以減少80%,跨應(yīng)用軟件研發(fā)也會減少40%以上。國內(nèi)的話,NXP跟百度合作,百度已經(jīng)把NXP的芯片用到了他們的車上。還有歐洲的大巴公司,他們的L3自動駕駛系統(tǒng)可以放到我們的板上做測試。
開特斯拉長途旅行是一種什么樣的體驗?
90后援藏電力干部 跨越3600km只為北汽新能源EX3
段建軍:拆掉科技的高墻,戴姆勒的創(chuàng)新之道