追尾事故是載貨卡車和其它重型車輛最容易發(fā)生的一類事故。2015 年,為了降低追尾事故的風(fēng)險(xiǎn),歐盟法規(guī)要求為所有新車輛使用先進(jìn)的緊急制動(dòng)系統(tǒng) (Advanced Emergency Braking Systems, AEBS)。
與其它先進(jìn)的駕駛輔助系統(tǒng) (Advanced Driver Assistance Systems, ADAS) 一樣,AEBS 使用傳感器輸入來感知周圍環(huán)境。即將發(fā)生事故時(shí),系統(tǒng)會(huì)通過聲音警報(bào)警告駕駛員。如果駕駛員沒有反應(yīng),系統(tǒng)將采取警告制動(dòng)。如果駕駛員仍然沒有反應(yīng),系統(tǒng)將采取完全制動(dòng)以避免發(fā)生事故。
AEBS 概覽
此外,AEBS 還提供“制動(dòng)輔助系統(tǒng)”:當(dāng)駕駛員已經(jīng)剎車,但沒有足夠的制動(dòng)力避免事故時(shí),系統(tǒng)將通過計(jì)算提供所需的額外制動(dòng)力。
AEBS 同時(shí)使用車輛前部安裝的雷達(dá)和相機(jī)傳感器來掃描前方區(qū)域的物體。系統(tǒng)利用每個(gè)傳感器的獨(dú)特優(yōu)勢獲取更精確的環(huán)境模型。雷達(dá)傳感器的優(yōu)勢在于確定物體的距離、相對速度和硬度,但在確定物體的形狀或橫向位置方面較弱。只安裝雷達(dá)的系統(tǒng)會(huì)發(fā)現(xiàn)很難將停在路邊的汽車同行駛車道中的汽車區(qū)分開。而在另一方面,相機(jī)可以精確獲取物體的大小和橫向位置,但不能很好地測定距離,并且無法估計(jì)密度(可能會(huì)將濃密的云層誤認(rèn)為是一個(gè)堅(jiān)實(shí)的物體)。
Scania 構(gòu)建了一個(gè)傳感器融合系統(tǒng),可將兩個(gè)傳感器中的數(shù)據(jù)進(jìn)行匹配并合并到一個(gè)物體中。該系統(tǒng)使用四個(gè)加權(quán)屬性(縱向速度、縱向位置、橫向速度和橫向位置)來計(jì)算兩個(gè)傳感器檢測到同一個(gè)物體的概率。傳感器融合系統(tǒng)一旦在主車輛道路中發(fā)現(xiàn)物體,會(huì)將該物體的位置和車輛的預(yù)計(jì)路徑傳遞給 AEBS,AEBS 將確定何時(shí)警告駕駛員或采取制動(dòng)措施。
Scania 團(tuán)隊(duì)以前曾通過基于模型的設(shè)計(jì)方法開發(fā)過使用雷達(dá)技術(shù)的自適應(yīng)巡航控制系統(tǒng),但從未開發(fā)過傳感器融合系統(tǒng)。由于這是一種全新的設(shè)計(jì),需要使用可讀且易懂的架構(gòu)將信號(hào)流可視化,還預(yù)計(jì)會(huì)有大量設(shè)計(jì)迭代,因此希望通過一種簡單的方法實(shí)現(xiàn)結(jié)果可視化和進(jìn)行設(shè)計(jì)調(diào)試,并通過生成代碼來節(jié)省時(shí)間。但代碼必須是高效率的,因?yàn)楫?dāng)啟動(dòng)傳感器融合項(xiàng)目時(shí),電子控制單元 (Electronics Control Unit, ECU) 上的 CPU 負(fù)載已經(jīng)達(dá)到 60% 左右。最后,還需要對設(shè)計(jì)進(jìn)行全面驗(yàn)證,模型仿真將基于超過 150 萬公里的傳感器數(shù)據(jù)?;谀P偷脑O(shè)計(jì)滿足所有這些要求。
構(gòu)建傳感器融合系統(tǒng)
Scania 首先將系統(tǒng)設(shè)計(jì)劃分為多個(gè)功能單元,如對象匹配和預(yù)計(jì)路徑定位,并為每個(gè)單元構(gòu)建一個(gè)單獨(dú)的 Simulink模塊。結(jié)果是一個(gè)具有良好接口定義的清晰的軟件架構(gòu)。
傳感器融合系統(tǒng)的 Simulink 模型
團(tuán)隊(duì)為軌跡關(guān)聯(lián)編寫了 MATLAB代碼,以便計(jì)算方差、計(jì)算加權(quán)概率以及執(zhí)行那些使用腳本要比使用模塊更容易實(shí)現(xiàn)的其它任務(wù),之后通過 MATLAB Function block 將此代碼合并到 Simulink 模型中。這些算法模塊可以使團(tuán)隊(duì)成員更方便地合并算法,并將這些算法與控制系統(tǒng)集成。
為了調(diào)試和改進(jìn)初始設(shè)計(jì),使用記錄的雷達(dá)傳感器數(shù)據(jù)、相應(yīng)的相機(jī)圖像和其它車輛傳感器數(shù)據(jù)運(yùn)行了仿真。在調(diào)試期間發(fā)現(xiàn),將來自車輛前部的傳感器數(shù)據(jù)和相機(jī)視圖進(jìn)行可視化是非常有用的。Scania 在 MATLAB 中構(gòu)建了可視化工具,可顯示與周圍交通狀況的 Web 相機(jī)視圖同步的傳感器融合數(shù)據(jù)。
在 MATLAB 中開發(fā)的傳感器可視化工具
利用 MATLAB 面向?qū)ο蟮?a href="http://www.wenjunhu.com/v/tag/1315/" target="_blank">編程功能,該工具使用 MATLAB 類表示任意傳感器檢測到的每個(gè)對象,以及傳感器融合系統(tǒng)感知到的統(tǒng)一的對象。通過這些 MATLAB 對象,可以在執(zhí)行數(shù)據(jù)可視化時(shí)快速及時(shí)地前進(jìn)和后退。
在道路測試期間使用相同的工具,對來自車輛網(wǎng)絡(luò)的實(shí)時(shí)數(shù)據(jù)進(jìn)行可視化。
實(shí)現(xiàn)系統(tǒng)和優(yōu)化性能
為了將傳感器融合系統(tǒng)部署到 ECU,使用 Embedded Coder 從 Simulink 模型生成 C 代碼。借助代碼生成,可以快速實(shí)現(xiàn)系統(tǒng),并可避免編碼錯(cuò)誤。ECU 處理器的大部分資源都已分配給維護(hù)功能,包括監(jiān)視儀表盤警報(bào)、物理狀態(tài)估計(jì)、數(shù)據(jù)網(wǎng)關(guān)和自適應(yīng)巡航控制,等等。因此,團(tuán)隊(duì)需要優(yōu)化初始設(shè)計(jì)來提高效率。
為了讓生成的代碼提供最佳性能,Scania 與 MathWorks Pilot 團(tuán)隊(duì)共同協(xié)作,優(yōu)化了從 MATLAB Coder生成的代碼。為了進(jìn)一步降低處理負(fù)載,Scania 將模型分為交替執(zhí)行的單獨(dú)部分,發(fā)現(xiàn)系統(tǒng)調(diào)用的三角函數(shù)嚴(yán)重影響了處理器的處理速度。為了解決這個(gè)問題,工程師用 C 語言編寫了三角近似函數(shù),并從 MATLAB 函數(shù)模塊調(diào)用這些函數(shù)。這些修改不但提高了傳感器融合代碼的效率,還使得 AEBS 軟件的反應(yīng)更快,這在以毫秒計(jì)的車輛高速行駛時(shí)尤為重要。
驗(yàn)證和改進(jìn)設(shè)計(jì)
Scania 在一段封閉道路上對設(shè)計(jì)進(jìn)行了車載測試,但是我們需要了解系統(tǒng)在實(shí)際駕駛場景中如何反應(yīng),如不同的天氣條件、交通模式和駕駛員行為。在這些條件下直接測試 AEBS 既不現(xiàn)實(shí)也不安全。于是,Scania 使用了基于仿真的工作流。首先從一組卡車中收集 ECU 上所有可用數(shù)據(jù)(而不僅僅是用于數(shù)據(jù)融合的雷達(dá)和相機(jī)中的數(shù)據(jù)),以及來自單獨(dú)的參考相機(jī)中的圖像。
使用這一組測試數(shù)據(jù)運(yùn)行了仿真,以鑒別一些值得關(guān)注的駕駛場景。在有些場景中,AEBS 進(jìn)行了干預(yù),警告駕駛員或采取了制動(dòng)措施;而在有些場景中,系統(tǒng)本該但沒有進(jìn)行干預(yù),例如,當(dāng)駕駛員同時(shí)按喇叭和踩剎車、突然轉(zhuǎn)彎或緊急剎車時(shí)。之后針對這些場景對 AEBS 的性能進(jìn)行了分析,以確定可以在哪些方面改進(jìn)設(shè)計(jì)。
需要在每次更新 AEBS 軟件后重新進(jìn)行仿真。但是,由于在超過 150 萬公里的駕駛里程中所記錄的實(shí)際交通數(shù)據(jù)超過了 80 TB,因此需要幾天才能運(yùn)行完一個(gè)仿真。
為了進(jìn)一步提高仿真運(yùn)行速度,團(tuán)隊(duì)編寫了 MATLAB 腳本,并在多臺(tái)計(jì)算機(jī)以及專用的多處理器服務(wù)器上并行運(yùn)行仿真,多達(dá) 300 個(gè)。通過這一方法將仿真 150 萬公里所有交通數(shù)據(jù)的時(shí)間減少到僅需 12 小時(shí)。在模擬器中發(fā)現(xiàn)值得關(guān)注的新場景時(shí),會(huì)在 Simulink 中重新運(yùn)行仿真以進(jìn)行深度分析。
使用以 TB 為單位的數(shù)據(jù)對可能值得關(guān)注的場景進(jìn)行識(shí)別和分類是一項(xiàng)乏味且耗時(shí)的任務(wù),因此我們開發(fā)了情形分類輔助模塊,這是一個(gè)基于 MATLAB 的工具,可自動(dòng)處理這部分工作。
情形分類輔助模塊是基于 MATLAB 的工具,用于處理記錄的 ECU 數(shù)據(jù),以及自動(dòng)識(shí)別與緊急制動(dòng)相關(guān)的情形。
該工具從仿真中生成一個(gè)活動(dòng)列表,如由系統(tǒng)發(fā)起的事故警報(bào)、警告制動(dòng)和完全制動(dòng),以及由駕駛員引起的急剎車和急轉(zhuǎn)彎。之后可以針對任意兩個(gè)版本的軟件對這些列表進(jìn)行比較。
執(zhí)行大量仿真的能力增強(qiáng)了 AEBS 功能以及 ECU 中產(chǎn)品代碼實(shí)現(xiàn)的魯棒性和安全性。另外,還可以更快地進(jìn)行更改。使用仿真中的所有可用數(shù)據(jù)對上千種場景進(jìn)行了測試,讓Scania對這些更改很有信心。
在ADAS產(chǎn)品中部署生成的代碼
大多數(shù) Scania 卡車和公交車都已經(jīng)配備了 AEBS(該系統(tǒng)運(yùn)行從 Simulink 模型生成的產(chǎn)品代碼,并通過大量仿真進(jìn)行了驗(yàn)證)。在 Scania 的自適應(yīng)巡航控制系統(tǒng)中重用了傳感器融合系統(tǒng)設(shè)計(jì),因此現(xiàn)在路上有 10 萬多個(gè)電子控制單元在使用。
-
傳感器
+關(guān)注
關(guān)注
2552文章
51294瀏覽量
755198 -
處理器
+關(guān)注
關(guān)注
68文章
19384瀏覽量
230491 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9255瀏覽量
85754
發(fā)布評論請先 登錄
相關(guān)推薦
評論