在我的上一篇文章中,我討論了虛擬 ECU,并且我非常強(qiáng)調(diào) AUTOSAR 作為輕松交換軟件功能的基礎(chǔ)。然而,這一切都是關(guān)于經(jīng)典的 AUTOSAR,或者更準(zhǔn)確地說,是 AUTOSAR 經(jīng)典平臺。但是在自動駕駛的背景下,大家都在談?wù)撟赃m應(yīng)AUTOSAR,或者說AUTOSAR Adaptive Platform。
當(dāng)自適應(yīng)平臺第一次與客戶討論時,它基本上是這樣的:
客戶:“我們需要軟件架構(gòu)的靈活性來進(jìn)行無線更新?!?br />
我:“你打算怎么做?”
客戶:“我們還不知道,但自適應(yīng) AUTOSAR 會?!?/p>
那是自適應(yīng)平臺首次發(fā)布的幾個月前。因此,我們的期望很高,它們完全符合我的 dSPACE 同事已經(jīng)在努力支持我們的軟件在環(huán)工具鏈中的“自適應(yīng)”的渴望。
當(dāng)然,每個人都應(yīng)該知道一個基本事實:自適應(yīng) AUTOSAR 不是經(jīng)典 AUTOSAR 的繼承者;它不會取代它。相反,它是定義 ECU 軟件以及它如何在 ECU 硬件或虛擬機(jī)上運(yùn)行的另一種方法。
為什么選擇自適應(yīng) AUTOSAR平臺?
發(fā)明新平臺的原因是什么?AUTOSAR 的第一次啟動是在 2002 年,到今天為止,AUTOSAR Classic Platform 已經(jīng)有一個成熟的版本 4。如果您正在尋找一個模塊化標(biāo)準(zhǔn)來編碼和交換汽車領(lǐng)域的嵌入式軟件,建議您用它。
但汽車行業(yè)正在重塑自我。隨著自動駕駛,對軟件架構(gòu)的要求發(fā)生了根本性的變化。
請記住,我們的自動駕駛汽車必須:
與他們的環(huán)境交流。
使用大量傳感器觀察他們的環(huán)境。
使用這些數(shù)據(jù)來做出許多駕駛決定,其中大多數(shù)對我們的健康,有時甚至對生命至關(guān)重要。
讓我們把它翻譯成更專業(yè)的術(shù)語:
我們的汽車只是另一個設(shè)備,連接到一切。這可能包括您的智能家居,但它首先包括與數(shù)據(jù)后端、其他汽車和拐角處的交通信號燈的通信。
它使用媒體流。不是為您的孩子在后面,而是為不斷掃描環(huán)境并生成大量數(shù)據(jù)以確保您的高速公路飛行員或緊急休息工作的傳感器。
它需要足夠的計算能力來運(yùn)行經(jīng)過全面訓(xùn)練的最先進(jìn)的神經(jīng)網(wǎng)絡(luò)來解釋傳感器數(shù)據(jù)并做出正確的決定。
購買后必須定期使用最新軟件進(jìn)行更新,并且我們不希望在商店中閃爍 ECU 的麻煩。
這些項目只是部分自動駕駛和自動駕駛的注意事項示例。
它們對軟件的開發(fā)方式有著巨大的影響。
當(dāng)您決定如何開發(fā)軟件時,您還必須決定特定的軟件架構(gòu),并且您不會輕易做出決定。每個軟件架構(gòu)都有一個目的。
使用 AUTOSAR 經(jīng)典平臺,您可以設(shè)計具有特定目標(biāo)的軟件架構(gòu)。這都是關(guān)于“深度嵌入”的軟件:
它在小型專用硬件上運(yùn)行(就計算能力而言)。
它是為 ECU 設(shè)計、創(chuàng)建和閃存的,然后它就可以工作——無需修改它。
它的通信(主要)針對使用傳統(tǒng)汽車總線網(wǎng)絡(luò)(如 CAN)的相對較小數(shù)據(jù)包的循環(huán)廣播。
這些都不符合我們對上述自動駕駛的期望。僅從三個示例中,我們已經(jīng)可以看到必須滿足新的要求:
必須在兩個或三個功能之間交換連續(xù)的傳感器數(shù)據(jù)流,而不是向整個網(wǎng)絡(luò)廣播的小數(shù)據(jù)包。
即使在圖形處理單元 (GPU) 的支持下,也有更多的計算能力可以真正快速地處理數(shù)字。
靈活的軟件,可以在運(yùn)行時更換,也可以連接到最先進(jìn)的網(wǎng)絡(luò)系統(tǒng)(不關(guān)心汽車使用哪種通信協(xié)議)。
AUTOSAR Classic 平臺并非專為自動駕駛而設(shè)計。因此,AUTOSAR 創(chuàng)建了自適應(yīng)平臺——正是考慮到了新的要求。
靈活性是關(guān)鍵
借助自適應(yīng)平臺,軟件功能之間的通信不再以循環(huán)突發(fā)的方式進(jìn)行,而是面向服務(wù)的。一個“自適應(yīng)應(yīng)用程序”(在經(jīng)典平臺中稱為“軟件組件”)宣布它能夠提供哪些數(shù)據(jù),以及它需要哪些數(shù)據(jù)。代理服務(wù)找到正確的匹配項,兩個應(yīng)用程序直接通信。
更重要的是,底層通信不再基于CAN或其他使用專用協(xié)議的經(jīng)典汽車總線系統(tǒng),而是基于以太網(wǎng)。除了以太網(wǎng)通信之外,SOME/IP [http://some-ip.com] 目前正獲得更多關(guān)注。作為面向服務(wù)的中間件層,它定義了應(yīng)用程序通信的實際方式。例如,您不再需要直接在代碼行為中定義循環(huán)觸發(fā)時間。
作為來自經(jīng)典平臺世界的人,我在非嵌入式環(huán)境中理解在運(yùn)行時替換軟件,但在 AUTOSAR 環(huán)境中則不然。原因很簡單:使用經(jīng)典平臺,軟件組件之間的通信是硬連線的,并由 AUTOSAR 運(yùn)行時環(huán)境 (RTE) 實現(xiàn),它將通信從架構(gòu)級別轉(zhuǎn)換到 ECU 級別。它通過解析靜態(tài)宏并將它們轉(zhuǎn)換為適當(dāng)?shù)幕拒浖{(diào)用來做到這一點,例如,將它們包裝到總線消息中。
如果您想擁有可以在運(yùn)行時更換的軟件,這是行不通的。自適應(yīng)平臺通過實現(xiàn)面向服務(wù)的通信架構(gòu)克服了硬連線通信的缺點。
因此,AUTOSAR 運(yùn)行時環(huán)境的自適應(yīng)版本(ARA,AUTOSAR Runtime for Adaptive Applications)獨立于實際應(yīng)用程序工作。它只是提供代理服務(wù)。在任何需要它的應(yīng)用程序之間建立通信。
最后的結(jié)果?您可以在運(yùn)行時添加或替換軟件,因為只有在您啟動軟件后才會自動建立通信——這不是在設(shè)計階段確定的,不像在經(jīng)典平臺中那樣。
關(guān)于靈活性的最后一點說明:我們都知道最先進(jìn)的自動駕駛系統(tǒng),尤其是在傳感器數(shù)據(jù)處理方面,是在 Linux 系統(tǒng)上開發(fā)的。我們需要操作系統(tǒng)提供的所有靈活性,包括靈活的內(nèi)存分配、線程處理等等。我們不想——也可能不能——僅僅因為我們必須為專門的 ECU 操作系統(tǒng)編譯代碼而放棄這種靈活性。
因此,自適應(yīng)平臺基于 POSIX 接口。通過將他們的應(yīng)用程序部署到自適應(yīng)平臺,開發(fā)人員現(xiàn)在可以利用他們鐘愛的 Linux 的所有優(yōu)勢。那是一回事,不是嗎?
概括
我個人的結(jié)論是自適應(yīng)平臺是經(jīng)典平臺的姐妹。兩個平臺有相同的祖先,相同的總體意圖:提供開發(fā)高質(zhì)量汽車軟件的方法和標(biāo)準(zhǔn)。
它們是互補(bǔ)的:經(jīng)典平臺專門用于經(jīng)典汽車領(lǐng)域的高效、深度嵌入功能,而自適應(yīng)平臺則針對自動駕駛不斷發(fā)展的領(lǐng)域,具有該領(lǐng)域所需的所有靈活性,我們可以在軟件方面實現(xiàn)這一點架構(gòu)、通信方式和處理能力。
因此,我們兩者都需要。
審核編輯:劉清
-
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
593瀏覽量
27392 -
AUTOSAR
+關(guān)注
關(guān)注
10文章
360瀏覽量
21553 -
Posix
+關(guān)注
關(guān)注
0文章
36瀏覽量
9496 -
自動駕駛
+關(guān)注
關(guān)注
784文章
13784瀏覽量
166382
原文標(biāo)題:自適應(yīng) AUTOSAR 如何實現(xiàn)自動駕駛
文章出處:【微信號:阿寶1990,微信公眾號:阿寶1990】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論