本文敘述選擇一個(gè)駕駛者監(jiān)控系統(tǒng)的原型來進(jìn)行研究及證明,經(jīng)由以模型為基礎(chǔ)的設(shè)計(jì),如何可以加速端到端的AUTOSAR自適應(yīng)軟體系統(tǒng)開發(fā)。
由Elektrobit(EB)開發(fā)的嵌入式軟體被執(zhí)行在全世界超過一百輛車上至少一億個(gè)裝置。這些EB開發(fā)的嵌入式軟體大多使用標(biāo)準(zhǔn)的V模型(V-model)和ASPICE流程來開發(fā)和驗(yàn)證。雖然這些裝置運(yùn)作情況良好,但因?yàn)槭謩?dòng)編寫程式碼和其他需要大量勞力的手動(dòng)任務(wù),讓應(yīng)用軟體開發(fā)速度變得緩慢。
我們團(tuán)隊(duì)要來證明以模型為基礎(chǔ)的設(shè)計(jì)可以加速端到端的AUTOSAR自適應(yīng)(AUTOSAR Adaptive)軟體系統(tǒng)開發(fā)。選擇一個(gè)駕駛者監(jiān)控系統(tǒng)的原型來進(jìn)行這項(xiàng)專案,該系統(tǒng)會(huì)在駕駛閉上眼睛,而且沒有馬上再睜開時(shí)發(fā)出警報(bào),因?yàn)檫@可能代表駕駛者睡著了(圖1)。

圖1 : 駕駛者監(jiān)控系統(tǒng)的模擬,可以看到從串流影片偵測到的人臉和眼睛。 |
|
為了要展現(xiàn)以模型為基礎(chǔ)的設(shè)計(jì)來開發(fā)的效率,設(shè)定下一個(gè)野心勃勃的期限:要在三個(gè)月之內(nèi)完成設(shè)計(jì)、實(shí)現(xiàn)、測試、以及整個(gè)系統(tǒng)的驗(yàn)證。如果使用傳統(tǒng)的設(shè)計(jì)方法來進(jìn)行同樣的專案,可能會(huì)要花上至少一年的時(shí)間。
定義需求及劃分設(shè)計(jì)
我們從定義需求來開始這項(xiàng)專案。高層級的需求包含即使是在駕駛者帶著眼鏡時(shí)也要偵測到閉眼,將錯(cuò)誤警報(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ì)的頂層有兩個(gè)主要的模塊。第一個(gè)是電腦視覺元件,它負(fù)責(zé)處理從攝影機(jī)來的輸入資料,並且依串流影片產(chǎn)生訊號(hào)—例如偵測到人臉、偵測到眼睛、閉眼。第二個(gè)模塊是AUTOSAR自適應(yīng)函式模塊,它負(fù)責(zé)過濾這些訊號(hào),並且決定是否要啟動(dòng)警報(bào)。這個(gè)模塊包含一個(gè)連接到EB corbos AdaptiveCore軟體架構(gòu)的介面,這個(gè)架構(gòu)是用來整合模塊與HMI。
設(shè)計(jì)的建模與驗(yàn)證
將設(shè)計(jì)劃分成具備清楚定義介面之元件(圖3)可獨(dú)立處理每一個(gè)元件。在Simulink建立電腦視覺元件,它使用一個(gè)預(yù)先訓(xùn)練的深度學(xué)習(xí)網(wǎng)路以及電腦視覺工具箱(Computer Vision Toolbox)來偵測人臉及眼睛。
為了要驗(yàn)證這個(gè)模型,我們讓模型處理預(yù)先錄製好的駕駛者臉部影片來執(zhí)行模擬。這些影片是從各種角度和不同的周遭照明條件來錄製。影片也包含駕駛者帶著眼鏡及不戴眼鏡的條件,以確保系統(tǒng)可以在各種操作場景下偵測閉眼。

圖3 : 電腦視覺元件的Simulink模型(上)和過濾元件(下)。 |
|
過濾元件以電腦視覺元件的輸出資料作為輸入。它追蹤「偵測到眼睛」和「閉眼」的訊號(hào)值,過濾掉短時(shí)間的眨眼,並且當(dāng)訊號(hào)顯示駕駛者眼睛閉上的時(shí)間太長時(shí)透過AUTOSAR自適應(yīng)啟動(dòng)警訊,與EB AdaptiveCore軟體架構(gòu)溝通。從頂層的Simulink模型產(chǎn)生了一個(gè)單元測試模型,可以執(zhí)行系統(tǒng)驗(yàn)證與評估設(shè)計(jì)是否符合ISO 26262。
程式碼生成與硬體部署
透過模擬驗(yàn)證設(shè)計(jì)之後,我們把設(shè)計(jì)部署到原型硬體設(shè)置來測試它。這個(gè)設(shè)置包含兩塊Raspberry Pi 3 B+板,其中一個(gè)作為DMS系統(tǒng),另一個(gè)做為測試設(shè)置用,包含HMI、駕駛者輸入資料、以及環(huán)境。兩塊板子都透過乙太網(wǎng)路來連接(圖4)。
我們將電腦視覺元件和過濾元件轉(zhuǎn)換為符合MISRA的C/C++程式碼。在電腦視覺元件的程式碼完成之後,直接把它部署到第一塊Raspberry Pi板。
至於過濾元件,將產(chǎn)生出包含ARXML檔案的程式碼匯入到EB corbos Studio。在corbos Studio編譯元件,並且將它當(dāng)作一個(gè)AUTOSAR軟體元件部署到同一塊Raspberry Pi上。電腦視覺與過濾元件透過一個(gè)行程間通訊(interprocess communication;IPC)介面來連接。第二塊Raspberry板子是用來執(zhí)行基礎(chǔ)EB corbos AdaptiveCore軟體和EB GUIDE HMI來當(dāng)作一個(gè)車輛儀表板。
當(dāng)程式碼執(zhí)行在兩塊板子上,透過即時(shí)的攝影機(jī)串流影片測試系統(tǒng),並且驗(yàn)證HMI正確地在影片中的人閉上眼睛時(shí)發(fā)出「閉眼」警報(bào)。
從概念驗(yàn)證到現(xiàn)實(shí)世界應(yīng)用
由於駕駛者管理系統(tǒng)是一個(gè)作為概念驗(yàn)證的原型,它在開發(fā)階段不要求完全符合ISO準(zhǔn)則。然而,專案的準(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ì)畫將安全性功能以及處理器迴圈(processor-in-the-loop)測試納入工作流程,也正在幫助EB其他工作地點(diǎn)的同事開始使用以模型為基礎(chǔ)的設(shè)計(jì)。
(本文由鈦思科技提供;作者Thomas Kleinhenz、Seyed Nourbakhsh、Stefan Zurbes任職於Elektrobit公司)