自動駕駛的底層原理
隨著智能網聯汽車的發展,車載傳感器的數量日益增加,日趨完善的性能對車載計算平臺算力的需求更高。相較于低級別的自動駕駛,高等自動駕駛系統從傳感器獲取的數據量大大增加,而自動駕駛系統的良好運行需要車載計算平臺對這些數據進行準確、高效的處理,高級別自動駕駛中車載計算平臺的芯片算力需求還將持續提升。
智能網聯汽車計算平臺架構核心構成:硬件平臺+系統軟件+功能軟件。
一、核心軟件梳理
(一)核心軟件產業格局總覽
駕駛域計算平臺涉及的軟件,從底層往上,主要包括系統軟件、功能軟件、應用軟件。
駕駛域軟件層分類:系統軟件-功能軟件-應用軟件
系統軟件層面,主要包括BSP(板級支持包)、hypervisor(虛擬化)、狹義OS內核、中間件組件等。
功能軟件層面,主要為自動駕駛的核心共性功能模塊,包括自動駕駛通用框架、網聯模塊、運控模塊等,功能軟件結合系統軟件,共同構成宏觀意義上給的自動駕駛操作系統。
應用軟件層面,應用軟件主要包括場景算法(涵蓋數據感知、多元融合、決策規劃、控制執行等)、數據地圖等。
針對不同軟件層,我們從傳統tier1、OEM及其子公司、科技巨頭、第三方軟件供應商四個維度對產業主要參與方進行了梳理。
駕駛域不同軟件層具備業務布局的公司梳理
(二)系統軟件1:硬件抽象層—Hypervisor 與 BSP
1. Hypervisor
管理并虛擬化底層硬件Hypervisor 虛擬化技術可以有效實現資源整合和隔離。自動駕駛操作系統是基于異構分布硬件,應用程序如 AI 計算和實時安全功能可能分別依賴不同的內核環境和驅動,但在物理層面共享 CPU 等。
Hypervisor典型架構
主流的虛擬機技術提供商包括BlackBerry QNX Hypervisor及Intel與Linux基金會主導的ACRN(開源)。截至目前,只有QNX Hypervisor應用到量產車型,它也是目前市場上唯一被認可功能安全等級達到ASIL D級的虛擬化操作系統。
車載Hypervisor 主要供應商
注:(1)RIM 為黑莓母公司;(2)2017 年中科創達、誠邁科技入選黑莓 VAI 計劃,一旦成為 VAI 項目合作伙伴,將可以基于黑莓的嵌入式技術開發集成服務、安全關鍵型解決方案,包括黑莓 QNX Neutrino 實時操作系統、QNX Momentics 工具套件、QNX 管理程序、應用程序和媒體 QNX SDK、QNX 無線架構、QNX 認證操作系統、QNX 醫用操作系統、Certicom 工具包、Certicom 管理的公鑰基礎設施以及 Certicom 資產管理系統,應用包括汽車電子、醫療器械、智能電網、動力控制和工業自動化;(3)潤和軟件已開發出基于IntelApollolake 平臺并采用 ACRN 虛擬化技術方案的智能駕駛艙方案
2. BSP
保證硬件運行的底層軟件,不同的OS對應于不同定義形式的BSP
BSP(Board Support Package),中文即板級支持包。對于一般的嵌入式系統,硬件部分需要嵌入式硬件工程師設計硬件電路,新出廠的電路板,需要BSP來保證其能穩定工作,在此基礎之上,才能進行下一步的軟件開發。
BSP是介于主板硬件和操作系統之間的系統軟件之一,主要目的是為了支持操作系統,使之能夠更好的運行于硬件主板。BSP是相對于操作系統而言的,不同的操作系統對應于不同定義形式的BSP,例如VxWorks的BSP和Linux的BSP相對于某一CPU來說盡管實現的功能一樣,可是寫法和接口定義是完全不同的,所以寫BSP一定要按照該系統BSP的定義形式來寫,這樣才能與上層OS保持正確的接口,良好的支持上層OS。
BSP同時具有硬件相關性和操作系統相關性。因此BSP的開發不僅需要具備一定的硬件知識,例如CPU的控制、中斷控制器的設置、內存控制器的設置及有關的總線規范等,同時還要求掌握操作系統所定義的BSP接口。
嵌入式系統對應的BSP開發內容
車載芯片BSP涉及到的企業比較多,涵蓋芯片制造商、第三方軟件服務商、整車廠。但是不同類型的開發商具備不同的特點,比如芯片制造商,最懂底層硬件,但開發人手有限,整車廠軟件能力積累相對不足,第三方軟件服務商往往具備較好的競爭優勢,通常具備豐富的底層開發經驗對底層硬件和上層軟件理解深刻,技術較強,人員規模擴張性也較好。
車載芯片BSP開發領域典型參與方梳理
(三)系統軟件2:操作系統標準與 OS 內核
1.車載OS分類
車控OS與座艙OS從功能實現角度,車載操作系統可以大致分為車控操作系統和智能座艙操作系統:
(1)車控操作系統:主要對應自動駕駛域、動力域、底盤域,用于實現車身底盤控制、動力系統和自動駕駛;
(2)智能座艙操作系統:主要對應于座艙域,用于實現車載娛樂信息系統功能以及實現HMI相應功能。
在前述基礎上,我們可以進一步劃分車控操作系統:
(1)嵌入式實時操作系統RTOS:用于傳統的車輛控制,適用于動力系統與底盤控制等領域;
(2)基于POSIX標準的操作系統,適用于自動駕駛所需要的高性能計算和高寬帶通信。
車控操作系統分類
傳統車控ECU采用的符合OSEK/VDX和Classic AUTOSAR標準的RTOS。在傳統的分布式EE架構下,特定的ECU針對處理特定功能,常見ECU包括EMS發動機電控系統,ABS制動防抱死控制、變速箱牽引力控制TCU、電子穩定控制EPS、電子動力轉向EPS,新能源汽車整車控制VCU,電池管理系統BMS等。通常情況下,車用ECU主要由MCU、存儲器、I/O和外圍電路組成,其中MCU為核心。
傳統ECU實施的功能有限,運行相對簡易,并不需要高性能的OS來實現資源的調度和分配。不過因為涉及車控環節,相關系統屬于復雜測控系統,如果系統任務的響應不及時或有延遲過大,就可能導致嚴重的安全隱患。因此汽車電控ECU必須是高穩定性的嵌入式實時性操作系統(RTOS),實時性的含義是系統保證在一定時間限制內完成特定功能,目前主流的電控操作系統基本都兼容OSEK/VDX和ClassicAUTOSAR這兩類汽車電子軟件標準。
值得指出的是,AUTOSAR與OSEK都是汽車電子軟件的標準,AUTOSAR基于OSEK/VDX發展而來。OSEK/VDX是基于ECU開發的操作系統標準,起源于20世紀90年代,AUTOSAR基于整體汽車電子開發的功能標準,發起于2003年。
符合OSEK/VDX標準的典型車控OS
自動駕駛OS目前大多參考Adaptive AUTOSAR平臺,其定義采用了基于POSIX標準的操作系統,可以為支持POSIX標準的操作系統及不同的應用需求提供標準化的平臺接口和應用服務。從實際功能執行來看,可以將ECU的軟件平臺分為三類:基于信息娛樂的ECU、傳統的基于控制的ECU,以及執行自動駕駛功能的ECU。
Classic AUTOSAR標準解決了傳統車控ECU的需求,但是,如高級輔助駕駛和自動駕駛,需要在車輛上引入高度復雜和計算資源需求量大的軟件,同時這些軟件在車輛上必須完全兼容和絕對安全,而且未來隨著汽車電子及軟件功能的大幅增長,最終可能向基于中央計算機的車輛集中式電子電氣架構,對于自動駕駛域控制器或計算平臺這種控制器,Classic AUTOSAR無法滿足其需求,需要高度靈活、高性能且支持HPC、動態通訊等特性的新軟件架構平臺。
2018年,為了迎合未來汽車智能化、網聯化的需求,AUTOSAR聯盟推出了一個全新的平臺,將AP加入到原有的AUTOSAR平臺中,形成Adaptive AUTOSAR平臺,并于2018年10月迎來了適用于面向量產的首次發布,另外還將原有平臺更名為Classic AUTOSAR平臺。
不同類型ECU對軟件平臺的要求
2. 駕駛域OS內核
QNX、Linux、Vxworks三分天下
駕駛域OS按照定義范圍可大致分為狹義和廣義兩種:
(1)狹義OS:特指可直接搭載在硬件上的OS內核;
(2)廣義OS:從下至上包括從BSP、OS內核、中間件及庫組件等系統軟件。
OS內核又稱為底層OS,旨在提供操作系統最基本的功能,負責管理系統的進程、內存、設備驅動程序、文件和網絡系統,決定著系統的性能和穩定性。
狹義OS主要包括QNX、Linux和VxWorks
自動駕駛OS內核的格局較穩定,主要產品為QNX(Blackberry)、Linux(開源基金會)、VxWorks(Wind River System)。因打造全新OS需要花費太大的人力、物力,目前基本沒有企業會開發全新的OS內核。目前Waymo、百度、特斯拉、Mobileye等企業都是在現有的OS內核基礎上自研中間件和應用軟件。
此外,QNX系統生態較為封閉,Linux和VxWorks均是開源。Linux和VxWorks所有內核源代碼都向客戶開放,客戶可做一定的裁剪。如果選擇QNX內核,整車廠無法做裁剪,但客戶可自己編寫中間件和應用軟件。2017年黑莓公司成立VAI(ValueAdded Integrator)項目,中科創達、誠邁科技作為以系統集成商的身份加入黑莓嵌入式合作伙伴計劃VAI項目,將基于黑莓QNX嵌入式技術(包括黑莓QNX Neutrino實時操作系統、QNX管理程序、QNX無線架構、QNX認證操作系統等)提供集成服務解決方案,其應用包括汽車電子、醫療器械、智能電網、動力控制和工業自動化。
從費用和開發難度看,QNX需要付費,不過開發難度較小,代碼量也較少,Linux不需要收費,但是開發難度較大,容易出Bug。
主流OS內核對比
(四)功能軟件:中間件及核心共性功能模塊
1.中間件
中間件是介于應用系統和系統軟件之間的一類軟件,位于客戶機服務器的操作系統之上,管理計算資源和網絡通信。根據IDC的定義,中間件是一種獨立的軟件服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源。
中間件的主要任務,是負責各類應用軟件模塊之間的通信以及對底層系統資源的調度。它的優點,是可以大大降低應用層軟件的開發難度,使研發工程師可以完全把注意力集中到功能算法的開發上。
而目前最為業內所熟知的中間件當屬Classic AUTOSAR中的RTE(Runtime Environment),它不僅負責上層SWC(Sofware Component)之間的通訊,也同時負責對SWC進行調度以及對底層操作系統及通訊服務的調用。
中間件在分布式系統中的用途示意圖
基礎中間件類別劃分
智能駕駛中間件的市場空間正在快速增長。以TTTech Auto(TTTech拆分的汽車子業務板塊)為例,該公司推出的智能駕駛中間件(MotionWise安全軟件平臺)客戶包括安波福、奧迪、寶馬、大陸集團、戴姆勒等,營收規模從2018年的1920萬美元增加至2019年的8872萬美元,2020年預計營收在1.9億至2億美元。
不過,由于中間件涉及到較高的功能安全等級,市場門檻也要高于應用層軟件。
中間件領域,傳統Tier1和科技巨頭布局較少。從主要自動駕駛Tier1產品與場景布局來看,博世、大陸和采埃孚在國外Tier1中布局最全面,其中博世和采埃孚在2020年均推出面向自動駕駛的中間件產品。
2020年7月,博世推出針對高級自動駕駛應用的中間件—Iceoryx (冰羚),兼容ROS2和Adaptive AutoSAR的接口,滿足不同開發階段的需求。
2020年12月,采埃孚發布中間件ZF Middleware,提供可以集成到整車制造商軟件平臺的模塊化解決方案。同時,該中間件將于2024年搭載在量產車輛上。
值得注意的是,國外Tier 1在功能落地的同時,開始滲透底層系統研發,搭建系統與軟件應用之間的連接橋梁。博世、采埃孚相繼發布中間件產品,以期通過全面的傳感器產品布局,為主機廠集中配置自動駕駛方案,降低系統集成的復雜性,降低開發成本和加快產品落地。
自動駕駛感知層產品及場景算法主要布局梳理
2. 核心共性功能模塊
除API中間件外,自動駕駛的核心共性功能模塊構成了功能軟件的主要部分。核心共性功能模塊包括自動駕駛通用框架、網聯、云控等,結合系統軟件,共同構成完整的自動駕駛操作系統,支撐自動駕駛技術實現。
計算平臺功能軟件中的五大核心共性模塊
(五)應用軟件:種類多,包括場景算法、數據地圖等
應用層軟件運行在廣義操作系統之上,具體負責自動駕駛功能實現。典型的計算平臺,在裝載運行系統軟件和功能軟件構成的操作系統后,向上支撐應用軟件開發,最終實現整體功能實現。應用層軟件內容繁雜,包括場景算法(涵蓋數據感知、決策規劃、控制執行等)、數據地圖、人機交互(HMI)等。
我們僅以場景算法進行闡述,典型的場景算法設計數據感知、決策規劃、控制執行等。其中感知類算法包括SLAM算法(涵蓋視覺處理、激光雷達、多傳感器融合等)、自動駕駛感知算法。決策類算法包括自動駕駛規劃算法、自動駕駛決策算法,執行類算法主要為自動駕駛控制算法。
目前該領域涉足的產業參與方繁多,從整車廠、傳統Tier1,到初創類公司、科技巨頭以及獨立的軟件供應商等在該領域都積極發力。
應用層主要算法梳理
應用層算法主要目的及編程語言
數據地圖(高精度地圖)也是應用層又一典型軟件。傳統車載導航地圖使用者是人,傳統電子導航地圖會描繪出道路,部分道路會區分車道,而高精度地圖不僅會描繪道路,會真實地反映出道路的實際樣式,高精度地圖為了讓自動駕駛系統更好地識別交通情況,會把道路形狀的細節進行詳細、精確展示。
高精度地圖對于智能駕駛不可或缺,從視野范圍看,高精度地圖不受遮擋,不存在距離和視覺的缺陷,在特殊天氣條件下,高精度地圖依舊可以發揮作用;從誤差看,高精度地圖可以有效消除部分傳感器誤差,在部分路況條件下,可以有效對現有傳感器系統進行補充修正。此外,高精度地圖還可以構建駕駛經驗數據庫,通過多維時空數據的挖掘,分析危險區域,為駕駛者提供新的駕駛經驗數據集。
高精度地圖對高等級自動駕駛系統而言不可或缺
從目前競爭格局看,高精度地圖領域呈現四維圖新(騰訊產業基金為公司第二大股東,截至2021年3月底,騰訊產業基金持股5%)、高德(阿里巴巴全資孫公司)、百度三足鼎立態勢。百度為國內最早開展高精度地圖研究的公司,2013年啟動無人車項目研發,高德擁有阿里巴巴全力支持,進展較快,四維圖新為國內老牌圖商。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















