面向預期功能安全的決策規劃系統仿真測試方法

作者:陳君毅 邢星宇 劉力豪 馮天悅

來源:同濟智能汽車研究所

編者按:希望借此分享一下我們在依照ISO21448(Clause6-9)開展實踐、對自動駕駛決策規劃系統進行在環仿真測試、參與對ISO34502的修訂討論、和企業在SOTIF領域相關交流的過程中,所做的思考和梳理。錯誤、紕漏之處,還望讀者不吝指正


內容概覽:

第一部分:背景——SOTIF分析與測試
第二部分:綜述——面向SOTIF的決策規劃系統仿真測試方法
第三部分:工具——場景文件自動生成器
第四部分:方法——基于場景“搜索”的加速測試
第五部分:討論




摘要:在第一部分的背景介紹與分析中,提出了本文的關鍵問題:如何有效地針對決策規劃系統進行預期功能安全分析與測試?在第二部分中,對比了兩大類方法,提出了兩個仿真測試方法選擇的原則,通過分析歸結到了采用黑箱優化的、基于場景搜索的加速測試方法。我們的具體實踐作為該方法的示例,介紹在第三和第四部分中。最后在第五部分中,對貫穿其中的2個話題進行了討論。


關鍵詞:預期功能安全  自動駕駛汽車  決策規劃系統  仿真測試  加速測試



1 背景——SOTIF分析與測試

從現有的分析框架來看,依據ISO21448開展SOTIF安全分析與測試驗證的過程,可分為三大階段,分別是:

第一階段:安全分析階段

第二階段:已知危害場景下的評估(區域2)

第三階段:未知危害場景下的評估(區域3)


面向預期功能安全的決策規劃系統仿真測試方法的圖1 圖1. ISO21448的總體框架
面向預期功能安全的決策規劃系統仿真測試方法的圖2
圖2. 區域2和區域3在開發之初與開發完成時的對比

其中第一階段(安全分析)的輸出應該是 潛在危害場景 。該階段主要包含Clause6和Clause7兩部分內容,分別完成危險識別、風險評估及觸發條件識別等幾個步驟,見圖3。

面向預期功能安全的決策規劃系統仿真測試方法的圖3
圖3. ISO2144 8的安全分析階段(Clause6&7)


從被分析對象——自動駕駛汽車來看
,可以將其系統分為兩大類(見圖4):

其一是自動駕駛與其外部物理世界直接交互的系統,包括環境感知系統和控制執行系統(PERCEPTION & CONTROL SYSTEM)等;

其二是在自動駕駛汽車內部數字環境中完成輸入輸出的決策規劃系統(DM&PP)。

當這些系統的性能局限遇到特定場景中的觸發條件時,便可能導致危險,產生危害;一般而言,SOTIF問題即出現于此。

環境感知系統的觸發條件主要來自感知干擾(Perception disturbance),決策規劃系統的觸發條件主要來自于動態交通干擾(Traffic disturbance),控制執行系統的觸發條件則主要受到來自作用于輪胎的路面干擾和作用于車身的風干擾(統稱Vehicle disturbance)等。


面向預期功能安全的決策規劃系統仿真測試方法的圖4
圖4. 自動駕駛系統的SOTIF觸發來源

為了更好地理解這兩大類系統在依照ISO21448開展從Clause6到Clause7的分析工作時,所面臨的不同狀況,我們先簡單地從系統的工任務、過程和目標等三方面對比一下環境感知系統和決策規劃系統:
環境感知系統
  • 任務:信息提取與加工(任務以片段為主)

  • 過程:物理→數字→信息(實現的功能包括:檢測與跟蹤等)

  • 目標:正確、準確(以物理世界為真值)

決策規劃系統
  • 任務:創造行駛的價值(安全、舒適、高效、節能地從A到B,任務以連續過程為主)

  • 過程:信息→控制信號(實現的功能包括:場景理解、預測、價值計算等)

  • 目標:好壞(價值高低)

可以看出 ,決策規劃系統 的任務是創造行駛的價值,其結果分優劣好壞,但沒有真值作為參照;且工作過程連續,無法以切片化(時刻)的方式進行評價。
進一步地說,環境感知系統的任務大都是基于、圍繞特定對象的,比如動靜態障礙物、交通設施等;感知任務有一個絕對真值,所以感知求解的問題是盡量接近這個真值“點”;而決策規劃系統的真值難以定義,甚至不存在絕對真值,決策規劃求解的問題只需要一個可行解,而可行解是一個“集”。
故而,開展從Clause6到Clause7的分析工作,找尋觸發條件的話,
環境感知系統:是比較可行的。因為,觸發機制可分析、觸發源可尋、觸發條件與所產生的危害對應關系可判(控制執行系統,同理)
決策規劃系統 比較不可行。因為,觸發機制隱蔽、觸發源往往不是獨立要素(涉及到復合場景)、觸發條件與所產生的危害對應關系不明(作用過程是連續的)
依據上述分析可知:針對環境感知系統分析觸發條件是比較可行的;我們采用了基于事件鏈的分析框架,結合觸發源本體模型進行推演,取得了一定的效果。然而,針對決策規劃系統,想要提出類似的系統性分析方案則非常困難;對于L3+或及復雜場景下的自動駕駛系統而言,上述問題尤甚(注:對于簡單環境中,執行簡單行駛任務的自動駕駛系統而言,尚可進行一定程度的分析)。
由此引出了本文的關鍵問題:如何有效地針對決策規劃系統進行預期功能安全分析與測試?

2 綜述:面向SOTIF的決策規劃系統仿真測試方法
由于決策規劃系統的輸入輸出都是信息和信號,相對于整車在環或場地實車測試而言,系統在環仿真測試是對其進行測試的最主要手段(等效性高、測試效率高、成本低)。此外,在測試過程中,一般將決策規劃系統視為“黑箱”處理。
以下繼續圍繞第一部分留下的關鍵問題,將現有的相關測試方法做分析和梳理,希望明確其中較為可行的仿真測試方法及其適用性。
在此借用一下哈貝馬斯(Habermas)哲學分析理論里的兩個概念:系統(System)與生活世界(Life world);前者是人為設計的、規范的,而后者是自然發生的。各種面向決策規劃系統的測試方法,也可以依據這兩個概念進行分類:
第一類方法
將測試場景視作“系統(System)”——做設計;即,通過分析和定義場景里的關鍵對象、要素和變量及其取值范圍,設計場景;
第二類方法
將測試場景視作“生活世界(Life world)”——使發生;即,通過具有自主行駛能力的智能體或智能體集群形成的動態背景車(Surrounding vehicles)與被測對象(Vehicle under test)發生交互,產生場景。
表1. 兩大類仿真測試方法的對比

面向預期功能安全的決策規劃系統仿真測試方法的圖5

先說第二類方法,其中的關鍵工具就是生成動態背景車(及背景車系統)的機器學習算法;比較常見的包括不限于:深度強化學習、逆強化學習和對抗生成。需要強調兩個特點:
測試的高效性
測試的高效性是這類方法主要追求的設計目標。
然而,在安全分析與驗證的環節中,更為核心的訴求是關鍵場景的覆蓋率(即全面性);在這點上,該類方法仍缺乏理論證明 的依據,故其用于安全性論證的能力較弱;
場景的泛化性
場景的泛化性是這類方法的獨門秘笈。在一定的道路路網的支持下,基于機器學習算法的動態背景車模型可以形成多樣化的功能場景變化,而不拘泥于特定的邏輯場景設定。
綜上,該類方法可以被視作是一種混合了已知和未知場景范疇的補充測試方法;或者單獨作為與公開道路測試相呼應的一種虛擬測試工具,尋找并發現unknown unsafe(未知危險)。
另有一個前提與一個補充:
前提
該類方法使用的最大前提是擬真性。脫離了這個前提,就變成了unreal & unsafe,也失去了測試的意義。真實性的問題,將留在最后一部分的討論中,再做展開。
補充
同為機器學習領域內的、基于LSTM的動態背景車生成模型也頗為多見;不納入上述范疇的原因是,基于深度學習的模型其核心是模仿學習,在行為動作的擬真性方面較有優勢,而在測試效率(針對性)上并無優勢;故用于一般的性能測試或許更合適。
再說第一類方法:采用三級場景模型層層細化定義測試場景,一直是最基礎和通用的方法。當面向安全性論證的訴求時,也暴露出兩個明顯的問題:
問題1邏輯場景參數空間大
具體表現為場景關鍵對象、要素和變量多所導致的維數多,再加上取值范圍大,決定了遍歷邏輯場景空間的不可行(維數爆炸問題);
問題2參數空間的粒度劃分難
具體表現為,如果采用均勻采樣,過細的粒度將加劇前一個維數爆炸的問題;而過粗的粒度,則勢必漏掉關鍵場景。如果采用非均勻采樣,又該如何最佳地實現“法網恢恢,疏而不漏”的效果呢?
由上述對于第一類方法和第二類方法的分析與比較,我們可以歸納出,面向安全分析與測試所需的仿真方法的選擇原則:
?第一原則】關鍵場景的覆蓋率高:即測試并發現盡可能多的關鍵場景
?第二原則】測試效率高:即非關鍵場景測試得少
再以上述原則審視一下,前面的第一類方法中具體的幾種測試方法:
1. 隨機采樣測試
在邏輯場景的空間內通過隨機采樣,定義具體場景進行測試; ? 無法同時兼顧第一和二原則(若想符合第一原則,必然違背第二原則)
2. 基于隨機梯度下降的測試
由于被測對象是黑箱(梯度不可知),且空間維數高,基本不具有可行性; ? 違背了第一和二原則
3. 基于NDS的加速測試(也稱“強化測試”)
基于對自然駕駛數據分布的重要性采樣,定義部分關鍵參數范圍;該方法較適用于總體性能評估,而非安全論證(不解決長尾問題);?違背了第一原則
4.  基于場景搜索的測試

可將場景搜索任務轉化為優化目標,將各類優化算法用于實現搜索關鍵場景,從而服務于第二條原則(提高效率);在搜索過程中,通過合理平衡探索(Exploration)與利用(Exploitation),從而服務于第一條原則(提高覆蓋率);綜合實現面向安全需求的針對決策規劃系統的仿真測試。

基于上述的分析,我們認為,目前在該類方法中具有同時兼顧兩個原則可能性的是,采用黑箱優化的、基于場景搜索的加速測試方法

方法的實施需要兩個重要的組件,分別是支持自動化測試的具體場景生成工具(自動生成場景),以及優化搜索算法(自動找到關鍵場景);這兩方面的實現方法不一而足,我們在這兩方面的具體實踐將作為示例在第三和第四部分展開介紹。


面向預期功能安全的決策規劃系統仿真測試方法的圖6
圖5. 基于場景優化搜索算法與自動化測試結合的測試方法

3 工具——自動化場景文件生成器
第二部分提到的兩個重要的組件之一就是支持自動化測試的具體場景生成工具。有兩個目標需要被預先定義:
輸入的形式
比較初級的解決方案一般是從邏輯場景作為輸入;
比較完美的解決方案將是從功能場景或自動駕駛功能作為輸入,即一站式完成服務于自然人的、語義化的場景需求到服務于仿真計算工具的、完全形式化的場景定義。
輸出的形式一定格式的具體場景文件
OpenX系列標準 是一套較為完整的仿真測試場景描述方案,包括OpenDRIVE、OpenCRG和OpenSCENARIO(OSC)等。OpenX系列標準將仿真測試場景統一化,提高了仿真場景在不同仿真軟件內遷移進行測試的效率,也有利于對不同仿真軟件測試進行統一的場景評估。對于本文所關注的——決策規劃系統的仿真測試而言,重點在于仿真測試場景的動態部分(如車輛的行為),是由OSC文件描述的。
然而,基于XML的OSC格式較為底層,對應的文件描述過于復雜;導致人工編寫場景文件耗時長、效率低。故需要一個更高級的接口來連接語義級別的場景定義與OSC格式。因此,開發了面向OSC的自動化場景文件生成器,以結合在環仿真測試系統,實現針對決策規劃系統的自動化在環仿真測試;進而支撐了第四部分中介紹的基于場景搜索的加速測試方法的實現。
以下簡介這個自動化OSC場景文件生成器的設計要點和具體架構。
OSC作為一種自動駕駛場景描述的DSL(domain-specific language,領域特定語言),對它的編譯體系借鑒了傳統編程語言的架構,分為OSC前端OSC后端兩個主要模塊,如圖6所示。


面向預期功能安全的決策規劃系統仿真測試方法的圖7
圖6. OpenSCENARIO場景文件生成器執行工作流


OSC前端負責處理json語言定義的場景藍圖,藍圖中對較為固定的參數(如車輛尺寸)進行了默認設置,并支持場景關鍵參數的自定義。OSC后端負責根據前端的解析結果,構建OSC的DOM樹(Document Object Model,文檔對象模型),進而編譯產生最終用于仿真軟件運行的目標xosc文件。
在OSC后端中,將OSC的本體使用OOP(Object Oriented Programming,面向對象編程)思想進行了形式化,可編譯生成OSC中的任意節點組合,并且使用xsd文件對生成結果的正確性進行驗證,以確保其完全符合OSC標準。此外,完整的編譯流程還包括構建和編輯場景的輸入接口,以及可運行xosc場景文件的仿真服務器等。
對于OSC場景文件生成器中最關鍵部分,即OSC后端部分,基于OSC結構設計了一個高效且易用的架構——句柄樹,示例如圖7所示。圖中所有節點(Maneuver、Event、Action等)都繼承自OSCNode基類(包含了打印、保存、流輸出、更新等多個功能),可實現對OSC格式DOM樹或者其任何子樹的便捷操作。采用句柄樹架構,可以優化編譯器的空間復雜度。句柄樹將所有數據集中存放于一個統一的堆內存,而下圖的所有節點不包含實際的數據,僅包含一個指向實際數據的指針。


面向預期功能安全的決策規劃系統仿真測試方法的圖8
圖7. OSC后端句柄樹架構


此外,實際應用中往往需要一次性編譯生成一個邏輯場景下對應的眾多個具體場景,如果每次參數修改都需要重建句柄樹將導致高昂的編譯成本。因此,為確保快速輸出最新的目標xosc文件,設計了鏈式更新機制,使任意節點的修改能自動向上級節點傳遞。
綜上,該生成器實現的效果是,按照給定的邏輯場景和采樣方法,可以批量地自動化生成所對應的OSC文件(具體場景),可直接被仿真測試工具讀取;生成的時間成本幾乎為0,大大降低了獲得具體場景所需的時間和人力成本。

4 方法——基于場景“搜索”的加速測試
在安全分析時,關鍵場景主要是指安全性相關的危險場景。故而,基于場景“搜索”的測試方法目標是加速(體現:第二原則)找到“所有”危險場景(體現:--第一原則)。
一般而言,該方法由三個部分構成:測試工具、搜索方法及成本函數。


面向預期功能安全的決策規劃系統仿真測試方法的圖9
圖8. 基于場景“搜索”的加速測試方法基本構成


測試工具
由測試場景和在環仿真測試系統組成。其中, 測試場景 :每次根據采樣的要求,由第三部分介紹的場景文件生成器自動輸出需要仿真測試的具體場景。 在環仿真測試系統 則包含了仿真測試工具和被測對象,可以是決策規劃系統軟件在環的方式或者硬件在環的方式。
搜索算法
以是否基于代理模型分為了兩大類。 若不利用代理模型 ,則一般需要基于群體智能的算法實現探索與利用的有效平衡(比如遺傳算法、粒子群算法等)。 若使用代理模型 ,則使用各種機器學習方法進行模型建立,并利用貝葉斯優化思想設計算法,開展基于該代理模型的采樣。
成本函數

對安全分析而言,直接的成本函數價值一般是危險或風險(如最常用的TTC、THW等);

從計算的空間范圍上看,比較常見的是一維(沿車輛行駛方向)和二維(道路空間內)的度量方式;

算法的操作層面上,還會需要考慮對得到的無效場景進行自動化合理排除的方法。

其中,以貝葉斯優化算法作為關鍵場景的搜索算法,做一示例,偽代碼如下圖所示:


面向預期功能安全的決策規劃系統仿真測試方法的圖10


以一個標準化測試函數(Hoelder Table)為例,初步分析一下采用貝葉斯優化搜索方法的可行性與潛力,即是否符合上述提出的覆蓋率和效率的兩大原則。

目標函數值在搜索空間上的分布如圖9所示,圖中用紅色線框標出了目標關鍵場景占據的子空間(分別在四個角的位置附近)。真值結果是通過細粒度的均勻柵格掃掠測試獲得的,用于作為基準對隨機采樣和貝葉斯優化搜索兩種方法進行對比。


面向預期功能安全的決策規劃系統仿真測試方法的圖11
圖9. Hoelder Table測試任務的真值


貝葉斯優化(Bayesian Optimization, BO)和隨機采樣(Random)在該問題上的表現如圖10所示。為了降低結果的隨機性,對于每種算法我們都重復進行了10次實驗,圖中展示了10次試驗的最小值、最大值以及平均值。以90%覆蓋率作為目標,貝葉斯優化方法相比隨機采樣可實現約10倍的加速效果(50000:5000),并且重復實驗之間的方差較小,優化算法的穩定性更好。


面向預期功能安全的決策規劃系統仿真測試方法的圖12
圖10. 貝葉斯優化和隨機采樣實驗結果對比


以上僅為兩參數的示例(規律性較強),在決策規劃系統的測試場景(高維數的邏輯場景)中,存在更加復雜,較為分散的、“潛伏較深”的危害場景(比如多車多動作的場景),黑箱優化算法能夠發揮出更好的搜索效果。
以圖11為基本流程框架,可對決策規劃系統進行在環加速測試;圖12是 在前車切入場景中,采用貝葉斯優化和隨機采樣方法的 部分實驗結果對比,表現出黑箱優化搜索算法在測試效率方面的潛力。該類方法的測試 (覆蓋率和效率 )仍有很大的 化空間


面向預期功能安全的決策規劃系統仿真測試方法的圖13

圖11 流程框架示例——以VTD為在環仿真測試環境

面向預期功能安全的決策規劃系統仿真測試方法的圖14

圖12. 在前車切入場景中,貝葉斯優化和隨機采樣的部分實驗結果對比


5 討論

討論1System-based Safety Evaluation與Scenario-based Safety Evaluation

參照ISO21448進行System-based Safety Evaluation是開展預期功能安全分析的一般途徑;是以自動駕駛系統(功能和ODD等)為出發點,層層分析得到具象的測試場景集合(從少到多,從粗到細)。
然而,在實踐中發現,面向本文所聚焦的決策規劃系統很難依照Clause6&7的流程進行分析;以Scenario-based Safety Evaluation,從大量場景(第一類方法)或大量場景可能性(第二類方法)中搜索或發現危險場景反倒是一條可行之路(從多到少)。
System-based Safety Evaluation和Scenario-based Safety Evaluation最終會是雙劍合璧還是殊途同歸呢?
論2 真實性
真實性(擬真性、可還原性等)問題始終是仿真測試的根本,可能無限接近但永不達到。在第一類方法中,通過知識的方式定義了場景和其中的關鍵對象、要素、變量及其取值范圍,間接地服務于了真實性目的。在第二類方法中,通過創造智能體(或智能體集群)的方式自動化生成場景,則需要更多對于真實性的考慮。
可觀察的視角包括:決策的真實性(含角色的定義)和規劃的真實性(包括Path planning、Maneuver planning、Trajectory planning等)等。
在安全驗證的框架下,如何在仿真測試條件下,綜合地實現覆蓋、效率、擬真等多維目標仍需進一步的嘗試和努力。

致謝
  • 感謝海克斯康支持的VTD,為第四部分的研究提供了仿真測試工具

  • 感謝趙君嶠老師帶領的“途靈”無人車團隊,為第四部分的研究提供了被測對象

  • 感謝ASAM&C-ASAM和中汽中心數據中心,制定、推廣了OpenX系列標準,是第三部分實踐的重要基石

  • 感謝2020屆碩士生吳旭陽同學,在我們有關觸發條件和基于搜索的加速測試方法等方面的研究里,都有他創新性的思考和實踐。

注:
  • 本文第三部分內容依據了軟著《自動駕駛仿真場景文件自動生成工具軟件》V1.0 (登記號:2020SR0862144)

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP