黃辛梅 羅覃月 王世勇
摘 要:隨著汽車自動(dòng)駕駛技術(shù)的發(fā)展,目前的EDR的標(biāo)準(zhǔn)無(wú)法滿足自動(dòng)駕駛汽車事故重建的要求。本文設(shè)計(jì)了自動(dòng)駕駛汽車事件數(shù)據(jù)記錄系統(tǒng),包括系統(tǒng)的組成及控制原理,并定義了事件檢測(cè)觸發(fā)模塊、數(shù)據(jù)緩存模塊、數(shù)據(jù)記錄模塊。同時(shí)還設(shè)計(jì)了基于統(tǒng)一診斷服務(wù)讀取/清除自動(dòng)駕駛汽車事件數(shù)據(jù)的方法,用于輔助分析自動(dòng)駕駛事故原因以及自動(dòng)駕駛系統(tǒng)驗(yàn)證評(píng)估提供數(shù)據(jù)支持。
關(guān)鍵詞:自動(dòng)駕駛 汽車事件數(shù)據(jù)記錄系統(tǒng) 系統(tǒng)方案設(shè)計(jì) 數(shù)據(jù)讀取/清除
1 引言
隨著汽車保有量日益增加,汽車交通事故的發(fā)生也更頻繁,如何確認(rèn)事故原因及責(zé)任劃分是個(gè)難題,汽車事件數(shù)據(jù)記錄系統(tǒng)(Event Data Recorder System,EDR)應(yīng)運(yùn)而生。EDR是記錄碰撞前、后一段時(shí)間內(nèi)的車速、制動(dòng)狀態(tài)、加速踏板狀態(tài)、方向盤轉(zhuǎn)速、安全氣囊點(diǎn)爆狀態(tài)等車輛狀態(tài),為事故重建提供數(shù)據(jù)支持,科學(xué)公正地劃分主機(jī)廠與用戶的責(zé)任界定[1]。
隨著自動(dòng)駕駛的發(fā)展,人工控制車輛的程度越來(lái)越低,車輛大部分時(shí)間都交由自動(dòng)駕駛系統(tǒng)控制。當(dāng)自動(dòng)駕駛車輛發(fā)生事故時(shí),自動(dòng)駕駛系統(tǒng)可能會(huì)作為責(zé)任主體,所以對(duì)于自動(dòng)駕駛汽車的事故重建不能再按傳統(tǒng)的EDR方式進(jìn)行[2]。需要記錄事故發(fā)生前的車輛狀態(tài)、駕駛員的操作以及自動(dòng)駕駛系統(tǒng)內(nèi)部的感知、規(guī)劃、決策等數(shù)據(jù),對(duì)于事故的責(zé)任劃分、問(wèn)題的排查和整改有重要意義。
自動(dòng)駕駛目前還未有可用的方案,也無(wú)正式發(fā)布的標(biāo)準(zhǔn)。本文參考EDR標(biāo)準(zhǔn)的部分方法,設(shè)計(jì)自動(dòng)駕駛汽車事件數(shù)據(jù)記錄系統(tǒng),記錄碰撞、自動(dòng)駕駛系統(tǒng)駕駛行為、駕駛員接管等事件觸發(fā)時(shí)的車輛狀態(tài),為自動(dòng)駕駛汽車事件分析提供客觀的技術(shù)證據(jù),并同步促進(jìn)自動(dòng)駕駛系統(tǒng)的迭代更新。
2 系統(tǒng)構(gòu)成及控制原理
根據(jù)整車電子架構(gòu),有多種汽車事件記錄系統(tǒng)架構(gòu)方案,一般包括車載已有控制器集成、單獨(dú)開發(fā)控制器、多個(gè)控制器共同實(shí)現(xiàn)事件記錄[3]。
本文作者將自動(dòng)駕駛汽車記錄事件記錄系統(tǒng)集成在自動(dòng)駕駛控制器,其他控制器的報(bào)文數(shù)據(jù)通過(guò)CAN總線傳輸,自動(dòng)駕駛控制器本身的數(shù)據(jù)不再通過(guò)外部傳輸,自行記錄。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
自動(dòng)駕駛汽車事件數(shù)據(jù)記錄系統(tǒng)由事件檢測(cè)觸發(fā)模塊、數(shù)據(jù)緩存模塊、數(shù)據(jù)記錄模塊組成。再通過(guò)數(shù)據(jù)提取/清除設(shè)備提取/清除數(shù)據(jù)。汽車事件記錄系統(tǒng)方案的工作流程,如圖2所示。
事件檢測(cè)觸發(fā)模塊主要用于檢測(cè)出需要存儲(chǔ)數(shù)據(jù)的汽車事件的觸發(fā)信號(hào);數(shù)據(jù)緩存模塊主要用于對(duì)CAN總線、傳感器等待記錄的數(shù)據(jù)進(jìn)行先進(jìn)先出的緩存;數(shù)據(jù)記錄模塊主要用于當(dāng)事件觸發(fā)時(shí),把事件觸發(fā)時(shí)刻前后一段時(shí)間內(nèi)的數(shù)據(jù)存儲(chǔ)到非異失性存儲(chǔ)器中;數(shù)據(jù)提出/清除設(shè)備主要用于實(shí)現(xiàn)數(shù)據(jù)讀取和清除。
3 數(shù)據(jù)緩存
控制器上電結(jié)束后,數(shù)據(jù)緩存模塊開始緩存CAN總線、傳感器等待記錄的數(shù)據(jù),考慮到緩存空間的大小,此模塊采用循環(huán)覆蓋的原則緩存數(shù)據(jù),當(dāng)緩存空間緩存數(shù)據(jù)大于預(yù)設(shè)緩存時(shí)長(zhǎng)時(shí),最新的數(shù)據(jù)覆蓋最先緩存的數(shù)據(jù)。緩存數(shù)據(jù)的總時(shí)長(zhǎng)大于記錄數(shù)據(jù)要求的總時(shí)長(zhǎng)。
4 數(shù)據(jù)觸發(fā)
控制器上電結(jié)束后,事件檢測(cè)觸發(fā)模塊開始實(shí)時(shí)監(jiān)控。對(duì)于事件檢測(cè)觸發(fā)模塊判斷事件是否觸發(fā),是通過(guò)自動(dòng)駕駛控制器內(nèi)部狀態(tài)、以及采集CAN總線的其他控制器的報(bào)文信號(hào)進(jìn)行判斷的。
記錄的數(shù)據(jù)需可判定是自動(dòng)駕駛系統(tǒng)的誤作用還是駕駛員的人為控制導(dǎo)致的,故事件檢測(cè)觸發(fā)類型應(yīng)為自動(dòng)駕駛的相關(guān)信息以及駕駛員的行為接管,具體類型如表1所示。
5 數(shù)據(jù)記錄
當(dāng)判斷事件觸發(fā)時(shí),則數(shù)據(jù)記錄模塊存儲(chǔ)緩存區(qū)內(nèi)的數(shù)據(jù)。數(shù)據(jù)記錄模塊記錄事件觸發(fā)時(shí)刻點(diǎn)的前后一段時(shí)間內(nèi)的數(shù)據(jù)。
數(shù)據(jù)緩存模塊是實(shí)時(shí)采集存儲(chǔ)不同周期的報(bào)文信號(hào),報(bào)文時(shí)間沒有對(duì)齊,數(shù)據(jù)記錄模塊要將報(bào)文進(jìn)行時(shí)間的排序,使同一時(shí)間點(diǎn)的報(bào)文時(shí)間上對(duì)齊,便于數(shù)據(jù)提取后進(jìn)行事件分析。
本文作者采用以下數(shù)據(jù)記錄策略,每個(gè)事件采用獨(dú)立的事件和時(shí)間戳標(biāo)識(shí)符。如表2所示。根據(jù)數(shù)據(jù)記錄時(shí)長(zhǎng)和記錄頻率,確認(rèn)記錄的數(shù)據(jù)點(diǎn),即事件觸發(fā)前ai個(gè)數(shù)據(jù)點(diǎn),事件觸發(fā)時(shí)刻數(shù)據(jù)點(diǎn),事件觸發(fā)后Cj個(gè)數(shù)據(jù)點(diǎn),如表3所示。單個(gè)數(shù)據(jù)點(diǎn)為所記錄的不同報(bào)文信號(hào)數(shù)據(jù)的集合,并確定好每個(gè)信號(hào)的排列格式,包括字節(jié)序列號(hào)、信號(hào)長(zhǎng)度、信號(hào)名稱、單位、范圍等。
數(shù)據(jù)記錄模塊根據(jù)控制器內(nèi)存的大小控制記錄事件的次數(shù),參考EDR標(biāo)準(zhǔn)定義,不同事件應(yīng)區(qū)分可鎖定和非鎖定事件[4],具體策略如下:
1)鎖定事件記錄達(dá)到預(yù)設(shè)記錄次數(shù)時(shí),不再記錄新的數(shù)據(jù),需通過(guò)數(shù)據(jù)讀取/清除設(shè)備清除后,才可重新記錄數(shù)據(jù)。
2)非鎖定事件可以循環(huán)覆蓋,按先存儲(chǔ)先刪除覆蓋,即最新的事件數(shù)據(jù)將覆蓋最先存入的事件數(shù)據(jù)。
6 數(shù)據(jù)讀取/清除
自動(dòng)駕駛汽車事件觸發(fā)后,數(shù)據(jù)存在本地,需要通過(guò)特定的設(shè)備進(jìn)行讀取和清除。數(shù)據(jù)讀取/清除可以通過(guò)CAN、LIN等多種方式實(shí)現(xiàn),目前整車上以CAN總線為主,數(shù)據(jù)讀取/清除主要還是基于CAN[10]。
目前數(shù)據(jù)讀取采用最廣泛的是ISO 14229規(guī)范的0x22服務(wù),即通過(guò)本地標(biāo)識(shí)讀取數(shù)據(jù)。數(shù)據(jù)讀取/清除設(shè)備通過(guò)車輛OBD口建立通信,將記錄的數(shù)據(jù)以數(shù)據(jù)流的方式讀取出來(lái)。
為提高數(shù)據(jù)的分析效率,本系統(tǒng)還開發(fā)了事件數(shù)據(jù)服務(wù)器,通過(guò)OBD口提取數(shù)據(jù)后,手動(dòng)上傳到服務(wù)器,便于技術(shù)工程師及時(shí)分析數(shù)據(jù)。
同時(shí)考慮到數(shù)據(jù)屬于安全保密度較高,所以還需要通過(guò)UDS協(xié)議的seed key安全訪問(wèn)機(jī)制,即讀取/清除數(shù)據(jù)前需要通過(guò)0x27服務(wù)完成安全訪問(wèn)。整車需要集成安全訪問(wèn)算法,完成安全訪問(wèn)。
不可覆蓋事件需要通過(guò)數(shù)據(jù)讀取/清除設(shè)備清除數(shù)據(jù)后,方可重新記錄鎖定事件數(shù)據(jù)。0x31服務(wù)是調(diào)用ECU內(nèi)置的一些操作序列的接口,主要用于包括邊界條件的檢查、清除內(nèi)存、校驗(yàn)數(shù)據(jù)、校驗(yàn)軟硬件依賴性等,本文作者采用0x31服務(wù)進(jìn)行數(shù)據(jù)清除。完整的數(shù)據(jù)讀取/清除流程如表4所示。
7 結(jié)束語(yǔ)
本文基于自動(dòng)駕駛的發(fā)展趨勢(shì)分析,參考EDR標(biāo)準(zhǔn),對(duì)自動(dòng)駕駛汽車事件記錄系統(tǒng)的系統(tǒng)構(gòu)成、功能模塊及診斷策略進(jìn)行研究,給出了一套完整的控制策略方案,并設(shè)計(jì)了數(shù)據(jù)記錄及數(shù)據(jù)提取/清除的流程及方案。與傳統(tǒng)的EDR系統(tǒng)相比,本系統(tǒng)設(shè)計(jì)方案能夠記錄更多的自動(dòng)駕駛汽車數(shù)據(jù),并為自動(dòng)駕駛事件重建還原、責(zé)任確定提供了強(qiáng)大的數(shù)據(jù)支持,具有重大現(xiàn)實(shí)意義。
參考文獻(xiàn):
[1]谷陽(yáng)陽(yáng),柴智勇,全寶強(qiáng).事故數(shù)據(jù)記錄系統(tǒng)EDR在車輛質(zhì)量司法鑒定中的應(yīng)用[J].電子測(cè)量技術(shù),2018,41(18):133.
[2]馮家豪,梁鍵民,何浚銘等.基于EDR 的自由駕駛汽車事故調(diào)查分析[J]. 時(shí)代汽車,2019(1):47-50,63.
[3]楊曦. 基于CAN總線的汽車事件數(shù)據(jù)記錄系統(tǒng)開發(fā)方案研究[A]. 汽車電器,2021(4):51.
[4]劉全周,李占旗,陳慧鵬等.汽車事件數(shù)據(jù)記錄系統(tǒng)控制策略研究[J].汽車電器,2019(11):52-54,59.