??引言
本文節(jié)選自汽標委智能網(wǎng)聯(lián)汽車分標委今年7月編撰的《汽車控制總體技術要求研究報告》,本報告由國汽(北京)智能網(wǎng)聯(lián)汽車研究院有限公司、華為技術有限公司牽頭,共30余家單位參與撰寫。
2.2 車控操作系統(tǒng)研究現(xiàn)狀
2.2.1 安全車控操作系統(tǒng) ?
安全車控操作系統(tǒng)國外發(fā)展較早,目前已經(jīng)開展了一系列的標準化工作,國內(nèi)目前主要處于跟隨狀態(tài)。歐洲在20 世紀90 年代發(fā)展出用于汽車電子上分布式實時控制系統(tǒng)的開放式系統(tǒng)標準OSEK/VDX,主要包括4 部分標準:1)操作系統(tǒng)規(guī)范(OS);2)通信規(guī)范;3)網(wǎng)絡管理規(guī)范;4)OSEK 實現(xiàn)語言。但隨著技術、產(chǎn)品、客戶需求等的升級,OSEK 標準逐漸不能支持新的硬件平臺。
2003 年,寶馬、博世、大陸、戴姆勒、通用、福特、標志雪鐵龍、豐田、大眾9 家企業(yè)作為核心成員,成立了一個汽車開放系統(tǒng)架構組織(簡稱AUTOSAR 組織),致力于建立一個標準化平臺,獨立于硬件的分層軟件架構,制定各種車輛應用接口規(guī)范和集成標準,為應用開發(fā)提供方法論層面的指導,以減少汽車軟件設計的復雜度,提高汽車軟件的靈活性和開發(fā)效率,以及在不同汽車平臺的復用性。AUTOSAR 以OSEK/VDX 為基礎,但涉及的范圍更廣。
截至目前,AUTOSAR 組織已發(fā)布Classic 和Adaptive 兩個平臺規(guī)范,分別對應安全控制類和自動駕駛的高性能類。Classic 平臺基于OSEK/VDX 標準,定義了安全車控操作系統(tǒng)的技術規(guī)范。Classic AUTOSAR 的軟件架構如圖5 所示,其主要特點是面向功能的架構(FOA),采用分層設計,實現(xiàn)應用層、基礎軟件層和硬件層的解耦。
AUTOSAR 標準平臺由于采用開放式架構和縱向分層、橫向模塊化架構,不僅提高了開發(fā)效率,降低開發(fā)成本,同時保障了車輛的安全性與一致性。AUTOSAR 組織發(fā)展至今,得到了越來越多的行業(yè)認可,目前已有超過180 家的車、零部件、軟件、電子等領域的成員。AUTOSAR 目前已經(jīng)成為國際主流的標準軟件架構,基于 AUTOSAR 標準平臺,擁有完整的汽車軟件解決方案的企業(yè)主要有Vector、KPIT、ETAS 、DS 以及被大陸收購的Elektrobit 和被西門子收購的MentorGraphics。此外,寶馬、沃爾沃等汽車廠商都相繼推出了基于AUTOSAR 標準平臺的車型。
在日本,日本汽車軟件平臺架構組織(Japan Automotive Software Platform Architecture,JasPar)成立于2004 年,旨在聯(lián)合企業(yè)橫向定制兼顧汽車軟硬件的通信標準、實現(xiàn)車控操作系統(tǒng)的通用化,提高基礎軟件的再利用率等。JasPar 組織成員包括絕大多數(shù)的日系汽車及配套軟硬件產(chǎn)品廠商。
我國主機廠及零配件供應商目前主要使用Classic AUTOSAR 標準進行軟件開發(fā)。一汽集團、長安集團等主機廠于2009 年開始利用Classic AUTOSAR 標準的工具進行ECU 的設計、開發(fā)、驗證。同時,上汽集團、一汽集團、長安集團、奇瑞集團等主機廠和部分高校成立了CASA 聯(lián)盟,旨在中國推廣和發(fā)展AUTOSAR 架構。目前江淮汽車也是主要基于Classic AUTOSAR 標準進行軟件和產(chǎn)品開發(fā)。
在產(chǎn)品方面,普華軟件是中國電子科技集團的國產(chǎn)操作系統(tǒng)戰(zhàn)略平臺,并作為牽頭單位承擔了關于汽車電子操作系統(tǒng)的十一五、十二五核高級重大專項,所形成的車控操作系統(tǒng)在車身控制模塊(BCM)、新能源整車控制器(VCU/HCU)、電子轉向系統(tǒng)(EPS)等關鍵零部件得到量產(chǎn)應用,并已被德國博世的先進輔助駕駛系統(tǒng)(ADAS)量產(chǎn)使用。
東軟睿馳發(fā)布了NeuSAR 產(chǎn)品,其基于AUTOSAR 研發(fā)制作,為自主研發(fā)自動駕駛系統(tǒng)的OEM 整車企業(yè)及零部件供應商提供的面向下一代汽車通訊和計算架構的系統(tǒng)平臺,包含AUTOSAR Classic、AUTOSAR Adaptive 及系列開發(fā)系統(tǒng)工具。
2.2.2 智能駕駛操作系統(tǒng)?
智能駕駛操作系統(tǒng)將會成為自動駕駛汽車發(fā)展的核心競爭力之一,由于安全車控操作系統(tǒng)相對成熟,且智能駕駛操作系統(tǒng)部分包含安全車控操作系統(tǒng),所以本文提到的車控操作系統(tǒng)主要是指智能駕駛操作系統(tǒng)。智能駕駛操作系統(tǒng)發(fā)展趨勢和特點是縱向分層,以實現(xiàn)層與層之間的解耦,方便快速開發(fā)和移植,如圖6 所示。
AUTOSAR 組織為應對自動駕駛技術的發(fā)展推出了Adaptive AUTOSAR(AP)架構,如圖7 所示,其主要特點是采用面向服務的架構(SOA),服務可根據(jù)應用需求動態(tài)加載,可通過配置文件動態(tài)加載配置,并可進行單獨更新,相對于Classic AUTOSAR(CP),可以滿足更強大的算力需求,更安全,兼容性好,可進行敏捷開發(fā)。
Adaptive AUTOSAR 系統(tǒng)主要適應于新的集中式的高性能計算平臺,滿足車內(nèi)部件之間的高速通信需求和智能駕駛的高計算能力需求。AP 平臺采用了服務化的架構,系統(tǒng)由一系列的服務組成,應用和其他軟件模塊可以根據(jù)需求調(diào)用其中的一個或者多個服務,而服務可以是平臺提供的,也可以是遠程其他部件提供,OEM 可以按照功能設計需求定義自己的服務組合。AP 設計也在CP 成功的設計方法論的指導下進行開發(fā),兼顧靈活和功能安全的確定性需求,同時可以進行整車功能的統(tǒng)一設計,兼顧安全車控和智能駕駛系統(tǒng)。AP 平臺沒有設計新的操作系統(tǒng)內(nèi)核,所有符合POSIX PSE51 接口的操作系統(tǒng)內(nèi)核都可以使用,AP 平臺重點是在操作系統(tǒng)內(nèi)核之上的系統(tǒng)服務中間層,主要分為平臺基礎功能和平臺服務功能兩部分。平臺基礎功能更多的是本地服務,采用庫的方式進行調(diào)用,如生命周期管理、通信管理、存儲管理、診斷功能等;平臺服務不限制服務的提供實例的位置,采用互聯(lián)網(wǎng)常用的服務類似的調(diào)用方式,如升級管理、網(wǎng)絡管理、狀態(tài)管理、傳感器服務接口等。AP 平臺主要的三個支撐和演進方向是:安全(包含信息安全和功能安全),連接(包括車內(nèi)和車外各種新的通信機制),可升級(包含OTA,靈活的軟件設計和管理等)。AP 平臺仍采用傳統(tǒng)的標準設計方式,每年一個版本集中進行新的功能發(fā)布。
雖然AUTOSAR AP 在繼承ATUOSAR CP 成功經(jīng)驗的基礎上,采用了很多互聯(lián)網(wǎng)的思路來設計,但是由于汽車軟件需求變化較快,仍存在很多問題,如傳統(tǒng)的AUTOSAR 方法論配置繁瑣,支持的通信速率低,不支持解耦部署策略和動態(tài)升級方案,特別是車車協(xié)同、車路協(xié)同、車云協(xié)同等還一直處于需求討論階段,沒有支持的時間表。
AUTOSAR AP 平臺是適應新一代電子電氣架構下的集中式計算需求而產(chǎn)生的,但只是整車功能中的一小部分,缺乏從整車電子電氣系統(tǒng)視角考慮信息安全、功能安全、通信等需求。在底層操作系統(tǒng)之上, 軟件中間件在智能駕駛領域也備受關注。中間件的主要目標是為上層應用提供數(shù)據(jù)通信、協(xié)議對齊、計算調(diào)度、模塊化封裝等常用功能,為應用開發(fā)提供標準化、模塊化的開發(fā)框架,實現(xiàn)模塊解耦和代碼復用。ROS 作為最早開源的機器人軟件中間件,很早就被機器人行業(yè)使用,很多知名的機器人開源庫,比如基于quaternion 的坐標轉換、3D 點云處理驅動、定位算法SLAM 等都是開源貢獻者基于ROS 開發(fā)的。ROS 的首要設計目標是在機器人研發(fā)領域提高代碼復用率。ROS 是一個分布式的進程(也就是“節(jié)點”)框架,這些進程被封裝在易于被分享和發(fā)布的程序包和功能包中。整個智能駕駛系統(tǒng)和機器人系統(tǒng)有很強的相似度,ROS 的開源特性,豐富的開源庫和工具鏈,特別在智能駕駛的研究領域有著較為廣泛的應用,很多自動駕駛的原型系統(tǒng)中都能夠看到 ROS 的身影,例如AUTOWARE,百度 Apollo 最初也是使用了 ROS,直至Apollo 3.5版本才切換至自研的車載中間件Cyber RT。
ROS 在發(fā)展過程中主要有兩個版本,ROS1 和ROS2,ROS1 的通信依賴中心節(jié)點的處理,無法解決單點失敗等可靠性問題。為了更好的符合工業(yè)級的運行標準,ROS2 最大的改變是,取消Master 中央節(jié)點,實現(xiàn)節(jié)點的分布式發(fā)現(xiàn),發(fā)布/訂閱,請求/響應;底層基于DDS(數(shù)據(jù)分發(fā)服務)這個工業(yè)級的通信中間件通信機制,支持多操作系統(tǒng),包括Linux、windows、Mac、RTOS 等。雖然ROS2 基于ROS1 有了很大的改進,但是距離完全車規(guī)應用還有很大的距離,有些公司如APEX.AI 也在對ROS 進行車規(guī)級的改造嘗試。
目前普遍采用的車控操作系統(tǒng)底層內(nèi)核主要有Linux、QNX 和其他RTOS(如FreeRTOS、ThreadX、VxWorks 等),三者之間的主要特點對比如表2 所示。
Linux 最初是作為通用操作系統(tǒng)而設計開發(fā)的,但提供了一些實時處理支持,這包括大部分POSIX 標準中的實時功能,支持多任務、多線程,具有豐富的通信機制等。除此之外,Linux 社區(qū)有實時性增強patch,在Linux 內(nèi)核原有RT 功能上,增加了中斷線程化、優(yōu)先級默認繼承等功能。Linux 也提供了符合POSIX 標準的調(diào)度策略,包括FIFO 調(diào)度策略、時間片輪轉調(diào)度策略和靜態(tài)優(yōu)先級搶占式調(diào)度策略。另外,Linux 還提供了內(nèi)存鎖定功能,以避免在實時處理中存儲頁面被換出,同時提供了符合POSIX 標準的實時信號機制。
QNX 是一種商用的遵從POSIX 規(guī)范的類Unix 實時操作系統(tǒng),其主要特點是符合分布式、嵌入式、可規(guī)模擴展的硬實時操作系統(tǒng)。QNX 遵循POSIX.1 (程序接口)和POSIX.2 (Shell 和工具)、部分遵循POSIX.1b(實時擴展)。QNX 的微內(nèi)核結構是它區(qū)別于其它操作系統(tǒng)的顯著特點。QNX 的微內(nèi)核結構,內(nèi)核獨立自處于一個被保護的地址空間;驅動程序、網(wǎng)絡協(xié)議和應用程序處于程序空間中。
轉載汽車電子相關文章
轉自汽車電子與軟件
??