白偉偉, 任俊生, 李鐵山, 張秀鳳
(大連海事大學 航海學院, 遼寧 大連 116026)
基于全局最優局部加權學習算法的船舶操縱運動辨識
白偉偉, 任俊生, 李鐵山, 張秀鳳
(大連海事大學 航海學院, 遼寧 大連 116026)
運用一種基于全局最優的局部加權學習(Locally Weighted Learning,LWL)算法進行船舶操縱運動辨識建模。該方法是一種基于計算機存儲的離線學習的黑箱建模方法,直接考慮船舶運動狀態輸入與輸出之間的映射關系,可克服傳統機理建模及參數辨識模型中存在的參數漂移問題和未建模動態問題。對樣本點進行重新排列并提高輸入空間的維度,解決船舶運動狀態一對多映射和不可分問題。通過學習“Mariner”輪的三自由度數學模型,并進行旋回試驗、Z形試驗及逆螺旋試驗,驗證算法的有效性。
水路運輸;全局最優;局部加權學習;辨識;船舶操縱性
Abstract: Global-optimal-based Locally Weighted Learning (LWL) algorithm is applied to ship maneuvering motion identification modeling. LWL as a black box off-line modeling algorithm based on the computer memory, makes directly mapping between input and output of the ship motion states, therefore, eliminates the problems caused by parameter drifting and unmodeled dynamics, which exist in the mechanism modeling and parameter identification modeling. One-to-many mapping and inseparability of ship motion states are dealt with by sample rearrangement and raising the input dimension. The effectiveness of the algorithm is illustrated with learning a 3-D Mariner class vessel mathematical model then performing several maneuvering simulations, including: turning tests, zig-zag tests and reverse spiral tests.
Keywords: waterway transportation; global optimal; LWL; identification; ship maneuverability
船舶操縱仿真預報是研究船舶操縱性的一種重要手段,包括船舶操縱模擬器[1]仿真和船舶運動狀態預報[2]等。船舶運動數學模型的精度對預報性能有直接影響。辨識建模通過系統輸入、輸出的樣本數據解算出輸入與輸出之間的映射關系,其作為一種船舶操縱運動建模方法近年來受到廣泛關注。
局部加權學習(Locally Weighted Learning,LWL)算法[3]是一種非參數學習算法,被廣泛應用于單輸入單輸出[4]、仿人機械手臂[5]、擬人機器人[6]、電力裝備評估[7]和非線性時滯動態的模型預測控制[8]等系統中。
為改善LWL算法的擬合效果,相關學者對確定鄰域大小進行研究。文獻[9]對各種鄰域確定方法展開系統性討論。文獻[10]針對一組嚴重非線性的人工合成數據,運用全局最優的LWL算法取得良好的擬合效果。因此,具有大慣性的船舶也適宜采用該算法。全局最優的LWL算法具有強的魯棒性和抗干擾能力。在干擾服從正態分布的前提下,LWL算法可實現線性無偏估計。
上述系統與船舶操縱運動系統有本質區別。由于船舶具有大慣性,因此系統輸入與輸出表現為一對多映射,即舵角改變1次,船舶運動狀態對應改變多次,這種現象被稱為系統對輸入響應的時滯。由于一對多的映射不是數學意義上的函數關系,因此很難找到一種函數擬合該映射。解決該問題的一個簡單、有效的途徑是對輸入空間進行升維。這里將系統上一時刻的擬合結果作為下一時刻系統的輸入來提高輸入空間的維度。對船舶進行Z形操縱試驗時,各運動變量呈周期性變化,LWL算法不能區分出相對于輸入的上一時刻和下一時刻,稱之為不可分現象。解決該問題的關鍵是讓算法學習船舶運動趨勢,因此將船舶運動加速度信號引入到輸入空間中。舵角、上一時刻的運動狀態變量(包括縱向速度、橫向速度、轉艏速度)和加速度(包括縱向加速度、橫向加速度和轉艏加速度)共同組成LWL算法辨識的輸入。
將全局最優的局部加權學習算法應用到船舶操縱運動辨識建模中,為船舶操縱仿真預報提供更為精確的數學模型。
采用FOSSEN[10]提出的三自由度船舶運動數學模型驗證該算法的有效性。“Mariner”輪的三自由度船舶運動方程見式(1),該模型中的輸入信號僅有舵角。
(1)

以該水動力模型為研究對象,運用一種全新的系統辨識方法解算出系統輸入與輸出之間的映射關系。辨識算法以該模型預先采集的樣本點和預測點作為辨識系統的輸入,預測輸出船舶的運動狀態。樣本點數據包括船舶模型的輸入舵角和輸出的運動狀態變量。預測點的輸入包括船舶當前時刻的舵角和上一時刻的運動狀態變量;預測輸出為船舶當前時刻的運動狀態變量。
2.1高斯核函數
LWL算法通過自動調整接受域的大小來確定回歸樣本數量;同時,每個樣本點和預測點都采用相同的處理方式。其實質是為每個預測點建立一個局部線性模型,每個局部模型的參數及接受域的大小都由核函數(或稱加權函數)來確定。核函數利用距離計算出每個樣本點的權重值,常用的加權函數是高斯核函數,即
K(d)=e-d2
(2)
式(2)中:d為距離。核函數通過距離測度決定接受域的大小,距離測度通常有以下2種形式:
1) 隱性距離測度,以矩陣的形式隱藏在距離矩陣中。
2) 顯性距離測度h,通過h直接調節接受域的大小。
(3)
圖1為高斯核函數與距離測度的關系圖,其中:橫軸為樣本點據中心的距離;縱軸為權值;橫軸0點為預測數據點,以該點為中心,隨著h增大,接受域的半徑逐漸增大。距離沒有負值,符號用來表示不同的方向。與中心的距離下降得越快,囊括在核函數內的樣本點越少,反之越多。距離測度足夠大的核函數可囊括所有樣本點,這樣就變成全局線性回歸。h的大小直接決定LWL算法的預報性能。
2.2距離
對樣本點的加權可視為對相似點的重視和對較遠點的舍棄。一種簡單的鑒別相似度的方法是計算預測點與樣本點之間的距離。距離描述預測點與樣本點的相關性。距離有很多函數(如馬氏距離、歐氏距離等),這里采用較為簡單的馬氏距離。

(4)
式(4)中:d(x,q)為樣本點x與預測點q之間的距離;j為樣本點的第j維。距離不僅能表示2個點的相似、相近程度,而且能描述接受域的大小和形狀。
2.3目標函數
為說明算法的擬合效果,引入均方誤差(Mean Square Error,MSE)目標函數。
(5)
若各點誤差之和的平方最小,則說明擬合效果較好。為更好地得到預測點的輸出,對準則式進行加權實際上就是要求局部模型去更好地擬合臨近點,而忽略偏遠點。
(6)
這里提出的是一種全局最優的算法,船舶操縱運動數據變化緩慢且數值數量級較小,誤差的數量級更小。因此,選取樣本點局部殘差的平方和作為目標函數。
(7)
2.4LWL算法
函數擬合是找出樣本點輸入與輸出之間的潛在函數關系,常用的方法是利用樣本點訓練出全局的函數模型。然而,針對嚴重非線性問題,很難找到滿足要求的函數關系,且計算量較大。另一種方法是建立多個局部模型代替全局模型。LWL算法是用來解決局部逼近問題的一種經典方法,由于所用的訓練樣本數據都存儲在計算機內存中,因此又稱之為基于存儲的學習方法。LWL算法的關鍵是用分段的線性模型逼近非線性方程,類似于一階泰勒級數展開。[4]
選擇標準的回歸模型,即
y=f(X)+ε
(8)
式(8)中:X=[x1,x2,…,xj]T為N維輸入向量;y為模型的一維輸出;ε為均值為零的噪聲項。采用線性回歸映射,即
(9)
1) 用各樣本點減去預測點,計算預測點與各樣本點之間的距離。
2) 運用高斯函數計算出各樣本點相對于預測點的權重。
wi=K(d(xi,q))
(10)
權值為<1的非負數,采用式(3)和式(4)計算,隨著預測點與樣本點之間距離的增大而減小。高斯核函數的權值還與距離測度有關,在首次計算預測點預測值時,賦予距離測度一個較小的初值。接受域距離測度舍棄距離預測點過遠的樣本點,從而形成一個以預測點為中心的局部鄰域。將計算得到的權重分別加在對應的樣本點上,即存放樣本點輸入值的矩陣X和樣本點輸出的矩陣y的每一行都乘以對應的權值,記為新的矩陣Z和v,則有
(11)
(12)
式(11)和式(12)中:W=diag(w1,w2,…,wj)。
由最小二乘法可得
(13)
則LWL算法對預測點的計算式為
(14)
式(14)中:q為預測點的輸入向量。
(15)
采用留一交叉驗證對半徑因子h進行學習更新,選擇式(7)作為學習準則,選擇學習步長為λ。
h(k)=h(k-1)+λer(k-1)
(16)
在MATLAB環境下進行仿真試驗,計算機配置為主頻3.2 GHz和4 GB運行內存。為充分激勵船舶運動特性,設計一系列特有的訓練試驗。
1) 設計4組8字形試驗,船舶按照數字8的軌跡進行操縱。操縱時,首先向一舷操一定的舵角,當艏部轉過360°時,操大小相同的反舵角;當艏部再次轉過360°時,再次操大小相同的反舵角;當艏部再次轉過360°時,停止試驗并記錄整個試驗過程中的舵角、速度變量和加速度變量。圖2為8字形試驗的軌跡圖(25°),原點代表船舶始發點,x軸正方向為正東,y軸正方向為正北。試驗記錄見表1。
2) 為進一步激勵船舶操縱特性,將Z形試驗的數據加入到訓練數據中,試驗記錄情況見表2。
在前期工作中采集3組樣本數據驗證該算法的有效性和可行性,第1組為旋回試驗,第2組為Z形試驗,第3組為逆螺旋試驗,試驗記錄情況見表3。

編號舵角/(°)樣本點個數/個1152064220189532518704301791

表2 Z形試驗記錄結果

表3 測試試驗記錄結果
圖3~圖5為22°旋回試驗的仿真結果。圖3中,本文算法曲線和模型數據曲線重合度很高,且誤差較小;圖5中的軌跡預測也具有較高的精度。由仿真結果可知本文算法對船舶運動建模的有效性。
圖6~圖8為Z形試驗的仿真結果(35°)。該組試驗預測的數據是訓練數據范圍以外的數據,且Z形試驗相較旋回試驗非線性程度更為嚴重,圖中預測曲線與仿真曲線重合度較高,且誤差較小。圖8中本文算法得出的超越角與模型數據得到的超越較接近,可看出仿真結果的有效性,說明本文算法對訓練數據集范圍外的數據也有一定的預報能力。因此,算法具有一定的泛化能力。
圖9~圖10為逆螺旋試驗的仿真結果。從圖10中可看出:當舵角<20°時形成一一映射,近似于線性關系,說明船舶模型在該操縱范圍內具有航向穩定性,操縱性良好;當舵角>20°時,曲線形成一種近似的多值對應關系,說明船舶在該操縱范圍內航向穩定性較弱,操縱性不好。圖10中本文算法與模型數據的2條曲線幾乎重合,說明了本文算法的有效性。
綜上,LWL算法是一種針對船舶操縱運動建模的有效學習方法。Z形試驗、旋回試驗及逆螺旋試驗的良好預測效果表明,LWL算法可很好地學習到船舶操縱運動特性。此外,LWL算法可對訓練數據集以外的與訓練數據相似的數據進行預測,表明該算法具有一定的泛化能力。從圖3~圖10中可看出,誤差總會維持在可接受的范圍內,具有較高的建模精度。
運用LWL算法進行船舶操縱運動建模。該算法原理簡單、易于實現,具有較強的魯棒性。通過提高輸入空間的維度,可解決船舶運動狀態的一對多映射問題和不可分問題。與傳統的參數辨識算法相比,本文算法直接學習船舶運動狀態輸入與輸出之間的映射關系,理論上能有效提高建模精度。從仿真結果中可看出,LWL算法能對與訓練數據相似的訓練數據集以外的測試數據做出很好的預報,具有一定的泛化性。仿真結果說明了本文算法的有效性。
[1] 王德龍,任鴻翔,肖方兵. 船舶操縱模擬器單船避碰自動評估系統[J].中國航海, 2015,38(1):44-48.
[2] 蔡奉君,胡勤友,施朝健,等. 一種船舶運動狀態插值算法[J].中國航海, 2015,38(1):71-74.
[3] CLEVELAND W S. Robust Locally Weighted Regression and Smoothing Scatterplots[J]. Journal of the American Statistical Association, 1979,74:829-836.
[4] SCHAAL S, ATKESON CG. Robot Juggling: Implementation of Memory-Based Learning[J].IEEE Control Systems,1994,14(1):57-71.
[5] VIJAYAKUMAR S, SCHAAL S. Real Time Learning in Humanoids: A Challenge for Scalability of Online Algorithms[C]//IEEE-RAS International Conference on in Humanoids, 2000:7-8.
[6] LIU W, QUE H, WANG G, et al. Assessment of Electric Power Equipments Aging Trend Based on Robust Locally Weighted Regression Algorithm[C]. //Asia-Pacific Power and Energy Engineering Conference, 2010:1-4.
[7] LEHNERT C, WYETH G.Locally Weighted Learning Model Predictive Control for Nonlinear and Time Varying Dynamics[C]. //IEEE International Conference on Robotics and Automation, 2013:2619-2625.
[8] MIILLER HG, STADTMULLER U. Variable Bandwidth Kernel Estimators of Regression Curves[J]. Annals of Statistics, 1987,15(1):182-201.
[9] 石慶龍. 基于LWR算法的避障行為學習控制器設計及其在機器人上的實現[D]. 重慶:重慶大學,2013.
[10] FOSSEN T I. Guidance and Control of Ocean Vehicles[M]. New York: Wiley Pages, 1994:431-432.
Global-Optimal-BasedLocallyWeightedLearningforShipManeuveringMotionIdentification
BAIWeiwei,RENJunsheng,LITieshan,ZHANGXiufeng
(Navigation College, Dalian Maritime University, Dalian 116026, China)
U661.33
A
2016-11-10
國家高技術研究發展計劃(八六三計劃)課題(2015AA016404);國家自然科學基金(51109020);交通運輸部應用基礎研究項目(20143292-25370);海洋公益性行業科研專項經費項目(201505017-4)
白偉偉(1989—),男,山西臨汾人,博士生,從事船舶運動辨識建模研究。E-mail:baiweiwei_dl@163.com
1000-4653(2017)01-0037-05