楊格+閆建國
摘要: 在研究無人機(jī)空中加油航跡控制時,發(fā)現(xiàn)二維航跡控制方法難以實(shí)現(xiàn)高精度的控制要求。其主要問題是二維航跡控制只能解算出水平面的位置,忽略了高度信息。主要描述了三維航跡控制方法及控制器設(shè)計。在二維導(dǎo)航控制的基礎(chǔ)上,采用非定高航程推算原理解算出無人機(jī)實(shí)時位置信息。著重分析航點(diǎn)高度信息算法,飛控系統(tǒng)實(shí)時跟蹤此計算高度,完成軌跡控制??刂破鞑捎肞ID神經(jīng)網(wǎng)絡(luò)方法,與傳統(tǒng)PID控制相比能明顯改善控制器性能,響應(yīng)快,超調(diào)小,穩(wěn)態(tài)精度高,能夠滿足無人機(jī)三維航跡控制的飛行要求。
關(guān)鍵詞: 三維導(dǎo)航; 高度航跡控制; 航程推算法; PID神經(jīng)網(wǎng)絡(luò)
中圖分類號: TN911?34; TP391.9 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2014)08?0046?05
Research on UAV 3D trajectory control method based on PID neural network
YANG Ge, YAN Jian?guo
(College of Automation, Northwestern Polytechnical University, Xian 710129, China)
Abstract: In the?research of UAV?aerial refueling?flight path?control, it was found that the?2D trajectory control?method?was difficult to realize the?requirements of control precision, because only the horizontal position was solved by the method, but the height information was neglected. The UAV 3D trajectory control method and controller design are elaborated in the paper. Based on the two?dimensional navigation control, the UAV real?time location information can be solved by using dead reckoning (DR) without a fixed height. The algorithm of waypoint height information is analyzed emphatically in this paper, in which flight control system tracks the calculated height in real time to fulfill the trajectory control. PID neural network (PIDNN) method is adopted in controller design. Compared with the traditional PID control, PIDNN can significantly improve the performance of the controller with fast response, small overshoot, high steady?state precision, and can satisfy the flight requirements of UAV 3D trajectory control.
Keywords: 3D navigation; trajectory height control; dead reckoning; PID neural network
無人機(jī)三維自主導(dǎo)航包括平面航跡控制[1?3]和高度航跡控制,傳統(tǒng)的 PID 控制具有以下特點(diǎn):算法較簡單、容易實(shí)現(xiàn)、可靠性較高,因此被廣泛應(yīng)用在無人機(jī)控制系統(tǒng)中。根據(jù)現(xiàn)階段控制領(lǐng)域的研究方向,人工智能占有較大的份額,智能控制也逐步受到關(guān)注和應(yīng)用 [4]。因此,本文采用了PID神經(jīng)網(wǎng)絡(luò)[5?6]對其三維航跡進(jìn)行控制,主要側(cè)重高度航跡控制的研究,水平航跡控制依舊采用經(jīng)典PID控制。
1三維導(dǎo)航總體結(jié)構(gòu)設(shè)計
平面航跡控制:位置作為反饋量,航向控制角由導(dǎo)航單元計算并發(fā)往飛控單元,由飛控單元根據(jù)設(shè)計的控制率計算出舵機(jī)控制角,從而達(dá)到對無人機(jī)水平面的航跡修正和控制。高度航跡控制:無人機(jī)垂直方向的位置實(shí)時變化,因而需要實(shí)時計算飛機(jī)位于當(dāng)前平面投影位置所應(yīng)達(dá)到的高度,此高度由飛控單元實(shí)時跟蹤此高度,進(jìn)而完成高度軌跡控制??傮w結(jié)構(gòu)如圖1所示,其中包括飛機(jī)模型單元、導(dǎo)航解算單元和飛控系統(tǒng)。
圖1 三維導(dǎo)航總體結(jié)構(gòu)
2高度航跡控制原理
在三維自主導(dǎo)航時,飛機(jī)的實(shí)時位置信息可以通過定位信息融合獲得,但是在地面實(shí)驗(yàn)中,只能利用非定高航程推算原理獲得無人機(jī)的實(shí)時位置信息。
2.1推算原理
航程推算[7]是自主導(dǎo)航方法之一,當(dāng)無人機(jī)當(dāng)前位置信息無法由外界信號源獲得時,通過傳感器測得的無人機(jī)姿態(tài)和速度,再結(jié)合上一時刻的位置信息來計算推斷無人機(jī)當(dāng)前所在的位置。在平面二維導(dǎo)航中,由于不考慮高度信息,計算的方法如下:
[x=x0+0tVcosφdtz=z0+0tVsinφdt](1)
式中:[(x0,z0)]是無人機(jī)前一時刻的坐標(biāo);[(x,z)]是當(dāng)前時刻的坐標(biāo);[V]表示空速;[φ]表示航向角。由于計算機(jī)迭代處理,式(1)需要離散化,離散周期為T=0.02 s,計算方法如下:
[x(k)=x(0)+i=1kVcosφiTz(k)=z(0)+i=1kVsinφiT](2)
在飛機(jī)不定高飛行時,三維的航程推算需要計算空速在垂直方向上的分量,此時二維導(dǎo)航計算公式中出現(xiàn)的空速應(yīng)是實(shí)際空速在水平面上的投影,結(jié)合實(shí)際飛行情況,假設(shè)飛行中沒有發(fā)生傾斜,則空速在垂直方向上將直接引起高度的變化。不定高飛行中計算方法如下:
[x(k)=x0+i=0k((ViT)2-ΔH2isinφ)z(k)=z0+i=0k((ViT)2-ΔH2icosφ)] (3)
式中:[V]表示空速;[ΔH]表示單位周期高度變化;[T]表示離散周期;[φ]表示航向角。[(x0,y0,z0)]和[(xm,ym,zm)]為航線始末點(diǎn)坐標(biāo)。[S]為兩點(diǎn)的空間距離,[S0]表示平面投影距離,式(3) 可變換如下:
[x(k)=x0+i=0kViTsinφ??S0Sz(k)=z0+i=0kViTcosφ??S0S](4)
式中:
[S=(xm-x0)2+(ym-y0)2+(zm-z0)2]
[S0=(xm-x0)2+(zm-z0)2]
2.2航點(diǎn)高度信息計算原理
在三維導(dǎo)航中,航程點(diǎn)按一定順序連成的閉合曲線組成一條航線,航程點(diǎn)的三維坐標(biāo)已知,但是連線上的各點(diǎn)高度信息未知,所以需要推導(dǎo)出航線上各點(diǎn)的高度信息[8]。線段[AB]表示三維空間中的某一航線,其中,[A(xA,yA,zA)],[B(xB,yB,zB)]分別表示兩個航程點(diǎn)坐標(biāo);[C(xC,0,zC)],[D(xD,0,zD)]表示點(diǎn)A和點(diǎn)B在水平面xOz上的投影,所以有[xA=xC],[zA=zC] ,[xB=xD],[zB=zD]。如圖2所示。
圖2 三維航線視圖
假設(shè)飛機(jī)位于點(diǎn)E,點(diǎn)E的水平坐標(biāo)可以由航程推算解出,點(diǎn)E在平面的投影為點(diǎn)F,再把點(diǎn)F向[CD]航線上投影,得到點(diǎn)G,點(diǎn)G在航線[AB]上投影為點(diǎn) H 。因此,通過點(diǎn)G可以計算出三維航線上點(diǎn)H 的信息。算法如下:
(1) 計算G點(diǎn)坐標(biāo)
在圖2中F的坐標(biāo)可以由非定高航程推算推得獲知[F(xF,0,zF)],則可以得到直線GF的數(shù)學(xué)方程(點(diǎn)斜式)為:
[z-zE=-xB-xAzB-zAx-xE] (5)
直線CD的數(shù)學(xué)方程(兩點(diǎn)式)可表示為:
[z-zAzB-zA=x-xAxB-xA] (6)
設(shè)點(diǎn)G坐標(biāo)為[G(xG,0,zG)],聯(lián)立上述兩個方程則可獲得G點(diǎn)的坐標(biāo)為:
[xG=xB-xAzB-zAzE-zA+xB-xA2xE+zB-zA2xAzB-zA2+xB-xA2] (7)
[zG=zB-zA2zE+xB-xA2zA+xB-xAxE-xA(zB-zA)zB-zA2+xB-xA2] (8)
式中:[(zB-zA)]和[(xB-xA)]不可能同時為零,因?yàn)橐?guī)劃的航線起點(diǎn)和終點(diǎn)不能再水平面上重合。
(2) 計算H點(diǎn)坐標(biāo)
如圖3所示,將平面ABCD分離開,點(diǎn)G坐標(biāo)為[G(xG,yG,zG)], 且A,B,C,D,G坐標(biāo)均已知,當(dāng)點(diǎn)A高度低于點(diǎn)B時,由圖3可以分析出不同線段的關(guān)聯(lián):
[AJHJ=AIHI?CGHJ=CDBI?HJ=CGCDBI] (9)
進(jìn)而求出H點(diǎn)的高度, 即飛機(jī)應(yīng)該達(dá)到的高度 h:
[h=YH=YA+(XC-XG)2+(ZC-ZG)2(XC-XD)2+(ZC-ZD)2(YB-YA)] (10)
同理,當(dāng)A點(diǎn)高度大B點(diǎn)高度時,可以求出H點(diǎn)高度值h:
[h=YH=YA-(XC-XG)2+(ZC-ZG)2(XC-XD)2+(ZC-ZD)2(YA-YB)] (11)
至此三維航線的點(diǎn)坐標(biāo)都可以通過航線的起點(diǎn)坐標(biāo)、終點(diǎn)坐標(biāo)和實(shí)時水平位置坐標(biāo)表示出來。
圖3 航線側(cè)面投影
2.3控制器原理結(jié)構(gòu)
無人機(jī)的高度控制即是實(shí)現(xiàn)縱向航跡跟蹤,主要是完成對無人機(jī)的高度保持和縱向航跡跟蹤的功能,其內(nèi)回路是俯仰角控制回路。為實(shí)現(xiàn)飛行高度跟蹤,在俯仰內(nèi)回路的基礎(chǔ)上增加高度信息反饋,由反饋得到的偏差信息來控制俯仰姿態(tài),從而達(dá)到控制無人機(jī)縱向飛行航跡。此外,為避免出現(xiàn)振蕩,引入高度微分反饋,縱向航跡跟蹤的阻尼特性得到改善。本文所設(shè)計的縱向航跡跟蹤控制原理框圖如圖4所示。
圖4 無人機(jī)縱向航跡跟蹤控制原理
3PID神經(jīng)網(wǎng)絡(luò)控制器
3.1原理結(jié)構(gòu)
PID神經(jīng)網(wǎng)絡(luò)控制是PID控制規(guī)律與多層前向神經(jīng)網(wǎng)絡(luò)的結(jié)合,PID控制器不再明顯被被包含,而是和神經(jīng)網(wǎng)絡(luò)融為一體[9?11]。PID神經(jīng)網(wǎng)絡(luò)的基本形式為2*3*1結(jié)構(gòu),如圖5所示。
網(wǎng)絡(luò)的輸入層有兩個神經(jīng)元構(gòu)成,隱含層由3個神經(jīng)元構(gòu)成,每個神經(jīng)元的輸出函數(shù)都不相同,他們分別對應(yīng)于比例(KP)、積分(KI)、微分(KD)。
圖5 神經(jīng)元結(jié)構(gòu)圖
3.2前向算法
PID神經(jīng)網(wǎng)絡(luò)的輸入層包含兩個神經(jīng)元。輸入為被調(diào)量的給定值 r 和實(shí)際值 y,k表示采樣時刻,輸入算法為:
[net1(k)=r(k)net2(k)=y(k)](12)
輸入層狀態(tài)算法為:
[ui(k)=neti(k)] (13)
輸入層輸出算法為:
[xi(k)=1, ui(k)>1ui(k), -1≤ui(k)≤1-1, ui(k)<-1](14)
隱含層包含三個神經(jīng)元,分別表示比例(KP)、積分(KI)、微分(KD),輸入總均值算法為:
[netj′(k)=i=12wijxi(k)] (15)
式中:j=1,2,3;[wij]表示輸入層到隱含層的連接權(quán)重值;上標(biāo)“′”表示隱含層變量的標(biāo)記。
比例元的狀態(tài)算法為:
[u1′=net1′(k)] (16)
積分元的狀態(tài)算法為:
[u2′(k)=u2′(k-1)+net2′(k)](17)
微分元的狀態(tài)算法為:
[u3′(k)=net3′(k)-net3′(k-1)] (18)
隱含層各神經(jīng)元的輸出算法為:
[xj′(k)=1,uj′(k)>1uj′(k), -1≤uj′(k)≤1-1,uj′(k)<-1] (19)
式中j=1,2,3。
輸出層只包含一個神經(jīng)元,實(shí)現(xiàn)網(wǎng)絡(luò)總和輸出功能,其總輸入算法為:
[netj″(k)=j3wj′xj′(k)] (20)
式中:[xj′(k)]為隱含層各神經(jīng)元的輸出值;[wj′]為隱含層至輸出層的連接權(quán)重值。
輸出層神經(jīng)元輸出算法為:
[v(k)=x″(k)] (21)
3.3反向算法
誤差反向算法主要功能是修改網(wǎng)絡(luò)權(quán)值,實(shí)現(xiàn)學(xué)習(xí)和記憶功能。目標(biāo)是使式(22)為最小:
[E=1pk=1p[r(k)-y(k)]2=1pk=1pe2(k)] (22)
式中p表示采樣的點(diǎn)數(shù)。采用按梯度下降法修改神經(jīng)網(wǎng)絡(luò)的權(quán)值,[η]表示學(xué)習(xí)步長,經(jīng)過n步訓(xùn)練和學(xué)習(xí)后,其各層權(quán)值得迭代方程:
[W(n+1)=W(n)-η?E?W] (23)
隱含層至輸出層權(quán)重值修改為:[?E?wj′=?E?y·?y?x″·?x″?v″·?v″?wj′=-2pk=1p[r(k)-y(k)]?y?vxj′(k)=-1pk=1pδ′(k)xj′(k)] [δ′=2[r(k)-y(k)]sgny(k)-y(k-1)v(k)-v(k-1)] (25)
輸入層至隱含層的權(quán)值調(diào)整為:
[?E?wij=?E?y·?y?x″·?x″?u″·?u″?netj″·?net″?xj′·?x′?uj′·?u′?netj′·?net′?wij =-1mk=1pδ′(k)wj′sgnuj′(k)-uj′(k-1)netj′(k)-netj′(k-1)xj(k) =-1mk=1mδj(k)xi(k)]
式中[δj(k)=δ′(k)wj′sgnuj′(k)-uj′(k-1)netj′(k)-netj′(k-1)]
3.4算法流程
通過以上算法的分析以及推導(dǎo),神經(jīng)網(wǎng)絡(luò)的PID控制算法流程(見圖6)如下:首先確定網(wǎng)絡(luò)的結(jié)構(gòu):即輸入層的節(jié)點(diǎn)數(shù)目m、隱含層數(shù)目q,并給出各層權(quán)系數(shù)的初值[wij(0)]和 [wj′(0)],選定學(xué)習(xí)率[η]、慣性系數(shù)[α],初始時令k=1; 然后根據(jù)采樣得到r(k),y(k)值,計算k時刻的誤差值[e(k)=r(k)-y(k)];然后計算各層神經(jīng)元的輸入和輸出,輸出層的輸出即為PID控制器的三個可調(diào)參數(shù)——比例(KP)、積分(KI)、微分(KD);隨后計算控制器的輸出u(k),進(jìn)行神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),在線調(diào)整加權(quán)系數(shù)[wij(k)]和[wj′(k)],實(shí)現(xiàn)PID控制參數(shù)的自適應(yīng)調(diào)整;再置[k=k+1],返回到開始。
4數(shù)字仿真與結(jié)果分析
4.1PID神經(jīng)網(wǎng)絡(luò)權(quán)值初值選取
輸入層至隱含層的連接權(quán)重初值選取[12]:根據(jù)傳統(tǒng) PID 控制算法,選取其輸入到隱含層的連接權(quán)重的初值,從而完成由[(r,y)→e]映射功能,故設(shè)[w1j=1],[w2j=-1]。
圖6 算法流程圖
選取隱含至輸出層的連接權(quán)重初值:為使神經(jīng)網(wǎng)絡(luò)連接權(quán)重取初值的輸出等價于傳統(tǒng)PID控制器的輸出,可選?。篬w1′=KP,w2′=KI=KPTI,w3′=KD=KP·TD]。
由以上可以算出PID神經(jīng)網(wǎng)絡(luò)連接權(quán)值初值時,系統(tǒng)的總輸出為:
[x″(k)=KPe(k)+KPTIi=0ke(i)+KP·TD[e(k)-e(k-1)]] (27)
此時,PID神經(jīng)網(wǎng)絡(luò)控制器與傳統(tǒng)PID控制器兩者等價。在此基礎(chǔ)上,再通過在線訓(xùn)練、學(xué)習(xí),調(diào)整網(wǎng)絡(luò)連接權(quán)重值,就可以達(dá)到較優(yōu)化的控制效果。
4.2仿真結(jié)果與分析
利用飛機(jī)實(shí)時目標(biāo)高度均為航線目標(biāo)航點(diǎn)高度的控制策略方法進(jìn)行飛機(jī)三維航線跟蹤數(shù)字仿真。設(shè)置飛機(jī)規(guī)劃航線的9個航程點(diǎn)坐標(biāo)(0,0,0),(3 000,5 000,500),(3 000,8 000,500),(3 000,14 000,700),(10 000,14 000,700),(14 000,10 000,600),(14 000,4 000,600),(6 000,4 000,200),(6 000,12 000,200)。注意上升階段油門采用大車檔位,下滑和保持高度時采用巡航檔位。航點(diǎn)坐標(biāo)設(shè)置為(X,Z,Y),其中X代表水平橫坐標(biāo),Z代表水平縱坐標(biāo),Y代表高度坐標(biāo)。
運(yùn)行1 700 s,仿真得出的三維框圖如圖7所示。圖中實(shí)線代表飛機(jī)實(shí)際飛行航跡;虛線代表飛機(jī)規(guī)劃航線。仿真得出的高度航跡框圖如圖8所示。在圖8中可以看出飛機(jī)從第1個航點(diǎn)始終以最大的爬升角度進(jìn)行爬升,但是在達(dá)到第2個航程點(diǎn)時未達(dá)到500 m,未實(shí)現(xiàn)當(dāng)前高度航線的壓線跟蹤;然后飛機(jī)在第2個航點(diǎn)時以500 m為目標(biāo)高度進(jìn)行爬升,在達(dá)到第3個航程點(diǎn)前達(dá)到500 m,然后進(jìn)行高度保持直到到達(dá)第3個目標(biāo)點(diǎn);在這條高度上升航線上飛機(jī)前半段未能實(shí)現(xiàn)高度航線的壓線跟蹤;飛機(jī)從第3個航點(diǎn)開始接著進(jìn)行爬升,飛機(jī)的高度差徘徊在±10 m之間,在這條高度上升航線上,飛機(jī)實(shí)現(xiàn)了高度航線的壓線跟蹤;飛機(jī)以第5航點(diǎn)為新航線起開始進(jìn)行下降,飛機(jī)的高度差徘徊在±10 m之間,在這條高度下降航線上,飛機(jī)實(shí)現(xiàn)了高度航線的壓線跟蹤;在以第6航程點(diǎn)為起點(diǎn),第7航點(diǎn)為終點(diǎn)新航線的航線跟蹤時高度始終進(jìn)行保高控制,實(shí)現(xiàn)了高度航線的壓線跟蹤;飛機(jī)到達(dá)第7航程點(diǎn)后新航線高度差持續(xù)變大,飛機(jī)以最大下滑速度進(jìn)行下滑,當(dāng)?shù)竭_(dá)水平目標(biāo)點(diǎn)時飛機(jī)未能下降到200 m,飛機(jī)未能實(shí)現(xiàn)高度壓線跟蹤;當(dāng)?shù)竭_(dá)第8個航程點(diǎn)時飛機(jī)高度仍高于200 m,因此新航線以第9航點(diǎn)規(guī)劃高度為目標(biāo)繼續(xù)下滑,直到達(dá)到200 m并進(jìn)行高度保持;飛機(jī)到達(dá)第9個航程點(diǎn)時飛機(jī)進(jìn)行大圓盤旋,飛機(jī)高度進(jìn)行高度保持控制。
圖7 飛機(jī)航跡三維框圖
由對比可知PID神經(jīng)網(wǎng)絡(luò)控制比傳統(tǒng)PID控制好:在圖7(b)和圖8(b)中,看到實(shí)際曲線與航程點(diǎn)連線有明顯的穩(wěn)態(tài)誤差,即傳統(tǒng)PID不能較好地控制飛機(jī)壓航線飛行,經(jīng)過PID神經(jīng)網(wǎng)絡(luò)控制,穩(wěn)態(tài)誤差消除,且系統(tǒng)的收斂速度也有較大的提高。故采用這種高度航跡控制方法的性能比常規(guī)PID控制器有,明顯改善,響應(yīng)快,超調(diào)小,穩(wěn)態(tài)精度高,能夠滿足無人機(jī)三維航跡控制的飛行要求。
圖8 高度曲線仿真曲線
參考文獻(xiàn)
[1] 朱紀(jì)洪,夏云程,郭鎖鳳.基于 GPS 某無人飛機(jī)的導(dǎo)航與制導(dǎo)算法[J].彈道學(xué)報,1998,10(1):24?29.
[2] 駱訓(xùn)紀(jì),朱紀(jì)洪,孫增圻.無人機(jī)航跡系統(tǒng)研究[J].測控技術(shù), 2002,21(11):47?48.
[3] 嚴(yán)晞雋,高金源,屠巴寧.小型無人機(jī)水平導(dǎo)航控制研究[J].飛行力學(xué),2000,12(4):24?27.
[4] LI Y, SUNDARARAJAN N, SARATCHANDRAN P. Stable neuro?flight?controller using fully tuned radial basis function neural networks [J]. Journal of Guidance, Control, and Dynamics, 2001, 24(4): 665?674.
[5] 郭前崗,舒懷林.一種新型神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) PID控制器及其仿真研究[J].電氣傳動自動化,1999,21(2):29?32.
[6] 舒懷林.PID神經(jīng)元網(wǎng)絡(luò)及其控制系統(tǒng)[M].北京:國防工業(yè)出版社,2006.
[7] 許宗飛,袁冬莉,劉小俊,等.小型無人機(jī)三維導(dǎo)航控制研究[J].計算機(jī)測量與控制,2010,18(4):827?829.
[8] 李艷,周旗.小型無人機(jī)GPS/航程推算組合導(dǎo)航系統(tǒng)研究[J]. 西北工業(yè)大學(xué)學(xué)報,1993,11(4):419?423.
[9] YU Z, XIE Y B, JING Y Y, et al. Applying neural networks to PID controllers for time?delay systems [C]// 2006 International Conference on Machine Learning and Cybernetics. [S.l.]: IEEE, 2006: 3173?3176.
[10] YONGQUAN Y, YING H, BI Z. A PID neural network controller [C]// Proceedings of the International Joint Conference on Neural Networks. [S.l.]: IEEE, 2003, 3: 1933?1938.
[11] 沈永俊,顧幸生.基于 PID 神經(jīng)網(wǎng)絡(luò)的非線性系統(tǒng)辨識與控制[J].華東理工大學(xué)學(xué)報:自然科學(xué)版,2006,32(7):860?863.
[12] 黃小安,艾劍良,羅昌行.基于 PID 神經(jīng)網(wǎng)絡(luò)控制器的飛控系統(tǒng)設(shè)計[J].微計算機(jī)信息,2008,24(22):10?12.
4數(shù)字仿真與結(jié)果分析
4.1PID神經(jīng)網(wǎng)絡(luò)權(quán)值初值選取
輸入層至隱含層的連接權(quán)重初值選取[12]:根據(jù)傳統(tǒng) PID 控制算法,選取其輸入到隱含層的連接權(quán)重的初值,從而完成由[(r,y)→e]映射功能,故設(shè)[w1j=1],[w2j=-1]。
圖6 算法流程圖
選取隱含至輸出層的連接權(quán)重初值:為使神經(jīng)網(wǎng)絡(luò)連接權(quán)重取初值的輸出等價于傳統(tǒng)PID控制器的輸出,可選?。篬w1′=KP,w2′=KI=KPTI,w3′=KD=KP·TD]。
由以上可以算出PID神經(jīng)網(wǎng)絡(luò)連接權(quán)值初值時,系統(tǒng)的總輸出為:
[x″(k)=KPe(k)+KPTIi=0ke(i)+KP·TD[e(k)-e(k-1)]] (27)
此時,PID神經(jīng)網(wǎng)絡(luò)控制器與傳統(tǒng)PID控制器兩者等價。在此基礎(chǔ)上,再通過在線訓(xùn)練、學(xué)習(xí),調(diào)整網(wǎng)絡(luò)連接權(quán)重值,就可以達(dá)到較優(yōu)化的控制效果。
4.2仿真結(jié)果與分析
利用飛機(jī)實(shí)時目標(biāo)高度均為航線目標(biāo)航點(diǎn)高度的控制策略方法進(jìn)行飛機(jī)三維航線跟蹤數(shù)字仿真。設(shè)置飛機(jī)規(guī)劃航線的9個航程點(diǎn)坐標(biāo)(0,0,0),(3 000,5 000,500),(3 000,8 000,500),(3 000,14 000,700),(10 000,14 000,700),(14 000,10 000,600),(14 000,4 000,600),(6 000,4 000,200),(6 000,12 000,200)。注意上升階段油門采用大車檔位,下滑和保持高度時采用巡航檔位。航點(diǎn)坐標(biāo)設(shè)置為(X,Z,Y),其中X代表水平橫坐標(biāo),Z代表水平縱坐標(biāo),Y代表高度坐標(biāo)。
運(yùn)行1 700 s,仿真得出的三維框圖如圖7所示。圖中實(shí)線代表飛機(jī)實(shí)際飛行航跡;虛線代表飛機(jī)規(guī)劃航線。仿真得出的高度航跡框圖如圖8所示。在圖8中可以看出飛機(jī)從第1個航點(diǎn)始終以最大的爬升角度進(jìn)行爬升,但是在達(dá)到第2個航程點(diǎn)時未達(dá)到500 m,未實(shí)現(xiàn)當(dāng)前高度航線的壓線跟蹤;然后飛機(jī)在第2個航點(diǎn)時以500 m為目標(biāo)高度進(jìn)行爬升,在達(dá)到第3個航程點(diǎn)前達(dá)到500 m,然后進(jìn)行高度保持直到到達(dá)第3個目標(biāo)點(diǎn);在這條高度上升航線上飛機(jī)前半段未能實(shí)現(xiàn)高度航線的壓線跟蹤;飛機(jī)從第3個航點(diǎn)開始接著進(jìn)行爬升,飛機(jī)的高度差徘徊在±10 m之間,在這條高度上升航線上,飛機(jī)實(shí)現(xiàn)了高度航線的壓線跟蹤;飛機(jī)以第5航點(diǎn)為新航線起開始進(jìn)行下降,飛機(jī)的高度差徘徊在±10 m之間,在這條高度下降航線上,飛機(jī)實(shí)現(xiàn)了高度航線的壓線跟蹤;在以第6航程點(diǎn)為起點(diǎn),第7航點(diǎn)為終點(diǎn)新航線的航線跟蹤時高度始終進(jìn)行保高控制,實(shí)現(xiàn)了高度航線的壓線跟蹤;飛機(jī)到達(dá)第7航程點(diǎn)后新航線高度差持續(xù)變大,飛機(jī)以最大下滑速度進(jìn)行下滑,當(dāng)?shù)竭_(dá)水平目標(biāo)點(diǎn)時飛機(jī)未能下降到200 m,飛機(jī)未能實(shí)現(xiàn)高度壓線跟蹤;當(dāng)?shù)竭_(dá)第8個航程點(diǎn)時飛機(jī)高度仍高于200 m,因此新航線以第9航點(diǎn)規(guī)劃高度為目標(biāo)繼續(xù)下滑,直到達(dá)到200 m并進(jìn)行高度保持;飛機(jī)到達(dá)第9個航程點(diǎn)時飛機(jī)進(jìn)行大圓盤旋,飛機(jī)高度進(jìn)行高度保持控制。
圖7 飛機(jī)航跡三維框圖
由對比可知PID神經(jīng)網(wǎng)絡(luò)控制比傳統(tǒng)PID控制好:在圖7(b)和圖8(b)中,看到實(shí)際曲線與航程點(diǎn)連線有明顯的穩(wěn)態(tài)誤差,即傳統(tǒng)PID不能較好地控制飛機(jī)壓航線飛行,經(jīng)過PID神經(jīng)網(wǎng)絡(luò)控制,穩(wěn)態(tài)誤差消除,且系統(tǒng)的收斂速度也有較大的提高。故采用這種高度航跡控制方法的性能比常規(guī)PID控制器有,明顯改善,響應(yīng)快,超調(diào)小,穩(wěn)態(tài)精度高,能夠滿足無人機(jī)三維航跡控制的飛行要求。
圖8 高度曲線仿真曲線
參考文獻(xiàn)
[1] 朱紀(jì)洪,夏云程,郭鎖鳳.基于 GPS 某無人飛機(jī)的導(dǎo)航與制導(dǎo)算法[J].彈道學(xué)報,1998,10(1):24?29.
[2] 駱訓(xùn)紀(jì),朱紀(jì)洪,孫增圻.無人機(jī)航跡系統(tǒng)研究[J].測控技術(shù), 2002,21(11):47?48.
[3] 嚴(yán)晞雋,高金源,屠巴寧.小型無人機(jī)水平導(dǎo)航控制研究[J].飛行力學(xué),2000,12(4):24?27.
[4] LI Y, SUNDARARAJAN N, SARATCHANDRAN P. Stable neuro?flight?controller using fully tuned radial basis function neural networks [J]. Journal of Guidance, Control, and Dynamics, 2001, 24(4): 665?674.
[5] 郭前崗,舒懷林.一種新型神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) PID控制器及其仿真研究[J].電氣傳動自動化,1999,21(2):29?32.
[6] 舒懷林.PID神經(jīng)元網(wǎng)絡(luò)及其控制系統(tǒng)[M].北京:國防工業(yè)出版社,2006.
[7] 許宗飛,袁冬莉,劉小俊,等.小型無人機(jī)三維導(dǎo)航控制研究[J].計算機(jī)測量與控制,2010,18(4):827?829.
[8] 李艷,周旗.小型無人機(jī)GPS/航程推算組合導(dǎo)航系統(tǒng)研究[J]. 西北工業(yè)大學(xué)學(xué)報,1993,11(4):419?423.
[9] YU Z, XIE Y B, JING Y Y, et al. Applying neural networks to PID controllers for time?delay systems [C]// 2006 International Conference on Machine Learning and Cybernetics. [S.l.]: IEEE, 2006: 3173?3176.
[10] YONGQUAN Y, YING H, BI Z. A PID neural network controller [C]// Proceedings of the International Joint Conference on Neural Networks. [S.l.]: IEEE, 2003, 3: 1933?1938.
[11] 沈永俊,顧幸生.基于 PID 神經(jīng)網(wǎng)絡(luò)的非線性系統(tǒng)辨識與控制[J].華東理工大學(xué)學(xué)報:自然科學(xué)版,2006,32(7):860?863.
[12] 黃小安,艾劍良,羅昌行.基于 PID 神經(jīng)網(wǎng)絡(luò)控制器的飛控系統(tǒng)設(shè)計[J].微計算機(jī)信息,2008,24(22):10?12.
4數(shù)字仿真與結(jié)果分析
4.1PID神經(jīng)網(wǎng)絡(luò)權(quán)值初值選取
輸入層至隱含層的連接權(quán)重初值選取[12]:根據(jù)傳統(tǒng) PID 控制算法,選取其輸入到隱含層的連接權(quán)重的初值,從而完成由[(r,y)→e]映射功能,故設(shè)[w1j=1],[w2j=-1]。
圖6 算法流程圖
選取隱含至輸出層的連接權(quán)重初值:為使神經(jīng)網(wǎng)絡(luò)連接權(quán)重取初值的輸出等價于傳統(tǒng)PID控制器的輸出,可選?。篬w1′=KP,w2′=KI=KPTI,w3′=KD=KP·TD]。
由以上可以算出PID神經(jīng)網(wǎng)絡(luò)連接權(quán)值初值時,系統(tǒng)的總輸出為:
[x″(k)=KPe(k)+KPTIi=0ke(i)+KP·TD[e(k)-e(k-1)]] (27)
此時,PID神經(jīng)網(wǎng)絡(luò)控制器與傳統(tǒng)PID控制器兩者等價。在此基礎(chǔ)上,再通過在線訓(xùn)練、學(xué)習(xí),調(diào)整網(wǎng)絡(luò)連接權(quán)重值,就可以達(dá)到較優(yōu)化的控制效果。
4.2仿真結(jié)果與分析
利用飛機(jī)實(shí)時目標(biāo)高度均為航線目標(biāo)航點(diǎn)高度的控制策略方法進(jìn)行飛機(jī)三維航線跟蹤數(shù)字仿真。設(shè)置飛機(jī)規(guī)劃航線的9個航程點(diǎn)坐標(biāo)(0,0,0),(3 000,5 000,500),(3 000,8 000,500),(3 000,14 000,700),(10 000,14 000,700),(14 000,10 000,600),(14 000,4 000,600),(6 000,4 000,200),(6 000,12 000,200)。注意上升階段油門采用大車檔位,下滑和保持高度時采用巡航檔位。航點(diǎn)坐標(biāo)設(shè)置為(X,Z,Y),其中X代表水平橫坐標(biāo),Z代表水平縱坐標(biāo),Y代表高度坐標(biāo)。
運(yùn)行1 700 s,仿真得出的三維框圖如圖7所示。圖中實(shí)線代表飛機(jī)實(shí)際飛行航跡;虛線代表飛機(jī)規(guī)劃航線。仿真得出的高度航跡框圖如圖8所示。在圖8中可以看出飛機(jī)從第1個航點(diǎn)始終以最大的爬升角度進(jìn)行爬升,但是在達(dá)到第2個航程點(diǎn)時未達(dá)到500 m,未實(shí)現(xiàn)當(dāng)前高度航線的壓線跟蹤;然后飛機(jī)在第2個航點(diǎn)時以500 m為目標(biāo)高度進(jìn)行爬升,在達(dá)到第3個航程點(diǎn)前達(dá)到500 m,然后進(jìn)行高度保持直到到達(dá)第3個目標(biāo)點(diǎn);在這條高度上升航線上飛機(jī)前半段未能實(shí)現(xiàn)高度航線的壓線跟蹤;飛機(jī)從第3個航點(diǎn)開始接著進(jìn)行爬升,飛機(jī)的高度差徘徊在±10 m之間,在這條高度上升航線上,飛機(jī)實(shí)現(xiàn)了高度航線的壓線跟蹤;飛機(jī)以第5航點(diǎn)為新航線起開始進(jìn)行下降,飛機(jī)的高度差徘徊在±10 m之間,在這條高度下降航線上,飛機(jī)實(shí)現(xiàn)了高度航線的壓線跟蹤;在以第6航程點(diǎn)為起點(diǎn),第7航點(diǎn)為終點(diǎn)新航線的航線跟蹤時高度始終進(jìn)行保高控制,實(shí)現(xiàn)了高度航線的壓線跟蹤;飛機(jī)到達(dá)第7航程點(diǎn)后新航線高度差持續(xù)變大,飛機(jī)以最大下滑速度進(jìn)行下滑,當(dāng)?shù)竭_(dá)水平目標(biāo)點(diǎn)時飛機(jī)未能下降到200 m,飛機(jī)未能實(shí)現(xiàn)高度壓線跟蹤;當(dāng)?shù)竭_(dá)第8個航程點(diǎn)時飛機(jī)高度仍高于200 m,因此新航線以第9航點(diǎn)規(guī)劃高度為目標(biāo)繼續(xù)下滑,直到達(dá)到200 m并進(jìn)行高度保持;飛機(jī)到達(dá)第9個航程點(diǎn)時飛機(jī)進(jìn)行大圓盤旋,飛機(jī)高度進(jìn)行高度保持控制。
圖7 飛機(jī)航跡三維框圖
由對比可知PID神經(jīng)網(wǎng)絡(luò)控制比傳統(tǒng)PID控制好:在圖7(b)和圖8(b)中,看到實(shí)際曲線與航程點(diǎn)連線有明顯的穩(wěn)態(tài)誤差,即傳統(tǒng)PID不能較好地控制飛機(jī)壓航線飛行,經(jīng)過PID神經(jīng)網(wǎng)絡(luò)控制,穩(wěn)態(tài)誤差消除,且系統(tǒng)的收斂速度也有較大的提高。故采用這種高度航跡控制方法的性能比常規(guī)PID控制器有,明顯改善,響應(yīng)快,超調(diào)小,穩(wěn)態(tài)精度高,能夠滿足無人機(jī)三維航跡控制的飛行要求。
圖8 高度曲線仿真曲線
參考文獻(xiàn)
[1] 朱紀(jì)洪,夏云程,郭鎖鳳.基于 GPS 某無人飛機(jī)的導(dǎo)航與制導(dǎo)算法[J].彈道學(xué)報,1998,10(1):24?29.
[2] 駱訓(xùn)紀(jì),朱紀(jì)洪,孫增圻.無人機(jī)航跡系統(tǒng)研究[J].測控技術(shù), 2002,21(11):47?48.
[3] 嚴(yán)晞雋,高金源,屠巴寧.小型無人機(jī)水平導(dǎo)航控制研究[J].飛行力學(xué),2000,12(4):24?27.
[4] LI Y, SUNDARARAJAN N, SARATCHANDRAN P. Stable neuro?flight?controller using fully tuned radial basis function neural networks [J]. Journal of Guidance, Control, and Dynamics, 2001, 24(4): 665?674.
[5] 郭前崗,舒懷林.一種新型神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) PID控制器及其仿真研究[J].電氣傳動自動化,1999,21(2):29?32.
[6] 舒懷林.PID神經(jīng)元網(wǎng)絡(luò)及其控制系統(tǒng)[M].北京:國防工業(yè)出版社,2006.
[7] 許宗飛,袁冬莉,劉小俊,等.小型無人機(jī)三維導(dǎo)航控制研究[J].計算機(jī)測量與控制,2010,18(4):827?829.
[8] 李艷,周旗.小型無人機(jī)GPS/航程推算組合導(dǎo)航系統(tǒng)研究[J]. 西北工業(yè)大學(xué)學(xué)報,1993,11(4):419?423.
[9] YU Z, XIE Y B, JING Y Y, et al. Applying neural networks to PID controllers for time?delay systems [C]// 2006 International Conference on Machine Learning and Cybernetics. [S.l.]: IEEE, 2006: 3173?3176.
[10] YONGQUAN Y, YING H, BI Z. A PID neural network controller [C]// Proceedings of the International Joint Conference on Neural Networks. [S.l.]: IEEE, 2003, 3: 1933?1938.
[11] 沈永俊,顧幸生.基于 PID 神經(jīng)網(wǎng)絡(luò)的非線性系統(tǒng)辨識與控制[J].華東理工大學(xué)學(xué)報:自然科學(xué)版,2006,32(7):860?863.
[12] 黃小安,艾劍良,羅昌行.基于 PID 神經(jīng)網(wǎng)絡(luò)控制器的飛控系統(tǒng)設(shè)計[J].微計算機(jī)信息,2008,24(22):10?12.