馮敏健,張 輝*,巨志揚,許 慶
(1. 北京航空航天大學 交通科學與工程學院,北京 100191,中國;2. 汽車安全與節能國家重點實驗室,清華大學,北京 100084,中國)
自動駕駛汽車(autonomous vehicle)作為復雜的網絡物理系統[1],隨著人工智能等技術的發展,在改善交通擁堵情況、促進節能減排以及舒適安全駕駛等方面展現良好的性能,具有廣闊應用前景以及潛在社會效益[2],但在網絡安全和隱私方面也迎來新的挑戰,嚴重威脅著人類生命財產安全[3]。定位數據對于自動駕駛汽車尤為重要,其主要依賴于外部設備所傳輸的數據信息,相比與速度、加速度等其他數據更容易受到攻擊[4,5]。延遲攻擊(delay attack)作為一種常見的網絡攻擊(cyber-attack)形式,通過破壞定位信息的實時性引發系統故障與崩潰,進行數據延遲條件下的定位信息估計研究有重要的意義。
數據延遲及其相關問題廣泛應用Kalman狀態估計器來解決[6],實現最優估計需要滿足多種條件,如系統模型精確匹配、噪聲為Gaussian白噪聲、初始狀態以及噪聲統計特性已知,反之則表現出較差的性能[7]。有限脈沖響應(finite impulse response,FIR)估計器是另一種有效狀態估計的方法[8-10],近年來廣泛應用于信號處理與控制領域[11-14],但很少有研究學者將其應用于處理延遲網絡攻擊下的系統狀態估計,在FIR中的無偏差有限脈沖響應(unbiased finite impulse response,UFIR)忽略了噪聲統計特性以及初始狀態信息,具有較強的魯棒性[15-16],用于處理延遲網絡攻擊下的狀態估計問題具有較大的潛力。
面向“ 高級駕駛輔助系統(advanced driving assistance system,ADAS)”的虛擬仿真測試工具如PreScan、CarMaker等主要用于汽車電子電器設備功能安全的測試與驗證,偏向于車輛動力性能仿真能力的研發,搭建自動駕駛相關仿真實驗較為復雜[17]。百度Apollo自動駕駛平臺具備一套完整的軟硬件和服務系統,包括車輛平臺、硬件平臺、軟件系統、云端數據服務等4部分[18],其中軟件系統開源了感知、定位、預測、規劃與控制等模塊的源碼,可根據開發指導文件進行算法的添加與替換。同時,基于Unity開發的LG開源自動駕駛仿真器(LG Silicon Valley Lab,LGSVL)能夠自定義編輯與導入車輛模型與高精地圖,提供仿真測試場景,同時還可以與Apollo、Autoware以及機器人操作系統(robot operating system, ROS)等系統進行數據交互,搭建聯合仿真平臺。
本文提出了一種網絡延遲攻擊下的自動駕駛車輛定位估計器設計方法,建立延遲攻擊下的車輛運動學模型,推導延遲模型下的KF與UFIR估計器,分析Apollo系統功能模塊數據流動并根據應用需求修改相應模塊,基于LGSVL與Apollo系統搭建聯合仿真平臺并進行仿真實驗,與KF估計結果進行準確性比較,以驗證UFIR估計器的效果和基于Apollo/LGSVL進行自動駕駛仿真實驗的可行性。
本文具體考慮如圖1所示的網絡攻擊場景。自動駕駛車輛可基于“全球導航衛星系統(global navigation satellite system,GNSS)” 或路面設施等外部設備所提供的定位信息,進行路徑跟蹤控制,定位信息在傳輸過程中遭到延遲攻擊,使得車輛所獲得的定位信息產生了時滯,在此情況下,需使用狀態估計器對當前真實位置信息進行估計。

圖1 網絡攻擊場景
應對延遲網絡攻擊通常采用KF進行定位估計,其估計效果取決于精確的系統模型以及噪聲統計特性,在實際場景中難以滿足;因此本文提出一種延遲攻擊下的UFIR定位估計器,忽略噪聲統計特性等信息,利用有限時間窗口的延遲定位信息進行估計,并基于Apollo自動駕駛系統以及LGSVL模擬器進行聯合仿真實驗。仿真研究框架如圖2所示。

圖2 仿真研究框架
Apollo系統總體上是由多個功能模塊組成,如圖2中的感知、規劃以及控制,其本質上為多個已經封裝好的算法;因此在無數據輸入的條件下,系統本身無法進行仿真實驗。故本文采用LGSVL模擬器為Apollo系統輸入仿真場景信息并接收底盤的執行數據反饋,實現數據交互。為驗證UFIR估計器效果,考慮在系統內部加入延遲攻擊與估計器算法部分,如圖2中紅色虛線部分,針對感知模塊發送的定位信息進行延遲攻擊,估計器基于延遲數據來估計真實位置。
在無網絡攻擊情況下,車輛運動學模型可表示為如下的離散狀態空間方程:

式中:t為系統采樣時間,xn與yn分別為車輛的橫向與縱向位置,分別為車輛橫向與縱向速度。
在網絡延遲攻擊情況下,傳感器數據yn滯后于當前狀態信息xn,假設所獲取的數據都帶有時間戳,車載終端可直接計算當前時刻n的數據延遲時間dn,則式(2)更新為:


將式(4)帶入式(3),得到:


延遲攻擊下的車輛運動學模型由式(1)與式(5)組成,基于此模型本文推導了UFIR定位估計器,同時,為對比驗證估計器效果給出了標準KF算法。
Kalman濾波算法是一種以最小均方差為最佳準則的遞推估計,是線性系統狀態變量最小方差意義上的最優估計[19],具備遞歸運算、計算簡單與前瞻性等多項優點。實現其最優估計的前提是精確的噪聲統計特性,但由于實驗樣本和其他約束條件的影響,在實際工程通常難以滿足,導致最終濾波精度降低甚至發散的現象[20]。FIR估計器也可用于處理相關系統的估計問題,UFIR作為其一種特別的擴展形式,在未知噪聲與擾動的情況下可表現出相較KF更為優異的性能,因此在本節中給出了延遲攻擊下的UFIR估計器推導過程,同時,為對比驗證UFIR估計器效果,首先簡單介紹了KF算法。


基于文獻[21]中標準Kalman濾波器,在延遲攻擊模型下的計算公式為:
先驗狀態估計:

后驗狀態估計:

式中:Kn為Kalman增益矩陣,I為單位矩陣。
自動駕駛車輛的行駛工況復雜多變,在多種不確定性因素影響下,噪聲統計特性具有較強的變化性,對Kalman濾波器效果產生極大影響。UFIR估計器對噪聲統計信息具有較強的魯棒性,利用有限時間長度上的觀測量進行狀態估計,下文將給出延遲攻擊下的UFIR估計器。
基于文獻[9-10, 22]對線性系統UFIR濾波器的推導,本文考慮長度為N的時間窗口[m,n],其中m<n且N=n-m+ 1,將式(1)和式(5)所構建的延遲攻擊下的車輛運動學模型擴展如下:


對于n時刻的車輛狀態xn,根據文獻[22]按批式UFIR狀態估計值可表示為:

其中:Hm,n為UFIR增益矩陣,Ym,n為m至n時刻的累積觀測矩陣,如式(12)所示。為滿足UFIR的無偏估計要求,狀態估計值需滿足下式:

式中:E{z}表示z的期望值,xn可以通過式(11)中提取的等式進行表達:


將式(13)與式(15)代入式(14),其中Yn,m用式(12)表達:

因wn與vn均為Gauss白噪聲,均值為零,則可化簡為:

故在無偏估計條件下,增益矩陣Hn,m滿足下式:

將式(16)中的I替換為化簡得到UFIR增益為:

式中,矩陣Gn為廣義噪聲功率增益(GNPG)。按批式UFIR狀態估計式(13)可表達為:

按批式UFIR參數矩陣的維數隨時間窗口長度N的增大而增大,為滿足計算簡單以及實時性要求,需采用其迭代形式,迭代式計算公式與KF公式相似。首先,按批式UFIR對時間窗口進行計算,得到時刻s的估計值,其中為按批式窗口長度,一般取值遠小于N:

加入輔助變量l,l=m+K,以s時刻為初始值,依照式(20) ~(23)逐步迭代,當至l=n時結束,最終得到n時刻的狀態估計值[22],與卡爾曼濾波計算公式(6) ~(10)相同,式(20)首先計算先驗狀態估計值,式(21)(22)根據無偏估計要求得到偏差糾正增益矩陣最后由式(23)得到后驗狀態估計值:

本文基于百度Apollo系統與LGSVL模擬器搭建聯合仿真平臺,平臺內部具體結構如圖3所示。Apollo系統基于CyberRT計算框架搭建了感知、決策、規劃與控制等自動駕駛功能模塊,同時設計了前端交互界面Dreamview對系統進行可視化操作;LGSVL模擬器可導入基于Unity3D自定義編輯的車輛模型與地圖,形成仿真場景,向Apollo系統輸入環境數據信息并接收數據反饋進行可視化顯示。

圖3 仿真平臺內部結構

圖4 Apollo系統結構
為實現在Apollo系統中嵌入延遲攻擊與估計器部分,對其系統整體結構進行了分析,如圖4所示。系統各功能模塊體系結構完整,包含數據格式編輯、參數定義與賦值、功能算法實現以及模塊數據通信,Dreamview交互界面內可直接控制各模塊的開啟與關閉并實時監測模塊運行狀態,通過輸入目標行駛位置向功能模塊下發路徑跟蹤任務,從而啟動Apollo系統進行仿真實驗,界面將自動呈現可視化的車輛行駛軌跡。
本文考慮依托Apollo系統路徑跟蹤進行延遲攻擊下定位估計算法仿真實驗,通過分析模塊間的數據流來選擇算法嵌入點,路徑跟蹤涉及的功能模塊有感知、規劃、公共和控制,如圖5所示。規劃模塊基于感知模塊發送的感知信息以及操作者在Dreamview界面設定的目標位置生成規劃軌跡,公共模塊將定位信息、車輛反饋的狀態信息進行整合,輸出狀態信息;控制模塊基于規劃軌跡與狀態信息對車輛進行橫縱向控制,向底盤輸出控制命令,最后反映為車輛狀態的變化。車輛所接收的定位信息最終將作為控制模塊的輸入參量參與內部的算法流程,因此本文考慮以控制模塊為具體的延遲攻擊模型與估計器算法嵌入點。

圖5 實現路徑跟蹤的模塊數據流
Apollo系統路徑跟蹤控制主要采用的是基于道路誤差模型的線性二次型調節器(LQR),控制器以車輛與目標軌跡點的位置偏差作為控制量,具體涉及模塊函數ComputeLateralErrors,通過車輛位置信息(x,y)遍歷尋找規劃軌跡上與其最近的點作為參考點(xdes,ydes),并進行位置偏差的計算?;谏鲜龇治觯ㄟ^在此函數中對真實定位信息進行攔截,將其賦值為所存儲的歷史定位數據來模擬延遲攻擊,最后加入估計器的算法,利用延遲定位數據對當前位置進行估計。
仿真實驗場景:CubeTown;仿真車型:Lincoln 2017 MKZ;仿真實驗參數設定如表1所示。

表1 仿真實驗參數設定
將加速度視為過程噪聲wn,測量噪聲vn與傳感器測量精度有關,由表1參數可得噪聲的協方差矩陣為:

啟動LGSVL模擬器,選擇CubeTown地圖與Lincoln2017MKZ 參數(Apollo 5.0)車輛搭建仿真場景,如圖6所示。啟動Apollo系統,在Dreamview交互界面中選擇與模擬器對應的車輛以及地圖,與LGSVL構建的仿真場景相匹配,啟動控制、規劃、感知以及公共等功能模塊,在地圖中選擇點A作為目標位置輸入,系統將根據初始位置點B與目標位置點A自動規劃行駛路徑,如圖7中紅色箭頭所示,規劃完成后系統將開始執行任務,進行仿真。

圖6 LGSVL模擬器仿真環境

圖7 系統規劃行駛軌跡
為簡化所研究的問題,仿真中假定網絡攻擊下的數據延遲時間dn為定常值,與仿真時間無關,即首先針對d= 1s的延遲網絡攻擊進行仿真,以車輛初始位置為(0, 0)點,結果如圖8、圖9所示,分別為y與x方向上車輛真實行駛軌跡、延遲數據軌跡、KF與UFIR估計器的估計軌跡以及估計誤差。
對比分析得到,在延遲攻擊情況下,KF與UFIR估計器整體上均表現出良好的性能,在車輛沿x(y)單方向行駛過程中,方向y(x)上的估計值更為精確,誤差幾乎為零,如圖8中35~45 s與圖9中55~75 s;但在車輛行駛方向發生轉變的過程中,估計值產生較為明顯的波動,如圖8、圖9中軌跡數據圖像中的凸起部分,估計誤差也產生了尖峰;同時,KF在初始0~8 s內x與y方向估計均產生了較大的偏差,分析此現象與噪聲統計信息精確度有關,UFIR估計器與KF相比,估計誤差相對偏小。

圖8 延遲1 s情況下y方向上4種軌跡數據與估計誤差

圖9 延遲1 s情況下x方向上4種軌跡數據與估計誤差
如圖10所示,分別為x與y方向上車輛行駛方向發生轉變時的相關軌跡,KF與UFIR的估計值均產生了較大偏差,但分析得到,UFIR估計器在此情況下響應速度更快,偏差幅值更小,性能相對更好。

圖10 延遲1 s情況下行駛方向變動時軌跡數據
進一步地擴展延遲網絡攻擊影響范圍,分別進行不同數據延遲時間的仿真實驗,估計器平均估計誤差結果如表2所示。

表2 不同延遲時間下的估計誤差
分析得到,UFIR相對KF估計精確度較高,在0~1 s數據延遲時間內估計效果較好,當超過1 s時,估計器性能明顯下降,平均誤差已達到m級。
提出了一種延遲模型下無偏有限脈沖響應(UFIR)估計器應用方法,構建了延遲網絡攻擊下的車輛運動學模型,擴展模型至有限時間窗口,基于無偏估計條件推導延遲模型下的UFIR估計器的按批處理式與迭代式,利用Apollo自動駕駛系統與LGSVL模擬器搭建聯合仿真平臺并進行實驗。
結果表明: 延遲攻擊條件下UFIR估計器的有效性,該估計器不依賴于噪聲統計特性等信息,相較于KF具有一定的優勢,即便在噪聲信息較為精確的環境下,UFIR估計器性能仍優于KF,魯棒性更強,當延遲數據發生較大變化時,UFIR估計器響應速度更快,波動幅值較小。本仿真平臺,系統結構層次分明,功能模塊完整,具備良好的二次開發潛力,可自定義地圖與編輯車輛,適用于自動駕駛相關的測試與實驗。
本文只針對延遲網絡攻擊下定位數據的估計進行研究,在后續的研究工作中將考慮其他常見的攻擊模式如拒絕服務攻擊與重放攻擊等,如何進一步提高UFIR估計器的精確度也是后續工作的一個重點。