錢蔚鑫
(中船第九設(shè)計研究院工程有限公司,上海 200063)
目前動力定位(Dynamic Positioning, DP)系統(tǒng)已在海洋工程領(lǐng)域得到廣泛應(yīng)用[1]。通過使用DP系統(tǒng),海洋平臺或勘探鉆井可快速適應(yīng)外部環(huán)境的變化。這種自動控制系統(tǒng)可通過調(diào)節(jié)推進器的轉(zhuǎn)速和角度來產(chǎn)生使海上裝備朝指定方向移動的力[2]。
傳統(tǒng)的DP控制系統(tǒng)通常采用控制器算法和推力分配(Thrust Allocation, TA)算法設(shè)計[3]??刂破饔嬎闼璧膹V義力包括縱蕩力、橫蕩力和艏搖力矩。TA算法以廣義力為輸入,將其分配給每個推進器。由于控制器算法沒有考慮螺旋槳的推力飽和、艏推進器的不對稱效應(yīng)和能量消耗等因素,采用該算法設(shè)計的DP控制系統(tǒng)可能是次優(yōu)的。模型預(yù)測控制(Model Predictive Control, MPC)可將觀察到的船舶狀態(tài)作為輸入,計算出每個螺旋槳應(yīng)產(chǎn)生的推力,從而產(chǎn)生理論上最佳的推進器輸出。然而,MPC算法是一種耗時的方法[4],在快速動態(tài)系統(tǒng)中難以做到實時實現(xiàn)。
本文對MPC算法[5]進行改進,大大提高MPC中每個步驟的計算速度。首先,研究MPC中二次規(guī)劃(Quadratic-Programming, QP)的特殊結(jié)構(gòu),然后,采用近似內(nèi)點法求解QP;最后,通過算例對該方法的有效性進行驗證。
船舶的離散狀態(tài)動力學模型[6]為
式(1)中:t為時間為狀態(tài)為控制輸入為環(huán)境干擾;矩陣和為已知矩陣,與質(zhì)量、阻尼和其他流體動力效應(yīng)有關(guān)。對于船舶而言,式(1)包括隨體坐標系與大地坐標系之間的速度轉(zhuǎn)換,有
式(2)中:φ為航向角。
MPC是一種基于有限時域的滾動優(yōu)化,會根據(jù)現(xiàn)在的和以前的狀態(tài)x(0),…,x(t)確定當前的控制輸入u(t)。定義一個凸二次懲罰函數(shù)有
此外,考慮狀態(tài)約束和控制約束,定義一組線性不等式,即
在MPC中,考慮懲罰函數(shù)將限制在T步驟的范圍[7]。通過求解QP問題[8],在每個步驟中找到控制輸入u(t),有
通過定義一個整體決策變量對式(7)進行改寫,有
罰函數(shù)法是通過在目標函數(shù)中增加罰函數(shù)來代替不等式約束,進而求解上述QP問題的。
式(9)中:φ(z)為罰函數(shù)。
式(11)中:d為平行元素為P的第i行。在迭代過程中,保證隱式約束并計算得到主步長和對偶步長Δz,Δν,直到z+Δz和ν+Δν給出的殘差(rd,rp)足夠小。
式(12)應(yīng)在MPC中迭代計算,若使用密集的LDLT因式分解來求解,運算浮點數(shù)是次。若利用對角矩陣的稀疏結(jié)構(gòu),運算浮點數(shù)可降次。Φ的逆矩陣可寫為
通過分塊消除,可通過以下步驟求解式(12):
該Schur補Y是一個分塊對角陣,即
在標準牛頓法中,只有當殘差的范數(shù)足夠小時迭代才會停止。在近似方法中,會限制迭代步數(shù),即選擇Kmax作為牛頓步驟的迭代極限。通常將Kmax的值設(shè)定為3~10。
提出一個機械控制系統(tǒng),由經(jīng)彈簧連接的6個物體組成(見圖1)。船舶運動可簡化為該系統(tǒng)模型。假設(shè)驅(qū)動力向量的大小在-0.5~+0.5,每個物體的位置在-4~+4。連續(xù)時間狀態(tài)空間模型為
圖1 彈簧連接振動質(zhì)量模型
在一階離散連續(xù)時間狀態(tài)空間模型中應(yīng)用公式
式(16)中:Tc為采樣時間,用來離散化該連續(xù)時間系統(tǒng)。在快速MPC中,選擇一個時間范圍T=30,二次目標函數(shù)的權(quán)值為
采用近似牛頓法進行數(shù)值模擬,并將模擬結(jié)果與采用標準牛頓法所得結(jié)果相對比,各算例的仿真數(shù)據(jù)見表1,仿真結(jié)果見圖2~圖4。由圖2~圖4可知,快速MPC中每個物體的位移與標準MPC中物體的位移相同。從功耗和變化率方面看,快速MPC的控制效果不會比標準MPC的控制效果差。這表示快速MPC可獲得令人滿意的控制性能。同時,從計算時間方面看,使用標準 MPC求解器計算每一步控制輸入需500~1000ms,而對于該算例,執(zhí)行一個快速MPC步驟需7~8ms,可達到100Hz的控制率。
表1 各算例的仿真數(shù)據(jù)
圖2 x1和u1隨時間的變化曲線
圖3 x3和u2隨時間的變化曲線
圖4 x5和u3隨時間的變化曲線
本文利用MPC中的稀疏結(jié)構(gòu)提高了MPC的計算速度,可實現(xiàn)實時應(yīng)用??焖費PC的控制性能令人滿意。運用快速MPC算法將使船舶的最優(yōu)控制輸入計算成為可能。該算法具有普適性,可解決環(huán)境干擾情況下的快速控制問題,在無人機和車輛運動控制等領(lǐng)域均可應(yīng)用。