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