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