翟小晶,馬大為,樂(lè)貴高,孫 德
(南京理工大學(xué)機(jī)械工程學(xué)院,南京 210094)
某防空多管火箭炮發(fā)射架由方位和俯仰伺服系統(tǒng)組成,發(fā)射架的控制精度對(duì)火箭炮的打擊精度有著重要的影響。傳統(tǒng)PID控制器缺點(diǎn)是參數(shù)固定難以在存在非線(xiàn)性的系統(tǒng)下獲得良好的動(dòng)靜態(tài)特性。文獻(xiàn)[1]提出采用模糊控制器,但是其缺點(diǎn)是因模糊控制器缺少積分作用會(huì)出現(xiàn)穩(wěn)態(tài)誤差,且單純使用模糊控制器應(yīng)用于一個(gè)高精度的位置伺服系統(tǒng),往往會(huì)出現(xiàn)系統(tǒng)的動(dòng)態(tài)特性難以被精確控制的問(wèn)題;文獻(xiàn)[2]提出采用滑??刂破魈岣呦到y(tǒng)對(duì)參數(shù)時(shí)變、外部干擾的抵抗力,增強(qiáng)系統(tǒng)的魯棒性,但是滑??刂破魅秉c(diǎn)是其開(kāi)關(guān)特性使系統(tǒng)存在“抖動(dòng)”的缺點(diǎn),難以直接在實(shí)際系統(tǒng)中應(yīng)用。文中利用神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的自學(xué)習(xí)、自適應(yīng)和非線(xiàn)性系統(tǒng)逼近能力的優(yōu)點(diǎn),將其與PID控制器結(jié)合,動(dòng)態(tài)的改變PID控制器參數(shù)以提高控制器的自適應(yīng)能力[3-4]。
文中利用Matlab軟件完成了神經(jīng)網(wǎng)絡(luò)的離線(xiàn)訓(xùn)練,鑒于神經(jīng)網(wǎng)絡(luò)運(yùn)算量大難以滿(mǎn)足實(shí)時(shí)性運(yùn)算的缺點(diǎn)對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行了適當(dāng)?shù)暮?jiǎn)化,通過(guò)TI公司的TMS320F2812型DSP處理器實(shí)現(xiàn)了樣機(jī)的在線(xiàn)控制。多管火箭炮發(fā)射架交流伺服系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖如圖1所示。
神經(jīng)網(wǎng)絡(luò)是對(duì)人腦結(jié)構(gòu)的模擬,已經(jīng)證明三層前饋神經(jīng)網(wǎng)絡(luò)可以以任意精度逼近非線(xiàn)性系統(tǒng)。徑向基神經(jīng)網(wǎng)絡(luò)(RBF)是一種隱節(jié)點(diǎn)采用徑向基函數(shù)包含輸入層、隱層、輸出層的三層前饋神經(jīng)網(wǎng)絡(luò),其徑向基函數(shù)神經(jīng)元的活躍程度與輸入距神經(jīng)元的距離成反比,從而使整個(gè)RBF網(wǎng)絡(luò)呈現(xiàn)局部特性。這使得對(duì)應(yīng)于每個(gè)輸入只需要調(diào)整幾個(gè)相關(guān)的網(wǎng)絡(luò)權(quán)值,從而使整個(gè)網(wǎng)絡(luò)具有較快的收斂能力。RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖1 火箭炮發(fā)射架交流伺服系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖
圖2 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
隱節(jié)點(diǎn)輸出為:
網(wǎng)絡(luò)輸出為:
其中,Cj= [cj1,…,cji,…,cjn]T為網(wǎng)絡(luò)的中心矢量,i=1,2…,n;B= [b1,…,bm]T為網(wǎng)絡(luò)的基寬常量;W= [w1,w2,…,wj,…,wm]T為網(wǎng)絡(luò)的權(quán)值。
文中設(shè)計(jì)的PID控制器采用RBF神經(jīng)網(wǎng)絡(luò)來(lái)辨識(shí)被控系統(tǒng)以實(shí)時(shí)調(diào)節(jié)PID控制器的參數(shù),其結(jié)構(gòu)簡(jiǎn)圖如圖3所示。
圖3 火箭炮發(fā)射架位置控制器簡(jiǎn)圖
其中:PLANT為伺服驅(qū)動(dòng)器、永磁交流伺服電動(dòng)機(jī)與減速器。
系統(tǒng)的給定信號(hào)為系統(tǒng)輸入與系統(tǒng)輸出之差,即:e(t)=r(t)-y(t)。
則控制器輸出為:
其中:
xc(1)=e(t)是系統(tǒng)的跟蹤誤差;
xc(3)=∫e(t)是系統(tǒng)跟蹤誤差對(duì)時(shí)間的積分。
取神經(jīng)網(wǎng)絡(luò)的整定指標(biāo):
kp、kd、ki的調(diào)整采用梯度下降法:
其中:
式中:α、β、γ 為 △kp、△kd、△ki的調(diào)節(jié)參數(shù),δy/δu 通過(guò)神經(jīng)網(wǎng)絡(luò)NNI辨識(shí)。文中取α = -1.7,β = -0.001,γ = - 0.002。
當(dāng)PID控制器控制參數(shù)取較大值時(shí)容易引起系統(tǒng)的振蕩,故取:
8 ≤ kp≤15;0.15 ≤ kd≤0.25;0.01 ≤ki≤0.015
神經(jīng)網(wǎng)絡(luò)辨識(shí)器是利用上一時(shí)刻的輸入輸出來(lái)辨識(shí)被控系統(tǒng)當(dāng)前時(shí)刻的輸出,取網(wǎng)絡(luò)輸入輸出向量:X= [u_1,y_1]
Y=y其中,u_1,y_1為上一時(shí)刻速度環(huán)電壓輸入值、系統(tǒng)輸出;y為當(dāng)前時(shí)刻系統(tǒng)輸出。上述離線(xiàn)樣本是在單純PID控制器作用時(shí)由CCS軟件采集,系統(tǒng)離線(xiàn)訓(xùn)練的過(guò)程由Matlab軟件完成。
神經(jīng)網(wǎng)絡(luò)的層數(shù)、神經(jīng)元個(gè)數(shù)及位置對(duì)網(wǎng)絡(luò)的性能有著重要的影響,傳統(tǒng)的離線(xiàn)訓(xùn)練算法包括梯度下降法、聚類(lèi)算法等都存在著網(wǎng)絡(luò)的層數(shù)和個(gè)數(shù)事先經(jīng)人為確定就不能改變的缺點(diǎn),文中采用改進(jìn)的動(dòng)態(tài)資源分配網(wǎng)絡(luò)算法,其能夠自動(dòng)增減網(wǎng)絡(luò)隱節(jié)點(diǎn)的個(gè)數(shù)。設(shè)離線(xiàn)樣本為[A,B],算法如下[5]:
1)網(wǎng)絡(luò)的初始隱節(jié)點(diǎn)為第一個(gè)樣本點(diǎn),取網(wǎng)絡(luò)分辨率 α =αmax。
2)計(jì)算誤差‖Ei‖ =‖yi-f(Ai)‖,其中yi為系統(tǒng)采樣的輸出值,f(Ai)為網(wǎng)絡(luò)輸出。同時(shí),計(jì)算樣本與已存在隱節(jié)點(diǎn)的最小距離:
3)計(jì)算新輸入樣本點(diǎn)是否滿(mǎn)足誤差準(zhǔn)則和距離準(zhǔn)則,即‖E‖ >ε和d>αi(ε為網(wǎng)絡(luò)期望精度,αi=max(αmaxλi,αmin),αi為網(wǎng)絡(luò)在第i個(gè)輸入時(shí)要求的擬合精度,0<λ<1,即隨著輸入樣本的增加希望網(wǎng)絡(luò)的擬合精度越來(lái)越高),如滿(mǎn)足則分配新的隱節(jié)點(diǎn),其新增加隱節(jié)點(diǎn)參數(shù)為:
否則直接使用梯度下降法調(diào)節(jié)網(wǎng)絡(luò)的權(quán)值、中心點(diǎn)及擴(kuò)展常數(shù)。
5)重新輸入一個(gè)新樣本,轉(zhuǎn)到步驟2)。
神經(jīng)網(wǎng)絡(luò)在線(xiàn)訓(xùn)練的目的是為了增強(qiáng)網(wǎng)絡(luò)的自適應(yīng)性,彌補(bǔ)離線(xiàn)訓(xùn)練過(guò)程中由于樣本不完整性及離線(xiàn)訓(xùn)練算法選擇不當(dāng)帶來(lái)的缺點(diǎn),文中選用梯度下降法來(lái)在線(xiàn)調(diào)整神經(jīng)網(wǎng)絡(luò)的參數(shù)。
定義神經(jīng)網(wǎng)絡(luò)性能指標(biāo)函數(shù):
可得到輸出權(quán)值、節(jié)點(diǎn)基寬參數(shù)及節(jié)點(diǎn)中心矢量的迭代算法如下:
式中:η為學(xué)習(xí)速率,α為動(dòng)量因子。
雖然RBF神經(jīng)網(wǎng)絡(luò)相比較其它網(wǎng)絡(luò)具有結(jié)構(gòu)簡(jiǎn)單、計(jì)算量小的優(yōu)點(diǎn),但隱含層層數(shù)、隱節(jié)點(diǎn)個(gè)數(shù)增加均會(huì)造成運(yùn)算量成倍增加,如直接進(jìn)行運(yùn)算處理,處理器的處理速度達(dá)不到實(shí)時(shí)控制的要求[6]。
DSP處理器的優(yōu)點(diǎn)是采用了流水線(xiàn)乘加運(yùn)算技術(shù),每個(gè)指令周期都能夠操作多個(gè)乘加指令,因此將神經(jīng)網(wǎng)絡(luò)復(fù)雜的邏輯運(yùn)算轉(zhuǎn)換為乘加運(yùn)算指令,是解決神經(jīng)網(wǎng)絡(luò)因運(yùn)算量大不能滿(mǎn)足實(shí)時(shí)性要求的有效途徑。
Iq mathLibrary是TI公司經(jīng)過(guò)優(yōu)化的,能夠在定點(diǎn)DSPTMS320C28XX上實(shí)現(xiàn)精確浮點(diǎn)運(yùn)算的數(shù)學(xué)庫(kù)函數(shù),使用這些庫(kù)函數(shù)可以明顯提高運(yùn)算的速度,而且可以得到更高的精度。
Iq math Library中,命令_IQN(x)意思是將x轉(zhuǎn)換為具有2-N精度的浮點(diǎn)型常量;命令_IQNtoF(x)意思是將_IQ格式數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)型數(shù)據(jù);_IQNmpy(_iqN A,_iqN B)是以2-N為精度進(jìn)行乘法運(yùn)算。以下例為例實(shí)現(xiàn)浮點(diǎn)型乘法運(yùn)算:C=A×B;
Float A B C//定義浮點(diǎn)型變量
A_iq=_IQ29(A);B_iq=_IQ29(B);//將浮點(diǎn)型變量轉(zhuǎn)化為_(kāi)iq型變量
C_iq=_IQ29mpy(A_iq,B_iq);//乘法運(yùn)算
C=_IQ29toF(C_iq);//將_iq型變量轉(zhuǎn)化為浮點(diǎn)型變量
RBF神經(jīng)網(wǎng)絡(luò)隱節(jié)點(diǎn)中采用的函數(shù)是高斯函數(shù),隱層輸出是e的非正整數(shù)冪的乘加運(yùn)算,如果直接采用Iq math庫(kù)中的POW()函數(shù)進(jìn)行運(yùn)算,其運(yùn)算周期較長(zhǎng),不能滿(mǎn)足實(shí)時(shí)性的要求,可以通過(guò)泰勒公式將其展開(kāi):
所取的項(xiàng)數(shù)根據(jù)要求的運(yùn)算精度來(lái)進(jìn)行確定,而歐幾里得泛數(shù)和冪運(yùn)算可以由乘法運(yùn)算來(lái)進(jìn)行替代,采用乘加運(yùn)算可以大幅提高運(yùn)算速度。
以方位伺服系統(tǒng)為例,方位方向減速器減速比為1/192,方位電機(jī)參數(shù)為:折算到電機(jī)輸出軸的轉(zhuǎn)動(dòng)慣量:J=8.625 × 10-3kg·m2;燃?xì)饬鳑_擊力矩及未建模動(dòng)態(tài)干擾為:T=10N·m;定子電阻R=2.6Ω;繞組電感:Ld=Lq=50 ×10-3H;額定電流Ie=6.4A;容許最大電流Imax=12.8A;磁極對(duì)數(shù)Pn=4;電磁轉(zhuǎn)矩系數(shù) kc=1.11N·m/A;阻尼系數(shù)B=1.43 ×10-4N·m·s;電機(jī)額定轉(zhuǎn)速:n=2000r/min,采樣時(shí)間間隔t=20ms。
取階躍信號(hào)輸入值:r(t)=60;
正弦輸入信號(hào)為:r(t)=75sin(0.7136t);
可得實(shí)驗(yàn)跟蹤誤差曲線(xiàn)如圖4所示。
由圖4、圖5知,采用神經(jīng)網(wǎng)絡(luò)PID控制器可以有效的提高系統(tǒng)的響應(yīng)速度,增強(qiáng)系統(tǒng)的抗負(fù)載能力;由圖6、圖7知系統(tǒng)在穩(wěn)態(tài)跟蹤時(shí)由于控制器的參數(shù)可以動(dòng)態(tài)的改變,可以有效的提高系統(tǒng)的跟蹤速度。
圖4 PID控制器滿(mǎn)載階躍誤差曲線(xiàn)
圖5 復(fù)合控制器滿(mǎn)載階躍誤差曲線(xiàn)
圖6 PID控制器滿(mǎn)載正弦跟蹤誤差曲線(xiàn)
傳統(tǒng)PID控制器難以滿(mǎn)足多管火箭炮在跟蹤精度、響應(yīng)速度及抗負(fù)載能力方面的要求,文中利用神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)、自適應(yīng)能力將其與PID控制器相結(jié)合彌補(bǔ)了PID控制器因參數(shù)固定帶來(lái)的缺點(diǎn),并通過(guò)簡(jiǎn)化神經(jīng)網(wǎng)絡(luò)將其成功的應(yīng)用于DSP數(shù)字信號(hào)處理器。實(shí)驗(yàn)結(jié)果表明此控制器相較于單純PID控制器可以有效的提高系統(tǒng)的動(dòng)態(tài)性能。
[1]張蔚.模糊神經(jīng)控制算法在永磁同步電機(jī)控制中的應(yīng)用研究[D].武漢:武漢理工大學(xué),2004.
[2]郭亞軍,馬大為,王曉鋒,等.反演控制在交流位置伺服系統(tǒng)中的應(yīng)用[J].機(jī)床與液壓,2011(1):74-76.
[3]文廣,趙丁選,倪濤.新型力覺(jué)徑向基神經(jīng)網(wǎng)絡(luò)整定PD控制算法研究[J].西安科技大學(xué)學(xué)報(bào),2009,26(3):421-425.
[4]孫德,樂(lè)貴高,莊文許.火箭炮位置伺服系統(tǒng)的復(fù)合PID控制[J].彈箭與制導(dǎo)學(xué)報(bào),2012,32(1):215-218.
[5]魏海坤.神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)的理論與方法[M].北京:國(guó)防工業(yè)出版社,2005.
[6]胡健,馬大為,郭亞軍,等.基于DSP的防空火箭炮模糊神經(jīng)網(wǎng)絡(luò)位置控制器設(shè)計(jì)[J].測(cè)控技術(shù),2010,29(9):35-39.