顧兆軍, 陳輝,, 王家亮, 崔海彬,
(1.中國民航大學(xué) 信息安全測評中心, 天津 300300; 2.中國民航大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 天津 300300)
四軸飛行器是一種常用的多旋翼無人機(jī),具有低成本、操作便捷、靈活性強(qiáng)等特點(diǎn)。目前,四軸飛行器的研究方向涵蓋了如路徑規(guī)劃[1]、無人機(jī)網(wǎng)絡(luò)安全[2-4]、傳感器安全[2]、穩(wěn)態(tài)飛行控制[5]、避障[6]、姿態(tài)調(diào)整[7-8]、導(dǎo)航定位[9]、無人機(jī)集群網(wǎng)絡(luò)資源優(yōu)化[10]等方面。
然而,其涉及的安全問題也逐漸暴露出來,民用消費(fèi)級無人機(jī)通常采用直接的通信方式。但在防黑客攻擊方面并沒有完善的應(yīng)對措施,如果被攻擊,將存在嚴(yán)重的公共安全隱患。通信鏈路斷開和干擾的攻擊方式容易被檢測到,而民用全球定位系統(tǒng)(GPS)本身并沒有針對欺騙等惡意行為的保護(hù)措施,其欺騙也相對復(fù)雜很多。因此GPS傳感器欺騙檢測是保障四軸飛行器安全飛行的重點(diǎn)研究內(nèi)容。
目前,針對GPS欺騙已經(jīng)開展了很多研究。Majidi等[11]針對GPS欺騙攻擊下定位的問題,提出了一種基于粒子濾波的偏差預(yù)測方法,用于降低不同概率密度函數(shù)的GPS欺騙誤差的影響。Lee等[12]通過使用飛行器自身攜帶的加速度計(jì),對比加速度計(jì)的輸出和GPS系統(tǒng)輸出估計(jì)的加速度值,并基于概率檢測的連續(xù)告警方法進(jìn)行GPS欺騙檢測。Chen等[13]提出一種基于GPS接收機(jī)和慣性測量單元信息融合的方法,使用實(shí)時(shí)模型導(dǎo)出無人機(jī)的當(dāng)前位置,然后將其余接收機(jī)輸出的位置信息進(jìn)行對比,以檢測GPS是否存在欺騙。Qiao等[14]提出一種基于單目攝像頭和慣性測量單元傳感器的GPS檢測算法,并在大疆精靈上進(jìn)行了驗(yàn)證。該算法對單目攝像頭采集到的視頻數(shù)據(jù)進(jìn)行速度計(jì)算,并與GPS速度數(shù)據(jù)比較,檢測是否存在GPS欺騙。針對GPS欺騙檢測,以上研究提出偏差預(yù)測、基于加速度計(jì)數(shù)據(jù)的檢測、基于位置信息的檢測和基于速度對比的檢測方案,但實(shí)現(xiàn)起來仍有不足,如加速度的數(shù)據(jù)容易受到求解加速度時(shí)因積分誤差帶來的影響;采用實(shí)時(shí)模型的方式導(dǎo)出位置信息可能造成飛行器計(jì)算資源的浪費(fèi);只對比速度信息可能導(dǎo)致高度方向欺騙檢測不及時(shí),同時(shí)利用視頻數(shù)據(jù)測算飛行器速度有時(shí)會受到前景光流波動帶來的誤差影響。因此,本文提出一種基于多傳感器數(shù)據(jù)融合的GPS欺騙檢測方法,終端獲得視頻數(shù)據(jù)后,利用基于聚類的金字塔光流法測得飛行器速度,讀取飛行器IMU中速度和高度數(shù)據(jù),并融合速度數(shù)據(jù)。通過速度和高度數(shù)據(jù)與GPS數(shù)據(jù)比對,當(dāng)速度或高度數(shù)據(jù)超過閾值時(shí),判定為存在GPS欺騙。
四軸飛行器機(jī)架呈十字交叉狀,有4個(gè)螺旋槳和電機(jī),電機(jī)帶動螺旋槳運(yùn)動產(chǎn)生向上的拉力,如圖1所示,設(shè)當(dāng)飛行器處于懸停狀態(tài)下,每個(gè)螺旋槳的拉力均為f,飛行器做俯仰運(yùn)動、翻滾運(yùn)動、偏航運(yùn)動時(shí)螺旋槳的拉力變化量分別為Δfp,Δfr,Δfy,則可得出每個(gè)螺旋槳的拉力值
四軸飛行器拉力的變化,表現(xiàn)為其姿態(tài)角的變化,從而實(shí)現(xiàn)飛行器各種飛行動作的完成[15]。為了將光流法測得的速度與四軸飛行器自身實(shí)際速度對應(yīng),需要建立像素坐標(biāo)系、像平面坐標(biāo)系、相機(jī)坐標(biāo)系、機(jī)體坐標(biāo)系和本地坐標(biāo)系,如圖1所示。
圖1 四軸飛行器坐標(biāo)系及拉力分解示意圖
像素坐標(biāo)系OpUpVp以圖像左上角為原點(diǎn),U軸向右為正方向,V軸向下為正方向。像平面坐標(biāo)系OiXiYi以圖像中心為原點(diǎn),X軸向右為正方向,Y軸向下為正方向。為簡化光流法測速計(jì)算過程,設(shè)定云臺垂直向下,則此時(shí)相機(jī)坐標(biāo)系OcXcYcZc和機(jī)體坐標(biāo)系OuXuYuZu相同。機(jī)體坐標(biāo)系OuXuYuZu以飛行器重心處為原點(diǎn),以飛行器前進(jìn)方向?yàn)閄軸正方向,Z軸以X軸垂直向下為正方向,Y軸可由右手定則確定,向右為正方向。通過坐標(biāo)系的轉(zhuǎn)換[9],可將卡爾曼濾波數(shù)據(jù)融合后得到的速度矢量由像素坐標(biāo)系轉(zhuǎn)換到世界坐標(biāo)系中,方便速度對比。
針對四軸飛行器GPS異常檢測,增加輔助設(shè)備將會增加飛行器制造成本和負(fù)載。而飛行器一般都裝有慣性測量單元(IMU)和單目攝像頭,則最好的檢測方式應(yīng)利用飛行器自身固有傳感器的數(shù)據(jù)。因此本文利用飛行器自身攜帶的IMU和單目攝像頭,對GPS進(jìn)行異常檢測。檢測系統(tǒng)結(jié)構(gòu)如圖2所示,流程設(shè)計(jì)如下:
1) 系統(tǒng)初始化
系統(tǒng)終端與四軸飛行器建立鏈接,控制飛行器起飛后向目標(biāo)點(diǎn)飛行,實(shí)時(shí)接收單目攝像頭采集的視頻數(shù)據(jù)。
2) 基于聚類的光流法計(jì)算速度矢量
逐幀讀取視頻數(shù)據(jù),通過金字塔LK光流法計(jì)算稀疏光流,并通過聚類提取特征點(diǎn),計(jì)算特征點(diǎn)的速度矢量。
3) 讀取飛行器GPS數(shù)據(jù)
提取出經(jīng)度、緯度、海拔等信息。將經(jīng)緯度轉(zhuǎn)換為XY平面坐標(biāo),并計(jì)算飛行器X,Y方向速度矢量。
4) 讀取飛行器IMU慣性測量單元數(shù)據(jù)
獲取飛行器離地高度、X和Y方向速度矢量。
5) 速度信息轉(zhuǎn)換并融合
將像素坐標(biāo)系速度矢量轉(zhuǎn)換成本地坐標(biāo)系速度矢量。并將該速度信息和來自IMU的速度信息使用卡爾曼濾波方式進(jìn)行信息融合,得到該時(shí)刻最優(yōu)估計(jì)速度。
6) 數(shù)據(jù)對比
對實(shí)時(shí)計(jì)算出的速度和高度信息進(jìn)行統(tǒng)計(jì),通過比較不同來源的數(shù)據(jù)差值是否超過設(shè)置閾值,判斷GPS數(shù)據(jù)是否異常,當(dāng)速度或者高度數(shù)據(jù)超過設(shè)定閾值時(shí),代表存在GPS異常行為。
圖2 基于傳感器的GPS異常檢測系統(tǒng)結(jié)構(gòu)圖
光流可以定義為運(yùn)動物體在成像平面中像素運(yùn)動的瞬時(shí)速度,LK(Lucas-Kanade)光流法是一種連續(xù)2幀差分的稀疏光流估計(jì)算法。但在飛行器執(zhí)行飛行任務(wù)時(shí),其運(yùn)動速度較快,可能會導(dǎo)致特征點(diǎn)脫離檢測窗口,無法滿足傳統(tǒng)LK光流算法的3個(gè)假設(shè)條件,因此無法通過LK計(jì)算光流矢量。而圖像金字塔光流法,通過建立高斯金字塔的方式,得到多分辨率的圖像,并將圖像分辨率從下往上依次降序,可以提高光流計(jì)算的準(zhǔn)確性,故本文使用基于金字塔LK光流法的速度估計(jì)算法為核心測得飛行器速度信息,通過與IMU中讀取的速度融合得到最優(yōu)速度估計(jì)值,并與GPS速度信息進(jìn)行比較,判斷飛行器GPS速度信息是否存在異常。
本文基于多傳感器數(shù)據(jù)融合速度對比的GPS異常檢測算法,具體算法如算法1所示(frame為系統(tǒng)終端接收的圖片幀、Dmax為設(shè)置的閾值范圍、K為卡爾曼增益值),其設(shè)計(jì)思路如下:
1) 實(shí)時(shí)接收視頻數(shù)據(jù),不連續(xù)的讀取視頻幀;
2) 計(jì)算光流速度矢量;
使用Shi-Tomaasi算法提取強(qiáng)角點(diǎn),并通過金字塔LK光流法計(jì)算得到全部強(qiáng)角點(diǎn)的光流速度矢量。
3) DBSCAN聚類剔除前景光流誤差;
計(jì)算得出全部強(qiáng)角點(diǎn)光流,使用聚類算法,剔除前景光流干擾,得到此時(shí)基于光流法測得的像素運(yùn)動的速度。
4) 速度轉(zhuǎn)換;
將像素坐標(biāo)系下速度矢量,轉(zhuǎn)換成世界坐標(biāo)系下物體速度,得到此時(shí)飛行器自測速度。
5) 速度融合;
將飛行器自身IMU解算出的速度信息和基于光流法測得的速度信息,采用卡爾曼濾波的方式融合,得到該時(shí)刻最優(yōu)速度估計(jì)值。
6) 速度對比;
將融合后的最優(yōu)速度估計(jì)值與獲取的GPS速度信息進(jìn)行對比,如果超過設(shè)置的閾值范圍,則判定存在GPS速度異常。
算法1GPS速度異常檢測算法
Input: frame,Dmax,K
1: Result=False
2: getVgx,Vgy
3:Vlx,Vly=LK(frame)
4:Vlx,Vly=DBSCAN(Vlx,Vly)
5: getVlx,Vly
6: ΔV1=Vlx-Vux
7: ΔV2=Vly-Vuy
8: if ΔV≥1.5 thenK=0.8
9: else if 1<ΔV<1.5 thenK=0.7
10: else if 0.4<ΔV≤1 thenK=0.6
11: else 0≤ΔV≤0.4 thenK=0.5
12: end if
13: while Result==False do
14:Vrx=K×Vux+(1-K)×Vlx
15:Vry=K×Vuy+(1-K)×Vly
16: ΔVx=|Vrx-Vgx|
17: ΔVy=|Vry-Vgy|
18: if ΔVx>Dmaxor ΔVy>Dmaxthen
19: Result=True
20: end if
21: end while
22: Update Result=False
Output: Result(True:存在GPS速度異常;False:不存在GPS速度異常)
2.1.1 用于小型四軸飛行器測速的金字塔LK光流法
金字塔光流法通過在圖像的金字塔結(jié)構(gòu)基礎(chǔ)上使用LK光流法迭代,可計(jì)算圖像中每個(gè)像素點(diǎn)的光流矢量,但將消耗大量計(jì)算資源。而四軸飛行器測速時(shí),由于速度的一致性,只需要部分像素點(diǎn)矢量信息即可,因此先采用Shi-Tomaasi角點(diǎn)檢測算法提取出圖像中強(qiáng)角點(diǎn),再估計(jì)光流速度矢量。具體實(shí)現(xiàn)流程為:
1) 讀取實(shí)時(shí)視頻流數(shù)據(jù);
使用Shi-Tomaasi角點(diǎn)檢測算法找出當(dāng)前視頻幀中的強(qiáng)角點(diǎn)集合
Sp={S0,S1,S2,…,Sn}
(5)
式中,n為檢測出當(dāng)前視頻幀中強(qiáng)角點(diǎn)個(gè)數(shù),n∈N。
2) 通過金字塔LK算法,找出強(qiáng)角點(diǎn)集合Sp的光流向量坐標(biāo)集合Ip;
Ip={(ps0,pe0),(ps1,pe1),(ps2,pe2),…,(psn,pen)}
(6)
式中:Ip為強(qiáng)角點(diǎn)產(chǎn)生的光流向量集合;(psi,pei)為該光流向量di的起始點(diǎn)和結(jié)束點(diǎn)。
3) 計(jì)算每個(gè)光流向量在x和y方向上的大小;
式中,(x,y)為第i個(gè)強(qiáng)角點(diǎn)的坐標(biāo)。
4) 計(jì)算速度矢量;
將光流矢量表示為每秒移動若干像素點(diǎn),方便與GPS讀取的速度對比。根據(jù)步驟3)中計(jì)算出x,y方向上每個(gè)強(qiáng)角點(diǎn)的位移,則該強(qiáng)角點(diǎn)的像素速度矢量可以表示為:
(9)
(10)
式中:vix,viy分別代表在x和y方向上的速度;T表示強(qiáng)角點(diǎn)發(fā)生位移所用時(shí)間。
2.1.2 基于DBSCAN聚類算法的改進(jìn)LK光流測速
四軸飛行器在利用圖片幀中的光流信息進(jìn)行測速時(shí),其精度容易受到前景光流誤差的影響。當(dāng)飛行器處于靜止懸停狀態(tài)時(shí),若此時(shí)視頻信息中存在部分物體運(yùn)動,則此時(shí)利用光流法測得飛行器處于運(yùn)動狀態(tài)。因此,為了提高光流測速的精度,必須從光流矢量中剔除這些因前景運(yùn)動帶來的干擾項(xiàng)。本文算法使用一種基于密度的DBSCAN(density-based spatial clustering of applications with noise)聚類光流測速優(yōu)化方法,剔除前景運(yùn)動帶來的干擾。DBSACN算法假定種類可以通過數(shù)據(jù)樣本分布的密度決定,屬于同一種類的數(shù)據(jù),它們之間相距較近,密度較大。其的核心思想是找到高密度的區(qū)域,將高密度區(qū)域通過低密度區(qū)域相互分開。
使用DBSCAN算法對飛行器光流信息處理,會將速度矢量進(jìn)行聚類,物體運(yùn)動產(chǎn)生的前景光流和靜態(tài)的背景光流根據(jù)速度不同聚集成不同的類別,每個(gè)簇的中心位置為該類別的數(shù)據(jù)概率密度極大位置。因?yàn)槲矬w運(yùn)動,前景光流和背景光流產(chǎn)生較大的差別,但多數(shù)情況下背景光流在光流場中概率密度最大,對光流場起決定作用。故提取聚類后樣本個(gè)數(shù)最多的類別,并求其均值即可較為精確地反應(yīng)飛行器速度。使用原金字塔LK光流測速算法和基于DBSCAN聚類算法改進(jìn)LK光流測速算法分別處理視頻流數(shù)據(jù),對實(shí)驗(yàn)結(jié)果進(jìn)行分析,如表1所示。分析實(shí)驗(yàn)數(shù)據(jù),當(dāng)四軸飛行器處于懸停狀態(tài)下,金字塔LK光流測速算法在X和Y方向測得速度均值分別為0.049和0.081 m/s,而基于聚類算法的改進(jìn)金字塔LK光流算法測得速度為0.004和0.014 m/s;當(dāng)四軸飛行器在運(yùn)動時(shí),金字塔LK光流測速算法在X和Y方向測得的速度均值分別為0.581和3.044 m/s,而基于聚類算法的改進(jìn)金字塔LK光流算法測得的速度為0.221和3.219 m/s,速度實(shí)際值為0和3.343 m/s??梢姡褂镁垲愃惴ê?,提取光流樣本個(gè)數(shù)最多的類別樣本均值并計(jì)算飛行器速度,更接近真實(shí)值,可有效降低前景光流帶來的誤差。
表1 某時(shí)刻飛行器速度統(tǒng)計(jì)表 m/s
2.1.3 小型四軸飛行器速度檢測
在對飛行器GPS速度數(shù)據(jù)進(jìn)行比較時(shí),將飛行器自身IMU解算出的速度信息和基于光流法測得的速度信息,使用卡爾曼濾波器進(jìn)行融合,得到飛行器在該時(shí)刻速度的最優(yōu)估計(jì)值Vr。并將計(jì)算得出的來自GPS數(shù)據(jù)的速度Vg與Vr比較,判斷是否存在GPS速度異常。假設(shè)飛行器在t0時(shí)刻光流法測得速度為Vl,自身IMU單元解算出的速度為Vu,同時(shí)判斷Vl與Vu的差值ΔV,根據(jù)其差值ΔV自適應(yīng)動態(tài)調(diào)整卡爾曼增益K的值,以達(dá)到最優(yōu)的估計(jì)效果,降低光流法在特征點(diǎn)匹配時(shí)因光線等環(huán)境因素導(dǎo)致的特征點(diǎn)跳躍情況,從而帶來測速的誤差。當(dāng)ΔV在[1.5,+∞)區(qū)間內(nèi),說明速度差值很大,因?yàn)轱w行器自身IMU單元解算出的速度較穩(wěn)定,因此設(shè)定卡爾曼增益為0.8,數(shù)據(jù)融合時(shí)自身IMU數(shù)據(jù)所占比重大;同理,當(dāng)ΔV在(1,1.5)區(qū)間內(nèi),設(shè)定卡爾曼增益為0.7;當(dāng)ΔV在[0.4,1]區(qū)間內(nèi),設(shè)定卡爾曼增益為0.6;當(dāng)ΔV在[0,0.4)區(qū)間內(nèi),設(shè)定卡爾曼增益為0.5。速度比較閾值Dmax為1.5,則其原理如下所示:
通過讀取飛行器GPS數(shù)據(jù),可以獲得當(dāng)前時(shí)刻飛行器的海拔高度。同時(shí),讀取飛行器自身傳感器獲得其離地高度。將GPS數(shù)據(jù)中的海拔高度減去當(dāng)?shù)睾0胃叨龋傻玫酵ㄟ^GPS估算的飛行器離高度,與飛行器自身傳感器獲取的高度值對比,即可判斷該時(shí)刻GPS海拔數(shù)據(jù)是否異常,如算法2所示。
算法2GPS海拔高度異常檢測算法
Input:hg,hu,hmax,h
1: Result=False
2: while Result==False do
3: Δh=|hg-hu-h|
4: if Δh>hmaxthen
5: Result=True
6: end if
7: end while
8: Update Result=False
Output: Result(True:存在GPS海拔高度異常;False:不存在GPS海拔高度異常)
此處在計(jì)算源自GPS數(shù)據(jù)的四軸飛行器離地高度信息時(shí),設(shè)定本地平均海拔高度h=3.5 m。在四軸飛行器起飛后,為保持?jǐn)?shù)據(jù)處理頻率一致性,按照系統(tǒng)終端處理圖片幀的速度獲取GPS海拔數(shù)據(jù),即每處理一幀圖片幀就獲取一次GPS海拔高度進(jìn)行GPS欺騙檢測。
本文采用Anafi(安娜飛)作為硬件實(shí)驗(yàn)平臺。Anafi是Parrot公司生產(chǎn)的一款小型四軸飛行器,焦距35 mm,可進(jìn)行4k高清圖傳,傳輸速率24 frame/s。使用python3在Ubuntu Linux 18.04操作系統(tǒng)上進(jìn)行開發(fā),通過OpenCV3.4實(shí)現(xiàn)金字塔LK方法來處理系統(tǒng)終端實(shí)時(shí)接收到的視頻流。利用卡爾曼濾波器實(shí)現(xiàn)單目相機(jī)和慣性測量單元的信息融合。
通信鏈接建立后,系統(tǒng)終端將接收視頻數(shù)據(jù),數(shù)據(jù)經(jīng)過實(shí)時(shí)處理后如圖3所示,圖3a)是四軸飛行器起飛前,單目攝像頭(云臺相機(jī))朝向前方時(shí)的處理結(jié)果,圖片幀中的多個(gè)彩色圓點(diǎn)為提取出的特征點(diǎn),此時(shí)為靜止?fàn)顟B(tài)。圖3b)是四軸飛行器起飛后的圖片幀處理結(jié)果。圖3c)和3e)是控制四軸飛行器起飛,將云臺相機(jī)的角度改為垂直地面向下時(shí),接收的圖片幀處理結(jié)果。圖3d)和3f)是改變四軸飛行器運(yùn)動狀態(tài)后,視頻數(shù)據(jù)處理結(jié)果,圖片幀中顯示多個(gè)特征點(diǎn)運(yùn)動軌跡。
圖3 視頻幀處理結(jié)果圖
為驗(yàn)證本文所提出的四軸飛行器GPS欺騙檢測算法,布置如下實(shí)驗(yàn):四軸飛行器在最大離地高度2.5 m進(jìn)行飛行實(shí)驗(yàn),同時(shí)控制飛行器以最大速度約4.5 m/s,沿正西方向飛行,前進(jìn)大約70 m,在執(zhí)行飛行任務(wù)時(shí),四軸飛行器若受到GPS欺騙攻擊并被控制,將表現(xiàn)為飛行器飛行速度和高度發(fā)生突變。因此,本實(shí)驗(yàn)采用生成隨機(jī)指令函數(shù)的方式,在實(shí)際飛行時(shí)隨機(jī)發(fā)送控制指令控制飛行器隨機(jī)移動,以模擬受到GPS欺騙攻擊行為的效果。在第一次飛行時(shí)記錄軌跡數(shù)據(jù),作為正常值;在隨后幾次飛行實(shí)驗(yàn)時(shí)使用隨機(jī)函數(shù),模擬GPS欺騙攻擊行為并與正常值對比,檢測GPS數(shù)據(jù)是否異常。設(shè)置如下實(shí)驗(yàn)情景:
情景1:四軸飛行器受到GPS欺騙攻擊后,向左方偏航;情景2:四軸飛行器受到GPS欺騙攻擊后,向右方偏航;情景3:四軸飛行器受到GPS欺騙攻擊后,上下移動。
分析四軸飛行器實(shí)驗(yàn)數(shù)據(jù),如圖4所示。為了統(tǒng)一數(shù)據(jù)融合時(shí)的時(shí)間單位,采用幀數(shù)作為橫坐標(biāo),表示系統(tǒng)終端處理四軸飛行器單目攝像頭采集圖像的幀數(shù),設(shè)定每10幀處理1幀,即每3.333 s處理1幀。情景1時(shí),四軸飛行器受到GPS欺騙,在起飛后第49幀左右開始向左方移動,此時(shí)系統(tǒng)在y方向檢測出飛行器有相對于正常信號減速現(xiàn)象,如圖4a)所示。第53幀左右在x方向檢測出GPS欺騙,如圖4b)所示。從欺騙發(fā)生到系統(tǒng)檢測出欺騙用時(shí)約1.33 s,其姿態(tài)角如圖4e)和4g)所示。情景2時(shí),四軸飛行器受到GPS欺騙,起飛后第42幀左右開始向右方移動,此時(shí)系統(tǒng)在y方向檢測出飛行器有相對于正常信號減速現(xiàn)象,如圖4c)所示。第44幀左右在x方向檢測出GPS欺騙,如圖4d)所示。從欺騙發(fā)生到系統(tǒng)檢測出欺騙用時(shí)約0.666 7 s,其姿態(tài)角如圖4f)和4h)所示。情景3時(shí),四軸飛行器受到GPS欺騙時(shí),在起飛后第20幀左右開始偏離原航行高度繼續(xù)向上方移動,系統(tǒng)在第23幀檢測出四軸飛行器高度數(shù)據(jù)異常,如圖4i)所示,從欺騙發(fā)生到系統(tǒng)檢測出欺騙用時(shí)約0.99 s。
圖4 小型四軸飛行器實(shí)驗(yàn)結(jié)果圖
如表2所示,文獻(xiàn)[11]提出改進(jìn)粒子(PDIPF)的方式檢測GPS欺騙,使用均方誤差評估系統(tǒng)性能,無人機(jī)位置估計(jì)的精度可達(dá)96%;文獻(xiàn)[12]采用基于加速度計(jì)值的檢測,得出報(bào)警概率隨著K值增加而降低的結(jié)論,實(shí)驗(yàn)測得當(dāng)K=3時(shí)性能最佳,固定誤報(bào)率為10-6;文獻(xiàn)[13]提出一種基于位置信息對比的GPS欺騙檢測,該方法可在8 s內(nèi)準(zhǔn)確檢測出欺騙行為;文獻(xiàn)[14]提出的基于視覺的GPS欺騙檢測方式,可以在5 s周期內(nèi)檢測x和y方向上的GPS欺騙行為。因檢測方式的不同,在評估系統(tǒng)性能時(shí)可能會有不同,本文基于數(shù)據(jù)融合的四軸飛行器GPS欺騙檢測算法,可從GPS速度和高度2個(gè)層面,在欺騙發(fā)生的較短時(shí)間內(nèi)檢測出欺騙,如表3所示,檢測時(shí)間在2 s內(nèi),具有較好的檢測效果。
表2 文獻(xiàn)結(jié)果與實(shí)驗(yàn)結(jié)果對比
表3 四軸飛行器實(shí)驗(yàn)結(jié)果
本文基于多傳感器數(shù)據(jù)融合的四軸飛行器GPS欺騙檢測算法,對GPS數(shù)據(jù)從速度和高度2個(gè)層面進(jìn)行檢測。系統(tǒng)終端實(shí)時(shí)接收四軸飛行器采集的視頻數(shù)據(jù),通過改進(jìn)金字塔光流法測出飛行器速度矢量。并通過卡爾曼濾波的方式與IMU的速度進(jìn)行數(shù)據(jù)融合,得到融合后的最優(yōu)速度估計(jì)值,將該值與來自GPS數(shù)據(jù)的速度信息對比,檢測是否異常;實(shí)時(shí)讀取GPS信號獲取海拔信息,減去當(dāng)?shù)睾0胃叨炔⑴cIMU解算處理的飛行器離地高度對比,檢測飛行器GPS海拔數(shù)據(jù)是否異常。實(shí)驗(yàn)結(jié)果表明,本文提出的算法在四軸飛行器GPS欺騙檢測時(shí),具有較好的檢測效果。下一步將考慮加入四軸飛行器所受風(fēng)力值等作為GPS欺騙檢測判斷條件。