歐陽子路,王鴻東*,2,王檢耀,2,易宏,2
1 上海交通大學 海洋工程國家重點實驗室,上海 200240
2 上海交通大學 海洋智能裝備與系統教育部重點實驗室,上海 200240
作為各種智能控制算法與控制策略實施的載體,智能船舶[1-2]與無人艇[3-5]這類結合了傳統船舶工業與人工智能新興技術的產物,已成為近年來學術研究的熱點。而這些控制算法與策略的設計基礎是船舶操縱運動數學模型。為了對智能船舶與無人艇的運動實現精準預報,一般需要采用非線性數學模型,如Abkowitz 模型[6]和MMG 模型[7],但這些數學模型包含大量的水動力導數,給控制算法與策略的設計與實施帶來了問題:一是運算效率低,較高的模型復雜度會降低運算求解效率,減慢計算速度,帶給計算機較大的存儲壓力與運行壓力;二是物理意義不明確,較多參數難以從模型試驗或計算流體動力學(CFD)求解中獲取;三是參數漂移影響大,船舶操縱模型越復雜,水動力導數產生數值漂移的可能性越大,導致設計出的控制參數與控制律在實際工程中缺乏良好的適用性。
針對上述問題,國內外多位學者從敏感性分析(也稱“靈敏度分析”)的角度對船舶操縱數學模型進行了簡化。Hwang[8]將某水動力導數發生參數漂移后所引起的速度分量變化的最大值定義為該水動力導數的敏感性系數,并進行仿真試驗驗證了該方法的有效性。Perez 等[9]以船舶四自由度運動數學模型為基礎,通過提取橫向速度與角速度,定義了艏搖平方損失函數,該損失函數的計算值即為敏感性值。以該理論為基礎,方向紅等[10]以Mariner 船為研究對象,基于損失函數法對船舶運動數學模型進行了簡化與重構;羅偉林等[11]考慮參數漂移效應,采用35°右回轉、10°/10°Z 形操舵與20°/20° Z 形操舵這3 種操縱性標準試驗進行靈敏度計算,并自行設計了目標函數,得出線性水動力導數、橫向速度和轉艏角速度的三階水動力導數在模型中起主要作用的結論。徐峰等[12]直接從敏感性的原始定義出發,基于船舶操縱運動數學模型,推導出了敏感性分析的直接方法并針對簡化前、后的15°/15° Z 形操舵進行了仿真試驗,結果表明各運動狀態吻合較好。
根據目前的研究進展,針對船舶操縱數學模型的敏感性研究多從單個標準操縱性試驗(如Z 形操舵或回轉試驗)入手進行分析與驗證,或是將多個標準操縱性試驗的敏感性結果進行線性組合分析。然而,若要將控制算法與策略應用到船舶上,整個船舶操縱與運動過程相比其標準操縱性試驗將會產生較大差異,且會衍生出帶有控制特色的新指標,采用傳統分析方法對用于智能控制的船舶運動數學模型進行簡化,有可能會產生較大的實際控制誤差。為此,在前人的研究基礎上,本文擬提出結合標準操縱性試驗與比例-積分-微分(proportion-integral-differential,PID)航向控制試驗的敏感性分析方法,將控制指標、操縱性指標及整個時歷過程典型運動狀態變量平方損失進行復合分析,引入K-means 機器學習算法,對上述多維度敏感性指數進行聚類分析,從而得到用于智能控制的船舶運動簡化數學模型,并用仿真試驗對本文所提方法與模型的有效性進行驗證。
本文所采用的船舶運動數學模型為Abkowitz模型。該模型將船體、螺旋槳和舵看作一個整體,對3 個方向的流體動力作“準定常假設”,即F=f(u,v,r,u˙,v˙,r˙,δ),并將其展開為各運動狀態量及其耦合項的泰勒級數之和,最終的數學表達形式如式(1)所示:
式中:m為船舶質量;XG為船舶重心的縱向坐標;Iz為船舶關于Z軸的慣性矩;u,v,r分別為縱向速度、橫向速度及轉艏角速度; Δu˙, Δv˙, Δr˙分別為縱向、橫 向、轉 艏 加 速 度 的 擾 動 項;Xu˙,Yv˙,Yr˙,Nv˙,Nr˙為流體慣性水動力導數;Δf1,Δf2,Δf3為作用于船舶的流體動力,包含一階、二階、三階水動力導數。基于Abkowitz 模型,本文選取操縱性標模Mariner 進行研究。
本文采用標準操縱性試驗結果與PID 航向控制試驗結果相結合的分析方法,將控制指標、操縱性指標及整個時歷過程典型運動狀態變量平方損失進行復合分析。其中,標準操縱性試驗包括回轉試驗與Z 型操舵試驗。Mariner 船在標準水動力導數下的回轉試驗與20°/20° Z 形操舵試驗結果分別如圖1 和圖2(圖中, ψ為航向角,δ 為舵角)所示。對于回轉試驗結果,本文提取回轉半徑R、正橫距S2和縱距S作為敏感性分析的關鍵指標;對于Z 形操舵試驗,本文提取第一超越角ψOV作為關鍵指標,具體分析方法在下節展開。

圖1 35°右滿舵回轉試驗軌跡Fig. 1 35° right full rudder rotation test track

圖2 20°/20° Z 形操舵試驗舵角與艏向角時歷曲線Fig. 2 Time history curves of rudder angle and heading angle in 20°/20° zig-zag test
PID 航向控制是船舶智能控制中應用最廣泛的一種控制方法,同時,也是各智能控制算法與策略實施的基礎,其執行流程如圖3 所示。本文引入PID 航向控制試驗作為敏感性分析的基礎試驗之一,可以有效測試與計算各水動力導數對控制過程及控制結果的影響程度。在PID 航向控制系統中,船舶期望航向角θ 與當前實際航向角ψ(t)這兩者間的差值構成了航向偏差e(t),經過比例、積分、微分運算,可得到舵角實際輸出u(t)的數學表達式為

圖3 PID 航向控制執行流程Fig. 3 PID heading control execution process

式中:Kp為比例系數;Ti為積分時間常數;Td為微分時間常數。對于PID 控制試驗結果,本文提取控制最大瞬態偏差d、控制誤差err及u,v的時間序列作為敏感性分析的關鍵參數,具體分析方法將在下節展開。

式中: max(ψ(t))為整個控制過程中船舶最大航向角;ψ(final_t)為控制狀態達到穩定最終時刻的船舶航向角。
敏感性分析的核心目的是得到模型中各參數的敏感性系數大小,以便在實際應用中忽略敏感性系數很小的參數,重點考慮敏感性系數較大的參數,這樣不僅可以大大降低模型的復雜度[13],還可減少因非線性水動力導數過多而帶來的參數漂移[11]。本文將用于智能控制的船舶運動數學模型敏感性系數劃分為3 個維度進行分析。
用控制指標R1表征船舶航向控制的特點。由1.2 節,可知R1包括d及err,且可以采用下面的函數表示:式中:H為水動力導數;O為船舶其他參數。基于R1,定義控制指標敏感性系數S1為


1) 在標準水動力導數下通過PID 航向試驗計算d*與err*。
2) 取單個標準水動力導數,變化范圍為-80%~+80%,變化步長為20%,每次變化后都通過PID航向控制試驗計算相應的d j與err j。

4) 重復步驟2)與步驟3),遍歷每一個水動力導數。
根據上述步驟,得到期望航向角θ= 20°時基于控制指標的敏感性系數S1如表1(根據式(1),流體慣性水動力導數及控制導數為建模必備參數,故未參與敏感性分析)所示。

表1 水動力導數基于控制指標的敏感性系數Table 1 Sensitivity coefficients of hydrodynamic derivatives based on control index
除了對航向控制典型指標的分析,在整個航向控制過程中,各運動狀態的時歷演變同樣重要,因其反映的是系統的動態性能。基于Perez等[9]提出的損失函數概念,針對PID 航向控制的特殊性,定義復合評價函數Jcontrol如式(6)所示。


式中:psi*為標準水動力導數下船舶航向角在整個控制過程時間序列上構成的向量,其維數為N*1;psi j為水動力導數偏移后的向量。該式計算的是兩向量的夾角余弦,機器學習及統計學經常采用該值來衡量樣本向量之間的相似程度。本文借助該數學概念,考慮到 |1-η|在本場景數值上較小,采用sigmoid 函數對其進行了放大激活。PID航向控制的動態性能對某水動力導數的變化越敏感,psi*與psi j間的差異便越大,sigmoid(|1-η|)的值將越大。綜上可知,式(7)綜合考量了縱向速度、橫向速度與航向角的動態性能關于水動力導數的敏感性。基于上述數學分析,得到期望航向角θ= 20°、單水動力導數偏移50%時的敏感性系數S2如表2 所示。

表2 水動力導數基于復合評價函數的控制過程敏感性系數Table 2 Sensitivity coefficients of hydrodynamic derivatives based on composite evaluation function of the control process
2.1 節和2.2 節分別對PID 航向控制結果與動態性能這2 個維度的水動力導數敏感性進行了分析,主要關注的是水動力導數變化對控制性能的影響。本節則回歸標準操縱性試驗,如回轉試驗與Z 形操舵試驗,分析水動力導數變化對航行性能的影響。
用標準操縱性試驗指標R3表征船舶航行性能的特點,由1.2 節,R3包括R,S2,S,ψOV。類似于2.1 節,基于R3定義標準操縱性試驗指標S3如式(8)。


表3 水動力導數基于標準操縱性試驗指標的敏感性系數Table 3 Sensitivity coefficients of hydrodynamic derivatives based on standard maneuverability test index
由上節,得到了從不同維度出發描述水動力導數的敏感性系數S1,S2,S3,即每個水動力導數對應3 個敏感性系數。根據以上數據,得到水動力導數在構造用于智能控制的運動數學模型時關于敏感性高低的類別劃分,并采用機器學習K-Means聚類算法進行了分析。
聚類是將一個大的數據集劃分為具有相似特征或表現的若干子集。與分類不同,聚類無需事先得到數據集中某些數據的分類標號,從部分標簽中提取分類原則,而是秉持子集與子集之間數據差異程度最大、同一子集里的數據差異程度最小的原則來對大數據集進行劃分。因此,該思想與方法非常適合本文多維且無對運動數學模型影響權重大小標簽的敏感性數據集。
在聚類算法中,K-Means 算法是實際應用中使用最廣泛的一種算法[14],該算法由MacQueen[15]于1967 年率先提出,其核心思想為把某數據集中N個數據對象,以“每個聚類中的數據對象到該聚類中心的誤差平方和最小”的思想為基礎,劃分為k個聚類。具體到本文,對于包含N個(N為參與敏感性分析的水動力導數數目)三維數據點的敏感性數據集SN:

在以上數學定義的基礎上,基于多維度敏感性系數的K-Means 水動力導數聚類分析算法的實施步驟如圖4 所示。

圖4 K-means 聚類分析算法實施步驟Fig. 4 Implementation steps of K-means cluster analysis algorithm
根據圖4 所示運行算法,得到基于多維度敏感性系數的水動力導數聚類分析結果如表4 所示,表中A,B,C 為水動力導數聚類標簽。表5 所示為各聚類中心與原點之間的歐氏距離。

表4 基于多維度敏感性系數的水動力導數聚類分析結果Table 4 Cluster analysis results of hydrodynamic derivatives based on multi-dimensional sensitivity coefficient

表5 各聚類中心與原點之間的歐氏距離Table 5 Euclidean distance between cluster centers and origin
根據聚類結果,Yv,Yr,Nv,Nr這4 個一階位置導數與旋轉導數屬于同一聚類A,且A 類的聚類中心與原點間的歐氏距離值最大。顯然,A 聚類中的數據對象是聚類算法根據三維敏感性系數,判斷在構造用于智能控制的運動數學模型時影響權重最大的水動力導數,這些導數在建模時是不能忽略的。Nvvv,Nvvd等20 余個水動力導數屬于同一聚類C,且C 類的聚類中心與原點間的歐氏距離值最小。顯然,C 聚類中的數據對象是用于控制建模時影響權重最小的水動力導數,這些導數在控制建模時可以忽略,且在模型試驗中也不必對它們進行測試計算。Xu,Xrv,Yvvr,Nvvr屬聚類B,其影響權重被聚類算法自動劃分為A,C 之外,且B 類的聚類中心與原點間的歐氏距離值介于A,C 之間,表明B 所包含的對象對構造用于智能控制的運動數學模型的影響介于二者之間,為保證控制算法與策略設計時的精度,應對這些導數給予測試與計算。
只考慮聚類A,B 的水動力導數,即可得到本文所提的簡化模型,記為Model A。除流體慣性力項與一階控制導數項外,Model A 包含的水動力導數有8 個:Yv,Yr,Nv,Nr,Xu,Xrv,Yvvr,Nvvr,相比完整模型(記為Model),已得到很大的簡化。同時,為了驗證Model A 在用于智能控制時的有效性與優越性,引入徐峰等[12]于2013 年提出的簡化模型(記為Model B)進行了對比。Model B 是由標準操縱性仿真試驗經分析與計算得到,該模型包含的水動力導數有7 個:Yv,Yr,Nv,Nr,Xu,Xrv,Xδδ。本文 中Model A 與Model B 的 主要區 別 在于,認為三階水動力導數項Yvvr與Nvvr在船舶智能控制時對控制過程與結果的影響不可忽略,二階水動力導數Xδδ的作用不明顯。
針對Model,Model A 與Model B,在相同控制參數及相同初始運動狀態下做PID 航向控制仿真試驗,其中Model 與Model A 表現出的實際航行軌跡如圖5 所示,3 個模型在控制過程中其航向角輸出、轉艏角速度r、縱向攝動速度u與橫向速度v的時歷曲線如圖6 所示。

圖5 Model 與Model A 的PID 航向控制試驗航行軌跡Fig. 5 PID heading control experimental trajectory of Model and Model A
由圖5 可知,本文所提Model A 在PID 控制下所表現出的實際航行軌跡與完整模型Model 吻合較好,表明從最終的控制結果來看,本文所提模型具有較好的精度與工程實用價值。由圖6 可知,除縱向攝動速度u外,相比Model B,本文所提Model A 與完整模型的變化趨勢在航向角輸出、轉艏角速度r和橫向速度v方面更加貼合,尤其是在曲線的高、低峰值上,Model B 表現出了較大的狀態漂移,而Model A 則幾乎與完整模型的數值一致。這表明了本文所提敏感性分析與聚類分析方法的有效性,尤其是引入基于控制指標的敏感性系數與基于復合評價函數的控制過程敏感性系數后,在控制結果與控制過程上對水動力導數進行多維敏感性計算與評價,使得Model A 在進行操控運動預報時具有更好的準確度。

圖6 Model,Model A,Model B 各物理量的時歷曲線對比Fig. 6 Comparison of time history curves of physical quantity with Model, Model A and Model B
從Model A 與Model B 的差異角度出發,本文的結果還表明,在控制方面,某些三階水動力導數的影響權重不僅不弱于,甚至是強于二階水動力導數。例如,Model B 所考慮的二階水動力導數Xδδ盡管其敏感性系數S2的數值(3.96×10-1)比本文所提的需要考慮的三階水動力導數Nvvr相應的數值(2.89×10-2)大,但Xδδ的S1(5.00×10-3)與S3(2.22×10-1)均遠小于Nvvr相應的數值(1.45×10-1與1.806),因此,本文聚類算法通過綜合判斷分析,將Xδδ劃分到了建模可以忽略的聚類C。仿真試驗結果也表明,忽略Xδδ僅輕微影響到了縱向速度的精度,對航向控制輸出無較大影響。由此可以看出,本文所提多維敏感性分析方法具有全面性與優越性。
為進一步考察船舶在執行路徑跟蹤這類復雜的控制任務時,Model A 對運動過程的預報精準度是否滿足工程需求,開展了基于間接航跡控制策略的路徑跟蹤仿真對比試驗。外環航跡控制環均采用視線(LOS)制導法,中環航向控制環均采用PID 控制算法,跟蹤的路徑點如表6 所示。基于Model,Model A 和Model B 這3 種模型對船舶操控運動進行預報,得到航行軌跡與航向角時歷曲線分別如圖7、圖8 所示。

圖8 航向角時歷曲線對比Fig. 8 Comparison of time history curves of heading angle

表6 路徑跟蹤點Table 6 Path tracking point
從航向角時歷曲線上看,在0~550 s 時間區間內,Model A 與Model B 這2 個簡化模型與完整模型幾乎完全貼合,但是由于Model A 與Model B均在建模中忽略了大量二階與三階水動力導數,導致在550~800 s,1 200~1 600 s 和1 880~2 100 s這3 個區間內,簡化模型與完整模型的差異開始體現,主要表現在高、低峰值的大小與時滯上。這3 個時間區間對應的是船舶操舵轉艏和航行通過圖中3 個設定的“拐點”的過程。該現象表明:簡化模型舍棄高階水動力導數后,對船舶航行狀態預報結果的影響主要體現在較為激烈的轉艏動作上。從實際航行軌跡結果上看,Model A 模型預報的航行軌跡相比Model B 更貼近完整模型Model,尤其是在激烈操舵的航跡段切換過程中,如圖7 中局部放大圖,Model B 表現出了較大的船位“漂移”(這里的“漂移”是指與完整模型Model 軌跡之間的差異,而非與預設路徑之間的跟蹤誤差),而Model A 則幾乎與完整模型一致。這表明本文所提Model A 模型在平穩循跡的穩定狀態與激烈操縱的大舵角轉向狀態均具有更好的預報精度。

圖7 Model,Model A 與Model B 的路徑跟蹤航行軌跡Fig. 7 Path tracking experimental trajectory of Model , Model A and Model B
為了獲得用于智能控制的船舶運動簡化數學模型,本文提出結合標準操縱性試驗與PID 航向控制試驗的敏感性分析方法,將控制指標、操縱性指標及整個時歷過程典型運動狀態變量平方損失進行復合分析,得到了包含基于控制指標的敏感性系數S1、基于復合評價函數的控制過程敏感性系數S2及基于標準操縱性試驗指標的敏感性系數S3的數據集,通過引入K-means 機器學習算法對上述多維度敏感性指數進行聚類分析,完成了水動力導數敏感性強弱的自動劃分,進而對模型進行了簡化。通過比較本文簡化模型、前人簡化模型和完整模型的PID 航向控制試驗與路徑跟蹤試驗仿真試驗結果,驗證了本文所提敏感性分析方法的有效性,證明本文所提模型具有更高的操控預報精度。未來,可進一步探究在不同海洋環境載荷下簡化模型的建立。