魏健雄 萬(wàn)舟
摘要:為解決全墊升氣墊船受風(fēng)和慣性力影響較大,容易產(chǎn)生側(cè)漂,其轉(zhuǎn)艏角速度較常規(guī)船舶難于控制的問(wèn)題,建立了全墊升氣墊船的平面運(yùn)動(dòng)模型。設(shè)計(jì)了神經(jīng)網(wǎng)絡(luò)PID控制器,利用BP神經(jīng)網(wǎng)絡(luò)具有的任意非線(xiàn)性表達(dá)能力,通過(guò)對(duì)系統(tǒng)性能的學(xué)習(xí),實(shí)現(xiàn)具有最佳組合的PID控制。對(duì)氣墊船的轉(zhuǎn)艏角速度控制進(jìn)行仿真,并與常規(guī)PID控制效果進(jìn)行對(duì)比,結(jié)果表明,在全墊升氣墊船受風(fēng)力干擾的情況下,神經(jīng)網(wǎng)絡(luò)PID控制器相比常規(guī)PID控制器在克服風(fēng)力干擾方面控制效果更好。
關(guān)鍵詞關(guān)鍵詞:全墊升氣墊船;轉(zhuǎn)艏角速度;神經(jīng)網(wǎng)絡(luò);風(fēng)力干擾
DOIDOI:10.11907/rjdk.172512
中圖分類(lèi)號(hào):TP301
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2018)003001805
英文摘要Abstract:For solving the problem that the air cushion vehicle is easy to be affected by wind and inertia force, and it is easy to have large side drift, so the keeping of its angular velocity is difficult to control. In order to improve the heading maneuver of Air Cushion Vehicle, the Yawing Angular Velocity Keeping Control must be used frequently, established the air cushion vehicle motion model, and the design of PIDneural network controller based on BP neural network with arbitrary nonlinear expression ability, the system can achieve the best combination of learning. The control of the angular velocity of air cushion vehicle is simulated by the model, and the results are compared with those of the conventional PID control.The simulation results show that the air cushion vehicle in the case of wind disturbance, PIDneural network controller of the yawing angular velocity control, control effect in overcoming the wind disturbance compared with the conventional PID controller has better effect.
英文關(guān)鍵詞Key Words:air cushion vehicle; yawing angular velocity; neural network; wind disturbance
0引言
氣墊船是一種高性能船舶,其結(jié)構(gòu)與其它船舶有很大不同,它由氣墊壓力承擔(dān)船體重量,采用空氣螺旋槳推進(jìn),具有水陸兩棲能力,可在草地、沼澤地帶、多石灘河面、淺水和冰雪海面航行,在軍用和民用領(lǐng)域應(yīng)用廣泛。全墊升氣墊船沒(méi)有常規(guī)排水船的水下螺旋槳、舵等水下器件,不能通過(guò)水下器件產(chǎn)生回轉(zhuǎn)向心力,而是通過(guò)空氣舵產(chǎn)生回轉(zhuǎn)力。全墊升氣墊船在回轉(zhuǎn)運(yùn)動(dòng)中,由于側(cè)向水阻力很小,而且航速高,很容易受風(fēng)和慣性力影響,其轉(zhuǎn)艏角速度很難保持在相對(duì)穩(wěn)定的水平,影響航行安全。
隨著現(xiàn)代控制理論及技術(shù)的發(fā)展,許多先進(jìn)控制算法成功應(yīng)用到全墊升氣墊船的航跡向控制[14]和升沉運(yùn)動(dòng)控制中[5],但是在轉(zhuǎn)艏角速度控制中應(yīng)用較少。針對(duì)經(jīng)典PID控制參數(shù)不能在線(xiàn)調(diào)整的缺陷,為改善全墊升氣墊船的操縱水平,使氣墊船在回轉(zhuǎn)運(yùn)動(dòng)中轉(zhuǎn)艏角速度保持在相對(duì)穩(wěn)定水平,設(shè)計(jì)了一種基于BP神經(jīng)網(wǎng)絡(luò)的PID控制算法,利用BP神經(jīng)網(wǎng)絡(luò)具有的任意非線(xiàn)性表達(dá)能力,通過(guò)對(duì)系統(tǒng)性能的學(xué)習(xí),實(shí)現(xiàn)具有最佳組合的PID控制[69]。
1全墊升氣墊船運(yùn)動(dòng)模型
為建立全墊升氣墊船的三自由度平面運(yùn)動(dòng)數(shù)學(xué)模型,作如下假設(shè):①氣墊船為剛體;②船體左右對(duì)稱(chēng);③船所在的水域流速為零。
圖1所示為船體坐標(biāo)系xOy及北東坐標(biāo)系ξEζ,其中ξ指北東坐標(biāo)系的北, ζ指北東坐標(biāo)系的東,ψ為艏向角,以ξ軸至x軸順時(shí)針旋轉(zhuǎn)為正。x軸指向船艏,y軸指向右舷,E和O為各自坐標(biāo)系的原點(diǎn)且處于同一水平高度,各坐標(biāo)軸都與水面平行。
u、v分別是船速V在x軸和y軸上的分量,V和x軸間的夾角β為氣墊船漂角,x軸至船速V順時(shí)針?lè)较驗(yàn)檎;谏鲜鲎鴺?biāo)系,建立全墊升氣墊船平面運(yùn)動(dòng)模型:
m(-vr)=Fx
m(+ur)=Fy
Iz=Mz(1)
其中,m為氣墊船質(zhì)量,F(xiàn)x為船體縱向所受合力,F(xiàn)y為船體橫向所受合力,Iz為氣墊船通過(guò)其重心的鉛垂線(xiàn)轉(zhuǎn)動(dòng)慣量,Mz為氣墊船的轉(zhuǎn)艏力矩,r為船的轉(zhuǎn)艏角速度。上述合力及力矩的表達(dá)式為:
Fx=Fxa+Fxh+Fxp+FxR
Fy=Fya+Fyh+Fyp+FyR
Mz=Mza+Mzh+Mzp+MzR (2)
下標(biāo)α表示空氣動(dòng)力,R表示空氣舵力,通過(guò)船模風(fēng)洞試驗(yàn)得到。h表示水動(dòng)力,通過(guò)水池拖拽試驗(yàn)和船??諝鈩?dòng)力扣除試驗(yàn)得到。p表示空氣螺旋槳推進(jìn)力,通過(guò)選槳及單槳試驗(yàn)、推力影響等試驗(yàn)得到[1011]。北東坐標(biāo)系與船體坐標(biāo)系之間的轉(zhuǎn)換關(guān)系為:
=ucosψ-vsinψ
=usinψ+vcosψ
=r(3)
式(3)組成了全墊升氣墊船完整的操縱運(yùn)動(dòng)微分方程組,通過(guò)解算作用在船體上的力和力矩,得到全墊升氣墊船的實(shí)時(shí)運(yùn)動(dòng)狀況。
2風(fēng)對(duì)全墊升氣墊船操作的影響
2.1海風(fēng)模型
為了建立接近真實(shí)航行環(huán)境的海風(fēng)模型,通過(guò)von Karman譜對(duì)海風(fēng)進(jìn)行仿真[12],主風(fēng)向風(fēng)速譜為:
Su(ω)=42Lux[1+(2cω(Lux/))2]5/6(4)
Lux為標(biāo)度參數(shù),為縱向平均風(fēng)速,c=4.206 5為常數(shù),2為縱向風(fēng)變化范圍,根據(jù)式(4)可建立主風(fēng)向脈動(dòng)風(fēng)速:
uw(t)=∫∞0cos(ωt+ε)2Su(ω)dω(5)
式(5)中,ω為風(fēng)速的圓頻率,隨機(jī)相位ε為在[0,2π]上均勻分布的隨機(jī)變量。仿真過(guò)程中,根據(jù)風(fēng)速譜函數(shù)曲線(xiàn),利用頻率等分法,在有意義頻率區(qū)間(ωmin,ωmax)內(nèi)使用式(5)的離散形式:
uw(t)=∑Ki=1cos(ωit+εi)2Su(ωi)Δω(6)
式(6)中,K為頻率等分?jǐn)?shù),ωi為頻率點(diǎn),εi分布同ε。根據(jù)主風(fēng)向風(fēng)速譜與側(cè)風(fēng)向風(fēng)速譜具有湍流同性的特點(diǎn),可得兩者關(guān)系:
Sv(ω)=12Su(ω)-ωdSu(ω)dω(7)
具體形式為:
Sv(ω)=22Lux[1+83(2cn(Lux/))2][1+(2cω(Lux/))2]11/6(8)
同理可得側(cè)風(fēng)向脈動(dòng)風(fēng)速為:
vw(t)=∑Ki=1cos(ωit+εi)2Sv(ωi)Δω(9)
進(jìn)而得到脈動(dòng)風(fēng)速:
Vw(t)=u2w(t)+v2w(t)(10)
脈動(dòng)風(fēng)向角為:
βw(t)=tan-1(uw(t)/vw(t))+βw0(11)
式(11)中,βw0為主風(fēng)向角。
對(duì)絕對(duì)風(fēng)速平均值為10m/s、絕對(duì)風(fēng)向平均值為45°的脈動(dòng)風(fēng)仿真,仿真試驗(yàn)結(jié)果如圖2所示。
2.3操舵回轉(zhuǎn)實(shí)驗(yàn)與分析
操舵回轉(zhuǎn)性能是檢驗(yàn)全墊升氣墊船模型正確性的重要指標(biāo)[13]。本文設(shè)全墊升氣墊船初始航速為15m/s,初始艏向?yàn)?°,固定螺距角,分別設(shè)置不同方向平均風(fēng)速為5m/s的脈動(dòng)風(fēng),然后操相同舵角進(jìn)行回轉(zhuǎn)仿真實(shí)驗(yàn)。在不同主風(fēng)向的脈動(dòng)風(fēng)作用下,氣墊船操舵回轉(zhuǎn)運(yùn)動(dòng)軌跡如圖3所示。
由于存在風(fēng)力干擾,全墊升氣墊船所受到的相對(duì)風(fēng)速、風(fēng)向會(huì)隨著航速、航向發(fā)生變化,因此氣墊船不能進(jìn)入定?;剞D(zhuǎn)狀態(tài)。逆風(fēng)時(shí),作用在空氣舵上的相對(duì)風(fēng)速較大,產(chǎn)生的舵力較大,可使全墊升氣墊船更快地回轉(zhuǎn),順風(fēng)時(shí)情況剛好相反。因此,在環(huán)境風(fēng)作用下,全墊升氣墊船的航速、轉(zhuǎn)艏角速度等都呈周期性變化,其運(yùn)動(dòng)軌跡為螺旋線(xiàn)型,與常規(guī)水面船相比,風(fēng)對(duì)其操縱性影響較大。
3神經(jīng)網(wǎng)絡(luò)PID控制器設(shè)計(jì)
3.1神經(jīng)網(wǎng)絡(luò)參數(shù)選擇
神經(jīng)網(wǎng)絡(luò)PID控制器原理如圖4所示, r為期望輸出,在本氣墊船轉(zhuǎn)艏角速度保持控制系統(tǒng)中,即為給定的轉(zhuǎn)艏角速度,PID控制器就是常規(guī)的比例積分微分控制,u為控制器輸出,y為氣墊船的實(shí)際轉(zhuǎn)艏角速度。
采用的神經(jīng)網(wǎng)絡(luò)NN是一個(gè)三層BP網(wǎng)絡(luò),其結(jié)構(gòu)如圖5所示,有3個(gè)輸入節(jié)點(diǎn)、5個(gè)隱含層節(jié)點(diǎn)、3個(gè)輸出節(jié)點(diǎn)。輸入節(jié)點(diǎn)對(duì)應(yīng)所選系統(tǒng)的運(yùn)動(dòng)狀態(tài)量,為氣墊船轉(zhuǎn)艏角速度控制系統(tǒng)不同時(shí)刻的輸入量和輸出量,要進(jìn)行歸一化處理[14]。輸入節(jié)點(diǎn)個(gè)數(shù)取決于被控系統(tǒng)的復(fù)雜程度,選用3個(gè)輸入節(jié)點(diǎn),分別為3個(gè)不同時(shí)刻的轉(zhuǎn)艏角速度誤差。輸出節(jié)點(diǎn)分別對(duì)應(yīng)PID控制器的3個(gè)可調(diào)參數(shù)Kp、Ki和Kd。隱含層節(jié)點(diǎn)個(gè)數(shù)根據(jù)經(jīng)驗(yàn)公式,選擇使用5個(gè)隱含層節(jié)點(diǎn)[15]。由于Kp、Ki、Kd不能為負(fù)值,所以輸出層神經(jīng)元的變換函數(shù)取非負(fù)的Sigmoid函數(shù),而隱含層神經(jīng)元的活化函數(shù)可取雙曲正切函數(shù)。
O(1)j=xk-j=e(k-j)j=0,1,2(14)
網(wǎng)絡(luò)隱含層的輸入輸出為:
net(2)i(k)=∑2j=0w(2)ijO(1)j(k)-θ(2)i(15)
O(2)i(k)=f[net(2)i(k)]i=0,1…q-1(16)
ω(2)ij為隱含層加權(quán)系數(shù),θ(2)i為隱含層閾值,上標(biāo)(1)、(2)、(3)分別代表輸入層、隱含層、輸出層,f(x)為雙曲正切函數(shù),即:
f(x)=tanh(x)=(ex-e-x)/(ex+e-x)(17)
網(wǎng)絡(luò)輸出層3個(gè)節(jié)點(diǎn)的輸入、輸出分別為:
net(3)l(k)=∑q-1i=0w(3)liO(2)i(k)-θ(3)l(18)
O(3)l(k)=g[net(3)l(k)]l=0,1,2(19)
O(3)0(k)=KpO(3)1(k)=KiO(3)2(k)=Kd(20)
ω(3)li為輸出層加權(quán)系數(shù),θ(3)l為輸出層閾值,輸出層神經(jīng)元活化函數(shù)取非負(fù)的Sigmoid函數(shù):
g(x)=1/(ex+e-x)(21)
3.2神經(jīng)網(wǎng)絡(luò)權(quán)系數(shù)調(diào)整
性能指標(biāo)函數(shù)為:
E(k)=12[r(k+1)-y(k+1)]2=12e2(k+1)(22)
按照梯度下降法修正網(wǎng)絡(luò)的權(quán)系數(shù),即按E(k)對(duì)加權(quán)系數(shù)的負(fù)梯度方向搜索調(diào)整,并附加一個(gè)使搜索快速收斂至全局極小的慣性項(xiàng),則有
Δw(3)li(k+1)=-ηE(k+1)w(3)li+γΔw(3)li(k)(23)
η為學(xué)習(xí)率,γ為慣性系數(shù)。而
E(k+1)w(3)li=E(k+1)y(k+1)·y(k+1)u(k)·
u(k)O(3)l(k)·O(3)l(k)net(3)l(k)·net(3)l(k)w(3)li(24)
這里需要用到變量y(k+1)/u(u)。由于y(k+1)/(k)未知,所以近似用符號(hào)函數(shù)sgn[y(k+1)/u(k)]來(lái)取代,由此帶來(lái)計(jì)算不精確的影響可通過(guò)調(diào)整學(xué)習(xí)速率η加以補(bǔ)償[16]。
由式(18)、(19)、(20)得:
u(k)O(3)0=e(k)-e(k-1)u(k)O(3)1=e(k)
u(k)O(3)2=e(k)-2e(k-1)+e(k-2) (25)
這樣,可得BP神經(jīng)網(wǎng)絡(luò)輸出層加權(quán)系數(shù)計(jì)算公式為:
Δw(3)li(k+1)=ηδ(3)lO(2)i(k)+γΔw(3)li(k)(26)
δ(3)l=e(k+1)·sgn[y(k+1)u(k)]·δu(k)O(3)l(k)·g[net(3)l(k)]l=0,1,2(27)
同理可得隱含層加權(quán)系數(shù)計(jì)算公式為:
Δw(2)ij(k+1)=ηδ(2)iO(1)j(k)+γΔw(2)li(k)(28)
δ(2)i=f[net(2)i(k)]∑2l=0δ(3)lw(3)li(k)
i=0,1,2…q-1(29)
4實(shí)驗(yàn)與分析
4.1轉(zhuǎn)艏角速度保持控制仿真
分別使用設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)PID以及傳統(tǒng)PID控制器進(jìn)行氣墊船轉(zhuǎn)艏角速度保持控制仿真。仿真時(shí),設(shè)定氣墊船初始狀態(tài)艏向角為0°,轉(zhuǎn)艏角速度為0°/s,航速為15m/s,轉(zhuǎn)艏角速度期望值為2°/s。整個(gè)仿真過(guò)程中保持左右螺距角相同且始終不變,僅通過(guò)改變舵角實(shí)現(xiàn)氣墊船轉(zhuǎn)艏角速度控制。分別設(shè)定環(huán)境為無(wú)風(fēng),以及主風(fēng)向角為45°,平均風(fēng)速分別為5m/s、10m/s的脈動(dòng)風(fēng),仿真結(jié)果如圖6、圖7、圖8所示。
4.2控制結(jié)果對(duì)比分析
比較圖6、圖7、圖8的轉(zhuǎn)艏角速度保持控制仿真曲線(xiàn),發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)PID控制下的收斂速度較快,對(duì)氣墊船轉(zhuǎn)艏角速度控制效果好。PID控制器在無(wú)環(huán)境風(fēng)情況下,基本能滿(mǎn)足轉(zhuǎn)艏角速度控制要求,但在有脈動(dòng)風(fēng)干擾時(shí)穩(wěn)態(tài)誤差較大。神經(jīng)網(wǎng)絡(luò)PID控制器具有自學(xué)習(xí)、自適應(yīng)能力,無(wú)論在無(wú)風(fēng)還是有環(huán)境風(fēng)干擾的狀況下,都能基本保持轉(zhuǎn)艏角速度穩(wěn)定,相對(duì)期望值的偏移總體小于傳統(tǒng)PID控制算法,抗干擾能力更強(qiáng),是較優(yōu)良的控制算法。
5結(jié)語(yǔ)
全墊升氣墊船由于結(jié)構(gòu)的特殊性,其轉(zhuǎn)艏角速度相比常規(guī)排水船難于控制。本文設(shè)計(jì)了神經(jīng)網(wǎng)絡(luò)PID控制器,對(duì)全墊升氣墊船的轉(zhuǎn)艏角速度保持控制進(jìn)行了仿真,并與常規(guī)PID控制的效果進(jìn)行了對(duì)比。實(shí)驗(yàn)結(jié)果顯示,在氣墊船受到環(huán)境風(fēng)干擾時(shí),神經(jīng)網(wǎng)絡(luò)PID控制器在克服干擾方面比常規(guī)PID控制效果更好。
參考文獻(xiàn)參考文獻(xiàn):
[1]劉振業(yè),劉偉,付明玉,等.基于模糊自適應(yīng)ADRC的全墊升氣墊船航向控制[J].信息與控制,2011,40(6):747752.
[2]胡妍妍.氣墊船特有操縱裝置在航向控制中的應(yīng)用研究[D].哈爾濱:哈爾濱工程大學(xué),2011.
[3]WANG C L, ZHANG H Y, FU M Y. Motion control of an amphibious hovercraft based on fuzzy weighting[C] .International Conference on Communication Technology.IEEE,2013:10061011.
[4]劉振業(yè),劉偉,付明玉,等.神經(jīng)網(wǎng)絡(luò)自抗擾全墊升氣墊船航跡控制[J].哈爾濱工程大學(xué)學(xué)報(bào),2012,33(3):283288.
[5]劉偉,陳光祥.全墊升氣墊船墊升壓力控制[J].自動(dòng)化技術(shù)與應(yīng) 用,2014,33(10):2025.
[6]WANG F Z, YU Q X. Speedregulation system of PMLSM based on BP neural network PID control[J]. Advanced Materials Research,2012.
[7]OHNISHI Y, KITAGAWA H, MORI S, et al. Design of neural networks based FRIT PID controllers and its applications[J]. Ifac Proceedings Volumes,2013,46(11):355359.
[8]汪先兵,費(fèi)樹(shù)岷,徐清揚(yáng),等.BP神經(jīng)網(wǎng)絡(luò)PID控制的永磁真空開(kāi)關(guān)儲(chǔ)能電容恒流充電特性分析[J].電工技術(shù)學(xué)報(bào),2015,30(10):212218.
[9]劉寧,王曉強(qiáng),任慧龍,等.全墊升氣墊船在波浪中運(yùn)動(dòng)的非線(xiàn)性理論研究[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2014,42(4):9195.
[10]王成龍,付明玉,邊信黔,等.全墊升氣墊船四自由度運(yùn)動(dòng)仿真[J].計(jì)算機(jī)仿真,2009,26(7):278281.
[11]付明玉,王元慧,王成龍.海洋運(yùn)載器運(yùn)動(dòng)建模[M].哈爾濱:哈爾濱工程大學(xué)出版社,2017.
[12]李木國(guó),褚曉安,劉于之,等.開(kāi)放式風(fēng)速控制系統(tǒng)的研制[J].計(jì)算機(jī)測(cè)量與控制,2015,23(9):30263028.
[13]田園,楊承恩.基于ANFIS的舵阻橫搖系統(tǒng)[J].南京航空航天大學(xué)學(xué)報(bào),2006,38(7):112115.
[14]趙光輝.幾種非線(xiàn)性控制算法的比較及過(guò)程控制實(shí)驗(yàn)測(cè)試[D].青島:中國(guó)石油大學(xué)(華東),2010.
[15]田國(guó)鈺,黃海洋.神經(jīng)網(wǎng)絡(luò)中隱含層的確定[J].信息技術(shù),2010(10):7981.
[16]王玲芝,王忠民.動(dòng)態(tài)調(diào)整學(xué)習(xí)速率的BP改進(jìn)算法[J].計(jì)算機(jī)應(yīng)用,2009,29(7):18941896.
責(zé)任編輯(責(zé)任編輯:杜能鋼)