蘇義鑫, 趙 俊, 張華軍
(武漢理工大學自動化學院, 湖北 武漢 430070)
隨著人們對海洋資源開發的深入,船舶動力定位(dynamic positioning,DP)系統在深水定點作業中得到越來越廣泛的應用.由于船舶自身的非線性特性和定位過程中受到海浪、海風等隨機擾動的影響,研究人員在動力定位系統中應用了各種先進的濾波和控制技術以提高定位性能.針對船舶動力定位過程中的濾波問題,目前多利用擴展卡爾曼濾波算法[1]來解決.擴展卡爾曼濾波算法是采用高效率遞歸方式獲得最小方差的最優估計算法[2],是進行狀態估計與預測的有力工具,但擴展卡爾曼濾波算法需將非線性模型線性化,而線性化可能給估計帶來誤差,且計算較為復雜.文獻[3]中采用粒子濾波算法估計船舶運動狀態,無需線性化,但粒子濾波算法存在樣本退化的問題.文獻[4-5]中應用無跡卡爾曼濾波算法估計船舶狀態,但需對系統模型進行離散化,可能會產生截斷誤差.文獻[6]中提出了一種無跡卡爾曼布西濾波(unscented Kalman-Bucy filtering,UKBF)算法,該算法應用確定性采樣策略逼近非線性分布,防止了樣本退化;同時,該算法不需要對非線性模型進行線性化和離散化,防止了由二者帶來的誤差過大和難以計算的問題[7].
針對船舶動力定位非線性控制,文獻[8-9]中分別給出了一種模糊動力定位控制器,這些控制器具有較強的魯棒性,但針對不同船舶的模糊規則相差較大.文獻[10]中提出了一種滑模動力定位控制器,該控制器具有物理實現簡單和魯棒性強的特點,但滑模控制器的抖振問題對推進器的磨損較大.文獻[11]中應用非切換解析模型預測控制(non-switch analytic model predictive control, NSAMPC)方法設計動力定位控制器,取得了較好的控制效果.
本文將UKBF與NSAMPC相結合提出一種船舶動力定位控制器設計方法.根據船舶運動模型,利用UKBF方法估計船舶運動狀態;結合相對階概念應用NSAMPC方法設計船舶動力定位預測控制器,該方法不僅能夠解決動力定位過程中的推力約束,而且還能夠提高推進器輸出的平滑度.
對于水面船舶的動力定位,只需考慮船舶在3個自由度上的運動,分別為縱蕩、橫蕩和艏搖[11].船舶低速運動下3個自由度船舶運動模型[12-13]如式(1)所示
若令:
x=[xyψuvr]T;
u=[τXτYτN]T;
y=[y1y2y3]T=[xyψ]T.
將式(1)整理為規范形式,并考慮過程擾動和測量噪聲對船舶運動的影響,則有式(2).
(1)
式中:x、y、ψ分別為船舶的縱坐標、橫坐標和艏向角;u、v、r分別為船舶的縱蕩速度、橫蕩速度和艏搖角速度;τX、τY、τN分別為縱向推力、橫向推力和艏搖力矩;mi0j、di0j(1≤i0≤3,1≤j≤3)分別為慣性系數和阻尼系數;y1、y2、y3為系統輸出.

(2)
式中:z=[z1z2z3]T為測量輸出;
ω(t)和υ(t)為零均值白噪聲;
(3)
g(x)=[g1(x)g2(x)g3(x)]=
(4)
h(x)=[h1h2h3]T=[xyψ]T.
(5)
本文將連續非線性濾波方法UKBF與NSAMPC相結合,設計船舶DP非線性控制器,系統結構如圖1所示.

圖1 船舶DP控制系統結構Fig.1 Structure of the proposed marine DP control system
UKBF運用確定性采樣方式逼近非線性分布,不需要對非線性模型進行線性化和離散化,防止了由二者帶來的誤差過大和難以計算的問題,且無需計算Jacobian和Hessian矩陣,能有效防止計算量過大或難以計算等問題.
給定連續非線性系統

設:Q(t)為協方差矩陣(ω(t));Qc(t)為譜密度(ω(t));R(t)為協方差矩陣(υ(t));Rc(t)為譜密度(υ(t)).
首先選取Sigma點陣X(t),然后在系統狀態和測量過程的有限連續時域內,應用無跡卡爾曼濾波的隨機微分方程求解Sigma點的狀態均值m(t),將其作為系統狀態的估計值,即
K(t)(z(t)-h(x(t),t)ωm),
式中:K(t)為濾波器增益;ωm為權值矩陣.
將式(2)轉換成式(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)).
設:Δ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點的狀態協方差矩陣;
X(t)∈Rn×dS,為Sigma點的矩陣(dS為Sigma點個數,dS=2n+1).
連續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+β),α、β分別為設定參數,
Wm(i1)=1/2(n+λ),i1=1,…,2n,
Wc(i1)=1/2(n+λ),i1=1,…,2n.
采用連續表達式(8)~(10)計算得到的狀態均值m(t),該值作為動力定位系統在t時刻的狀態估計值.
本文采用的滾動時域內的目標函數如式(11)所示.
(11)
式中:T為預測周期;

τ為滾動時域內的時間;

通常μ1、μ2為非負數,μ3為正數,依次為系統輸出約束、控制輸入、跟蹤誤差所占比重的反映,加有上標“^”的變量為預測變量.

(12)
其初始狀態為系統的當前狀態,即
(13)
根據式(12)、(13)可以預測[t,t+T]時間段內的系統輸出.通過目標函數J的最小化,求取[t,t+T]時間段內的最優控制輸入.
綜上所述,非線性模型預測控制可以描述為

(14)
式(12)、(13)是式(14)的約束.


(15)
式中:


因此,式(11)所示的目標函數J的N階泰勒級數展開可以近似為
(16)
式中:
M=μ1τ(τ)τT(τ)|τ=T+

式(14)等價于
(17)

(18)
(19)
(20)
(21)
式中:
用ρi3j(1≤i3≤l, 1≤j≤m)表示控制輸入ui3到系統輸出yj的相對階,相對階的計算法方法可以參見文獻[14].經計算可得,對所有狀態滿足Lg3Lfh3≠0,因此,ρ33可確定相對階ρ11、ρ12、ρ13、ρ21、ρ22、ρ23、ρ31和ρ32.在某些狀態下為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控制器進行仿真.
主要參數:
船長76.2 m,船寬18.8 m,船舶凈重4 200 t,主發動機功率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,系統隨機擾動的均值為0,協方差為diag(10-2,10-2,10-2,10-2,10-2,10-2),測量噪聲的均值為0,協方差為diag(1,1,10-1).
設定參數:
κ=-2,α=0.5,β=2,T=1.4 s,仿真時長取500 s,μ1=1.0,μ2=0.05,μ3=0;PID控制器參數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.
應用帶有UKBF的動力定位NSAMPC控制器的船舶的位置和艏向的測量值和估計值,以及應用帶有EKF的動力定位PID控制器的船舶位置和艏向的估計值如圖2所示,圖中:實線為應用帶有UKBF的動力定位NSAMPC控制器的船舶位置和艏向的測量值;虛線為其估計值,點線為應用帶有EKF的動力定位PID控制器的船舶位置和艏向的估計值.
從圖2可以看出,系統的測量輸出與濾波器輸出相比,濾波器輸出更加平滑.北向位置調節時間小于40 s,超調量不超過5%;東向位置調節時間小于60 s,超調量不超過5%;艏向角度的最大偏移量小于1.5°.系統的穩態輸出的均值、方差分別為(49.99 m,50.01 m,-0.01°)和(0.012 8 m,0.024 5 m,0.000 4°),可見系統穩態輸出的均值與設定值相差不大,方差很小.
從圖2(a)、(b)可以看出,與應用帶有EKF的動力定位PID控制器的船舶相比,應用帶有UKBF的動力定位NSAMPC控制器的船舶的北向位置調節時間短、超調量小,船舶的東向位置調節時間短.應用帶有UKBF的動力定位NSAMPC控制器,不帶有UKBF的動力定位NSAMPC控制器和帶有EKF的動力定位PID控制器的船舶的推力和力矩如圖3所示,圖中:實線為應用不帶有UKBF的動力定位NSAMPC控制器的船舶推力和力矩;虛線為應用帶有UKBF的動力定位NSAMPC控制器的船舶推力和力矩,點線為應用帶有EKF的動力定位PID控制器的船舶推力和力矩.
從圖3可以看出,應用帶有UKBF的動力定位NSAMPC控制器的船舶推力和力矩是連續的,且推力和力矩波動更小.
從圖3(a)可以看出,應用帶有UKBF的動力定位NSAMPC控制器的船舶的縱向推力在穩態階段波動較小;
從圖3(b)可以看出,應用帶有UKBF的動力定位NSAMPC控制器的船舶橫向推力滿偏次數較少,在穩態階段波動較小;
從圖3(c)可以看出,應用帶有UKBF的動力定位NSAMPC控制器的船舶艏搖力矩滿偏次數較少,在穩態階段波動較小.

(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
綜合以上分析可得,采用本文所設計的控制器時,系統具有較強的抗隨機擾動能力,能使船舶較快到達指定位置,并且控制力和力矩連續、在穩態階段波動較小.
本文將UKBF與NSAMPC相結合,用于設計船舶動力定位非線性控制器,應用UKBF連續濾波方法設計了非線性系統的濾波器,產生船舶狀態的估計值;應用NSAMPC方法對動力定位船舶進行控制.該控制器是非奇異的,較好地解決了相對階不確定的系統控制問題,避免了由狀態切換可能引起的系統振蕩.仿真結果表明,本文設計的控制器能使船舶較快到達指定位置,并且控制力和力矩連續、在穩態階段波動較小,有利于減少推進器的磨損.
[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]. 西南交通大學學報,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滾動時域估計的船舶動力定位控制器設計[J]. 哈爾濱工程大學學報,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] 王元慧,隋玉峰,吳靜. 基于非線性模型預測的船舶動力定位控制器設計[J]. 哈爾濱工程大學學報,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] 張金龍,徐慧,劉京南,等. 基于模糊神經網絡的精密角度定位PID控制[J]. 儀器儀表學報,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] 張國銀,楊智,譚洪舟. 一類非線性系統非切換解析模型預測控制方法研究[J]. 自動化學報,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.