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