巴 蕾,李欣燁,阮泳航
(汕頭大學(xué)數(shù)學(xué)系,廣東 汕頭 515063)
無人機(jī)無源定位在環(huán)境監(jiān)測(cè)、應(yīng)急救援、軍事偵察與電子戰(zhàn)等領(lǐng)域的應(yīng)用越來越多,如何規(guī)劃無人機(jī)路徑以提高定位精度已成為國際研究熱點(diǎn)問題之一[1].無源定位是一個(gè)系統(tǒng)的工作過程,其中定位算法是連接定位技術(shù)和算法性能分析之間的橋梁.
近年來,國內(nèi)外諸多學(xué)者對(duì)于無源定位算法進(jìn)行了深入的研究.其中,經(jīng)典的無源定位算法主要有最小二乘算法(LS)、最大似然算法(ML)及擴(kuò)展卡爾曼濾波算法(EKF)[2].這些算法中有很多都存在著缺陷,例如,ML 算法需要對(duì)測(cè)量誤差的分布進(jìn)行先驗(yàn)假設(shè),但該假設(shè)僅適用于連續(xù)時(shí)間系統(tǒng),對(duì)于離散時(shí)間系統(tǒng)而言并未得到其成立的證明[3].本文僅基于圓的幾何性質(zhì)建立純方位無源定位模型,相較于上述算法,在限制條件較少的情況下仍然保持較高的定位精度.
本文的結(jié)構(gòu)編排如下:第一節(jié)進(jìn)行前提假設(shè),第二節(jié)主要是純方位無源定位模型的建立過程,第三節(jié)分析了定位模型中所需發(fā)射信號(hào)無人機(jī)的最小數(shù)量,第四節(jié)構(gòu)建了無人機(jī)群的調(diào)整模型,最后在第五節(jié)對(duì)上述工作進(jìn)行了總結(jié).
現(xiàn)有10 架無人機(jī)組成圓形編隊(duì)并保持在同一高度上,其中編號(hào)FY00 位于圓心,其余9 架無人機(jī)(FY01~FY09)均勻分布在某一水平方向的圓周上(見圖1).
作以下假設(shè):
(1)各無人機(jī)高度保持一致,僅考慮二維情況;
(2)各無人機(jī)僅依靠方向信息(規(guī)定為接收信號(hào)的無人機(jī)與任意兩架發(fā)射信號(hào)無人機(jī)連線之間的夾角)進(jìn)行定位與調(diào)整,排除其他因素的干擾;
(3)記接收信號(hào)的無人機(jī)收到FY00 與FY01 發(fā)射的夾角大小為α1,收到FY00 與FY0A(第三架發(fā)射信號(hào)的無人機(jī))發(fā)射的夾角大小為α2,收到FY01 與FY0A 發(fā)射的夾角大小為α3(單位:(°),見圖2);
圖2 無人機(jī)接收到的方向信息示意圖
(4)無人機(jī)圓形編隊(duì)的半徑為R.
這一節(jié)在無人機(jī)FY00 和另2 架編號(hào)已知的無人機(jī)發(fā)射信號(hào)且位置皆無偏差,其余位置略有偏差的無人機(jī)接收信號(hào)的情況下,建立接收信號(hào)的無人機(jī)的定位模型.
由于發(fā)射信號(hào)的無人機(jī)編號(hào)已知,不妨設(shè)圓周上的兩架無人機(jī)中的一架編號(hào)為FY01,另一架編號(hào)為FY0A(2≤A≤9).以FY00 作為原點(diǎn),F(xiàn)Y00-FY01作為x 軸的正方向建立平面直角坐標(biāo)系.
記FY0A 的坐標(biāo)為A(x1,y1),接收信號(hào)的無人機(jī)為FY0B(2≤B≤9 且B≠A),F(xiàn)Y0B的坐標(biāo)為P(x,y).
過FY00,F(xiàn)Y01,P三點(diǎn)作圓O1,過FY01 所在點(diǎn)作FY00-FY01的垂線,記垂線與圓O1的交點(diǎn)為P'(P'≠FY01),由圓周角定理[4]得在點(diǎn)P' 接收到的角度值也為α1,O1位于FY00-P'的中點(diǎn),坐標(biāo)為圓O1的方程如下:
同理,F(xiàn)Y00,F(xiàn)Y0A,P過三點(diǎn)作圓O2,過FY0A 所在點(diǎn)作FY00-FY0A 的垂線,記垂線與圓O2的交點(diǎn)為P"(P"≠FY0A),得在點(diǎn)P"接收到的角度值也為α2.設(shè)O2的坐標(biāo)為(x0,y0),可以得到kOA·kAP"=-1,即
聯(lián)立方程(2)和(3)解得:
當(dāng)2≤B≤5時(shí),
當(dāng)6≤B≤9 時(shí),
于是可以得到圓O2的方程如下:
聯(lián)立圓O1和圓O2的方程(1)和(4),解得x,y 如下:
式中的a,b,c,d 表示如下:
解得(x,y)即接收信號(hào)的無人機(jī)(圖中點(diǎn)P)的位置坐標(biāo),如圖3 所示(圖中取A=2):
圖3 接收信號(hào)的無人機(jī)位置圖
任選三架無人機(jī)發(fā)射信號(hào),計(jì)算出α1,α2,將其代入式(5),計(jì)算可得接收信號(hào)的無人機(jī)的坐標(biāo).
這一節(jié)研究在選取無人機(jī)FY00 和FY01(位置無偏差)發(fā)射信號(hào)后,還需要幾架位于圓周上未知編號(hào)的無人機(jī)(位置無偏差)發(fā)射信號(hào)以完成對(duì)其余無人機(jī)的有效定位.通過接收到的方向信息確定第三架發(fā)射信號(hào)的無人機(jī)的編號(hào)(記為FY0A),以FY00,F(xiàn)Y01,F(xiàn)Y0A 為發(fā)射信號(hào)的無人機(jī),利用定位模型,實(shí)現(xiàn)對(duì)接收信號(hào)的無人機(jī)的定位.
稱無人機(jī)在圓周上均無位置偏差時(shí)接收到的方向信息為標(biāo)準(zhǔn)角,此時(shí)分別記的α2,α3值為aij,bij.另外,α2,α3在實(shí)際情況下的值記為a'ij,b'ij.(其中i,j 分別為FY0A 與接收信號(hào)的無人機(jī)的編號(hào))
接下來以FY03 為接收信號(hào)的無人機(jī)的情況為例,說明確定第三架發(fā)射信號(hào)的無人機(jī)的步驟:
Step1:FY03 接收到FY00 和FY0A(A=1,2,4,5,…,9)發(fā)射的方向信息ai3(i=1,2,4,5,…,9)的值如表1 所示:
表1 ai3(i=1,2,4,5,…,9)的值
Step2:記無人機(jī)實(shí)際接收到的角度與標(biāo)準(zhǔn)角之差的絕對(duì)值為δ.例如,F(xiàn)Y03 接收到的α2=55,為了能在FY04,F(xiàn)Y05 和FY02 之間確定第三架發(fā)射信號(hào)的無人機(jī)的編號(hào),區(qū)間(50-δ,50+δ)與(70-δ,70+δ)不能相交,于是得到δ≤10.因此ai3'(i=1,2,4,5,…,9),的取值范圍如表2 所示:
表2 ai3'(i=1,2,4,5,…,9)的取值范圍
Step3:已知無人機(jī)FY03 接收到α1,α2,其中α1必位于區(qū)間(40,60),根據(jù)α2所在區(qū)間,判斷第三架發(fā)射信號(hào)的無人機(jī)的可能情況.例如,當(dāng)α2=55 時(shí),可以確定第三架發(fā)射信號(hào)的無人機(jī)為FY05;當(dāng)α2=33 時(shí),可以判斷出第三架發(fā)射信號(hào)的無人機(jī)為FY06 或FY09;
Step4:與Step2 同理,bi3'(i=2,4,5,…,9)的取值范圍如表3 所示:
表3 bi3'(i=2,4,5,…,9)的取值范圍
Step5:已知無人機(jī)FY03 接收到α3,根據(jù)α3所在區(qū)間,確定第三架發(fā)射信號(hào)的無人機(jī)的編號(hào).例如,當(dāng)α3=75 時(shí),則可以最終確定第三架發(fā)射信號(hào)的無人機(jī)為FY06.
至此,已確定3 架發(fā)射信號(hào)的無人機(jī)為FY00、FY01、FY0A(2≤A≤9),然后用定位模型對(duì)接收信號(hào)的無人機(jī)進(jìn)行定位.
這一節(jié)根據(jù)無人機(jī)的初始位置(略有偏差),建立調(diào)整模型(在每次調(diào)整過程中,無人機(jī)FY00 和圓周上最多3 架無人機(jī)發(fā)射信號(hào),其余無人機(jī)根據(jù)收到的方位信息調(diào)整位置),使無人機(jī)群在多次調(diào)整后均勻分布于某個(gè)圓周上.
這一節(jié)給出兩種解決方法,這兩種方法的區(qū)別是在每一次調(diào)整過程中對(duì)于發(fā)射信號(hào)的無人機(jī)的選取方式不同.兩種方法的具體流程如圖4 所示:
圖4 兩種方法調(diào)整流程
4.1.1 方法一
Step1:以無人機(jī)FY00 和FY0B(2≤B≤9)作為發(fā)射信號(hào)的無人機(jī),F(xiàn)Y01 作為接收信號(hào)的無人機(jī),接收到的角度值記為βi(2≤i≤9).此外,記所有無人機(jī)均在標(biāo)準(zhǔn)位置時(shí)FY01 接收到的角度值為β'i(2≤i≤9),具體值如表4 所示:
表4 β'i(2≤i≤9)的數(shù)值
Step2:定義無人機(jī)FY0B(2≤B≤9)的角偏差率函數(shù)為:
Step3:找到角偏差率最小的作為無人機(jī),記為FY0A. 以無人機(jī)FY00,F(xiàn)Y01,F(xiàn)Y0A作為發(fā)射信號(hào)的無人機(jī),使剩余的無人機(jī)調(diào)整至新的位置,在該位置各無人機(jī)接收到的α1,α2均為標(biāo)準(zhǔn)角;
Step4:重復(fù)Step1~Step3 若干次,得到偏差較小的無人機(jī)群的位置.
4.1.2 方法二
隨機(jī)生成2~9 的一個(gè)整數(shù)i,取A=i,以無人機(jī)FY00,F(xiàn)Y01,F(xiàn)Y0A 作為發(fā)射信號(hào)的無人機(jī),使剩余的無人機(jī)調(diào)整至新的位置,在該位置各無人機(jī)接收到的α1,α2均為標(biāo)準(zhǔn)角.重復(fù)上述操作若干次,得到無人機(jī)組的位置.
相較于方法一,方法二的顯著優(yōu)點(diǎn)是計(jì)算量小,且需要的條件少.
根據(jù)初始坐標(biāo)計(jì)算出無人機(jī)接收到的方向信息α1,α2,接著按照上述兩種方法的步驟分別進(jìn)行2 次迭代(取R=100 m).最終得到無人機(jī)組完成迭代前后的坐標(biāo)對(duì)比如表5所示.
表5 無人機(jī)使用兩種方法完成迭代前后的坐標(biāo)
由表5 可知,對(duì)同一組初始坐標(biāo),在同樣的迭代次數(shù)下,方法一的求解結(jié)果更接近標(biāo)準(zhǔn)位置的坐標(biāo).
這一節(jié)采用的方法為迭代法,由于每次選擇的第三架發(fā)射信號(hào)的無人機(jī)的位置都是略有偏差的,每次調(diào)整之后的無人機(jī)組的位置都會(huì)存在一定偏差.
設(shè)偏差率sn為無人機(jī)組在第n 次調(diào)整后角偏差率fi之和,即:
表6 第n 次迭代后的值
表6 第n 次迭代后的值
迭代次數(shù)方法一誤差s(1)n方法二誤差s(2)n 0 0.0280.028 1 0.0010.010 2 0.0010.011
由表6 可知,隨著迭代次數(shù)的增加,方法一的誤差逐漸減小,而方法二的誤差沒有明確的變化趨勢(shì).方法一相較于方法二誤差較小,說明該方法的迭代效果良好,即方法一的調(diào)整效果較好,有一定的參考價(jià)值.
隨機(jī)生成多組數(shù)據(jù)作為無人機(jī)組的初始位置.表7 中顯示了其中1 組數(shù)據(jù),此外對(duì)隨機(jī)生成的數(shù)據(jù)進(jìn)行較大修改,對(duì)修改前后的數(shù)據(jù)都用方法一和方法二進(jìn)行位置調(diào)整.
表7 無人機(jī)初始位置和調(diào)整結(jié)果
使用方法一分別對(duì)兩組數(shù)據(jù)進(jìn)行位置調(diào)整(迭代次數(shù)均為2),調(diào)整結(jié)果如表7 所示.
分別使用方法一和方法二對(duì)兩組數(shù)據(jù)進(jìn)行調(diào)整,兩組數(shù)據(jù)在n 次迭代后的誤差如表8 所示.
表8 使用方法一和方法二對(duì)兩組數(shù)據(jù)進(jìn)行迭代的誤差
從表8 可見,在對(duì)初始位置進(jìn)行較大修改的情況下,方法一迭代2 次后的誤差并沒有增加,可見方法一具有較高的普適性,而方法二迭代2 次后的誤差大幅增加,可見方法二適用范圍較窄,穩(wěn)定性較差.
本文所用模型在依靠方向信息的情況下仍能得到較精確的結(jié)果,且調(diào)整模型的收斂速度較快.但模型的限制條件比較嚴(yán)苛,可以嘗試將模型推廣到更復(fù)雜的情況,例如,無人機(jī)群高度不一致等.亦可以嘗試對(duì)模型進(jìn)行調(diào)整,例如,調(diào)整無人機(jī)的選取方案、構(gòu)造不一樣的角偏差率函數(shù)、改變發(fā)射信號(hào)的無人機(jī)的數(shù)量等.
致謝:感謝汕頭大學(xué)數(shù)學(xué)系李健老師的悉心指導(dǎo).