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