莊子艾 程 欣 劉文豪 姜?jiǎng)倜?/p>
(上海海事大學(xué)信息工程學(xué)院海洋互聯(lián)網(wǎng)實(shí)驗(yàn)室 上海 201306)
科技的進(jìn)步使得更多的人能夠體驗(yàn)無(wú)人機(jī)帶來(lái)的樂(lè)趣,但民用無(wú)人機(jī)飛行存在飛行區(qū)域不明確、侵犯隱私、有安全隱患等問(wèn)題,“黑飛”和“擾航”事件時(shí)有發(fā)生。這嚴(yán)重影響了國(guó)土防空和飛行安全,制約了低空空域的開(kāi)放和通用航空的發(fā)展。
對(duì)民用無(wú)人機(jī)實(shí)施有效監(jiān)管,主要存在無(wú)人機(jī)飛行有“低小慢”等特點(diǎn),無(wú)人機(jī)數(shù)量巨大和種類繁多,且不斷增加;無(wú)人機(jī)操控員往往沒(méi)有經(jīng)過(guò)培訓(xùn)與考核,很多用戶無(wú)證飛行等問(wèn)題。
國(guó)外早期比較完善的無(wú)人機(jī)監(jiān)管系統(tǒng)是美國(guó)在 2010 年發(fā)布的Mission Planner[1],可以遠(yuǎn)程控制無(wú)人機(jī)飛行,查看歷史飛行數(shù)據(jù),但只適用于Windows平臺(tái)。2017年,美國(guó)AirMap公司提供了一個(gè)無(wú)人機(jī)飛行管理系統(tǒng),針對(duì)500 ft(1ft=0.304 8 m)低空空域,將用戶、機(jī)場(chǎng)、航空管理部門(mén)、無(wú)人機(jī)制造商的信息統(tǒng)一處理,并將這些數(shù)據(jù)提供給第三方,實(shí)現(xiàn)了對(duì)無(wú)人機(jī)的分類監(jiān)管[2]。任麗艷等[3]提出的無(wú)人機(jī)飛行監(jiān)管系統(tǒng)可以實(shí)現(xiàn)無(wú)人機(jī)實(shí)時(shí)監(jiān)管、查看飛行記錄和管制區(qū)域等。劉洋等[4]和郭杰等[5]提出的無(wú)人機(jī)綜合監(jiān)控系統(tǒng)都實(shí)現(xiàn)了對(duì)無(wú)人機(jī)的路徑規(guī)劃,可遠(yuǎn)程發(fā)送控制指令并在平臺(tái)查看。目前國(guó)內(nèi)的民用無(wú)人機(jī)監(jiān)管系統(tǒng),沒(méi)有考慮民用無(wú)人機(jī)的實(shí)時(shí)性、特殊性,且大多功能單一,不能實(shí)現(xiàn)對(duì)無(wú)人機(jī)的有效預(yù)警,所以很難在單一平臺(tái)下進(jìn)行全面監(jiān)管,亟需一種有效的無(wú)人機(jī)監(jiān)管模式和動(dòng)態(tài)響應(yīng)的無(wú)人機(jī)監(jiān)管系統(tǒng),逐步實(shí)現(xiàn)民用無(wú)人機(jī)的動(dòng)態(tài)監(jiān)管。
總結(jié)國(guó)內(nèi)外無(wú)人機(jī)監(jiān)管經(jīng)驗(yàn)和現(xiàn)有方案的不足,本文提出了一種基于蜂窩移動(dòng)網(wǎng)的無(wú)人機(jī)實(shí)時(shí)智能監(jiān)管與預(yù)警系統(tǒng)。本系統(tǒng)可在智能手機(jī)、平板電腦、臺(tái)式機(jī)等多平臺(tái)下兼容;通過(guò)無(wú)處不在的蜂窩移動(dòng)網(wǎng)實(shí)現(xiàn)了對(duì)無(wú)處不在的無(wú)人機(jī)的實(shí)時(shí)監(jiān)管;采用預(yù)警算法,對(duì)即將進(jìn)入禁飛區(qū)或有碰撞風(fēng)險(xiǎn)的無(wú)人機(jī)進(jìn)行預(yù)警;對(duì)無(wú)人機(jī)操作人員進(jìn)行身份驗(yàn)證,能夠禁止不具備無(wú)人機(jī)駕駛資質(zhì)的人員操作無(wú)人機(jī),為民用無(wú)人機(jī)的有效監(jiān)管提供了一種解決方案。
系統(tǒng)劃分為數(shù)據(jù)收集與發(fā)送端、云數(shù)據(jù)中心、監(jiān)管平臺(tái)三大模塊,采用蜂窩移動(dòng)網(wǎng)絡(luò)作為整個(gè)系統(tǒng)的通信鏈路和數(shù)據(jù)傳輸方式,如圖1所示。對(duì)于即將進(jìn)入禁飛區(qū)或存在碰撞風(fēng)險(xiǎn)的無(wú)人機(jī),系統(tǒng)持續(xù)向用戶發(fā)送短信預(yù)警,并將已經(jīng)飛入禁飛區(qū)的無(wú)人機(jī)進(jìn)行記錄存檔,從而實(shí)現(xiàn)對(duì)無(wú)人機(jī)的監(jiān)管。

圖1 系統(tǒng)總體設(shè)計(jì)框圖
對(duì)無(wú)人機(jī)的有效監(jiān)管建立在實(shí)時(shí)數(shù)據(jù)的基礎(chǔ)上,通過(guò)無(wú)人機(jī)提供的數(shù)據(jù)接口得到相關(guān)無(wú)人機(jī)的數(shù)據(jù)信息,這些數(shù)據(jù)信息包括:經(jīng)度、緯度、高度、速度等基本信息,以及橫滾角、俯仰角、偏航角等無(wú)人機(jī)的姿態(tài)信息。
無(wú)人機(jī)通過(guò)無(wú)線數(shù)據(jù)鏈路與遙控器連接,通過(guò)2.4/5.8 GHz Wi-Fi天線與遙控器進(jìn)行控制指令、數(shù)據(jù)信息的交換。APP連接遙控器后,能夠在地面實(shí)時(shí)獲取無(wú)人機(jī)的經(jīng)緯度、高度、速度等信息,通過(guò)終端的蜂窩移動(dòng)網(wǎng)絡(luò)通訊,將數(shù)據(jù)實(shí)時(shí)傳輸?shù)皆茢?shù)據(jù)中心,系統(tǒng)有效通信范圍可達(dá)到7公里左右。
云數(shù)據(jù)中心主要負(fù)責(zé)數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)轉(zhuǎn)發(fā)、在線監(jiān)管和預(yù)警功能的實(shí)現(xiàn)。中心通過(guò)蜂窩移動(dòng)網(wǎng)絡(luò)接收所有在線無(wú)人機(jī)的實(shí)時(shí)數(shù)據(jù)信息后,會(huì)在云端為不同的用戶開(kāi)辟一個(gè)獨(dú)立的存儲(chǔ)空間,每一個(gè)飛行架次對(duì)應(yīng)一個(gè)飛行記錄日志文件,存儲(chǔ)任意架次無(wú)人機(jī)的所有飛行數(shù)據(jù)信息,為監(jiān)管云平臺(tái)提供無(wú)人機(jī)飛行歷史記錄和實(shí)時(shí)飛行數(shù)據(jù)信息,為在線飛行用戶提供精確的實(shí)時(shí)飛行監(jiān)管服務(wù)[6]。
無(wú)人機(jī)預(yù)警功能基于對(duì)無(wú)人機(jī)與禁飛區(qū)之間的位置關(guān)系、無(wú)人機(jī)與無(wú)人機(jī)之間的位置關(guān)系判定。云端在接收到在線無(wú)人機(jī)數(shù)據(jù)之后,通過(guò)禁飛區(qū)預(yù)警算法判斷無(wú)人機(jī)飛行軌跡與禁飛區(qū)域的位置關(guān)系,以及碰撞風(fēng)險(xiǎn)預(yù)警算法判斷無(wú)人機(jī)之間的相對(duì)運(yùn)動(dòng)關(guān)系是否處于安全限制[7]。云數(shù)據(jù)中心向有進(jìn)入禁飛區(qū)或碰撞風(fēng)險(xiǎn)的無(wú)人機(jī)發(fā)送預(yù)警信息。
系統(tǒng)針對(duì)管理員用戶和普通用戶需求提供服務(wù),如圖2所示。管理員用戶具有較高權(quán)限,能夠?qū)λ械卿浵到y(tǒng)的無(wú)人機(jī)進(jìn)行監(jiān)管,具備劃定禁飛區(qū)、飛行計(jì)劃審批等功能;普通用戶可在Web端查詢禁飛區(qū),向系統(tǒng)提交飛行計(jì)劃申請(qǐng),可查看無(wú)人機(jī)的實(shí)時(shí)飛行狀態(tài)、飛行的歷史記錄等。

圖2 系統(tǒng)功能模塊
此外,為滿足其他監(jiān)管部門(mén)對(duì)無(wú)人機(jī)飛行數(shù)據(jù)的需求,后臺(tái)開(kāi)放數(shù)據(jù)接口,可以通過(guò)接口獲得需要的飛行數(shù)據(jù)。
用戶登錄系統(tǒng)需要注冊(cè)填寫(xiě)用戶名、設(shè)備碼,以實(shí)現(xiàn)系統(tǒng)和無(wú)人機(jī)的綁定。登錄成功后,在用戶認(rèn)證界面上傳用戶的身份證、無(wú)人機(jī)駕駛證等有效證件,實(shí)現(xiàn)了系統(tǒng)和用戶身份的綁定。兩次身份驗(yàn)證,確保具有無(wú)人機(jī)駕駛資質(zhì)的人員才可操控?zé)o人機(jī),保證了在發(fā)生非法飛行事件時(shí)能夠快速、有效地確認(rèn)涉事無(wú)人機(jī)及責(zé)任人。
系統(tǒng)將無(wú)人機(jī)飛行中的實(shí)時(shí)數(shù)據(jù)上傳到云數(shù)據(jù)中心,Web端獲取云數(shù)據(jù)中心的數(shù)據(jù),實(shí)現(xiàn)實(shí)時(shí)位置顯示、軌跡回放等功能。系統(tǒng)開(kāi)發(fā)環(huán)境如表1所示。

表1 系統(tǒng)開(kāi)發(fā)環(huán)境
Web端通過(guò)百度地圖API,加載嵌入的地圖界面。通過(guò)調(diào)用相應(yīng)的API接口來(lái)實(shí)現(xiàn)地圖控件、覆蓋物、滾動(dòng)縮放以及地圖類型轉(zhuǎn)換等功能。前端界面不斷接收后端服務(wù)器實(shí)時(shí)傳送的經(jīng)緯度數(shù)據(jù)信息,將覆蓋物繪制在地圖上。通過(guò)數(shù)據(jù)實(shí)時(shí)更新,實(shí)現(xiàn)無(wú)人機(jī)實(shí)時(shí)動(dòng)態(tài)軌跡顯示。繪制流程如圖3所示。

圖3 無(wú)人機(jī)實(shí)時(shí)動(dòng)態(tài)軌跡實(shí)現(xiàn)流圖
無(wú)人機(jī)飛行的實(shí)時(shí)姿態(tài)信息和位置信息都保存在云數(shù)據(jù)中心,通過(guò)Socket創(chuàng)建與移動(dòng)端和無(wú)人機(jī)端的的數(shù)據(jù)連接,通過(guò)蜂窩移動(dòng)網(wǎng)將數(shù)據(jù)實(shí)時(shí)傳輸至云端,并將數(shù)據(jù)保存至云端數(shù)據(jù)庫(kù)和飛行日志中,同時(shí)通過(guò)Ajax和Websocket將無(wú)人機(jī)的飛行記錄信息推送至前端頁(yè)面顯示。在歷史記錄界面中,管理員用戶擁有查看平臺(tái)下所有無(wú)人機(jī)飛行記錄的權(quán)限,普通用戶可查看本人名下在錄無(wú)人機(jī)飛行的歷史記錄。云端保存飛行歷史數(shù)據(jù),有助于后臺(tái)的統(tǒng)一監(jiān)管和后續(xù)處理,實(shí)現(xiàn)了對(duì)無(wú)人機(jī)的有效監(jiān)管,在發(fā)生事故時(shí)有據(jù)可考。圖4為歷史記錄及軌跡回放的數(shù)據(jù)流圖。
為了進(jìn)行無(wú)人機(jī)的批量監(jiān)管,我們提供了飛行計(jì)劃申請(qǐng)服務(wù)。普通用戶能夠進(jìn)行飛行計(jì)劃申請(qǐng)和查詢,前端通過(guò)Layui框架設(shè)計(jì)實(shí)現(xiàn)了飛行計(jì)劃申請(qǐng)的表單信息輸入與提交,通過(guò)前后端雙重驗(yàn)證用戶提交的表單,將用戶申請(qǐng)的飛行計(jì)劃信息存儲(chǔ)到云數(shù)據(jù)中心,云數(shù)據(jù)中心對(duì)數(shù)據(jù)進(jìn)行預(yù)判別。對(duì)于包含禁飛區(qū)的飛行計(jì)劃申請(qǐng),后臺(tái)直接審批不通過(guò),其他飛行計(jì)劃申請(qǐng),由管理員統(tǒng)一審批是否通過(guò)。審批結(jié)果,由后臺(tái)推送至普通用戶的飛行計(jì)劃查詢界面,可供用戶查看。飛行計(jì)劃申請(qǐng)、審批流程如圖5所示。

圖5 飛行計(jì)劃申請(qǐng)、審批流程
禁飛區(qū)預(yù)警算法是基于無(wú)人機(jī)飛行軌跡的曲線擬合和禁飛區(qū)域的位置關(guān)系判定實(shí)現(xiàn)的[8]。云數(shù)據(jù)中心實(shí)時(shí)接收無(wú)人機(jī)的狀態(tài)信息,在云端先將無(wú)人機(jī)的地理坐標(biāo)轉(zhuǎn)換成高斯平面直角坐標(biāo),然后通過(guò)嶺回歸分析方法對(duì)無(wú)人機(jī)實(shí)時(shí)飛行軌跡的離散坐標(biāo)點(diǎn)進(jìn)行曲線擬合,判斷該擬合軌跡曲線的切線延長(zhǎng)線是否會(huì)與禁飛區(qū)域相交,根據(jù)實(shí)時(shí)位置信息判斷其與禁飛區(qū)的最近距離是否超過(guò)標(biāo)準(zhǔn)距離來(lái)判定無(wú)人機(jī)是否有進(jìn)入禁飛區(qū)的風(fēng)險(xiǎn)。一旦判定無(wú)人機(jī)的飛行軌跡存在進(jìn)入禁飛區(qū)的風(fēng)險(xiǎn),中心將使用短信推送服務(wù)實(shí)時(shí)向無(wú)人機(jī)操作人員發(fā)送短信預(yù)警信息。禁飛區(qū)預(yù)警算法流程如圖6所示。

圖6 禁飛區(qū)預(yù)警算法流程
由于無(wú)人機(jī)飛行軌跡既可以是線性的,也可以是非線性的,且無(wú)人機(jī)狀態(tài)信息參數(shù)較多,多項(xiàng)式回歸能夠一定程度上擬合無(wú)人機(jī)一段時(shí)間內(nèi)的飛行軌跡曲線[9]。但是在多項(xiàng)式回歸的最高項(xiàng)次數(shù)較大時(shí),模型容易出現(xiàn)過(guò)擬合,故采用正則化的方法,使用嶺回歸來(lái)防止過(guò)擬合的產(chǎn)生,更好地?cái)M合無(wú)人機(jī)的飛行軌跡曲線。
嶺回歸是在多項(xiàng)式回歸的代價(jià)函數(shù)的基礎(chǔ)上添加對(duì)所有擬合參數(shù)的約束項(xiàng),又稱正則化項(xiàng),是所有參數(shù)(不包括θ0)的平方和,即2范數(shù),其相關(guān)定義如下:
無(wú)人機(jī)飛行軌跡擬合方程如下:
hθ(x)=θ0+θ1x+θ2x2+…+θnxn
(1)
代價(jià)函數(shù)如下:
(2)
由于嶺回歸代價(jià)函數(shù)仍為一個(gè)凸函數(shù),可利用梯度下降法求得全局最優(yōu)解,其正規(guī)方程為:
θ=(XTX+λI)-1(XTy)
(3)
與一般線性回歸的正規(guī)方程相比,式(3)多了一項(xiàng)λI,其中I是單位矩陣,若XTX不可逆,則添加這一項(xiàng)后可保證該項(xiàng)可逆。使用梯度下降法求全局最優(yōu)解的過(guò)程如下:
(4)
式中:λ為正則化項(xiàng)的參數(shù),ω為不包括θ0的長(zhǎng)度為n的θ向量,為計(jì)算方便添加θ0=0到ω,在梯度下降過(guò)程中,參數(shù)更新可以表示為:
θ=θ-α·?θJ(θ)
(5)
式中:α為學(xué)習(xí)率。
根據(jù)云端實(shí)時(shí)接收的無(wú)人機(jī)的6個(gè)主要狀態(tài)信息,調(diào)整設(shè)置無(wú)人機(jī)飛行軌跡的擬合方程,通過(guò)系統(tǒng)測(cè)試驗(yàn)證,當(dāng)擬合方程為6階時(shí),能夠較好地?cái)M合無(wú)人機(jī)的飛行軌跡曲線。飛行軌跡曲線和禁飛區(qū)的位置關(guān)系判定示意如圖7所示。

圖7 飛行軌跡曲線和禁飛區(qū)的位置關(guān)系判定示意圖
碰撞風(fēng)險(xiǎn)預(yù)警算法是基于無(wú)人機(jī)的速度、航向、高度、經(jīng)緯度等狀態(tài)信息,通過(guò)云端實(shí)時(shí)計(jì)算預(yù)測(cè)兩架無(wú)人機(jī)可能發(fā)生碰撞時(shí)的相對(duì)速度和相對(duì)運(yùn)動(dòng)的最短距離來(lái)判定實(shí)現(xiàn)的。關(guān)于無(wú)人機(jī)的安全飛行間隔,我國(guó)現(xiàn)行的《飛行間隔規(guī)定》[10]對(duì)飛行器的安全間隔有明確規(guī)定,為簡(jiǎn)化分析,該碰撞風(fēng)險(xiǎn)預(yù)警算法模型基于無(wú)人機(jī)為質(zhì)點(diǎn)的球心構(gòu)成的半徑大小為R的三維球體構(gòu)建。
現(xiàn)有的解決防撞問(wèn)題的典型幾何方法是最小接近點(diǎn)法[11]和碰撞錐法[12]。考慮到系統(tǒng)實(shí)現(xiàn),本文的碰撞風(fēng)險(xiǎn)預(yù)警算法主要基于最小接近點(diǎn)法實(shí)現(xiàn)。根據(jù)云端實(shí)時(shí)接收的無(wú)人機(jī)狀態(tài)信息計(jì)算兩架無(wú)人機(jī)到達(dá)相對(duì)運(yùn)動(dòng)的最短距離的瞬時(shí)速度Δv和兩機(jī)的最短距離向量Δr,當(dāng)系統(tǒng)檢測(cè)到Δv>0且||Δr|| 圖8 碰撞風(fēng)險(xiǎn)判定示意圖 該算法具體實(shí)現(xiàn)如下: 以V1和V2表示兩架無(wú)人機(jī),兩架無(wú)人機(jī)當(dāng)前的位置為p1和p2、速度v1和v2,Δp為兩機(jī)相對(duì)位置,Δv為兩機(jī)相對(duì)速度,判斷當(dāng)Δv>0時(shí),‖Δr‖ (6) 系統(tǒng)通過(guò)中國(guó)網(wǎng)建SMS短信平臺(tái)提供的API接口實(shí)現(xiàn)短信推送服務(wù),使用106短信通知網(wǎng)關(guān),短信到達(dá)時(shí)間可通過(guò)后臺(tái)管理員設(shè)置。 本系統(tǒng)實(shí)現(xiàn)了普通用戶和管理員用戶的權(quán)限分離,提供了如下服務(wù): 1) 普通用戶:提供用戶認(rèn)證、實(shí)時(shí)飛行監(jiān)管、飛行歷史記錄、飛行計(jì)劃申請(qǐng)、飛行計(jì)劃查詢、禁飛區(qū)查看、政策法規(guī)服務(wù); 2) 管理員:提供系統(tǒng)所有在線無(wú)人機(jī)的實(shí)時(shí)監(jiān)管、飛行計(jì)劃查詢、飛行計(jì)劃審批、禁飛區(qū)查詢、禁飛區(qū)報(bào)備服務(wù); 3) 對(duì)外通信接口:提供政府監(jiān)管接口 、空中管制接口、監(jiān)管平臺(tái)接入接口。 對(duì)本系統(tǒng)功能逐一進(jìn)行測(cè)試。登錄系統(tǒng),操作無(wú)人機(jī),在前端實(shí)時(shí)監(jiān)管畫(huà)面上查看無(wú)人機(jī)的狀態(tài)信息。 在上海海事大學(xué)進(jìn)行30架次無(wú)人機(jī)飛行測(cè)試,設(shè)置無(wú)人機(jī)理論觸發(fā)預(yù)警的空間距離為10 m,通過(guò)實(shí)際飛行測(cè)試統(tǒng)計(jì)得出,在無(wú)人機(jī)相對(duì)速度幾乎保持不變的情況下,無(wú)人機(jī)與禁飛區(qū)、無(wú)人機(jī)與無(wú)人機(jī)間的實(shí)際預(yù)警距離保持在9.2~10.4 m之間,誤差波動(dòng)范圍小于1 m,在可接受范圍內(nèi),圖9是系統(tǒng)的實(shí)時(shí)預(yù)警性能測(cè)試結(jié)果。 圖9 實(shí)時(shí)預(yù)警性能測(cè)試 對(duì)平臺(tái)下無(wú)人機(jī)的實(shí)時(shí)定位精度測(cè)試得到,定位誤差小于0.5 m;短信預(yù)警的接收響應(yīng)時(shí)間在1 s上下波動(dòng)0.5 s以內(nèi);云端處理的實(shí)時(shí)數(shù)據(jù)通信響應(yīng)時(shí)間均在毫秒級(jí)(200 ms以內(nèi)),具備良好的實(shí)時(shí)性;多架次接入系統(tǒng)進(jìn)行飛行測(cè)試,系統(tǒng)工作穩(wěn)定,性能良好。 以智能預(yù)警功能為例,圖10中的A區(qū)域?yàn)锳PP上顯示的以無(wú)人機(jī)為第一視角的實(shí)時(shí)拍攝畫(huà)面; B區(qū)域是事先劃定的禁飛區(qū),系統(tǒng)通過(guò)預(yù)警算法監(jiān)測(cè)到無(wú)人機(jī)即將進(jìn)入禁飛區(qū),云數(shù)據(jù)中心通過(guò)短信服務(wù)模塊向無(wú)人機(jī)使用者實(shí)時(shí)發(fā)送預(yù)警短信,預(yù)警短信如A區(qū)域上方所示;C區(qū)域顯示無(wú)人機(jī)的實(shí)時(shí)狀態(tài)信息包括:無(wú)人機(jī)的位置、高度、經(jīng)緯度、橫滾角、俯仰角等信息。 圖10 智能預(yù)警界面顯示 測(cè)試結(jié)果表明,系統(tǒng)目標(biāo)功能均已實(shí)現(xiàn),并且具有較強(qiáng)的魯棒性,系統(tǒng)人機(jī)交互良好,定位信息準(zhǔn)確,通信穩(wěn)定,有良好的實(shí)時(shí)性和可擴(kuò)展性。 基于蜂窩移動(dòng)網(wǎng)的無(wú)人機(jī)監(jiān)管系統(tǒng),實(shí)現(xiàn)了對(duì)線上無(wú)人機(jī)事前可預(yù)警、事后可追蹤的設(shè)計(jì)目標(biāo),提供了飛行實(shí)時(shí)監(jiān)管、歷史軌跡回看、飛行計(jì)劃申請(qǐng)、實(shí)時(shí)預(yù) 警等服務(wù),利用無(wú)處不在的移動(dòng)通信網(wǎng)絡(luò)處理無(wú)處不在的無(wú)人機(jī),實(shí)現(xiàn)全方位的監(jiān)管。測(cè)試結(jié)果表明,系統(tǒng)功能基本實(shí)現(xiàn),人機(jī)交互友好且穩(wěn)定性良好,為我國(guó)實(shí)現(xiàn)對(duì)民用無(wú)人機(jī)的監(jiān)管提供了一種可實(shí)施的方案。
4 系統(tǒng)測(cè)試


5 結(jié) 語(yǔ)