本發(fā)明涉及無人機(jī)控制技術(shù)領(lǐng)域,具體而言涉及一種編隊(duì)無人機(jī)追蹤與規(guī)避移動(dòng)目標(biāo)的算法。
背景技術(shù):
當(dāng)前,無人機(jī)技術(shù)已大量運(yùn)用于空中偵察、地面打擊、任務(wù)救援、電力巡檢等軍用和民用領(lǐng)域。相比較于單無人機(jī)執(zhí)行任務(wù),編隊(duì)無人機(jī)無論在復(fù)雜環(huán)境的適應(yīng)能力、執(zhí)行任務(wù)的可靠性等方面都具有很大的優(yōu)勢(shì)。而與此同時(shí),隨著各國裝備科技的迅速發(fā)展,編隊(duì)無人機(jī)在執(zhí)行對(duì)地移動(dòng)目標(biāo)的打擊、空中目標(biāo)的驅(qū)離、雷達(dá)的規(guī)避等任務(wù)時(shí)也面臨前所未有的挑戰(zhàn)。因此,三維空間內(nèi)編隊(duì)無人機(jī)對(duì)移動(dòng)目標(biāo)的跟蹤與規(guī)避問題越來越成為一個(gè)廣泛關(guān)注和研究的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種編隊(duì)無人機(jī)追蹤與規(guī)避移動(dòng)目標(biāo)的算法,該方法能夠很好地實(shí)現(xiàn)編隊(duì)無人機(jī)準(zhǔn)確、及時(shí)地追蹤空間內(nèi)的移動(dòng)目標(biāo)和準(zhǔn)確、及時(shí)地規(guī)避移動(dòng)障礙。
為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
一種編隊(duì)無人機(jī)追蹤與規(guī)避移動(dòng)目標(biāo)的算法,包括以下步驟:
1)建立三維空間慣性坐標(biāo)系og,并將三維空間內(nèi)移動(dòng)目標(biāo)和障礙進(jìn)行簡化和抽象;
2)通過引入空間移動(dòng)目標(biāo)的位置和速度量,分別建立三維空間內(nèi)無人機(jī)移動(dòng)目標(biāo)跟蹤函數(shù)和移動(dòng)目標(biāo)規(guī)避函數(shù);
3)分別將跟蹤與規(guī)避函數(shù)對(duì)相應(yīng)的位置和速度求負(fù)梯度,得到對(duì)應(yīng)的跟蹤引力和規(guī)避斥力,并進(jìn)行動(dòng)態(tài)無人機(jī)受力分析;
4)將無人機(jī)的空間運(yùn)動(dòng)問題看作受到以虛擬合外力為輸入的正向動(dòng)力學(xué)問題,并建立運(yùn)動(dòng)學(xué)模型;
5)將編隊(duì)無人機(jī)的空間運(yùn)動(dòng)看作一個(gè)受隊(duì)形約束的約束動(dòng)力學(xué)系統(tǒng),并建立約束動(dòng)力學(xué)方程,然后求解該約束動(dòng)力學(xué)方程。
進(jìn)一步的,所述步驟2)中的無人機(jī)移動(dòng)目標(biāo)跟蹤函數(shù)為:
其中:εq,εv分別為位置和速度追蹤因子,位置ρxy=||qg-qc||為移動(dòng)目標(biāo)在編隊(duì)中各無人機(jī)的當(dāng)前位置x,y平面內(nèi)的投影與編隊(duì)無人機(jī)之間的歐式距離,qg,qc分別表示無人機(jī)和移動(dòng)目標(biāo)點(diǎn)的當(dāng)前,m,k為正常數(shù)比例因子(一般取m=2,k=2),kp是與編隊(duì)中無人機(jī)性能相關(guān)的比例因子;ρz=||qgz-qz||表示編隊(duì)無人機(jī)在垂直方向上受到目標(biāo)點(diǎn)的引力,qgz,qz分別表示無人機(jī)和移動(dòng)目標(biāo)當(dāng)前位置的z軸坐標(biāo);ρv=||vg(t)-vc(t)||表示編隊(duì)無人機(jī)與移動(dòng)目標(biāo)在時(shí)間t時(shí)的相對(duì)速度,vg(t),vc(t)分別表示無人機(jī)和移動(dòng)目標(biāo)點(diǎn)在t時(shí)刻的速度。
進(jìn)一步的,所述步驟2)中的無人機(jī)移動(dòng)目標(biāo)規(guī)避函數(shù)為:
其中:i表示空間內(nèi)第i個(gè)移動(dòng)障礙物,ηq,ηv分別為位置和速度規(guī)避因子,ρxy(q)=||qc-qoi||表示在當(dāng)前無人機(jī)所在的x,y平面內(nèi),無人機(jī)與移動(dòng)障礙物邊界的最短距離,qc,qoi表示無人機(jī)和障礙物i的當(dāng)前位置,ρ0表示移動(dòng)障礙的影響范圍,m為正常數(shù)比例因子(一般取m=2),vco表示無人機(jī)與移動(dòng)障礙i的相對(duì)速度,ks為常值系數(shù)。
進(jìn)一步的,所述步驟3)中的跟蹤引力為:
f(q,v)a=f(q)a+f(v)a(2)
其中:f(q)a,f(v)a分別為公式(6),(7)所示:
其中:ecg表示在x,y平面內(nèi)由無人機(jī)指向移動(dòng)目標(biāo)點(diǎn)的單位向量;ezg表示在z軸方向上由無人機(jī)指向目標(biāo)點(diǎn)的單位向量;evcg表示由無人機(jī)指向移動(dòng)目標(biāo)點(diǎn)的單位速度向量。
進(jìn)一步的,所述步驟3)中的規(guī)避斥力為:
其中:
其中:
無人機(jī)所受的虛擬合外力ft等于將無人機(jī)所受到空間內(nèi)所有虛擬跟蹤引力f(q,v)a和規(guī)避斥力
進(jìn)一步的,所述步驟4)建立的運(yùn)動(dòng)學(xué)模型如公式(19)所示:
其中,
進(jìn)一步的,所述步驟5)建立編隊(duì)無人機(jī)約束動(dòng)力學(xué)方程如公式(20)所示:
ρ(x,y,z)=0(22)
式中:q表示編隊(duì)中各個(gè)無人機(jī)的當(dāng)前位置矩陣;
在對(duì)約束動(dòng)力學(xué)方程組中的λ求解時(shí),采用罰函數(shù)法并結(jié)合鮑姆加特穩(wěn)定性得到λ的表達(dá)式,如公式(24)所示:
式中:δ為阻尼因子,γ為彈性因子。
本發(fā)明的一種編隊(duì)無人機(jī)追蹤與規(guī)避移動(dòng)目標(biāo)的算法,首先通過引入空間移動(dòng)目標(biāo)的位置和速度,建立三維空間內(nèi)無人機(jī)移動(dòng)目標(biāo)跟蹤與規(guī)避函數(shù),并進(jìn)行動(dòng)態(tài)無人機(jī)受力分析;然后,求解三維空間內(nèi)無人機(jī)所受虛擬合外力,并建立三維空間內(nèi)無人機(jī)運(yùn)動(dòng)學(xué)方程;最后,針對(duì)無人機(jī)的隊(duì)形保持方面的問題,建立一個(gè)受隊(duì)形約束的約束動(dòng)力學(xué)系統(tǒng),并建立約束動(dòng)力學(xué)方程,然后求解該約束動(dòng)力學(xué)方程。本發(fā)明的算法簡單,實(shí)現(xiàn)了編隊(duì)無人機(jī)準(zhǔn)確、實(shí)時(shí)地追蹤與規(guī)避移動(dòng)目標(biāo),大大提高了編隊(duì)無人機(jī)的機(jī)動(dòng)性和運(yùn)動(dòng)安全性,擴(kuò)大了編隊(duì)無人機(jī)的應(yīng)用范圍。
附圖說明
圖1為本發(fā)明編隊(duì)無人機(jī)的典型運(yùn)行環(huán)境示意圖;
圖2為本發(fā)明編隊(duì)無人機(jī)的典型運(yùn)行環(huán)境的簡化抽象示意圖;
圖3為本發(fā)明無人機(jī)的移動(dòng)目標(biāo)跟蹤引力受力分析圖;
圖4為本發(fā)明無人機(jī)的移動(dòng)障礙規(guī)避斥力受力分析圖;
圖5為本發(fā)明編隊(duì)無人機(jī)移動(dòng)目標(biāo)跟蹤與規(guī)避算法的matlab程序流程圖;
圖6為matlab仿真t=0s時(shí)編隊(duì)無人機(jī)與移動(dòng)目標(biāo)和障礙初始位置圖;
圖7為matlab仿真t=1.9s無人機(jī)和空間移動(dòng)目標(biāo)位置圖;
圖8為matlab仿真t=16.2s無人機(jī)追蹤與規(guī)避軌跡圖;
圖9為matlab仿真編隊(duì)無人機(jī)關(guān)于時(shí)間的隊(duì)形保持誤差曲線圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)說明:
1)首先建立三維空間慣性坐標(biāo)系og,并將三維空間內(nèi)移動(dòng)目標(biāo)和障礙進(jìn)行簡化和抽象。在進(jìn)行簡化和抽象時(shí)分別將空間內(nèi)地面移動(dòng)的障礙抽象為圓柱形和半球形,將空中的移動(dòng)障礙抽象為球形。
如圖1所示,本發(fā)明公開的一種三維空間內(nèi)編隊(duì)無人機(jī)對(duì)移動(dòng)目標(biāo)追蹤與規(guī)避的算法典型的運(yùn)行環(huán)境,包括地面防空設(shè)施1、高山2、空中移動(dòng)目標(biāo)3以及空中移動(dòng)威脅4,編隊(duì)無人機(jī)5等。在進(jìn)行編隊(duì)無人機(jī)對(duì)移動(dòng)目標(biāo)追蹤與規(guī)避時(shí),要求編隊(duì)無人機(jī)繞開所有的動(dòng)態(tài)障礙,同時(shí)保持期望隊(duì)形完成對(duì)移動(dòng)目標(biāo)的追蹤。
如圖2所示,本發(fā)明公開的一種三維空間內(nèi)編隊(duì)無人機(jī)對(duì)移動(dòng)目標(biāo)追蹤與規(guī)避的算法典型運(yùn)行環(huán)境的簡化和抽象示意圖。在進(jìn)行簡化和和抽象時(shí)首先建立力三維慣性坐標(biāo)系og,同時(shí)根據(jù)地面和空中不同物體的特點(diǎn),將它們分別進(jìn)行如下簡化和抽象,其中地面防空設(shè)施1抽象為半球形;空中移動(dòng)威脅4抽象為球形;建筑2抽象為圓柱形。
在建立移動(dòng)目標(biāo)的跟蹤與規(guī)避函數(shù)之前,首先做如下設(shè)定:
a)將編隊(duì)中各無人機(jī)作為質(zhì)點(diǎn);
b)已知編隊(duì)中各無人機(jī)的當(dāng)前位置為qc,當(dāng)前速度為vc;
c)已知空間內(nèi)移動(dòng)目標(biāo)和移動(dòng)障礙物的當(dāng)前位置分別為qg,qo,當(dāng)前速度分別為vg,vo。
2)通過引入空間移動(dòng)目標(biāo)的位置和速度量,分別建立三維空間內(nèi)無人機(jī)移動(dòng)目標(biāo)跟蹤函數(shù)和移動(dòng)目標(biāo)規(guī)避函數(shù)。
21)通過引入移動(dòng)目標(biāo)的速度量,建立關(guān)于移動(dòng)目標(biāo)位置和速度的三維移動(dòng)目標(biāo)跟蹤函數(shù)。首先假設(shè)當(dāng)前無人機(jī)的位置為qc=[x,y,z],當(dāng)前速度為vc=[vx,vy,vz],當(dāng)前目標(biāo)點(diǎn)位置為qg=[xg,yg,zg],目標(biāo)點(diǎn)移動(dòng)速度為vg=[vg,vg,vg],因此,定義三維目標(biāo)追蹤函數(shù)如公式(1)所示:
其中:εq,εv分別為位置和速度追蹤因子;ρxy=||qg-qc||為移動(dòng)目標(biāo)在編隊(duì)中各無人機(jī)的當(dāng)前位置x,y平面內(nèi)的投影與編隊(duì)無人機(jī)之間的歐式距離;m,k為正常數(shù)比例因子(一般取m=2,k=2),kp是與編隊(duì)中無人機(jī)性能相關(guān)的比例因子;ρz=||qgz-qz||表示編隊(duì)無人機(jī)在垂直方向上受到目標(biāo)點(diǎn)的引力;ρv=||vg(t)-vc(t)||表示編隊(duì)無人機(jī)與移動(dòng)目標(biāo)在時(shí)間t時(shí)的相對(duì)速度。
3)分別將跟蹤與規(guī)避函數(shù)對(duì)相應(yīng)的位置和速度求負(fù)梯度,得到對(duì)應(yīng)的跟蹤引力和規(guī)避斥力,并進(jìn)行動(dòng)態(tài)無人機(jī)受力分析。
31)將移動(dòng)目標(biāo)跟蹤函數(shù)分別對(duì)相應(yīng)的位置和速度求負(fù)梯度,得到對(duì)應(yīng)的跟蹤引力。
因此,由公式(1)可以看出三維目標(biāo)跟蹤函數(shù)是一個(gè)關(guān)于位置q和速度v相關(guān)的函數(shù),定義移動(dòng)目標(biāo)點(diǎn)對(duì)無人機(jī)產(chǎn)生的虛擬引力f(q,v)a等于目標(biāo)追蹤函數(shù)u(q,v)a分別對(duì)位置和速度v求負(fù)梯度。如公式(2)所示:
式中:
將公式(1)代入公式(2)可得編隊(duì)無人機(jī)受到的虛擬力表達(dá)式如公式(5)所示:
f(q,v)a=f(q)a+f(v)a(5)
式中:f(q)a,f(v)a分別為公式(6),(7)所示:
式中:ecg表示在x,y平面內(nèi)由無人機(jī)指向移動(dòng)目標(biāo)點(diǎn)的單位向量;ezg表示在z軸方向上由無人機(jī)指向目標(biāo)點(diǎn)的單位向量;evcg表示由無人機(jī)指向移動(dòng)目標(biāo)點(diǎn)的單位速度向量。
如圖3所示,本發(fā)明公開的一種三維空間內(nèi)編隊(duì)無人機(jī)對(duì)移動(dòng)目標(biāo)追蹤與規(guī)避的算法無人機(jī)的移動(dòng)目標(biāo)跟蹤引力受力分析圖。其中,fx,fy,fz分別表示f(q)a+f(v)a移動(dòng)目標(biāo)在x,y,z三個(gè)方向上的分力;vx,vy,vz分別表示vg移動(dòng)目標(biāo)在x,y,z三個(gè)方向上的分速度。
22)同理,通過引入空間內(nèi)移動(dòng)障礙的速度量,建立關(guān)于移動(dòng)障礙位置和速度的三維移動(dòng)障礙規(guī)避函數(shù)。首先,假設(shè)當(dāng)前無人機(jī)的位置為qc=[x,y,z],對(duì)應(yīng)的當(dāng)前速度為vc=[vx,vy,vz],空間內(nèi)移動(dòng)障礙物i的當(dāng)前位置為qoi=[xoi,yoi,zoi]。因此,定義無人機(jī)與移動(dòng)障礙i的相對(duì)速度如公式(8)所示:
式中:eco表示在x,y平面內(nèi)由無人機(jī)指向移動(dòng)障礙i的單位向量。
因此,結(jié)合公式(8)定義無人機(jī)對(duì)移動(dòng)障礙物i三維規(guī)避函數(shù)如公式(9)所示:
式中:ηq,ηv分別為位置和速度規(guī)避因子,ρxy(q)=||qc-qoi||表示在當(dāng)前無人機(jī)所在的x,y平面內(nèi),無人機(jī)與移動(dòng)障礙物邊界的最短距離,ρ0表示移動(dòng)障礙的影響范圍,m為正常數(shù)比例因子(一般取m=2),ks為常值系數(shù)。
32)將移動(dòng)障礙規(guī)避函數(shù)分別對(duì)相應(yīng)的位置和速度求負(fù)梯度,得到對(duì)應(yīng)的規(guī)避斥力。
因此,由公式(9)看出三維規(guī)避函數(shù)同樣是一個(gè)與位置q和速度v相關(guān)的函數(shù)。因此,定義移動(dòng)障礙i產(chǎn)生的虛擬斥力
由公式(8)可得vco對(duì)q和v的梯度如公式(11),(12)所示:
將公式(8),(9)代入公式(10)可得移動(dòng)障礙i產(chǎn)生的虛擬斥力表達(dá)式如公式(13)所示:
式中:
式中:
如圖4所示,本發(fā)明公開的一種三維空間內(nèi)編隊(duì)無人機(jī)對(duì)移動(dòng)目標(biāo)追蹤與規(guī)避的算法無人機(jī)的移動(dòng)障礙規(guī)避斥力受力分析圖。其中:fxr,fyr,fzr分別表示f(q)r+f(v)r移動(dòng)目標(biāo)在x,y,z三個(gè)方向上的分力,vxo,vyo,vzo分別表示voi移動(dòng)目標(biāo)在x,y,z三個(gè)方向上的分速度。
4)求解三維空間內(nèi)無人機(jī)所受虛擬合外力,并將無人機(jī)的運(yùn)動(dòng)學(xué)問題簡化為以虛擬合外力為輸入的正向動(dòng)力學(xué)問題,并建立三維空間內(nèi)無人機(jī)運(yùn)動(dòng)學(xué)方程。
無人機(jī)所受的虛擬合外力ft等于將無人機(jī)所受到空間內(nèi)所有虛擬跟蹤引力f(q,v)a和規(guī)避斥力
在將無人機(jī)的運(yùn)動(dòng)學(xué)問題簡化為以虛擬合外力ft為輸入的正向動(dòng)力學(xué)問題,同時(shí)建立三維空間內(nèi)無人機(jī)運(yùn)動(dòng)學(xué)方程如公式(19)所示:
其中,
5)在無人機(jī)進(jìn)行編隊(duì)控制方面,將空間內(nèi)對(duì)移動(dòng)目標(biāo)跟蹤和規(guī)避的編隊(duì)無人機(jī)看作為受隊(duì)形約束的約束動(dòng)力學(xué)系統(tǒng)。根據(jù)約束動(dòng)力學(xué)理論,填入拉格朗日乘子建立編隊(duì)無人機(jī)約束動(dòng)力學(xué)方程如公式(20)所示:
ρ(x,y,z)=0(22)
式中:q表示編隊(duì)中各個(gè)無人機(jī)的當(dāng)前位置矩陣;
在對(duì)約束動(dòng)力學(xué)方程組中的λ求解時(shí),采用罰函數(shù)法并結(jié)合鮑姆加特穩(wěn)定性得到λ的表達(dá)式,如公式(24)所示:
式中:δ為阻尼因子,γ為彈性因子。
如圖5所示,本發(fā)明公開的一種三維空間內(nèi)編隊(duì)無人機(jī)對(duì)移動(dòng)目標(biāo)追蹤與規(guī)避的算法的matlab程序流程圖。具體步驟如下:
(1)初始化編隊(duì)中各個(gè)無人機(jī)的初始位置和速度,障礙物初始位置和速度,移動(dòng)目標(biāo)點(diǎn)的初始位置和速度;
(2)利用公式(1),(2),(9),(10)分別求出空間內(nèi)移動(dòng)目標(biāo)和各個(gè)移動(dòng)障礙隊(duì)無人機(jī)產(chǎn)生的跟蹤引力和規(guī)避斥力;
(3)利用公式(18)求解出編隊(duì)中各個(gè)無人機(jī)所受到的虛擬合外力合力;
(4)利用公式(19)-(22)分別建立無人機(jī)運(yùn)動(dòng)學(xué)模型和編隊(duì)無人機(jī)約束動(dòng)力學(xué)模型;
(5)利用matlab每0.05步長求解得出編隊(duì)中各個(gè)無人機(jī)相對(duì)于移動(dòng)目標(biāo)和障礙的下一個(gè)位置點(diǎn)、方向和角度;
通過判斷無人機(jī)編隊(duì)與移動(dòng)目標(biāo)之間的歐拉距離是否滿足設(shè)定跟蹤距離來判斷編隊(duì)無人機(jī)是否對(duì)移動(dòng)目標(biāo)進(jìn)行有效跟蹤。如果是,則輸出編隊(duì)無人機(jī)飛行軌跡,移動(dòng)目標(biāo)飛行軌跡,移動(dòng)障礙移動(dòng)軌跡,同時(shí)輸出隊(duì)形保持誤差曲線,程序跳轉(zhuǎn)至步驟6),否則程序跳轉(zhuǎn)到步驟2);
(6)解算結(jié)束。
如圖6所示,本發(fā)明公開的一種三維空間內(nèi)編隊(duì)無人機(jī)對(duì)移動(dòng)目標(biāo)追蹤與規(guī)避的算法的matlab仿真t=0s時(shí)編隊(duì)無人機(jī)與移動(dòng)目標(biāo)和障礙初始位置圖。
如圖7所示,本發(fā)明公開的一種三維空間內(nèi)編隊(duì)無人機(jī)對(duì)移動(dòng)目標(biāo)追蹤與規(guī)避的算法的matlab仿真t=1.9s無人機(jī)和空間移動(dòng)目標(biāo)位置圖??梢钥闯鲈趖=1.9s時(shí),移動(dòng)障礙a沿y軸方向垂直運(yùn)動(dòng)攔截編隊(duì)無人機(jī),移動(dòng)目標(biāo)朝向固定障礙b移動(dòng),編隊(duì)無人機(jī)首先加速繞過障礙a然后加速向目標(biāo)點(diǎn)移動(dòng)。
如圖8所示,本發(fā)明公開的一種三維空間內(nèi)編隊(duì)無人機(jī)對(duì)移動(dòng)目標(biāo)追蹤與規(guī)避的算法的matlab仿真t=16.2s無人機(jī)追蹤與規(guī)避軌跡圖。在t=16.2s時(shí),移動(dòng)目標(biāo)朝向并繞過障礙,編隊(duì)無人機(jī)成功規(guī)避障礙并完成對(duì)移動(dòng)目標(biāo)的追蹤。
如圖9所示,本發(fā)明公開的一種三維空間內(nèi)編隊(duì)無人機(jī)對(duì)移動(dòng)目標(biāo)追蹤與規(guī)避的算法的matlab仿真編隊(duì)無人機(jī)關(guān)于時(shí)間的隊(duì)形保持誤差曲線圖。仿真結(jié)果可以看出在編隊(duì)無人機(jī)對(duì)移動(dòng)目標(biāo)追蹤的在整個(gè)過程中隊(duì)形均方差均趨近于0,說明在整個(gè)過程中編隊(duì)無人機(jī)可以完成多移動(dòng)目標(biāo)的追蹤同時(shí)保持期望隊(duì)形。
以上所述的具體實(shí)施方式,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。