姜明宇,張翠平,金子瀟
(北京信息科技大學 計算機學院,北京 100101)
隨著交通智能化、自動化的快速發(fā)展,自動駕駛已經(jīng)是未來交通系統(tǒng)的重要組成部分,其在減少尾氣排放、交通擁堵與交通事故方面有巨大潛力。而有關(guān)自動駕駛安全性研究一直是學術(shù)界和工業(yè)界共同關(guān)注的熱點課題。實際上,交通安全與人民的生產(chǎn)生活密切相關(guān)。但是,作為一項復(fù)雜工程,自動駕駛技術(shù)嚴重依賴于移動互聯(lián)網(wǎng),這就使其也有可能成為網(wǎng)絡(luò)攻擊的一個對象。因此,研究自動駕駛環(huán)境下的網(wǎng)絡(luò)安全預(yù)警系統(tǒng)具有重要的實際意義。
當前,針對自動駕駛環(huán)境下的安全風險方面已經(jīng)有一些研究。呂穎等人針對自動駕駛車輛項目開發(fā)特點,提出一種結(jié)合通用軟件開發(fā)過程標準與敏捷開發(fā)過程的面向汽車自動駕駛軟件安全開發(fā)的流程,并應(yīng)用在實際自主軟件開發(fā)項目中。代珊珊等人提出了一種基于動作約束的軟行動者-評論家算法對環(huán)境獎賞進行了合理限制,使無人車盡量避免陷入危險狀態(tài)。結(jié)果表明,引入安全機制的CSAC方法可以有效避開不安全動作,提高自動駕駛過程中的穩(wěn)定性。陳吉清等人基于國家車輛事故深度調(diào)查體系中的事故數(shù)據(jù),根據(jù)交通環(huán)境要素和測試車輛基礎(chǔ)信息選取了若干場景要素,通過聚類分析方法對車輛交通事故數(shù)據(jù)進行了分析,提出并分析了危險事故特征。但是,這些內(nèi)容都是針對自動駕駛車輛在常規(guī)行駛過程中遇到的安全風險展開研究。實際上,黑客攻擊一直都是網(wǎng)聯(lián)環(huán)境安全的重要風險因素。對于自動駕駛環(huán)境下黑客攻擊的交通流演化特性,研究者們從數(shù)值模擬和解析分析的角度進行了研究,但是卻并未根據(jù)這些特性進行系統(tǒng)設(shè)計與開發(fā)?;诖耍疚膭t是在自動駕駛環(huán)境下針對黑客攻擊來進行安全預(yù)警研究,并進一步就系統(tǒng)設(shè)計與開發(fā)給出了有效解決方案。以期從實際應(yīng)用的角度為國內(nèi)無人駕駛安全風險研究提供有益參考。
在Li等人的研究中,使用了PATH模型。為使得論文具有更好的完整性和可讀性,簡要介紹PATH模型如下:
其中,e表示目標車輛間隙誤差;e′表示間隙誤差導數(shù);x表示前面1車的位置;x表示目標車輛位置;L表示1車的長度;t表示當前設(shè)置的時間間隔;v表示目標車輛的速度;v表示前一次迭代中目標車輛的速度;k和k為模型系數(shù),在研究中分別為0.45,0.25;表示迭代時間步長。
該模型有物理學理論依據(jù),有一定的參考價值。但是,在實際情況中,可能還有其他因素會對數(shù)據(jù)造成影響。
指標RCRI(Rear-end collision risk indexes)建立了縱向安全與車輛動態(tài)行駛軌跡數(shù)據(jù)間的關(guān)系。在Ye等人的研究中,使用了基于安全停止距離的指標,此處需用到的數(shù)學公式如下:
其中,SSD表示前車停車距離;表示前車與后車間隙距離;v表示前車速度;d表示減速率;SSD表示后車停車距離;v表示后車速度;t表示延時。
基于此,在生成IDM模型的模擬數(shù)據(jù)中,可根據(jù)車輛類型標記,帶入不同的延時參數(shù),計算各個迭代周期內(nèi)的,即各個迭代周期內(nèi)的碰撞風險指數(shù)。
本文的研究目標就是采用基于的預(yù)警。與傳統(tǒng)的基于閾值的預(yù)警方式不同,基于的預(yù)警可能對針對位置數(shù)據(jù)的攻擊以及攻擊程度較輕、但受攻擊車輛較多的情況有更可靠的表現(xiàn)。
根據(jù)Li等人的研究結(jié)論可知,較低嚴重程度的攻擊可能對大多數(shù)車輛造成影響,從而導致單一某一輛車的風險比例下降,因此,針對位置數(shù)據(jù)的攻擊可能比針對速度數(shù)據(jù)的攻擊影響更大。另外,在更多的車輛受到低嚴重程度的攻擊時,情況可能比更少的車輛受到較高嚴重程度的攻擊時更加嚴重。這就意味著黑客可能對多輛智能網(wǎng)聯(lián)汽車發(fā)起低嚴重程度的攻擊,其嚴重程度依然不小。但在這種情況下,傳統(tǒng)的基于閾值的預(yù)警系統(tǒng)可能無法觸發(fā)預(yù)警,因為攻擊的嚴重程度并未達到閾值。而基于的預(yù)警系統(tǒng)就可以有效應(yīng)對這種情況發(fā)出預(yù)警。
本系統(tǒng)開發(fā)基于Qt開發(fā)框架、OpenGL圖形庫與QChart圖表組件。
Qt是一個跨平臺的C++圖形用戶界面應(yīng)用程序開發(fā)框架。PyQt是Qt的Python綁定。使用PyQt5,可以在Qt Designer中通過拖動快捷的以面向?qū)ο蟮姆绞綐?gòu)建UI,再使用PyQt5提供的工具編譯為Python代碼,即可通過Python進行調(diào)用。
OpenGL是一個用于渲染2D、3D圖形的開放圖形庫,利用圖形加速硬件得以高效實現(xiàn),支持多種平臺,傳入模型數(shù)據(jù),使用GLSL語言編寫著色器程序,即可渲染2D/3D圖形(參見圖1)。PyOpenGL是對應(yīng)的Python綁定,支持通過Python調(diào)用接口函數(shù)來高效渲染圖形。
圖1 OpenGL渲染3D圖像示例Fig.1 An example of rendering 3D images by OpenGL
QChart是一個易用的圖表組件,可通過簡單的接口調(diào)用,就能快速實現(xiàn)如折線圖、柱狀圖、雷達圖、餅圖等圖表。
UI示例如圖2所示。在圖2的預(yù)警系統(tǒng)UI中,左邊部分使用PyOpenGL實時多線程渲染每一個模型,可視化顯示周圍行車信息。在模型渲染區(qū)域上方,疊加QPainter渲染層,顯示當前車輛的速度、轉(zhuǎn)向指示等基本信息。
圖2 UI示例Fig.2 The example of UI
UI右邊部分為數(shù)據(jù)可視化區(qū)域,包含著網(wǎng)絡(luò)狀況、車流密度、速度、跟車間隙等關(guān)乎安全的信息,在數(shù)據(jù)圖中間,放大的數(shù)據(jù)圖顯示最終計算的,這是主要的預(yù)警基礎(chǔ),下面亦會提及。除此之外,數(shù)據(jù)圖表還支持基本的交互,如互換位置實現(xiàn)不同數(shù)據(jù)的放大顯示、某一個數(shù)據(jù)圖表的單獨放大顯示。
在UI設(shè)計中,最基本的實現(xiàn)預(yù)警的方法就是視覺預(yù)警。在數(shù)據(jù)圖表部分,通過簡單的顏色變換,實現(xiàn)了基本的視覺預(yù)警,以滿足研究階段驗證系統(tǒng)可行性的需求。在實際應(yīng)用中,還可以根據(jù)硬件條件,結(jié)合其他領(lǐng)域的方法,實現(xiàn)聲音預(yù)警、觸覺預(yù)警等。
在本次的研究中,設(shè)計了一個自動駕駛環(huán)境下的網(wǎng)絡(luò)安全預(yù)警系統(tǒng),并實現(xiàn)了基本的視覺預(yù)警以測試系統(tǒng)基本可行性。但實際應(yīng)用中,僅研發(fā)出視覺預(yù)警還遠遠不夠,預(yù)警方式也并非本次研究的重點,論文在研究中主要是進行了跟馳模型的建立、以及從識別風險到發(fā)出預(yù)警的技術(shù)實現(xiàn)。將來,還要結(jié)合人機交互學、生物學、生理學等方面的經(jīng)驗對預(yù)警方式進行研究。