顧曦文 吳 琦 崔峰瑞
(1.91351部隊 興城 125106)(2.海軍工程大學(xué) 武漢 430033)
無人機技術(shù)發(fā)展日新月異,應(yīng)用前景十分廣闊,在軍事偵察、航行拍攝、電力巡檢,大氣檢測等領(lǐng)域都扮演著重要的角色。當(dāng)前無人機定位導(dǎo)航主要依賴GPS等衛(wèi)星導(dǎo)航系統(tǒng),衛(wèi)星信號格式公開且極其微弱,使得無人機飛行控制存在欺騙干擾的隱患。近些年無人機被欺騙的事例屢見不鮮。美國德克薩斯大學(xué)曾在美國國防部的支持下,開展無人機隱蔽欺騙技術(shù)研究,通過模擬漸變的GPS欺騙信號,對無人機進(jìn)行飛行欺騙誘導(dǎo),團(tuán)隊開展的演示驗證試驗取得成功[1]。在軍事應(yīng)用中,伊朗利用衛(wèi)星信號欺騙技術(shù)曾兩次分別截獲美國RQ-170“哨兵”和“掃描鷹”無人機,在國際上引起較大轟動。2016年12月16日,所在團(tuán)隊參加了在南京舉行的衛(wèi)星導(dǎo)航信息安全技術(shù)聯(lián)合試驗專題活動,現(xiàn)場觀摩了衛(wèi)星導(dǎo)航接收機定位欺騙和民用無人機誘騙主動防御等系列實驗[2],對無人機的欺騙技術(shù)研究產(chǎn)生了濃厚的興趣,嘗試開展無人機底層飛行控制技術(shù)研究,并在此基礎(chǔ)上進(jìn)行無人機欺騙原理分析和方案設(shè)計驗證,旨在揭示無人機欺騙干擾的底層原因,引起無人機應(yīng)用領(lǐng)域?qū)︼w行過程中安全防護(hù)的足夠重視。
系統(tǒng)設(shè)計使用衛(wèi)星回放器回放衛(wèi)星信號的方式對無人機的飛控系統(tǒng)進(jìn)行欺騙,來達(dá)到欺騙的目的。首先采用車載實驗的方式驗證采樣與回放器的信息欺騙功能,為了能展現(xiàn)出欺騙效果,在進(jìn)行無人機欺騙之前,先進(jìn)行了無人機的航跡規(guī)劃驗證,之后提出了一種新的航跡欺騙的方案并進(jìn)行了討論。航跡規(guī)劃中,硬件平臺選用了大疆公司的DJI Mtrice100,由于其開發(fā)環(huán)境的開源性,所以能夠通過調(diào)用函數(shù)庫的方式來讀取無人機的飛行信息,來全面的掌握無人機的整個飛行過程。最后,基于衛(wèi)星信號回放技術(shù),提出了一種無人機航跡欺騙演示方案。
使用DJI Mobile SDK的開發(fā)平臺設(shè)計了無人機航路規(guī)劃的程序,來進(jìn)行無人機航跡規(guī)劃。利用此程序來對無人機實現(xiàn)連接,并可以實時接收無人機位置信息并在界面上得以展現(xiàn)。接著在應(yīng)用軟件上進(jìn)行航跡規(guī)劃,使無人機可以按照預(yù)定的航路完成起飛、航行、降落過程。組成框圖和場景模擬圖如圖1、圖2所示。
圖1 航路規(guī)劃系統(tǒng)組成框圖
圖2 航路規(guī)劃模擬圖
在無人機航行過程中,利用衛(wèi)星回放器對無人機進(jìn)行欺騙,讓無人機誤以為到達(dá)目的地,從而直接進(jìn)入降落程序,即完成了對無人機的欺騙。或者可以改變無人機的地圖接收信息,在達(dá)到我方目的的基礎(chǔ)上,傳達(dá)錯誤的位置信息,使其降落在另一我方設(shè)置的目的地,完成飛行。組成框圖和場景模擬圖如圖3、圖4所示。
圖3 航跡欺騙系統(tǒng)組成框圖
圖4 航跡欺騙模擬圖
2.2.1 無人機平臺
無人機模塊采用的是大疆公司的DJI Matrice100(簡稱M100)型號的無人機。M100是一個專為開發(fā)者二次開發(fā)而推出的四軸飛行器,是一個可以滿足開發(fā)者拓展需求的無人機平臺。M100擴(kuò)展機架采用模塊化設(shè)計,可以在機身上安裝各種設(shè)備,比如不同功能相機、各種傳感器模塊、圖傳設(shè)備,還可以搭載任意自己DIY的任務(wù)設(shè)備,實物圖如圖5。
圖5 DJI Matrice100
2.2.2 衛(wèi)星中頻信號采樣與回放器
對無人機的干擾信號的產(chǎn)生使用的是宇志通信的SAS6862A衛(wèi)星中頻信號采樣與回放器。SAS6862A是一款可靈活配置的高速信號采樣和存儲系統(tǒng)平臺。能夠?qū)崿F(xiàn)衛(wèi)星中頻信號的采樣與回放,衛(wèi)星導(dǎo)航定位接收機干擾、抗干擾的研究等研究?;胤牌魇疽鈭D如圖6。
圖6 衛(wèi)星中頻信號采樣與回放器SAS6862A
SAS6862A實現(xiàn)了對衛(wèi)星導(dǎo)航信號的采集和回放,衛(wèi)星導(dǎo)航信號的采集和回放就是可以采集任意時間某地的導(dǎo)航衛(wèi)星信號,在欺騙地點使用采集到的信號回放模擬當(dāng)時衛(wèi)星的信號狀態(tài),從而進(jìn)行欺騙干擾。
利用DJI Mobile SDK開發(fā)的方式,自主設(shè)計一款軟件在手機或平板上運行,可以實現(xiàn)對無人機的的飛行通過設(shè)置航路點的方式進(jìn)行航路規(guī)劃的程序,并且無人機的信息可以實時顯示和保存。系統(tǒng)的算法流程圖如圖7。
圖7 算法流程圖
軟件功能算法的實現(xiàn)如下。
導(dǎo)入DJI Android SDK Package:M100是一個專為二次開發(fā)推出的四軸飛行器,有關(guān)M100的操作大疆都做成了庫的形式,開發(fā)者在開發(fā)過程中將包導(dǎo)入到工程,只需要對庫里的接口、類或者方法進(jìn)行操作就可以實現(xiàn)所需要的功能[3]。如圖8所示。
圖8 導(dǎo)入DJI Android SDK視圖
申請DJI APP Key:DJI Mobile SDK開發(fā)APP,成功運行APP之前需要在大疆官網(wǎng)注冊APP Key,并將APP Key在程序中注冊。如圖9所示。
圖9 注冊成功信息顯示界面
dji.sdk.MissionManager:該包用于實現(xiàn)飛行器的運動控制。其中的庫函數(shù)DJIWaypointMission:執(zhí)行航路點任務(wù),可以設(shè)置飛行器按照航路點飛行,在各個航路點調(diào)整不同的航向和飛行高度;
速度信息的獲?。篗100無人機的速度信息通過對DJI Flight Controller Data Type.DJIFlightControllerCurrentState類操作即可獲取[4];
連接:通過無人機與遙控器之間的無線通信鏈路將M100自身傳感器數(shù)據(jù)發(fā)送到遙控器端,遙控器端通過USB數(shù)據(jù)線與手機或者平板連接,再將數(shù)據(jù)通過USB數(shù)據(jù)線發(fā)送給手機,自主設(shè)計的軟件讀取手機接收到的數(shù)據(jù),實時顯示并保存;
地圖信息:利用現(xiàn)在已有的Google地圖作為基礎(chǔ),將Google地圖轉(zhuǎn)入自己設(shè)計的APP中,利用無人機上已有的天線,接受衛(wèi)星發(fā)射的位置信息,以確定無人機自己的位置;
返航點的設(shè)置:將無人機起飛前的位置選在空曠平整,無較大電磁干擾的場地,對準(zhǔn)飛機的傳感器,并且設(shè)置為返航點;
航路點的設(shè)置:選擇合適的位置作為飛機飛行的拐點設(shè)置為航路點,設(shè)置在該航路點的高度信息,速度信息;
運動軌跡:從終端接收到的無人機的位置信息,通過在軟件上的顯示,實時掌握無人機的位置,并且通過USB將APP記錄的運動軌跡信息傳入電腦中,進(jìn)行解算;
在飛行開始時,打開軟件界面,配置無人機與遙控器的信息,調(diào)整無人機的飛行參數(shù),狀態(tài)信息,設(shè)置航路點的個數(shù),啟動航路規(guī)劃飛行模式,無人機就會自動的按照預(yù)定的軌跡飛行。
以簡單的四點航路規(guī)劃為例,簡單說明一下我們自主設(shè)計的APP軟件,圖10為所設(shè)計的軟件界面。
圖10 軟件界面
為了使無人機欺騙實驗順利進(jìn)行,需要對衛(wèi)星中頻信號采樣與回放器的性能進(jìn)行驗證,來達(dá)到預(yù)期的效果。因此對其進(jìn)行了車載實驗,初步掌握其工作原理。
通過采集信號后控制回放,模擬欺騙干擾源,在車載動態(tài)情況下進(jìn)行了對商用手機導(dǎo)航軟件的欺騙試驗,驗證了欺騙干擾對手機導(dǎo)航軟件的欺騙效果,具體過程如下。車載實驗平臺如圖11所示。
回放器供電由UPS電源提供,對手機上GPS軟件進(jìn)行欺騙實驗驗證;
在武漢市建設(shè)大道上利用衛(wèi)星回放器采集了一段GPS信號并保存,作為模擬干擾信號;
當(dāng)車行駛至武漢市二環(huán)線時,播放保存的建設(shè)大道上的衛(wèi)星信號,播放信號后,手機GPS軟件顯示定位效果如圖12,其定位位置錯誤,而且播放的衛(wèi)星信號變強,如圖13。
圖11 動態(tài)欺騙干擾演示試驗
圖12 無人機的實際飛行
如圖所示,在武漢市二環(huán)線上由于欺騙信號的播發(fā),手機導(dǎo)航軟件上顯示了錯誤的時間,位置與衛(wèi)星信息,其衛(wèi)星信號明顯增強,顯然初步的地理信息欺騙已經(jīng)得到驗證。
選擇在空曠的場地進(jìn)行實際飛行的實驗,經(jīng)過遙控器的操縱方式,對無人機的掌控變得熟練,為后續(xù)的航路規(guī)劃實驗打下基礎(chǔ)。圖13為無人機實際飛行。
圖13 設(shè)置航路點
設(shè)計的程序可以實現(xiàn)航路規(guī)劃的功能,對于功能能否實現(xiàn),是否能穩(wěn)定的控制無人機按照規(guī)定的航路點進(jìn)行飛行,我們利用無人機按照規(guī)定的軌跡進(jìn)行了測試。圖13是試驗時的軟件界面,在界面上首先設(shè)置航路點作為無人機飛行的依據(jù),隨后啟動軟件,通過手機與遙控器連接的,將控制信息發(fā)送給無人機,可以清楚地看到,無人機按照規(guī)定的航路進(jìn)行飛行。
設(shè)置完成后,點擊開始的圖標(biāo),無人機會自動的按照航路進(jìn)行飛行,圖14為無人機起飛時的軟件界面,圖15為飛機飛行到第一個航路點時的軟件界面。
圖14 無人機起飛
圖15 無人機飛到第一個航路點
從實驗的結(jié)果來看,自主設(shè)計的軟件成功實現(xiàn)了對無人機飛行的航路規(guī)劃,而且飛行平穩(wěn),操作簡單,沒有明顯的失控現(xiàn)象,得出航路規(guī)劃實驗成功的結(jié)論。
3.4.1 無人機位置信息的提取
M100無人機提供的位置信息有兩種,一種是純位置信息,另一種是與IMU組合導(dǎo)航定位位置信息。其中位置信息包含在DJI Remote Controller.DJIRCGPSData類里,該類共含有8個變量,分別是accuracy代表定位誤差精度;isValid表示定位數(shù)據(jù)是否有效;latitude代表緯度值,單位是°;longitude代表經(jīng)度值;satellite Count代表衛(wèi)星顆數(shù);speedE-ast無人機東向速度;speedNorth代表無人機北向速度;time表示時間。通過DJIRemoteController.DJIRCGPSData類庫函數(shù)的調(diào)用,輸入get Altitude()返回?zé)o人機相對起飛位置的高度,輸入getLatitude()返回?zé)o人機所處位置的緯度值;輸入getLongitude()返回經(jīng)度值。實現(xiàn)后的界面如圖16所示。
圖16 數(shù)據(jù)實時顯示界面
根據(jù)提取出來的無人機位置信息,利用信號回放器,首先對無人機的導(dǎo)航接收天線進(jìn)行欺騙實驗,成功后,再進(jìn)行飛行試驗的模塊。
3.4.2 欺騙方案設(shè)計
1)事先在無人機航跡規(guī)劃目的地用衛(wèi)星信號采集與回放器采集好時間、位置、衛(wèi)星信息并記憶;
2)進(jìn)行無人機航跡規(guī)劃實驗。設(shè)計好無人機的飛行路線。其中無人機的飛控原理為:自行起飛程序>>收集導(dǎo)航信號>>按照既定航路飛行>>到達(dá)目的地>>位置信息與目的地信息匹配>>自行降落程序;
3)在無人機按照航跡飛行途中,設(shè)置欺騙點。開啟衛(wèi)星信號回放器進(jìn)行信號回放;
4)在航跡飛行途中無人機接收到衛(wèi)星信號回放器信息,位置信息與目的地信息匹配,進(jìn)入自行降落程序;
5)完成航跡欺騙。
本文基于M100平臺,開發(fā)出基于DJI Mobile SDK的無人機控制應(yīng)用程序??梢詫o人機進(jìn)行實時控制,也可以接收在無人機上安裝的導(dǎo)航模塊發(fā)送的位置信息,更加直觀,易于操作。
1)創(chuàng)新地進(jìn)行了航路規(guī)劃實驗,避免了在實際操作中對無人機操作不慎而出現(xiàn)的飛行路線錯誤;
2)開展了航跡欺騙的設(shè)想,對現(xiàn)有設(shè)備進(jìn)行了前期實驗,并實現(xiàn)了初期位置信息的傳輸攔截與干擾,成功顯現(xiàn)出錯誤的位置信息。
基于本文的研究結(jié)果,其可應(yīng)用于如下方面:
1)航跡規(guī)劃方面??赏茝V應(yīng)用于氣象、測繪、勘探等方面,方便大規(guī)模開展,節(jié)省人力;
2)航跡欺騙方面。主要應(yīng)用于電子對抗干擾方面,軍事上對敵方或者實戰(zhàn)演練中,均可以在反偵測,反干擾方面作用?,F(xiàn)如今,信息的掌握就是決勝的關(guān)鍵,能更加有力地保護(hù)己方信息,提高打贏能力;
3)揭示了現(xiàn)如今無人機導(dǎo)航模式存在的安全隱患,對于國防領(lǐng)域電力巡檢、農(nóng)業(yè)、應(yīng)用無人機等領(lǐng)域衛(wèi)星信息終端防護(hù)有啟示意義;
4)軍事上的無人巡航導(dǎo)彈,或者依賴GPS的艦船、無人機等,均存在被干擾、欺騙的可能,應(yīng)盡早設(shè)置預(yù)警方案,或者開發(fā)出應(yīng)對策略。