蘇義鑫, 趙 俊, 張華軍
(武漢理工大學(xué)自動化學(xué)院, 湖北 武漢 430070)
隨著人們對海洋資源開發(fā)的深入,船舶動力定位(dynamic positioning,DP)系統(tǒng)在深水定點作業(yè)中得到越來越廣泛的應(yīng)用.由于船舶自身的非線性特性和定位過程中受到海浪、海風(fēng)等隨機擾動的影響,研究人員在動力定位系統(tǒng)中應(yīng)用了各種先進的濾波和控制技術(shù)以提高定位性能.針對船舶動力定位過程中的濾波問題,目前多利用擴展卡爾曼濾波算法[1]來解決.擴展卡爾曼濾波算法是采用高效率遞歸方式獲得最小方差的最優(yōu)估計算法[2],是進行狀態(tài)估計與預(yù)測的有力工具,但擴展卡爾曼濾波算法需將非線性模型線性化,而線性化可能給估計帶來誤差,且計算較為復(fù)雜.文獻[3]中采用粒子濾波算法估計船舶運動狀態(tài),無需線性化,但粒子濾波算法存在樣本退化的問題.文獻[4-5]中應(yīng)用無跡卡爾曼濾波算法估計船舶狀態(tài),但需對系統(tǒng)模型進行離散化,可能會產(chǎn)生截斷誤差.文獻[6]中提出了一種無跡卡爾曼布西濾波(unscented Kalman-Bucy filtering,UKBF)算法,該算法應(yīng)用確定性采樣策略逼近非線性分布,防止了樣本退化;同時,該算法不需要對非線性模型進行線性化和離散化,防止了由二者帶來的誤差過大和難以計算的問題[7].
針對船舶動力定位非線性控制,文獻[8-9]中分別給出了一種模糊動力定位控制器,這些控制器具有較強的魯棒性,但針對不同船舶的模糊規(guī)則相差較大.文獻[10]中提出了一種滑模動力定位控制器,該控制器具有物理實現(xiàn)簡單和魯棒性強的特點,但滑??刂破鞯亩墩駟栴}對推進器的磨損較大.文獻[11]中應(yīng)用非切換解析模型預(yù)測控制(non-switch analytic model predictive control, NSAMPC)方法設(shè)計動力定位控制器,取得了較好的控制效果.
本文將UKBF與NSAMPC相結(jié)合提出一種船舶動力定位控制器設(shè)計方法.根據(jù)船舶運動模型,利用UKBF方法估計船舶運動狀態(tài);結(jié)合相對階概念應(yīng)用NSAMPC方法設(shè)計船舶動力定位預(yù)測控制器,該方法不僅能夠解決動力定位過程中的推力約束,而且還能夠提高推進器輸出的平滑度.
對于水面船舶的動力定位,只需考慮船舶在3個自由度上的運動,分別為縱蕩、橫蕩和艏搖[11].船舶低速運動下3個自由度船舶運動模型[12-13]如式(1)所示
若令:
x=[xyψuvr]T;
u=[τXτYτN]T;
y=[y1y2y3]T=[xyψ]T.
將式(1)整理為規(guī)范形式,并考慮過程擾動和測量噪聲對船舶運動的影響,則有式(2).
(1)
式中:x、y、ψ分別為船舶的縱坐標、橫坐標和艏向角;u、v、r分別為船舶的縱蕩速度、橫蕩速度和艏搖角速度;τX、τY、τN分別為縱向推力、橫向推力和艏搖力矩;mi0j、di0j(1≤i0≤3,1≤j≤3)分別為慣性系數(shù)和阻尼系數(shù);y1、y2、y3為系統(tǒng)輸出.
(2)
式中:z=[z1z2z3]T為測量輸出;
ω(t)和υ(t)為零均值白噪聲;
(3)
g(x)=[g1(x)g2(x)g3(x)]=
(4)
h(x)=[h1h2h3]T=[xyψ]T.
(5)
本文將連續(xù)非線性濾波方法UKBF與NSAMPC相結(jié)合,設(shè)計船舶DP非線性控制器,系統(tǒng)結(jié)構(gòu)如圖1所示.
圖1 船舶DP控制系統(tǒng)結(jié)構(gòu)Fig.1 Structure of the proposed marine DP control system
UKBF運用確定性采樣方式逼近非線性分布,不需要對非線性模型進行線性化和離散化,防止了由二者帶來的誤差過大和難以計算的問題,且無需計算Jacobian和Hessian矩陣,能有效防止計算量過大或難以計算等問題.
給定連續(xù)非線性系統(tǒng)
設(shè):Q(t)為協(xié)方差矩陣(ω(t));Qc(t)為譜密度(ω(t));R(t)為協(xié)方差矩陣(υ(t));Rc(t)為譜密度(υ(t)).
首先選取Sigma點陣X(t),然后在系統(tǒng)狀態(tài)和測量過程的有限連續(xù)時域內(nèi),應(yīng)用無跡卡爾曼濾波的隨機微分方程求解Sigma點的狀態(tài)均值m(t),將其作為系統(tǒng)狀態(tài)的估計值,即
K(t)(z(t)-h(x(t),t)ωm),
式中:K(t)為濾波器增益;ωm為權(quán)值矩陣.
將式(2)轉(zhuǎn)換成式(6).
(6)
式中:x(t)∈Rn;
F(x(t),t)=f(x(t),t)+g(x(t),t)u(t);
H(x(t),t)=h(x(t)).
設(shè):Δt為采樣周期;Q(t)≈Qc(t)Δt;R(t)≈Rc(t)Δt.
選取近似采樣點Sigma,Sigma點矩陣X(t)定義為
X(t)=[m(t) …m(t)]+
(7)
P(t)為Sigma點的狀態(tài)協(xié)方差矩陣;
X(t)∈Rn×dS,為Sigma點的矩陣(dS為Sigma點個數(shù),dS=2n+1).
連續(xù)UKBF遞推過程的微分方程為
X(t)=X(t)WHT(X(t),t)×
[R(t)Rc(t)RT(t)]-1,
(8)
K(t)[z(t)-H(X(t),t)ωm],
(9)
FT(X(t),t)WXT(t)+Q(t)Qc(t)QT(t)-
K(t)R(t)Rc(t)RT(t)KT(t),
(10)
式中:
ωm=[Wm(0)…Wm(2n)]T,
W=(I-[ωm…ωm])×
diag(Wc(0),…,Wc(2n))×
(I-[ωm…ωm])T,
其中:Wm(0)=λ/(n+λ),
Wc(0)=λ/(m+λ)+(1-α2+β),α、β分別為設(shè)定參數(shù),
Wm(i1)=1/2(n+λ),i1=1,…,2n,
Wc(i1)=1/2(n+λ),i1=1,…,2n.
采用連續(xù)表達式(8)~(10)計算得到的狀態(tài)均值m(t),該值作為動力定位系統(tǒng)在t時刻的狀態(tài)估計值.
本文采用的滾動時域內(nèi)的目標函數(shù)如式(11)所示.
(11)
式中:T為預(yù)測周期;
τ為滾動時域內(nèi)的時間;
通常μ1、μ2為非負數(shù),μ3為正數(shù),依次為系統(tǒng)輸出約束、控制輸入、跟蹤誤差所占比重的反映,加有上標“^”的變量為預(yù)測變量.
(12)
其初始狀態(tài)為系統(tǒng)的當(dāng)前狀態(tài),即
(13)
根據(jù)式(12)、(13)可以預(yù)測[t,t+T]時間段內(nèi)的系統(tǒng)輸出.通過目標函數(shù)J的最小化,求取[t,t+T]時間段內(nèi)的最優(yōu)控制輸入.
綜上所述,非線性模型預(yù)測控制可以描述為
(14)
式(12)、(13)是式(14)的約束.
(15)
式中:
因此,式(11)所示的目標函數(shù)J的N階泰勒級數(shù)展開可以近似為
(16)
式中:
M=μ1τ(τ)τT(τ)|τ=T+
式(14)等價于
(17)
(18)
(19)
(20)
(21)
式中:
用ρi3j(1≤i3≤l, 1≤j≤m)表示控制輸入ui3到系統(tǒng)輸出yj的相對階,相對階的計算法方法可以參見文獻[14].經(jīng)計算可得,對所有狀態(tài)滿足Lg3Lfh3≠0,因此,ρ33可確定相對階ρ11、ρ12、ρ13、ρ21、ρ22、ρ23、ρ31和ρ32.在某些狀態(tài)下為0,則ρ11、ρ12、ρ13、ρ21、ρ22、ρ23、ρ31、ρ32是不確定相對階.
qi3(x)=[q1,i3(x)q2,i3(x)q3,i3(x)]T.
(22)
(23)
q1T(x)M(q0-yd)+
(24)
式中:
可由式(24),得到NSAMPC的解,取其初值,即為船舶動力定位的NSAMPC控制律,即
q1T(x)M(q0-yd).
(25)
為了驗證本文提出的船舶動力定位控制方法的有效性,分別對動力定位NSAMPC控制器,帶有EKF的動力定位PID控制器和帶有UKBF的動力定位NSAMPC控制器進行仿真.
主要參數(shù):
船長76.2 m,船寬18.8 m,船舶凈重4 200 t,主發(fā)動機功率3 533 kW,縱向推力(kN)[-1 000,1 000],橫向推力(kN)[-300,300],艏搖力矩(kN·m)[-7 620,7 620].
m11=1.127 4,m22=1.890 2,m23=-0.074 4,m32=-0.074 4,m33=-0.127 8,d11=-0.035 8,d22=-0.118 3,d23=-0.012 4,d32=-0.004 1,d33=-0.030 8.
船舶的起始位置為(0 m,0 m,0°),定位位置為(0 m,50 m,0°),濾波采樣間隔Δt=0.1 s,系統(tǒng)隨機擾動的均值為0,協(xié)方差為diag(10-2,10-2,10-2,10-2,10-2,10-2),測量噪聲的均值為0,協(xié)方差為diag(1,1,10-1).
設(shè)定參數(shù):
κ=-2,α=0.5,β=2,T=1.4 s,仿真時長取500 s,μ1=1.0,μ2=0.05,μ3=0;PID控制器參數(shù)KPx=0.08,KIx=0.001,KDx=0.8,KPy=8,KIy=0.000 01,KDx=5,KPψ=10,KIψ=0.000 1,KDψ=6.
應(yīng)用帶有UKBF的動力定位NSAMPC控制器的船舶的位置和艏向的測量值和估計值,以及應(yīng)用帶有EKF的動力定位PID控制器的船舶位置和艏向的估計值如圖2所示,圖中:實線為應(yīng)用帶有UKBF的動力定位NSAMPC控制器的船舶位置和艏向的測量值;虛線為其估計值,點線為應(yīng)用帶有EKF的動力定位PID控制器的船舶位置和艏向的估計值.
從圖2可以看出,系統(tǒng)的測量輸出與濾波器輸出相比,濾波器輸出更加平滑.北向位置調(diào)節(jié)時間小于40 s,超調(diào)量不超過5%;東向位置調(diào)節(jié)時間小于60 s,超調(diào)量不超過5%;艏向角度的最大偏移量小于1.5°.系統(tǒng)的穩(wěn)態(tài)輸出的均值、方差分別為(49.99 m,50.01 m,-0.01°)和(0.012 8 m,0.024 5 m,0.000 4°),可見系統(tǒng)穩(wěn)態(tài)輸出的均值與設(shè)定值相差不大,方差很小.
從圖2(a)、(b)可以看出,與應(yīng)用帶有EKF的動力定位PID控制器的船舶相比,應(yīng)用帶有UKBF的動力定位NSAMPC控制器的船舶的北向位置調(diào)節(jié)時間短、超調(diào)量小,船舶的東向位置調(diào)節(jié)時間短.應(yīng)用帶有UKBF的動力定位NSAMPC控制器,不帶有UKBF的動力定位NSAMPC控制器和帶有EKF的動力定位PID控制器的船舶的推力和力矩如圖3所示,圖中:實線為應(yīng)用不帶有UKBF的動力定位NSAMPC控制器的船舶推力和力矩;虛線為應(yīng)用帶有UKBF的動力定位NSAMPC控制器的船舶推力和力矩,點線為應(yīng)用帶有EKF的動力定位PID控制器的船舶推力和力矩.
從圖3可以看出,應(yīng)用帶有UKBF的動力定位NSAMPC控制器的船舶推力和力矩是連續(xù)的,且推力和力矩波動更小.
從圖3(a)可以看出,應(yīng)用帶有UKBF的動力定位NSAMPC控制器的船舶的縱向推力在穩(wěn)態(tài)階段波動較小;
從圖3(b)可以看出,應(yīng)用帶有UKBF的動力定位NSAMPC控制器的船舶橫向推力滿偏次數(shù)較少,在穩(wěn)態(tài)階段波動較小;
從圖3(c)可以看出,應(yīng)用帶有UKBF的動力定位NSAMPC控制器的船舶艏搖力矩滿偏次數(shù)較少,在穩(wěn)態(tài)階段波動較小.
(a) 北向位置(b) 東向位置(c) 艏向角度圖2 船舶的位置和艏向Fig.2 Position and heading angle of the vessel
(a) 縱向推力(b) 橫向推力(c) 艏搖力矩圖3 船舶縱向推力、橫向推力和艏搖力矩Fig.3 Longitudinal thrust,lateral thrust and moment of the vessel
綜合以上分析可得,采用本文所設(shè)計的控制器時,系統(tǒng)具有較強的抗隨機擾動能力,能使船舶較快到達指定位置,并且控制力和力矩連續(xù)、在穩(wěn)態(tài)階段波動較小.
本文將UKBF與NSAMPC相結(jié)合,用于設(shè)計船舶動力定位非線性控制器,應(yīng)用UKBF連續(xù)濾波方法設(shè)計了非線性系統(tǒng)的濾波器,產(chǎn)生船舶狀態(tài)的估計值;應(yīng)用NSAMPC方法對動力定位船舶進行控制.該控制器是非奇異的,較好地解決了相對階不確定的系統(tǒng)控制問題,避免了由狀態(tài)切換可能引起的系統(tǒng)振蕩.仿真結(jié)果表明,本文設(shè)計的控制器能使船舶較快到達指定位置,并且控制力和力矩連續(xù)、在穩(wěn)態(tài)階段波動較小,有利于減少推進器的磨損.
[1] GRIMBLE M J, PATTON R J, WISE D A. The design of dynamic ship positioning control systems using extended Kalman filtering techniques[C]∥OCEANS’79. [S. l.]:IEEE, 1979: 488-497.
[2] 蔣伊琳,張芳園. 基于自然選擇粒子群的時鐘同步算法[J]. 西南交通大學(xué)學(xué)報,2017,52(3): 593-599.
JIANG Yilin, ZHANG Fangyuan. Clock synchroniza-tion algorithm based on particle swarm optimization with natural selection[J]. Journal of Southwest Jiaotong University, 2017, 52(3): 593-599.
[3] GGERSIMO G R. Sensor fusion-based dynamic positioning of ships using extended Kalman and particle filtering[J]. Robotica, 2013, 31(3): 389-403.
[4] WANG Xiaofei, ZOU Zaojian, WANG Yang, et al. Path following control of underactuated ships based on unscented Kalman filter[J]. Journal of Shanghai Jiaotong University, 2010, 15(1): 108-113.
[5] JAYASIRI A, NANDAN A, IMTIAZ S, et al. Dynamic positioning of vessels using a UKF-based observer and an NMPC-based controller[J]. IEEE Transactions on Automation Science & Engineering, 2017, 14(4): 1778-1785.
[7] 蘇義鑫,趙俊. 帶有UKF滾動時域估計的船舶動力定位控制器設(shè)計[J]. 哈爾濱工程大學(xué)學(xué)報,2016,37(10): 1381-1386,1393.
SU Yixin, ZHAO Jun. Dynamic positioning controller with UKF moving horizon estimation[J]. Journal of Harbin Engineering University, 2016, 37(10): 1381-1386,1393.
[8] HU X, DU J, SHI J. Adaptive fuzzy controller design for dynamic positioning system of vessels[J]. Applied Ocean Research, 2015, 53: 46-53.
[9] NGONGI W E, DU J, WANG R. Robust fuzzy controller design for dynamic positioning system of ships[J]. International Journal of Control, Automation and Systems, 2015, 13(5): 1294-1305.
[10] PATHE D T M, LI H, BIAN G. Switching surface design for nonlinear systems: the ship dynamic positioning[J]. Telkomnika Indonesian Journal of Electrical Engineering, 2014, 12(4): 2439-2447.
[11] 王元慧,隋玉峰,吳靜. 基于非線性模型預(yù)測的船舶動力定位控制器設(shè)計[J]. 哈爾濱工程大學(xué)學(xué)報,2013,34(1): 110-115.
WANG Yuanhui, SUI Yufeng, WU Jing. Marine dynamic position system based on nonlinear model predictive control[J]. Journal of Harbin Engineering University, 2013, 34(1): 110-115.
[12] 張金龍,徐慧,劉京南,等. 基于模糊神經(jīng)網(wǎng)絡(luò)的精密角度定位PID控制[J]. 儀器儀表學(xué)報,2012,33(3): 549-554.
ZHANG Jinlong, XU Hui, LIU Jingnan, et a1. PID control based on fuzzy neural network for precision angular alignment[J]. Chinese Journal of Scientific Instrument, 2012, 33(3): 549-554.
[13] KHAC D D. Global robust and adaptive output feedback dynamic positioning of surface ships[J]. Journal of Marine Science and Application, 2011, 3(9): 325-332.
[14] 張國銀,楊智,譚洪舟. 一類非線性系統(tǒng)非切換解析模型預(yù)測控制方法研究[J]. 自動化學(xué)報,2008,34(9): 1147-1156.
ZHANG Guoyin, YANG Zhi, TAN Hongzhou. Research on non-switch analytic nonlinear model predictive control method for a class of nonlinear systems[J]. Acta Automatic Sinica, 2008, 34(9): 1147-1156.