唐剛,胡超,姚小強,李建霞,韓重陽,邵辰彤,胡雄
(上海海事大學(xué)物流工程學(xué)院,上海 201306)
船舶上工程機械的運動是船舶在波浪的作用下產(chǎn)生運動和工程機械本身驅(qū)動作用下產(chǎn)生運動的耦合,將船舶在波浪的作用下產(chǎn)生的運動從船舶上工程機械的運動中解耦出來,并進行相應(yīng)補償?shù)募夹g(shù)稱為波浪補償技術(shù).近年來,武漢第二船舶設(shè)計研究所的王哲駿等[1]在波浪補償系統(tǒng)工作原理和波浪補償裝置的發(fā)展現(xiàn)狀2個方面進行了文獻綜述,對波浪補償系統(tǒng)技術(shù)的發(fā)展趨勢進行分析.WOODACRE等[2]從升沉補償?shù)幕驹?、潛水器出水和入水時的波浪同步技術(shù)和驅(qū)動方式3個方面進行了文獻綜述,分析控制系統(tǒng)中存在的問題,并指出未來控制系統(tǒng)的發(fā)展方向為帶有前饋預(yù)測的控制系統(tǒng).白玉等[3]分析了海上并靠補給的被動式波浪補償技術(shù)和主動式波浪補償技術(shù)的現(xiàn)狀,并指出六自由度波浪補償技術(shù)是未來的發(fā)展方向.目前應(yīng)用在波浪補償領(lǐng)域的控制算法主要分為兩類:一類是通過估計運動軌跡的前饋控制算法,估計運動軌跡的方法主要有卡爾曼濾波、神經(jīng)網(wǎng)絡(luò)和時間序列分析法;另一類是通過減少誤差的反饋控制算法,主要有PID控制算法和模型預(yù)測控制算法.
文中采用的是前饋控制和反饋控制的分類方法,以便于更好地闡述波浪補償技術(shù)的發(fā)展.
1.1.1 原始卡爾曼濾波
早期的主動式波浪補償預(yù)測方法主要采用卡爾曼濾波法,EL-HAWARY[4]通過對海上作業(yè)的船舶運動進行實時預(yù)報來消除補償中的時延.SIDAR等[5]利用卡爾曼最優(yōu)濾波理論設(shè)計了航空母艦離散信號的預(yù)測器.
使用卡爾曼濾波對船舶運動進行預(yù)測,將一定海況、航速以及航向的船舶運動模型看作一個線性定常系統(tǒng),它的運動實際上是一個平穩(wěn)隨機過程.通過線性定常系統(tǒng)傳遞函數(shù)最小實現(xiàn)方法,可以得到船舶運動狀態(tài)空間表達式,即
(1)
z=cTx+v,
(2)
將式(1),(2)離散化得到船舶運動的離散模型為
xk=φk,k-1xk-1+Γk,k-1wk-1,
(3)
zk=Hkxk+vk,
(4)
TRIANTAFYLLOU等[6]使用卡爾曼濾波技術(shù)研究DD-963驅(qū)逐艦的升沉、俯仰、滾轉(zhuǎn)、搖擺和偏航運動的預(yù)測.
1.1.2 擴展卡爾曼濾波
為避免計算中舍入誤差和截斷誤差的累積引起卡爾曼濾波的計算發(fā)散,BIERMAN等[7]提出了平方根濾波算法、UD分解濾波、奇異值分解濾波等一系列算法,以確保在卡爾曼濾波增益回路中的濾波方差矩陣始終正定.
使用擴展卡爾曼濾波算法和增廣的狀態(tài)方程構(gòu)成一種船舶運動模型參數(shù)辨識算法,用該算法來計算船舶運動模型中的未知參數(shù).首先,建立船舶水平面運動模型,數(shù)學(xué)表達式為
x(t)=f[x(t),s(t),t]+w(t),
(5)
y(t)=Hx(t)+e(t),
(6)
s(t)=[δ(t),n(t)]T,
(7)
f=[f1,f2,f3]T,
(8)
H=I3×3,
(9)
式中:x(t)為狀態(tài)方程的預(yù)測值;y(t)為觀測方程的觀測值;w(t),e(t)為零均值白噪聲序列,方差分別為Q和R;δ為船舵角;n為螺旋槳轉(zhuǎn)速.
PERERA等[8]提出了一種可用于船舶狀態(tài)預(yù)測的擴展卡爾曼濾波器(EKF),并進一步將其用于船舶軌跡的預(yù)測.
1.1.3 自適應(yīng)卡爾曼濾波
目前,在姿態(tài)運動預(yù)測領(lǐng)域中,擴展卡爾曼濾波是應(yīng)用最廣、最成熟的非線性濾波方法[9].原始卡爾曼濾波和擴展卡爾曼濾波應(yīng)用不精確或錯誤的模型和噪聲統(tǒng)計設(shè)計卡爾曼濾波器,會導(dǎo)致濾波器失去最優(yōu)性,估計精度大大降低,嚴重時甚至使濾波發(fā)散.為了解決這個矛盾,近些年來產(chǎn)生了自適應(yīng)卡爾曼濾波算法[10].自適應(yīng)卡爾曼濾波算法流程圖如圖1所示,圖中X為自適應(yīng)卡爾曼濾波狀態(tài)估計值,P為預(yù)測誤差方差矩陣,q為系統(tǒng)干擾均值,Q為系統(tǒng)干擾方差矩陣,r為量測噪聲均值,R為量測噪聲方差矩陣,k為第t(k)時刻.
圖1 自適應(yīng)卡爾曼濾波算法流程圖
在實際工程應(yīng)用中,外界條件的改變可能使噪聲統(tǒng)計特性發(fā)生變化,導(dǎo)致濾波發(fā)散[11].因此,需要在遞推濾波的同時,實時估計系統(tǒng)噪聲和量測噪聲,進而研究出一種指數(shù)加權(quán)法的時變噪聲統(tǒng)計估值器[12].FUNG等[13]使用自適應(yīng)卡爾曼濾波器對船舶進行動態(tài)定位.
1.2.1 DRNN(對角遞歸神經(jīng)網(wǎng)絡(luò))
圖2 對角遞歸神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)示意圖
(10)
式中:φ(·)為非線性函數(shù),常用Sigmoid函數(shù).
DRNN還有與其配套的訓(xùn)練算法,其數(shù)學(xué)模型為
(11)
(12)
表1為DRNN算法研究對比分析表.如表所示,王科俊等[16]將當前測量的橫搖時間序列值和前一時刻的橫搖預(yù)報值作為網(wǎng)絡(luò)僅有的輸入值,預(yù)報下一時刻的橫搖預(yù)報值.通過最速下降法訓(xùn)練對角遞歸神經(jīng)網(wǎng)絡(luò),多次訓(xùn)練確定網(wǎng)絡(luò)的權(quán)重值.SHEN等[17]將前一段時刻的俯仰通過改進的牛頓-高斯迭代法訓(xùn)練對角遞歸神經(jīng)網(wǎng)絡(luò),通過多次訓(xùn)練確定網(wǎng)絡(luò)的權(quán)重值.竇金生等[18]引入了時差(TD)學(xué)習(xí)算法結(jié)合最速下降法訓(xùn)練對角遞歸神經(jīng)網(wǎng)絡(luò),時差學(xué)習(xí)算法通過對不同時刻各個神經(jīng)元的輸出值的變化,來調(diào)節(jié)該神經(jīng)元權(quán)重調(diào)節(jié)的概率.
表1 DRNN算法研究對比分析表
1.2.2 BP神經(jīng)網(wǎng)絡(luò)模型公式
1986年,RUMELHART和MCCELLANDZ提出了BP網(wǎng)絡(luò)模型,結(jié)構(gòu)如圖3所示.設(shè)BP網(wǎng)絡(luò)的輸入層有n個節(jié)點,隱含層有q個節(jié)點,輸出層有m個節(jié)點,各個神經(jīng)元的權(quán)重為w,偏置項為b,輸入層與隱層之間的權(quán)值為vki,隱含層與輸出層之間的權(quán)值為Wik,傳遞函數(shù)為f.
圖3 經(jīng)典3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
隱含層節(jié)點的輸出為
(13)
輸出層節(jié)點的輸出為
(14)
隱含層節(jié)點個數(shù)是不確定的,通常根據(jù)經(jīng)驗公式來確定,即
(15)
式中:p為1~10之間的常數(shù).
BP神經(jīng)網(wǎng)絡(luò)的主要目的就是反復(fù)修正權(quán)值和閾值,使得誤差值達到最小,即
(16)
BP神經(jīng)網(wǎng)絡(luò)通常使用下面2種非線性激活函數(shù):
(17)
(18)
曾智剛[19]設(shè)置Elman網(wǎng)絡(luò)的輸入層、隱層、承接層和輸出層神經(jīng)元的格式為5-15-15-4.秦明杰[20]將波傾角α(t)作為輸入,橫搖角φ(t)作為輸出,網(wǎng)絡(luò)只采用1個隱含層,迭代29次后誤差即可滿足要求,如表2所示.
表2 BP神經(jīng)網(wǎng)絡(luò)算法在波浪補償?shù)膽?yīng)用層面與異同對照表
1.2.3 RNN的網(wǎng)絡(luò)結(jié)構(gòu)以及原理
1個最簡單的RNN,如圖4左側(cè)所示,只有1個神經(jīng)元接受輸入,只產(chǎn)生1個輸出,并將輸出傳遞給自己.神經(jīng)元可以隨時間序列展開,如圖4右側(cè)所示.每個神經(jīng)元都有2套權(quán)重,用于本層輸入xt和用于上層輸出yt-1的分別記為wx和wy.
圖4 RNN的網(wǎng)絡(luò)結(jié)構(gòu)圖
1個循環(huán)神經(jīng)元關(guān)于1個實例的輸出:
(19)
φ(…)為激活函數(shù)(一般為tanh,也有用ReLU),b為偏置項.
(20)
如表3所示,王國棟等[22]建立了基于LSTM的模型,對其進行了船舶姿態(tài)預(yù)測仿真.張東曉等[23]提出了一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的測試曲線生成方法,并進行了試驗驗證和應(yīng)用效果分析.
表3 LSTM神經(jīng)網(wǎng)絡(luò)算法異同對照表
ARMA(p,q)模型的數(shù)學(xué)表達式[24]為
x(t)=φ1x(t+1)+φ2x(t-2)+…+φpx(t-p)+ε(t)-θ1ε(t-1)-θ2ε(t-2)-…-θqε(t-q),
(21)
式中:p,q分別為模型的自回歸階數(shù)和平移平均階數(shù);φ和θ分別為自回歸系數(shù)和移動平均系數(shù);ε(t)為獨立的誤差項;x(t)為當前的預(yù)測值.
DUAN等[25]提出混合AR-EMD-SVM模型來預(yù)測船舶的運動姿態(tài).
自從1910年發(fā)明PID控制(主要是Elmer Sperry的船舶自動駕駛儀)和1942年的Ziegler-Nichols(ZN)直接調(diào)整方法以來,超過90%的工業(yè)控制器仍然基于PID算法實現(xiàn).PID控制算法的基本模型為
(22)
式中:G(s)為PID傳遞函數(shù);kp為比例系數(shù);ki為積分系數(shù);kd為微分因數(shù);Ti為積分時間常數(shù);Td為微分時間常數(shù).
PID控制算法在波浪補償?shù)倪\動控制中的應(yīng)用,如表4所示,國內(nèi)外的學(xué)者做了相關(guān)的研究.對于積分項的調(diào)節(jié),BOHN等[26]通過控制積分量的過量積分作用來調(diào)節(jié)積分項在3個分量中的比重,以控制相位的滯后.為提高PID控制的自適應(yīng)性和魯棒性,有學(xué)者將智能算法引入PID控制中,方千山[27]引入了模糊盒樹法自適應(yīng)PID算法,通過對常規(guī)PID控制系統(tǒng)性能品質(zhì)的分析,提出一種PID控制策略,利用模糊盒樹的分枝定界算法,以最少的模糊規(guī)則推理實現(xiàn)PID參數(shù)的自適應(yīng)調(diào)整.該方法具有結(jié)構(gòu)簡單、魯棒性強、動態(tài)品質(zhì)優(yōu)良的特點.
表4 PID算法研究對比分析表
DO等[28]通過對液壓系統(tǒng)進行建模,考慮到模型的準確性,采用Lyapunov非線性控制策略.KüCHLER等[29]通過仿真和試驗驗證了MPC的效果,并提出了新的評價標準,定義一個衡量控制算法性能的物理量,即
(23)
式中:Δzp為位移的變量;P為性能因子.
下面將詳細介紹MPC:
1) 例如非線性起重機在狀態(tài)空間中的模型[28]為
(24)
2) 控制的原則就是找到1個u(τ)(其中τ∈[t,t+Nc],其中Nc為設(shè)置的控制范圍),使得目標函數(shù)取最小值.建立的目標函數(shù)為
(25)
如表5所示,有很多學(xué)者將MPC及MPTP應(yīng)用于波浪補償研究[29-30].WOODACRE等[30]用無載開環(huán)液壓AHC試驗的MPC跟蹤加載運動,發(fā)現(xiàn)由于液壓過大導(dǎo)致液體泄漏,加載的系統(tǒng)運動滯后于無載的系統(tǒng)運動.
表5 應(yīng)用于波浪補償領(lǐng)域的MPC及MPTP的性能對比
1) 卡爾曼濾波算法在波浪補償中的預(yù)測精度和收斂速度與過程激勵噪聲協(xié)方差Q,狀態(tài)轉(zhuǎn)移矩陣A以及測量噪聲協(xié)方差R緊密相關(guān),未來的研究可以通過不同的算法尋找最優(yōu)的矩陣Q、矩陣A以及矩陣R,以提高波浪補償?shù)木群褪諗克俣?
2) 神經(jīng)網(wǎng)絡(luò)算法主要是利用網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)絡(luò)權(quán)重和閾值的自適應(yīng)調(diào)節(jié)實現(xiàn)對波浪上船舶的運動軌跡的估計.為提高算法的在線識別能力,可以將神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進行調(diào)整,也可以改變神經(jīng)網(wǎng)絡(luò)的非線性函數(shù),以實現(xiàn)對運動軌跡的高速、高精度的估計.
3) 時間序列分析法的波浪補償模型是通過采集歷史數(shù)據(jù)建立的,為防止波浪補償模型過擬合導(dǎo)致計算量過大,精度下降,可以通過改進波浪補償模型的適用性檢驗準則來確定波浪補償模型的最優(yōu)階數(shù)以及模型的各項參數(shù),保證波浪補償模型預(yù)報精度的同時提高預(yù)報速度.
4) PID運動控制方法在波浪補償中應(yīng)用最為廣泛,通過對誤差的比例、積分和微分操作對機械系統(tǒng)輸入控制信號進行反饋調(diào)節(jié),控制波浪補償系統(tǒng)的靜態(tài)誤差和動態(tài)誤差在較小的范圍內(nèi),未來可以通過改善PID控制算法的積分環(huán)節(jié)和微分環(huán)節(jié),以及PID 3個參數(shù)的自適應(yīng)調(diào)節(jié)環(huán)節(jié),提高PID控制算法在波浪補償運動控制領(lǐng)域的自適應(yīng)性.
5) 模型預(yù)測控制基于qp二次優(yōu)化原理求出最優(yōu)控制解,在波浪補償和控制中的預(yù)測精度和自適應(yīng)度主要取決于機械系統(tǒng)傳遞函數(shù)的建立,可以在建立傳遞函數(shù)的環(huán)節(jié)進行改進,提高系統(tǒng)對非線性系統(tǒng)傳遞函數(shù)的識別能力,從而提高波浪補償模型預(yù)測控制的預(yù)測精度和自適應(yīng)程度.