国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于近似動態(tài)規(guī)劃的目標(biāo)追蹤控制算法

2019-04-08 11:32:58李惠峰易文峰程曉明
關(guān)鍵詞:控制算法動態(tài)狀態(tài)

李惠峰, 易文峰, 程曉明,2

(1. 北京航空航天大學(xué)宇航學(xué)院, 北京 100083; 2. 北京航天自動控制研究所, 北京 100854)

無人機具有結(jié)構(gòu)簡單、成本低廉等優(yōu)點,是用于自主追隨的理想平臺。近年來,隨著自動化技術(shù)、計算機技術(shù)、電子器件等高新科技水平的不斷提高,無人機在民用領(lǐng)域也大有可為,它可應(yīng)用于:跟蹤拍攝、無人機集合作戰(zhàn)等領(lǐng)域,市場前景非常樂觀,具有巨大的經(jīng)濟意義,而這些功能的實現(xiàn)都依賴于無人機對目標(biāo)的精確跟隨。

目前國內(nèi)實現(xiàn)無人機自主跟蹤主要通過低空飛行的無人機搭載無線相機,通過相機視覺傳達無人機與目標(biāo)的水平位移,進而通過控制裝置調(diào)節(jié)無人機的位置以及姿態(tài),使得無人機緊隨跟蹤目標(biāo)。但是因為整個跟蹤過程基于視覺系統(tǒng),所以存在背景運動、噪聲、目標(biāo)被遮擋以及目標(biāo)逃出視野之外的等等問題,且其算法還需利用實時圖像計算其跟蹤對象的像素點變化從再計算得出機動規(guī)律,使得無人機自主飛行控制的變得低效以及不準(zhǔn)確。另外如果得到較好的目標(biāo)位置,其控制部分往往研究比較少,只是簡單地使用控制器跟隨當(dāng)前目標(biāo)位置,無法預(yù)測目標(biāo)的下一個可能位置,加上如果應(yīng)用背景是無人機博弈等對策問題,預(yù)測目標(biāo)的位置顯得十分重要。目前利用圖像獲得相對位置的方法已經(jīng)較為成熟[1],如在線目標(biāo)跟蹤算法中的均值偏移算法[2]、子塊跟蹤算法[3]、子空間算法[4],濾波算法中的特征改進、多核算法[5]、尺度估計[6-8]、分塊算法[9]等,深度學(xué)習(xí)中的深度目標(biāo)跟蹤算法[10]等,可以解決大多數(shù)圖像跟蹤存在的問題,但其控制器的目標(biāo)都幾乎只是計算目標(biāo)與無人機的距離而設(shè)計控制器,之后將目標(biāo)放在圖像中心[9],而忽視了從控制方面改善跟蹤效果。如果在控制方面加上對目標(biāo)的預(yù)測,那么跟蹤效果也會得到很大的改善且也可以將之使用于博弈控制,改善了現(xiàn)有控制算法不靈敏,對圖像依賴大的問題。

本文將近似動態(tài)規(guī)劃的方法應(yīng)用于無人機自主追隨的問題,如果已知目標(biāo)的位置等條件,使用提前使用博弈方式訓(xùn)練好無人機的特征參數(shù)的方法,那么本文算法可以使無人機做出更好更快的選擇。最后,對設(shè)計的算法進行了仿真實驗,驗證了算法的可行性及其良好的跟蹤性能。

1 近似動態(tài)規(guī)劃

基于貝爾曼方程的動態(tài)規(guī)劃為無人機跟隨的最佳機動策略提供了新的手段,由此產(chǎn)生的優(yōu)化策略為無人機跟蹤問題提供了更好的方法,即在給定的飛行狀態(tài)下,對最優(yōu)跟蹤控制策略的求解,不需要大量的在線計算,能夠完成實時的最優(yōu)跟蹤。盡管動態(tài)規(guī)劃方法非常適合應(yīng)用于這類問題,但是其不適用于求解計算量較大的問題,因為離散狀態(tài)空間大小隨狀態(tài)空間變量的數(shù)量成指數(shù)增長,從而產(chǎn)生維數(shù)災(zāi)使得算法難以實現(xiàn)。而基于動態(tài)規(guī)劃的近似動態(tài)規(guī)劃(Approximate Dynamic Programming, ADP)為解決復(fù)雜且龐大的最優(yōu)跟蹤控制問題提供了新的可能。

近似動態(tài)規(guī)劃使用的基本原理是利用函數(shù)近似結(jié)構(gòu)(比如神經(jīng)網(wǎng)絡(luò)),來逼近經(jīng)典動態(tài)規(guī)劃中的性能指標(biāo)函數(shù),從而逼近得到最優(yōu)性能指標(biāo)和最優(yōu)控制,近似動態(tài)規(guī)劃的結(jié)構(gòu)如圖1所示[11]。

近似動態(tài)規(guī)劃算法主要由3部分組成:動態(tài)系統(tǒng)、執(zhí)行網(wǎng)絡(luò)和評價網(wǎng)絡(luò)。在實際應(yīng)用中,每個部分的實現(xiàn)由神經(jīng)網(wǎng)絡(luò)執(zhí)行。當(dāng)系統(tǒng)模型未知時,可以通過神經(jīng)網(wǎng)絡(luò)對系統(tǒng)模型進行辨識;執(zhí)行網(wǎng)絡(luò)生成系統(tǒng)的控制策略,通過調(diào)節(jié)執(zhí)行網(wǎng)絡(luò)的參數(shù)來達到逼近最優(yōu)控制策略的目的;評價網(wǎng)絡(luò)用于評價執(zhí)行網(wǎng)絡(luò)生成的控制策略。不同于傳統(tǒng)的反饋控制方法,圖1中評價網(wǎng)絡(luò)到執(zhí)行網(wǎng)絡(luò)的增強信號是對執(zhí)行網(wǎng)絡(luò)控制策略的評價結(jié)果,這一信號有助于指導(dǎo)執(zhí)行網(wǎng)絡(luò)的優(yōu)化設(shè)計。本文需要指出執(zhí)行網(wǎng)絡(luò)和評價網(wǎng)絡(luò)的權(quán)值調(diào)整優(yōu)化目標(biāo)之間的區(qū)別:評價網(wǎng)絡(luò)的參數(shù)優(yōu)化的目標(biāo)函數(shù)是使得評價網(wǎng)絡(luò)的輸出滿足貝爾曼方程;建立在評價網(wǎng)絡(luò)基礎(chǔ)上,執(zhí)行網(wǎng)絡(luò)參數(shù)優(yōu)化的目標(biāo)是最小化評價網(wǎng)絡(luò)的輸出。

J(xk)=r(xk,uk)+J(xk+1)

(1)

式中:r(xk,uk)通常被稱之為回報函數(shù)(reward function);在k時刻,以J(xk)性能指標(biāo)表示為狀態(tài)xk的函數(shù);在k+1時刻,性能指標(biāo)則可以表示為J(xk+1)。根據(jù)貝爾曼最優(yōu)性原理[12]

圖1 近似動態(tài)規(guī)劃結(jié)構(gòu)[11]Fig.1 ADP structure[11]

(2)

則最優(yōu)控制可以表示為

(3)

其方法有很多種,本文利用近似值函數(shù)的方法來實現(xiàn)整個算法過程,這可以很好地解決動態(tài)規(guī)劃的維數(shù)災(zāi)問題。近似動態(tài)規(guī)劃變量說明見表1。

表1 近似動態(tài)規(guī)劃變量說明Table 1 ADP symbology

2 算法構(gòu)架

算法的基本函數(shù)是狀態(tài)轉(zhuǎn)移函數(shù),將目標(biāo)追蹤的過程離散化,則每個狀態(tài)到下一個狀態(tài)由狀態(tài)轉(zhuǎn)移函數(shù)控制。而獎勵函數(shù)、特征生成函數(shù)、軌跡采樣函數(shù)等都用來生成近似值函數(shù),值函數(shù)即狀態(tài)的未來獎勵值,獎勵值越大,則對于無人機來說位置就越好,可以通過近似的值函數(shù)產(chǎn)生最佳策略。算法框架如圖2所示。

2.1 狀態(tài)量、目標(biāo)、控制量以及動力學(xué)

跟蹤系統(tǒng)的狀態(tài)量x由無人機和目標(biāo)的位置、偏航角和滾轉(zhuǎn)角組成,本文目標(biāo)可以指具有滾轉(zhuǎn)角特征的比如其他飛行器、鳥類等,如果為其他不具有滾轉(zhuǎn)角的目標(biāo),則可替代為控制量直接作用的狀態(tài)量。本文選取的是具有滾轉(zhuǎn)角的對象,以我方飛行器為藍色無人機,目標(biāo)用紅色代替[13]。

(4)

式中:ψ為偏航角,下標(biāo)b和r分別表示藍色和紅色無人機;φ為滾轉(zhuǎn)角;xpos和ypos可以在x-y平面內(nèi)任意取值,滾轉(zhuǎn)角和偏航角需要在[-180°,180°]取值。

跟蹤的目標(biāo)始終在一定范圍之內(nèi),有時候還需要其他的目標(biāo)來滿足需求,比如必須把無人機限制在目標(biāo)后方的一定扇形區(qū)域內(nèi),以保證我方無人機占據(jù)優(yōu)勢的戰(zhàn)略地位。還有其他需求,比如跟隨航拍,就必須把無人機限制在目標(biāo)前方的扇形區(qū)域內(nèi),本文設(shè)定的目標(biāo)是在其后方的扇形區(qū)域內(nèi)。具體區(qū)域如算法1所示,AA和ATA分別為方位角和天線拂擦角。獎勵區(qū)域如圖3所示。

算法1優(yōu)勢位置函數(shù)gpa(x)

輸入:{x}。

R=“飛行器與目標(biāo)的歐幾里得距離”

if(0.1 m

(|ATA|<30°)

then

gpa(x)=1.0

else

gpa(x)=0

end if

輸出獎勵:(gpa)。

圖2 算法框架Fig.2 Algorithm framework

圖3 獎勵區(qū)域Fig.3 Reward area

算法2狀態(tài)轉(zhuǎn)移函數(shù)f(xi,ub,ur)

輸入:{xi,ub,ur}。

fori=1:5(once per Δt=0.05 s) do

for{red,blue} do

ifu=L then

else ifu=R then

end if

ypos=ypos+Δtvcosψ

end for

end for

2.2 獎勵函數(shù)

為了更好地訓(xùn)練無人機的跟蹤效率,本文使用極大極小算法使跟蹤目標(biāo)與我方無人機進行博弈。而對于每個狀態(tài),我方及目標(biāo)皆有3個機動策略,所以有9種可能的結(jié)束狀態(tài),紅色目標(biāo)的機動策略選擇源自雙方的初始狀態(tài)與9種可能情況的結(jié)合機動策略,通過狀態(tài)轉(zhuǎn)移函數(shù)計算結(jié)束狀態(tài)。而在每個狀態(tài)采用一種評分體系對當(dāng)前位置進行評分,表示紅色目標(biāo)的優(yōu)勢程度,因此,我方無人機的目標(biāo)就是最大化地減小其評分。

按照目標(biāo)的定義,跟隨在目標(biāo)的后方的一定距離以內(nèi),可以得到優(yōu)勢位置函數(shù)gpa(x),可是它的不連續(xù)性導(dǎo)致近似值函數(shù)過程難于操作,所以引入連續(xù)的評估函數(shù)S(x),將兩者結(jié)合起來一起構(gòu)成每個狀態(tài)的評分體系[14]。

評估函數(shù)表達式為

(5)

每架飛行器都有相對于另一架飛行器的對稱表示,不失一般性,本文從藍色飛行器角度描述幾何。獎勵區(qū)域為兩箭頭所夾區(qū)域,ATA為我方無人機頭部與視距線的夾角,AA為視距線與敵方無人機頭部反方向所成夾角。R為兩物體之間的實際距離,Rd為兩物體間的期望距離,常數(shù)p單位為m/(°),其為用來協(xié)調(diào)方位分?jǐn)?shù)和距離分?jǐn)?shù)。p的有效值為0.1 m/(°),R的有效值為2 m。目標(biāo)獎勵函數(shù)的具體表達式為

g(x)=wggpa+(1-wg)S

(6)

式中:wg=0.8為權(quán)重系數(shù)。

圖4、圖5分別給出了評估函數(shù)以及具體獎勵位置的三維圖。假設(shè)目標(biāo)在原點。

圖4 評估函數(shù)Fig.4 Evaluation function

圖5 優(yōu)勢目標(biāo)獎勵的位置Fig.5 Advantageous target reward position

2.3 特征選取

b=[cosψb,sinψb]T

(7)

r=[cosψr,sinψr]T

(8)

AA=arccos(dbrb/(dbrb))

(9)

ATA=arccos(dbrr/(dbrr))

(10)

(11)

圖6 角度定義Fig.6 Angle definition

(12)

這些被選取的特征被用來形成特征向量ζ(x),特征量通過相互組合進行擴充,舉個例子,如果選取的特征量為{A(x),B(x),C(x)},則形成的特征向量為

ζ(x)=[A(x),B(x),C(x),A(x)B(x),

A(x)C(x),C(x)B(x),A2(x),

B2(x),C2(x)]

(13)

則在第k次迭代后,值函數(shù)可以被近似為

(14)

式中:βk為各個特征對于近似值函數(shù)的權(quán)重系數(shù)。可以看出,如果特征量選取越多,則近似值函數(shù)對于真正值函數(shù)更為接近,但是由此可以看出,特征量選取的越多,則計算的復(fù)雜度和量要大大增加,這違背了本文選取近似動態(tài)規(guī)劃的初衷。所以選取上述對于目標(biāo)跟蹤十分重要的特征,總計如下[15]。

(15)

2.4 軌跡采樣

采樣點越密集則對于近似值函數(shù)來說就更加精確,但是對于計算量來說,采樣點越密集,計算量就越大,因此應(yīng)選擇采樣區(qū)間。

為了使采樣的空間更加符合目標(biāo)跟蹤時的實際情況。我方無人機以及跟蹤目標(biāo)的橫縱坐標(biāo)使用標(biāo)準(zhǔn)差為7 m的高斯分布,初始狀態(tài)的偏航角以及滾轉(zhuǎn)角符合均勻分布。就像最小二乘法中所使用的方法,將所有采樣的狀態(tài)存儲于一個大矩陣X中。

(16)

使用生成的采樣點生成構(gòu)建近似動態(tài)規(guī)劃框架的特征為

ζ(x)=[ζ(x1),ζ(x2),…,ζ(xn)]T

(17)

2.5 目標(biāo)策略函數(shù)

為了更好地訓(xùn)練值函數(shù),使得訓(xùn)練出來的值函數(shù)具有最大的普遍性,目標(biāo)運動算法選擇博弈算法,本文采用Minimax算法,Minimax算法又名極大極小算法,是一種找出失敗的最大可能性中的最小值的算法[16]。

Minimax算法常用于棋類等由兩方較量的游戲和程序。該算法是一個零總和算法,即一方要在可選的選項中選擇將其優(yōu)勢最大化的選擇,另一方則選擇令對手優(yōu)勢最小化的方法。而開始的時候總和為0。其算法如圖7所示。

圖7 Minimax算法流程Fig.7 Minimax algorithm flowchart

2.6 生成近似值函數(shù)

通過合理的軌跡采樣、特征選取以及獎勵函數(shù)的建立,可以通過算法得到一個與真實值函數(shù)十分近似的近似值函數(shù)。其具體思想如下所示。

假設(shè)λ是列向量的系數(shù),本文可以把整個模型[17]寫為

y=λTx+ε

(18)

式中:y、x和ε分別為因變量、自變量和估計誤差。

(19)

(20)

那么本文的目標(biāo)變?yōu)檫x擇一個β使誤差的平方和最小,即

(21)

(22)

則通過以上方式,本文可以得到近似值函數(shù),算法大概通過40次迭代,可以得到最優(yōu)的參數(shù)矩陣。

2.7 策略選取(控制指令生成)

盡管本文的近似值函數(shù)相對于真正值函數(shù)來說已經(jīng)十分接近,但對于策略選擇來說,仍有可能不是最優(yōu)的策略,所以策略選取應(yīng)用rollout策略[18]。rollout算法是對于當(dāng)前狀態(tài),從每一個可能的動作開始,之后根據(jù)給定的策略進行路徑采樣,根據(jù)多次采樣的獎勵和來對當(dāng)前狀態(tài)的行動值進行估計。在當(dāng)前估計基本收斂時,會根據(jù)行動值最大的原則選擇動作進入下一個狀態(tài)再重復(fù)上述過程。在蒙特卡羅控制中,采樣的目的是估計一個完整的,最優(yōu)價值函數(shù),但是rollout算法中的采樣目的只是為了計算當(dāng)前狀態(tài)的行動值以便進入下一個狀態(tài),而且這些估計的行動值并不會被保留。在得到最優(yōu)的策略函數(shù)后也可將結(jié)果放入神經(jīng)網(wǎng)絡(luò)訓(xùn)練,利用決策對特征進行分類,使得無人機在博弈或者跟隨目標(biāo)的程中快速做出決策。算法具體實現(xiàn)過程如算法3所示。

算法3rollout算法

輸入:xi。

初始化:Jbest=-。

forub={L,S,R}

forj={1:Nrolls}

do

end for

ifJcurrent>Jbest

then

ubest=ub,Jbest=Jcurrent

end if

end for

輸出:ubest。

3 仿真結(jié)果

對定常運動的目標(biāo)以及與我方無人機博弈的目標(biāo)的跟蹤任務(wù)進行了仿真,任務(wù)是始終在目標(biāo)的后方的0.1~3 m,最后將本控制算法與經(jīng)典控制算法PID進行比較,得出本算法在復(fù)雜環(huán)境下的優(yōu)勢。

通過之前所敘述的利用博弈離線訓(xùn)練好近似值函數(shù)特征參數(shù)的方法,結(jié)合rollout算法,可以得到最優(yōu)的控制指令。

通過給定兩方無人機不同的初始狀態(tài)以及選取目標(biāo)無人機的不同策略,來模擬不同環(huán)境的工況,初始狀態(tài)以及目標(biāo)策略選取如表2所示,其中,Minimax代表目標(biāo)無人機選取與我方博弈的極大極小策略,Maintain代表目標(biāo)無人機選取定常的直線運動。

最后,對比本文與傳統(tǒng)PID算法的仿真結(jié)果, 由于PID算法只能跟蹤預(yù)定軌跡,在進行PID算法的仿真時,將ADP仿真完成后得到的目標(biāo)軌跡給定給PID算法,從而比較出本文算法優(yōu)勢。仿真結(jié)果如圖8~圖20所示,xinit為起始狀態(tài)分類。各仿真圖初始狀態(tài)及目標(biāo)策略如表2所示。

由以上仿真結(jié)果可知,如果已知目標(biāo)的位置,目標(biāo)的運動是定常的,如圖11、圖13所示可以實現(xiàn)很好的跟隨,并且按照預(yù)定的目標(biāo)始終跟在目標(biāo)的后方,而對于目標(biāo)運動變化較大,甚至與我方進行博弈的情況下如圖9、圖15所示,由仿真圖所示,該算法具有一定的預(yù)測性,該控制算法可以實現(xiàn)很好的跟隨。與給定PID目標(biāo)軌跡的控制方法比較,可以看到,即使給定傳統(tǒng)PID算法目標(biāo)軌跡,其跟蹤的穩(wěn)定性也不是很好,具有一定的振蕩,但對于ADP算法,從圖16中可以看出其具有一定的預(yù)測性,且其與目標(biāo)的距離始終保持在之前設(shè)定的0.1~3 m的范圍以內(nèi),不妨假設(shè)ADP跟蹤的目的為與目標(biāo)為1 m,而PID的目的為與 目標(biāo)的距離為0 m,可以計算得到各算法的方差分別為

表2 各仿真圖初始狀態(tài)及目標(biāo)策略Table 2 Initial state and objet strategy of each simulation chart

注:πr—敵機機動策略。

圖8 60步長仿真(xinit=1)Fig.8 60 step length simulation (xinit=1)

圖9 實時與目標(biāo)距離(xinit=1)Fig.9 Real-time target distance (xinit=1)

圖10 60步長仿真(xinit=2)Fig.10 60 step length simulation (xinit=2)

圖11 實時與目標(biāo)距離(xinit=2)Fig.11 Real-time target distance (xinit=2)

圖12 60步長仿真圖(xinit=3)Fig.12 60 step length simulation chart (xinit=3)

圖13 實時與目標(biāo)距離(xinit=3)Fig.13 Real-time traget distance map (xinit=3)

圖14 60步長仿真(xinit=4)Fig.14 60 step length simulation chart (xinit=4)

圖15 實時與目標(biāo)距離(xinit=4)Fig.15 Real-time traget distance map (xinit=4)

圖16 給定PID目標(biāo)軌跡時的仿真比較Fig.16 Simulation comparison when PID target trajectory is given

圖17 PID跟蹤誤差以及ADP與目標(biāo)距離Fig.17 PID tracking error and target distance from ADP simulation

圖18 非線性預(yù)測模型方法與ADP的跟蹤比較Fig.18 Comparison of tracking between nonlinear prediction model methods and ADP

SADP1=52.994 5 m2

(23)

SPID=75.183 5 m2

(24)

SADP2=114.7 m2

(25)

Snolinear=136.9 m2

(26)

在這組仿真下可知,即使在ADP算法不知道目標(biāo)的軌跡的前提下,ADP算法也具有更好的穩(wěn)定性。由此可知,該算法可以適應(yīng)于較為復(fù)雜的環(huán)境。

圖20所示的是基于非線性模型預(yù)測跟蹤控制算法的逃逸無人機控制[17-19],由圖可知,雖然 這種算法有著較好的跟蹤結(jié)果,但是由于這種方法本身不產(chǎn)生機動,所以該方法有著一個天然的缺陷,它不具有在追蹤和逃逸角色切換的能力。而ADP算法可以很好地實現(xiàn)角色的切換。

圖19 非線性預(yù)測模型方法與ADP的跟蹤誤差比較Fig.19 Comparison of tracking error between nonlinear prediction model method and ADP

圖20 無人機跟蹤與博弈Fig.20 UAV tracking and gaming

4 結(jié) 論

1) 本文對無人機跟蹤控制算法進行研究,提出了將近似動態(tài)規(guī)劃用于目標(biāo)跟蹤問題中的飛行控制問題,在已知雙方狀態(tài)的條件下,可以應(yīng)對目標(biāo)的靈活運動,預(yù)測目標(biāo)的運動軌跡。

2) 為了確保得到的決策是最優(yōu)決策,使用rollout算法得出結(jié)論。實現(xiàn)了飛行器在跟蹤甚至博弈過程中的有效跟蹤,在現(xiàn)行跟蹤問題上缺少飛行控制的研究進行了補充。

3) 仿真驗證了目標(biāo)跟蹤的有效性。對于多目標(biāo)且多控制體的模型可以結(jié)合粒子群算法、遺傳算法等其他智能算法[20]來實現(xiàn)。項目可以應(yīng)用于大多數(shù)跟隨場合以及大多數(shù)飛行器博弈場合。

猜你喜歡
控制算法動態(tài)狀態(tài)
國內(nèi)動態(tài)
國內(nèi)動態(tài)
國內(nèi)動態(tài)
動態(tài)
狀態(tài)聯(lián)想
生命的另一種狀態(tài)
基于ARM+FPGA的模塊化同步控制算法研究
熱圖
家庭百事通(2016年3期)2016-03-14 08:07:17
堅持是成功前的狀態(tài)
山東青年(2016年3期)2016-02-28 14:25:52
一種優(yōu)化的基于ARM Cortex-M3電池組均衡控制算法應(yīng)用
阿拉善盟| 东明县| 兴化市| 开阳县| 荔浦县| 平武县| 思茅市| 洛南县| 禹城市| 饶河县| 台北市| 衡阳县| 西吉县| 武穴市| 吴忠市| 佳木斯市| 西城区| 灵丘县| 突泉县| 武宁县| 肥西县| 四子王旗| 西乌珠穆沁旗| 镇平县| 沅陵县| 长武县| 腾冲县| 云浮市| 安丘市| 南和县| 阿勒泰市| 沙雅县| 余江县| 青河县| 江陵县| 双鸭山市| 措勤县| 鄂托克旗| 济宁市| 三穗县| 海城市|