開(kāi)發(fā)駕駛者監控系統AUTOSAR自適應軟件
本文敘述選擇一個(gè)駕駛者監控系統的原型來(lái)進(jìn)行研究及證明,經(jīng)由以模型為基礎的設計,如何可以加速端到端的AUTOSAR自適應軟件系統開(kāi)發(fā)。
由Elektrobit(EB)開(kāi)發(fā)的嵌入式軟件被執行在全世界超過(guò)一百輛車(chē)上至少一億個(gè)裝置。這些EB開(kāi)發(fā)的嵌入式軟件大多使用標準的V模型(V-model)和ASPICE流程來(lái)開(kāi)發(fā)和驗證。雖然這些裝置運作情況良好,但因為手動(dòng)編寫(xiě)程序代碼和其他需要大量勞力的手動(dòng)任務(wù),讓?xiě)密浖_(kāi)發(fā)速度變得緩慢。
我們團隊要來(lái)證明以模型為基礎的設計可以加速端到端的AUTOSAR自適應(AUTOSAR Adaptive)軟件系統開(kāi)發(fā)。選擇一個(gè)駕駛者監控系統的原型來(lái)進(jìn)行這項項目,該系統會(huì )在駕駛閉上眼睛,而且沒(méi)有馬上再睜開(kāi)時(shí)發(fā)出警報,因為這可能代表駕駛者睡著(zhù)了(圖1)。
圖1 : 駕駛者監控系統的仿真,可以看到從串流影片偵測到的人臉和眼睛。
為了要展現以模型為基礎的設計來(lái)開(kāi)發(fā)的效率,設定下一個(gè)野心勃勃的期限:要在三個(gè)月之內完成設計、實(shí)現、測試、以及整個(gè)系統的驗證。如果使用傳統的設計方法來(lái)進(jìn)行同樣的項目,可能會(huì )要花上至少一年的時(shí)間。
定義需求及劃分設計
我們從定義需求來(lái)開(kāi)始這項項目。高層級的需求包含即使是在駕駛者帶著(zhù)眼鏡時(shí)也要偵測到閉眼,將錯誤警報率維持在3%以下,以及透過(guò)自適應AUTOSAR (Adaptive AUTOSAR)發(fā)送警報給EB的人機界面(human machine interface;HMI)。
在初期,與MathWorks工程師合作開(kāi)發(fā)系統架構,并且將我們的需求映像到架構內的功能模塊(圖2)。
圖2 : 駕駛者監控系統的頂層Simulink模型。
在設計的頂層有兩個(gè)主要的模塊。第一個(gè)是計算機視覺(jué)組件,它負責處理從攝影機來(lái)的輸入資料,并且依串流影片產(chǎn)生訊號—例如偵測到人臉、偵測到眼睛、閉眼。第二個(gè)模塊是AUTOSAR自適應函式模塊,它負責過(guò)濾這些訊號,并且決定是否要啟動(dòng)警報。這個(gè)模塊包含一個(gè)連接到EB corbos AdaptiveCore軟件架構的接口,這個(gè)架構是用來(lái)整合模塊與HMI。
設計的建模與驗證
將設計劃分成具備清楚定義接口之組件(圖3)可獨立處理每一個(gè)組件。在Simulink建立計算機視覺(jué)組件,它使用一個(gè)預先訓練的深度學(xué)習網(wǎng)絡(luò )以及計算機視覺(jué)工具箱(Computer Vision Toolbox)來(lái)偵測人臉及眼睛。
為了要驗證這個(gè)模型,我們讓模型處理預先錄制好的駕駛者臉部影片來(lái)執行模擬。這些影片是從各種角度和不同的周遭照明條件來(lái)錄制。影片也包含駕駛者帶著(zhù)眼鏡及不戴眼鏡的條件,以確保系統可以在各種操作場(chǎng)景下偵測閉眼。
圖3 : 計算機視覺(jué)組件的Simulink模型(上)和過(guò)濾組件(下)。
過(guò)濾組件以計算機視覺(jué)組件的輸出數據作為輸入。它追蹤「偵測到眼睛」和「閉眼」的訊號值,過(guò)濾掉短時(shí)間的眨眼,并且當訊號顯示駕駛者眼睛閉上的時(shí)間太長(cháng)時(shí)透過(guò)AUTOSAR自適應啟動(dòng)警訊,與EB AdaptiveCore軟件架構溝通。從頂層的Simulink模型產(chǎn)生了一個(gè)單元測試模型,可以執行系統驗證與評估設計是否符合ISO 26262。
程序代碼生成與硬件部署
透過(guò)模擬驗證設計之后,我們把設計部署到原型硬件設置來(lái)測試它。這個(gè)設置包含兩塊Raspberry Pi 3 B+板,其中一個(gè)作為DMS系統,另一個(gè)做為測試設置用,包含HMI、駕駛者輸入數據、以及環(huán)境。兩塊板子都透過(guò)以太網(wǎng)絡(luò )來(lái)連接(圖4)。
圖4 : 硬件測試設置。
我們將計算機視覺(jué)組件和過(guò)濾組件轉換為符合MISRA的C/C++程序代碼。在計算機視覺(jué)組件的程序代碼完成之后,直接把它部署到第一塊Raspberry Pi板。
至于過(guò)濾組件,將產(chǎn)生出包含ARXML檔案的程序代碼匯入到EB corbos Studio。在corbos Studio編譯組件,并且將它當作一個(gè)AUTOSAR軟件組件部署到同一塊Raspberry Pi上。計算機視覺(jué)與過(guò)濾組件透過(guò)一個(gè)行程間通訊(interprocess communication;IPC)接口來(lái)連接。第二塊Raspberry板子是用來(lái)執行基礎EB corbos AdaptiveCore軟件和EB GUIDE HMI來(lái)當作一個(gè)車(chē)輛儀表板。
當程序代碼執行在兩塊板子上,透過(guò)實(shí)時(shí)的攝影機串流影片測試系統,并且驗證HMI正確地在影片中的人閉上眼睛時(shí)發(fā)出「閉眼」警報。
從概念驗證到現實(shí)世界應用
由于駕駛者管理系統是一個(gè)作為概念驗證的原型,它在開(kāi)發(fā)階段不要求完全符合ISO準則。然而,項目的準備則確實(shí)需要符合ISO,因此我們使用Model Advisor來(lái)檢查模型是否涵蓋了所有的要求,并且符合ISO 26262、ISO 61508和MISRA C:2012等標準。
在以模型為基礎的設計展現出能夠加快自適應AUTOSAR軟件開(kāi)發(fā)速度的實(shí)力之后,我們現在打算擴大使用它。我們團隊計劃將安全性功能以及處理器循環(huán)(processor-in-the-loop)測試納入工作流程,也正在幫助EB其他工作地點(diǎn)的同事開(kāi)始使用以模型為基礎的設計。
(本文由鈦思科技提供;作者Thomas Kleinhenz、Seyed Nourbakhsh、Stefan Zurbes任職于Elektrobit公司)
評論