本發(fā)明屬于無人機(jī)監(jiān)管技術(shù)領(lǐng)域,具體的說是涉及一種禁飛區(qū)無人機(jī)預(yù)警方法。
背景技術(shù):
隨著無人機(jī)技術(shù)的不斷發(fā)展,越來越多的小型民用無人機(jī)在我們的日常生活中被應(yīng)用。但是相比于無人機(jī)技術(shù)的日漸成熟,無人機(jī)的監(jiān)管技術(shù)則相對較為落后,尤其是對飛機(jī)場等禁飛區(qū)周圍無人機(jī)的監(jiān)管,更為缺乏。為了來保障低空域交通安全,防止禁飛區(qū)周圍的無人機(jī)闖入該區(qū)域,造成不必要的安全事故,必須對禁飛區(qū)周圍的無人機(jī)進(jìn)行及時的預(yù)警監(jiān)管。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提出一種一種禁飛區(qū)無人機(jī)預(yù)警方法。
本發(fā)明的技術(shù)方案是:
一種禁飛區(qū)無人機(jī)預(yù)警方法,其特征在于,包括以下步驟:
S1、獲取無人機(jī)飛行軌跡坐標(biāo),具體包括:
S11、通過GPS獲取無人機(jī)飛行軌跡的離散坐標(biāo)點(diǎn):在WGS-84坐標(biāo)系下,獲取并記錄無人機(jī)飛行軌跡的坐標(biāo)點(diǎn);
S12、通過坐標(biāo)系轉(zhuǎn)換法將記錄的WGS-84坐標(biāo)系下的坐標(biāo)點(diǎn)轉(zhuǎn)換為BJ-54坐標(biāo)系下的地理坐標(biāo);
S13、將BJ-54坐標(biāo)系下的地理坐標(biāo)通過高斯投影法將該地理球面坐標(biāo)轉(zhuǎn)換成高斯平面坐標(biāo)(x,y):
地理坐標(biāo)(B,L)與高斯平面坐標(biāo)(x,y)的轉(zhuǎn)換公式如下公式1和公式2:
其中,B為投影點(diǎn)的大地緯度;l=L-L0為投影點(diǎn)的大地經(jīng)度,L0為軸子午線的大地經(jīng)度;N為投影點(diǎn)的卯酉圈曲率半徑;t=tanB;η=e2*cosB,e2為橢圓球的第二偏心率;X0為當(dāng)l=0時,從赤道起算的子午線弧長,如下公式3:
其中,a為長半徑長;K0、K2、K4、K6、K8為與橢圓球的第一偏心率e1有關(guān)的已知系數(shù);
S2、根據(jù)獲取的高斯平面坐標(biāo),采用最小二乘法將無人機(jī)的飛行軌跡擬合為飛行曲線;
S3、對獲取的飛行曲線進(jìn)行更新:
將步驟S1中獲得的多個無人機(jī)飛行坐標(biāo)作為一個隊(duì)列,重復(fù)步驟S1獲取到新的無人機(jī)飛行軌跡坐標(biāo)后,舍去無人機(jī)飛行坐標(biāo)隊(duì)列隊(duì)尾的坐標(biāo)點(diǎn),將新獲得的無人機(jī)飛行坐標(biāo)加入隊(duì)頭,根據(jù)更新后的無人機(jī)飛行坐標(biāo)隊(duì)列,重復(fù)步驟S2重新擬合出新的無人機(jī)飛行曲線;
S4、重復(fù)步驟S3持續(xù)對無人機(jī)飛行曲線進(jìn)行更新;上述步驟如圖1所示;并根據(jù)獲得的無人機(jī)飛行曲線,判斷無人機(jī)是否會進(jìn)入禁飛區(qū),對將要進(jìn)入禁飛區(qū)的無人機(jī)預(yù)警。
由于無人機(jī)在飛行時有可能發(fā)生特殊情況導(dǎo)致運(yùn)動軌跡發(fā)生偏離的情況,加上其本身運(yùn)動的未知性,僅僅單靠某一個時刻的擬合曲線來預(yù)測該無人機(jī)的飛行軌跡顯然有些不可靠以及不合理,因此必須對傳統(tǒng)的最小二乘曲線擬合算法進(jìn)行改進(jìn),在當(dāng)前時刻采用最小二乘曲線擬合算法擬合出無人機(jī)這段時間的飛行軌跡,而下一時刻舍去最末尾的坐標(biāo)點(diǎn)而加上最新的坐標(biāo)點(diǎn)又重新擬合出新的曲線,不間斷對無人機(jī)飛行進(jìn)行軌跡預(yù)測,從而提高了預(yù)測的準(zhǔn)確性以及可靠性,因此,進(jìn)一步的,所述步驟S2的具體方法為:
定義無人機(jī)飛行曲線與無人機(jī)飛行軌跡之間的匹配函數(shù)p(x)如下公式4:
p(x)=a0+a1x+a2x2+...+amxm (公式4)
定義無人機(jī)飛行曲線與實(shí)際數(shù)據(jù)之間誤差的平方和E2如下公式5
定義公式4中的多項(xiàng)式函數(shù)為5次多項(xiàng)式函數(shù),則采用最小二乘法對無人機(jī)飛行曲線的擬合具體為:
對E2分別對ai求偏導(dǎo)數(shù),得到如下公式6的方程:
將公式6轉(zhuǎn)化為針對5次多項(xiàng)式a0,a1,…a5的方程組,如下公式7:
采用高斯消元法求解公式7所示的方程組,得到5次多項(xiàng)式的系數(shù)a0,a1,…a5,得到曲線的擬合的5次多項(xiàng)式函數(shù),從而獲得擬合無人機(jī)飛行軌跡的曲線的表達(dá)式。
在擬合出無人機(jī)的飛行軌跡后,下一個難題就是無人機(jī)進(jìn)入禁飛區(qū)的預(yù)警,需要判斷該無人機(jī)是否會進(jìn)入禁飛區(qū),即是該無人機(jī)的飛行軌跡擬合曲線是否會與代表禁飛區(qū)的電子圍欄相交。本發(fā)明采用基于無人機(jī)飛行軌跡曲線當(dāng)前點(diǎn)的切線進(jìn)行預(yù)警預(yù)測。由于飛行軌跡某一點(diǎn)的切線則說明了無人機(jī)在該點(diǎn)的飛行方向,通過求出擬合曲線在當(dāng)前時刻點(diǎn)的切線方程則可以很好地說明當(dāng)前時刻無人機(jī)是否有飛入禁飛區(qū)的趨勢。
利用擬合曲線得出的當(dāng)前點(diǎn)的切線方程后,通過判斷該切線是否與描述禁飛區(qū)的電子圍欄相交來預(yù)測該無人機(jī)是否會進(jìn)入禁飛區(qū)。然而,由于電子圍欄是不規(guī)則的形狀,如何知道一條直線與不規(guī)則圖形是否相交,便是一個亟待解決的難題。本發(fā)明采用最小外接矩形法,首先將電子圍欄的各個拐點(diǎn)經(jīng)緯度坐標(biāo)轉(zhuǎn)換到高斯平面直角坐標(biāo)系中的平面坐標(biāo),接著求解出該電子圍欄的凸包,最后通過直接計(jì)算無人機(jī)的飛行軌跡在當(dāng)前點(diǎn)的切線是否與描述電子圍欄的最小外接矩形相交來預(yù)測該無人機(jī)是否會進(jìn)入禁飛區(qū),從而解決了這一問題。如圖2所示,進(jìn)一步的,所述步驟S4的具體方法為:
根據(jù)獲得的無人機(jī)飛行曲線,采用基于無人機(jī)飛行曲線當(dāng)前點(diǎn)的切線進(jìn)行預(yù)警預(yù)測:
設(shè)G(x0,y0)是無人機(jī)飛行軌跡擬合曲線上的當(dāng)前點(diǎn),若擬合曲線在G點(diǎn)的導(dǎo)數(shù)存在,則根據(jù)擬合的5次多項(xiàng)式曲線以及當(dāng)前點(diǎn)的坐標(biāo),求出當(dāng)前點(diǎn)的切線方程的斜率,再根據(jù)直線的點(diǎn)斜式方程,帶入當(dāng)前點(diǎn)的坐標(biāo),得出當(dāng)前點(diǎn)的切線方程,如下公式8:
y-y0=f'(x0)(x-x0) (公式8)
若無人機(jī)飛行軌跡擬合曲線在G點(diǎn)的導(dǎo)數(shù)不存在,由切線定義知,擬合曲線在當(dāng)前點(diǎn)G的切線方程為如下公式9:
x=x0 (公式9)
通過公式8和公式9獲得當(dāng)前一段時間無人機(jī)運(yùn)動軌跡在當(dāng)前點(diǎn)的切線方程,通過判斷該切線是否與禁飛區(qū)電子圍欄相交預(yù)測該無人機(jī)是否會進(jìn)入禁飛區(qū),若是,則對無人機(jī)發(fā)出預(yù)警信號,若否,則進(jìn)行下一輪的預(yù)警判斷。
進(jìn)一步的,所述判斷該切線是否與禁飛區(qū)電子圍欄相交的具體方法為:
根據(jù)禁飛區(qū)電子圍欄在地圖上顯示為不規(guī)則的多邊形,對禁飛區(qū)電子圍欄進(jìn)行分解,采用凸包替代電子圍欄,所述凸包為包含平面內(nèi)一組點(diǎn)的最小凸多邊形,具體為:
在描述電子圍欄的拐點(diǎn)集中選取y坐標(biāo)最小的點(diǎn)記為p0,接著以p0為原點(diǎn),對其他所有拐點(diǎn)做坐標(biāo)變換,同時計(jì)算這些點(diǎn)的坐標(biāo)以及幅角,以幅角非降排序這些拐點(diǎn),并記排序后的點(diǎn)集為如下公式10:
T={p1,p2,p3,...,pn-1} (公式10)
其中,p1與pn-1分別與p0構(gòu)成最小與最大的幅角;
把點(diǎn)集T中的元素作為事件的調(diào)度點(diǎn)從p0開始到pn-1為止進(jìn)行掃描,在掃描過程中,用堆棧CS存儲掃描過的電子圍欄拐點(diǎn),并且由這些拐點(diǎn)構(gòu)成半封閉的凸多邊形,首先堆棧的初始化元素為pn-1、p0,接著依照極坐標(biāo)的幅角大小對點(diǎn)集T中的電子圍欄拐點(diǎn)依次進(jìn)行掃描,假定在某一時刻,堆棧內(nèi)容為如下公式11:
CS={pn-1,p0,...,pi,pj,pk} (公式11)
棧頂電子圍欄拐點(diǎn)為pk,正在進(jìn)行掃描的點(diǎn)為pl,對由pj、pk、pl構(gòu)成的路徑方向進(jìn)行判斷,如果是左轉(zhuǎn)的,則由這三點(diǎn)形成的邊為凸邊,將點(diǎn)pl壓入棧頂,然后繼續(xù)掃描下一個電子圍欄拐點(diǎn);而如果是右轉(zhuǎn)的,則此時的棧頂電子圍欄拐點(diǎn)pk一定不是凸包的頂點(diǎn),將它彈出棧頂,然后重新繼續(xù)掃描pl,此時的棧頂元素為pj,對由pi、pj、pl構(gòu)成的路徑方向,采用上述方法進(jìn)行判斷;
獲取電子圍欄的最小凸多邊形每一條邊的最小外接矩形:
選取所求得的凸多邊形中的一條邊作為起始邊,根據(jù)這條邊的兩個頂點(diǎn)求出該條邊所在直線方程,并記該直線為L1,斜率為k1;
找出該電子圍欄的凸多邊形中所有的拐點(diǎn)中到直線L1距離最遠(yuǎn)的點(diǎn),記為px,求出過px點(diǎn)且斜率也為k1的直線方程,并記該直線為L2;
記選中邊的左端點(diǎn)為e,求出過點(diǎn)e且斜率為-1/k1的直線方程,記直線為L3,根據(jù)如下公式12:
求出凸多邊形的所有在直線L3左邊的拐點(diǎn)中距離直線L3最遠(yuǎn)的拐點(diǎn)記為py,并求出凸多邊形的所有在直線L3右邊的拐點(diǎn)中距離直線L3最遠(yuǎn)的拐點(diǎn)記為pz,再分別求出斜率為-1/k1且過點(diǎn)py的直線方程,記直線為L4,以及斜率為-1/k1且過點(diǎn)pz的直線方程,記直線為L5;
分別求出直線L4與L1、L1與L5、L5與L2、L2與L4的交點(diǎn)為A、B、C、D,則由A、B、C、D構(gòu)成的矩形即為過電子圍欄的凸多邊形的該條邊的最小外接矩形;
求出經(jīng)過電子圍欄的凸多邊形其他所有邊的最小外接矩形,并根據(jù)上述方法計(jì)算出過每一條邊的最小外接矩形的四個頂點(diǎn)坐標(biāo)并保存;
計(jì)算并比較所求的所有經(jīng)過該凸多邊形的每一條邊的最小外接矩形面積大小,最小面積的外接矩形即為描述該禁飛區(qū)的電子圍欄的最小外接矩形;
通過直接計(jì)算當(dāng)前點(diǎn)的切線與最小外接矩形是否相交來預(yù)測該無人機(jī)是否會進(jìn)入禁飛區(qū):
分別計(jì)算該切線與最小外接矩形邊所在直線的交點(diǎn)p1、p2、p3、p4;設(shè)切線方程為如下公式13:
y=k*x+b (公式13)
最小外接矩形邊所在直線方程為如下公式14:
y=ki*x+bi(i=1,2,3,4) (公式14)
則按如下公式15:
通過求解當(dāng)前點(diǎn)切線分別與矩形的每一條邊所在直線組成的四個二元一次直線方程組,來求解該切線與矩形的每一條邊所在直線交點(diǎn)坐標(biāo)(Xi,Yi);
判斷所求的交點(diǎn)是否在最小外接矩形邊上:
由于該切線與矩形的交點(diǎn)有可能在邊的延長線上,因此需要通過約束條件剔除不在該矩形邊上的交點(diǎn);從所求滿足約束條件的交點(diǎn)中選出距離無人機(jī)當(dāng)前點(diǎn)距離最近的點(diǎn),從獲得的交點(diǎn)中利用兩點(diǎn)間距離公式求出離當(dāng)前點(diǎn)距離最近的交點(diǎn);計(jì)算出無人機(jī)當(dāng)前點(diǎn)與在最小外接矩形邊上距離最近的交點(diǎn)的距離即為當(dāng)前時刻無人機(jī)與禁飛區(qū)的最短距離。
本發(fā)明的有益效果是:提出一種新的禁飛區(qū)無人機(jī)預(yù)警方法,對禁飛區(qū)周圍的無人機(jī)及時的實(shí)施預(yù)警,以達(dá)到對它們進(jìn)行實(shí)時監(jiān)管、防止它們闖入禁飛區(qū)的目的,大大地提高了禁飛區(qū)周圍小型民用無人機(jī)飛行的安全性,在民用無人機(jī)監(jiān)管領(lǐng)域中將有廣泛的應(yīng)用前景。
附圖說明
圖1為為無人機(jī)飛行軌跡預(yù)測過程流程圖;
圖2為無人機(jī)進(jìn)入禁飛區(qū)的預(yù)警過程流程圖。
具體實(shí)施方式
在發(fā)明內(nèi)容部分已經(jīng)詳細(xì)的描述了本發(fā)明的技術(shù)方案,在此不再贅述。