導(dǎo)語(yǔ):最近由于工作需要,整理了一下Tesla、NVIDIA、WAYMO、華為等自動(dòng)駕駛領(lǐng)頭羊的一些資料,主要是關(guān)于域控制器、硬件架構(gòu)、系統(tǒng)架構(gòu)方面的梳理。特斯拉的技術(shù)能讓眾多傳統(tǒng)OEM甘拜下風(fēng),NVIDIA的AI計(jì)算平臺(tái)絕對(duì)是行業(yè)首屈一指,華為的入局讓人眼前一亮。學(xué)習(xí)學(xué)習(xí),站在巨人的肩旁上,才能看得遠(yuǎn)不是。一個(gè)不正經(jīng)的工程師,看的不遠(yuǎn),但是跟風(fēng)而行不掉隊(duì),還是可以滴! 從事自動(dòng)駕駛域控制器設(shè)計(jì)已經(jīng)有一段時(shí)間,從最早接觸NXP的S32V234,也就是那個(gè)BlueBOX,后來(lái)了解NVIDIA Jetson TX2、NVIDIA Drive PX2、NVIDIA Xavier等,也從其它渠道了解過(guò)ZF ProAI、ZFAS、Mobileye、Renesas、華為等等。獲取到的資料不是非常的細(xì)致,后期大多精力集中在NVIDIA Xavier的開(kāi)發(fā)研究上,所以我們的域控制器設(shè)計(jì)也是基于Xavier展開(kāi)。自動(dòng)駕駛域控制器,也有人稱其為智能駕駛域控制器,是智能駕駛汽車控制的核心所在。域控制器連接攝像頭、激光雷達(dá)等傳感器,車聯(lián)網(wǎng)V2X、組合導(dǎo)航等網(wǎng)路通訊部件,以及車輛線控單元,主要負(fù)責(zé)對(duì)傳感器感知到的環(huán)境信息進(jìn)行融合、識(shí)別和分類處理,結(jié)合地圖定位對(duì)車輛行駛進(jìn)行路徑規(guī)劃和決策,從而實(shí)現(xiàn)對(duì)車輛的精確控制和自動(dòng)駕駛。簡(jiǎn)單梳理一下幾個(gè)典型的域控制器產(chǎn)品,Tesla FSD HSW3.0、NVIDIA Driver、華為MDC等,總結(jié)一下域控制器的基本設(shè)計(jì)方案。作為特斯拉自研專供域控制器,可供查詢的資料不多,之前分析過(guò)其硬件構(gòu)成。FSD 的 HW3.0 由兩個(gè)相同的計(jì)算單元構(gòu)成,每個(gè)計(jì)算單元上面有特斯拉自研的2 塊FSD計(jì)算芯片,每塊算力位 36 Tops,設(shè)備總算力位 4 x 36 Tops = 144 Tops。但是由于采用的是雙機(jī)冗余熱備的運(yùn)行方式,實(shí)際可用的算力為72 Top。下表是之前一篇文章分析的HW3.0的硬件構(gòu)成。特斯拉板子的右側(cè)接口從上到下依次是FOV攝像頭、環(huán)視攝像頭、A柱左右攝像頭、B柱左右攝像頭、前視主攝像頭、車內(nèi)DMS攝像頭、后攝像頭、GPS同軸天線。左側(cè)從上到下依次是第二供電和I/O接口(車身LIN網(wǎng)絡(luò)等),以太網(wǎng)診斷進(jìn)/出、調(diào)試USB、燒錄、主供電和I/O(底盤(pán)CAN網(wǎng)絡(luò)等)。而通過(guò)特斯拉在售車型的介紹和實(shí)際配置來(lái)看,主張以攝像頭視覺(jué)為核心的特斯拉安裝了一個(gè)三目攝像頭、4個(gè)環(huán)視、一個(gè)后置攝像頭、車內(nèi)DMS攝像頭、前置毫米波雷達(dá)、以及12顆超聲波雷達(dá)。 2.2. NVIDIA Driver AGX Xavier NVIDIA DRIVE AGX Xavier? 可為 L2+ 級(jí)和 L3 級(jí)自動(dòng)駕駛提供每秒 30 萬(wàn)億次運(yùn)算 (TOPS)。其核心是 NVIDIA 首次生產(chǎn)的車規(guī)級(jí) Xavier 系統(tǒng)級(jí)芯片,該芯片采用了六種不同類型的處理器,包括 CPU、GPU、深度學(xué)習(xí)加速器(DLA)、可編程視覺(jué)加速器 (PVA)、圖像信號(hào)處理器(ISP) 和立體/光流加速器。NVIDIA DRIVE AGX Pegasus? 使用兩塊 Xavier 系統(tǒng)級(jí)芯片和兩臺(tái)NVIDIA Turing?GPU 的強(qiáng)大功能,實(shí)現(xiàn)了比以往更高的 320 TOPS 的超級(jí)計(jì)算能力。該平臺(tái)專為 L4 級(jí)和 L5 級(jí)自主系統(tǒng)(包括機(jī)器人出租車)而設(shè)計(jì)和打造。 NVIDIA DRIVE AGX Xavier和NVIDIA DRIVE AGX PEGASUS參數(shù)表 通過(guò)上面NVIDIA DRIVE AGX XAVIER 和NVIDIA DRIVE AGX PEGASUS參數(shù)表以及實(shí)物照片分析得出,NVIDIADRIVE提供16路GMSL攝像頭輸入接口,Ethernet接口,6路CAN總線接口,以及連接車輛I/O的接插件。 2.3. NVIDIA Jetson XavierNVIDIA DRIVE系列平臺(tái)均使用了算力達(dá)到30Tops的Xavier芯片。由于車規(guī)級(jí)Xavier模組不太容易獲取,因此使用Jetson Xavier套件做過(guò)一些研究開(kāi)發(fā)。Xavier芯片集成了90億顆晶體管, CPU采用NVIDIA自研8核ARM64架構(gòu)(代號(hào)Carmel),GPU采用512顆CUDA的Volta,支持FP32/FP16/INT8,20W功耗下單精度浮點(diǎn)性能1.3TFLOPS,Tensor核心性能20TOPs,解鎖到30W后可達(dá)30TOPs。Xavier內(nèi)有六種不同的處理器:ValtaTensorCore GPU,八核ARM64 CPU,雙NVDLA深度學(xué)習(xí)加速器,圖像處理器,視覺(jué)處理器和視頻處理器。Xavier相比NVIDIA之前推出的幾代平臺(tái)在算力和性能上有了很大的提升。對(duì)比下表可以看出。 為了應(yīng)對(duì)不同客戶的開(kāi)發(fā)需求,Xavier推出了Jetson AGX Xavier 8GB和Jetson AGX Xavier兩個(gè)版本。Jetson AGX Xavier 是目前自動(dòng)駕駛領(lǐng)域絕對(duì)的領(lǐng)頭羊產(chǎn)品,也是為數(shù)不多的可量產(chǎn)的域控制器開(kāi)發(fā)平臺(tái),高達(dá) 32 TOPS 的算力以作為L(zhǎng)3級(jí)域控制器的核心,承擔(dān)環(huán)境感知、路徑規(guī)劃和智能控制決策等算法運(yùn)行。并且由于 NVIDIA提供相對(duì)完整的 AI 工具和工作流程,其生態(tài)豐富性可幫助開(kāi)發(fā)者快速構(gòu)建AI算法和開(kāi)展相關(guān)訓(xùn)練。Jetson AGX Xavier 8GB 是一款價(jià)格實(shí)惠的低功率 Jetson AGXXavier,在軟硬件上與現(xiàn)有的 Jetson AGX Xavier 完全兼容。其整個(gè)模塊最高消耗 20W 功率,同時(shí)提供高達(dá) 20 TOPS 的AI算力。Jetson AGX Xavier 8GB和Jetson AGX Xavier的對(duì)比如下表: 華為在2018年推出MDC智能駕駛計(jì)算平臺(tái)以及高階自動(dòng)駕駛?cè)珬=鉀Q方案,包括MDC300和MDC600兩個(gè)平臺(tái),分別對(duì)應(yīng)L3和L4級(jí)自動(dòng)駕駛,推測(cè)將搭載鴻蒙內(nèi)核操作系統(tǒng),加之智能駕駛AI算法,最終形態(tài)將是車規(guī)級(jí)可量產(chǎn)的域控制器。華為MDC300由華為昇騰310芯片、華為鯤鵬芯片和Infineon的TC397三部分構(gòu)成,算力在64Tops 左右,滿足L3級(jí)自動(dòng)駕駛算力需求。MDC600基于8顆昇騰310 AI芯片,同時(shí)還整合了CPU和相應(yīng)的ISP模塊,算力高達(dá)352TOPS。 華為MDC提供15路LVDS攝像頭輸入接口,12路CANFD總線,6個(gè)普通Ethernet,2個(gè)百兆車載Ethernet,以及多路GPIO。 華為MDC相對(duì)于其他平臺(tái)而言,最大的優(yōu)勢(shì)在于其統(tǒng)一的系統(tǒng)架構(gòu)便于功能擴(kuò)展和適配多種場(chǎng)景應(yīng)用。同時(shí)作為一個(gè)開(kāi)放的平臺(tái),華為MDC具備組件服務(wù)化、接口標(biāo)準(zhǔn)化、開(kāi)發(fā)工具化的特性,軟件方面除了華為自有的鴻蒙平臺(tái)之外,還兼容Adaptive AUTOSAR和ROS,并且搭配配套的工具鏈,基于此平臺(tái),用戶可快速開(kāi)發(fā)、調(diào)試、運(yùn)行自動(dòng)駕駛算法與功能,適配不同級(jí)別的智能駕駛應(yīng)用。 本文開(kāi)頭提到,自動(dòng)駕駛域控制器,或智能駕駛域控制器,主要負(fù)責(zé)對(duì)傳感器感知到的環(huán)境信息進(jìn)行融合、識(shí)別和分類處理,結(jié)合地圖定位對(duì)車輛行駛進(jìn)行路徑規(guī)劃和決策,從而實(shí)現(xiàn)對(duì)車輛的精確控制和自動(dòng)駕駛。因此,域控制器作為一個(gè)智能硬件,為了完成復(fù)雜的AI計(jì)算和智能控制,硬件層面需要承擔(dān)環(huán)境感知和深度學(xué)習(xí)等超大算力需求的AI處理芯片、負(fù)責(zé)控制決策和邏輯運(yùn)算的CPU、以及負(fù)責(zé)功能安全和車輛控制的MCU;軟件層面包括操作系統(tǒng)、中間件以及應(yīng)用層AI算法等。第一部分通常是GPU或TPU,承擔(dān)大規(guī)模浮點(diǎn)數(shù)并行計(jì)算需求,主要用于環(huán)境感知和信息融合,包括攝像頭、激光雷達(dá)等傳感器信息的識(shí)別、融合、分類等,如Xavier的GPU單元、昇騰310。第二部分大多為ARM架構(gòu),類似于CPU,主要負(fù)責(zé)邏輯運(yùn)算和決策控制,處理高精度浮點(diǎn)數(shù)串行計(jì)算。第三部分主要負(fù)責(zé)可靠性和車輛控制,也就是功能安全和冗余監(jiān)控作用,不要求很高的算力,但是可靠性必須要有保障,ISO26262等級(jí)要求達(dá)到ASIL-D,目前用的較多的就是Infineon的TC297或者TC397。軟件層面應(yīng)用層AI算法一般由造車企業(yè)或主機(jī)廠自行研發(fā),這是體現(xiàn)車輛性能和差性的所在;中間件一般由域控制器開(kāi)發(fā)商提供,類似于ROS,主要包含一些接口驅(qū)動(dòng)和對(duì)于操作系統(tǒng)的優(yōu)化部署。操作系統(tǒng)方面,華為采用自研鴻蒙系統(tǒng),并且MDC平臺(tái)支持兼容Adaptive AUTOSAR;QNX是目前車規(guī)級(jí)的最佳也是唯一選擇,但是面臨高昂的費(fèi)用;Linux和Autoware 由于開(kāi)源反而獲取了最多的用戶,尤其是Linux,借助其強(qiáng)大的工程師基礎(chǔ)和生態(tài),加之ROS的多年應(yīng)用基礎(chǔ),基于Linux內(nèi)核的操作系統(tǒng)目前很受歡迎。除了硬件和軟件層面之外,域控制器的強(qiáng)大之處在于其接口資源。前文提到了特斯拉HW3.0、NVIDIA Driver系列、NVIDIA Xavier、華為MDC的接口資源,然后先看看下文中不同廠家的自動(dòng)駕駛系統(tǒng)接口對(duì)比,再來(lái)總結(jié)。 通過(guò)對(duì)比分析,自動(dòng)駕駛系統(tǒng)傳感器數(shù)量很多但是種類無(wú)外乎攝像頭、激光雷達(dá)、毫米波雷達(dá)、超聲波雷達(dá)、組合導(dǎo)航、IMU、V2X模塊等。自動(dòng)駕駛系統(tǒng)對(duì)于攝像頭可供選擇的不是很多,接口類型有MIPI SI-2、LVDS、GMSL、FPDLink等;激光雷達(dá)都是Ethernet接口,目前大多是普通Ethernet;毫米波雷達(dá)都是CAN總線傳輸;超聲波雷達(dá)LIN總線就夠了;組合導(dǎo)航和慣導(dǎo)常見(jiàn)接口為RS232串口;V2X模塊采用Ethernet接口傳輸。接下來(lái)分析一個(gè)基于Xavier的域控制器設(shè)計(jì)方案,產(chǎn)品來(lái)自天津優(yōu)控智行,目前算是行業(yè)內(nèi)做的還不錯(cuò)的。 基于NVIDIA Xavier的域控制器設(shè)計(jì) 目前市面上可供選擇的AI芯片并不多,尤其是達(dá)到量產(chǎn)狀態(tài)的,只有特斯拉、NVIDIA、Mobileye了。除了特斯拉自研自用不對(duì)外,其他品牌目前都可以通過(guò)合作開(kāi)發(fā)方式拿到測(cè)試樣件。 相對(duì)而言,由于NVIDIA Xavier推出較早,并且生態(tài)布局相對(duì)完善,對(duì)于開(kāi)發(fā)者來(lái)說(shuō)可以快速構(gòu)建系統(tǒng)和開(kāi)發(fā)AI應(yīng)用,因此基于Xavier模組進(jìn)行域控制器設(shè)計(jì)的企業(yè)不在少數(shù)。XavierSoC最高算力可達(dá)30TOPs,內(nèi)有Valta TensorCore GPU,八核ARM64 CPU,雙NVDLA 深度學(xué)習(xí)加速器,圖像處理器,視覺(jué)處理器和視頻處理器等六種不同的處理器,使其能夠同時(shí)、且實(shí)時(shí)地處理數(shù)十種算法,用于傳感器數(shù)據(jù)處理、環(huán)境感知、定位和繪圖以及路徑規(guī)劃。芯片內(nèi)部結(jié)構(gòu)如下圖所示: NVIDIA 提供的Xavier為核心模組,其接口如下圖所示: 4.2. 域控制器架構(gòu)設(shè)計(jì)優(yōu)控智行的域控制器型號(hào)為EAXVA03,據(jù)說(shuō)是第三代產(chǎn)品已經(jīng)小批量裝車。其內(nèi)置NVIDIA Xavier和Infineon TC297T。按照設(shè)計(jì)部署,Xavier用于環(huán)境感知、圖像融合、路徑規(guī)劃等,TC297用于安全監(jiān)控、冗余控制、網(wǎng)關(guān)通訊及整車控制。 該款控制器尺寸比較龐大,不過(guò)接口是真的很豐富,作為一個(gè)開(kāi)發(fā)平臺(tái)來(lái)講完全夠用。 以上豐富的接口,可以接8路攝像頭,多路激光雷達(dá),多路毫米波雷達(dá)等,并且由于GPIO較多,可以兼顧底盤(pán)控制,省掉一個(gè)底盤(pán)控制器綽綽有余了。不過(guò)其功耗也是比較大,在不實(shí)用較多GPIO情況下35W。發(fā)熱比較厲害,兩個(gè)散熱風(fēng)扇相對(duì)比較給力。 按照優(yōu)控智行提供的說(shuō)明書(shū)介紹,該域控制器的SOC軟件系統(tǒng)也就是Xavier部分是為自動(dòng)駕駛系統(tǒng)應(yīng)用而定制開(kāi)發(fā),軟件系統(tǒng)包括RTOS、Runtime Framework等部分。其中RTOS是Linux 操作系統(tǒng),Runtime Framework是melodic版本的ROS(RobotOperating System)。如下圖所示: AI應(yīng)用算法開(kāi)發(fā)者可以基于Linux系統(tǒng)開(kāi)發(fā),或者將之前開(kāi)發(fā)的軟件做相關(guān)移植,這對(duì)于熟悉Linux系統(tǒng)以及ROS應(yīng)用的工程師來(lái)說(shuō)非常方便。優(yōu)控智行域控制器內(nèi)部的MCU也就是TC297部分的軟件架構(gòu)參考AUTOSAR進(jìn)行設(shè)計(jì),分為應(yīng)用軟件層和基礎(chǔ)軟件層。優(yōu)控智行將基礎(chǔ)軟件進(jìn)行了封裝,做成快速原型自動(dòng)代碼生成工具EcoCoder,應(yīng)用層和基礎(chǔ)軟件通過(guò)EcoCoder銜接,EcoCoder利用Simulink中的s-function,將基礎(chǔ)軟件接口封裝到Simulink模塊庫(kù)中。開(kāi)發(fā)者可以利用Simulink搭建應(yīng)用層模型,并通過(guò)Simulink一鍵生成適配TC297的可執(zhí)行程序文件 為了方便開(kāi)發(fā)用戶使用,優(yōu)控智行為域控制器提供了基本的功能軟件包,并且提供了自研的開(kāi)發(fā)工具。針對(duì)Xavier,開(kāi)發(fā)工具有EcoSDK-XV,EcoCoder-AI,針對(duì)TC297,開(kāi)發(fā)工具有EcoCoder、EcoCAL、EcoFlash,用戶可以基于以上工具開(kāi)發(fā)適用于具體場(chǎng)景的應(yīng)用程序。EcoSDK-XV作為一個(gè)交叉編譯工具鏈,可以為用戶提供完整的應(yīng)用開(kāi)發(fā)環(huán)境,其提供的軟件包中包含了基于Linux操作系統(tǒng)、ROS編寫(xiě)應(yīng)用程序的所有必要工具。EcoCoder-AI優(yōu)控智行針對(duì)SOC芯片完全自研的一個(gè)功能強(qiáng)大的自動(dòng)代碼生成庫(kù),基于Matlab / Simulink,可以直接鏈接到目標(biāo)控制器。EcoCoder-AI集成了代碼生成,編譯和一鍵生成可執(zhí)行文件功能。能夠?qū)⒒赟imulink搭建的控制模型,直接轉(zhuǎn)成適用于目標(biāo)控制器的基于Linux的可執(zhí)行程序,并下載到目標(biāo)控制器中。目前這一技術(shù)在國(guó)內(nèi)尚屬首創(chuàng)了,雖然應(yīng)用做的不是很完善,并且?guī)炷K也不是很全,但是基本的功能已經(jīng)具備,可以做一些簡(jiǎn)單的AI開(kāi)發(fā),這一點(diǎn)非常難得。 并且優(yōu)控智行的域控制器可以基于Simulink的外部模式實(shí)現(xiàn)實(shí)時(shí)在線標(biāo)定調(diào)試,這個(gè)就是傳統(tǒng)汽車工程師比較熟悉的套路了,相比于現(xiàn)在編寫(xiě)代碼邊調(diào)試的效率提高不少,但是由于Simulink本身支持和普及的原因,這個(gè)功能目前尚需完善。 EcoCoder是一個(gè)針對(duì)MCU開(kāi)發(fā)的基于Simulink的底層函數(shù)封裝庫(kù),或者叫做自動(dòng)代碼生成軟件,EcoCAL是一款專業(yè)的標(biāo)定調(diào)試軟件,EcoFlash是專用刷寫(xiě)軟件,這是優(yōu)控為汽車電子控制器開(kāi)發(fā)的快速原型開(kāi)發(fā)工具鏈三件套。 自動(dòng)駕駛計(jì)算平臺(tái)從早期的工控機(jī)到現(xiàn)在可用的域控制器,雖然受限于AI算力芯片的技術(shù)瓶頸,并且關(guān)于芯片技術(shù)架構(gòu)路線的爭(zhēng)論一直存在,但是并不否認(rèn)現(xiàn)在幾個(gè)品牌的SOC及域控制器做的還是不錯(cuò)的,尤其是基于NVIDIA Xavier以及前期PX2等芯片的開(kāi)發(fā)。國(guó)內(nèi)大部分企業(yè)的應(yīng)用比較集中在Xavier平臺(tái)和Linux系統(tǒng),尤其是新勢(shì)力造車企業(yè),而傳統(tǒng)車企更青睞TI、瑞薩等半導(dǎo)體公司的智能AI芯片以及QNX系統(tǒng)。國(guó)內(nèi)基于Xavier做開(kāi)發(fā)的企業(yè)很多,天津優(yōu)控智行目前的域控制器產(chǎn)品在行業(yè)內(nèi)屬于中等偏上水平,但是其軟件工具和服務(wù)做得相對(duì)有些優(yōu)勢(shì),后期有時(shí)間也扒一扒地平線、智行者等企業(yè)的域控制器學(xué)習(xí)學(xué)習(xí)。說(shuō)明:文章觀點(diǎn)僅供分享交流,不代表焉知自動(dòng)駕駛的立場(chǎng),轉(zhuǎn)載請(qǐng)注明出處,如涉及版權(quán)等問(wèn)題,請(qǐng)您告知(小老虎13636581676微信同),我們將及時(shí)溝通處理。
|