, , ,,
(中國船舶科學研究中心,江蘇 無錫 214082)
動力定位系統(tǒng)主要包括測量系統(tǒng)、控制系統(tǒng)以及推進系統(tǒng),其中控制系統(tǒng)是動力定位系統(tǒng)的核心。其原理是按照測量系統(tǒng)測得的船舶當前位置與設定位置之間的偏差,以一定的控制方法計算出船舶到達設定位置所需的推進器推力和力矩,再通過推進系統(tǒng)中的推力分配算法將計算的推進器推力合理的分配到船舶各個推進器上。對于實際的船舶控制,由于模型參數(shù)的時變性以及環(huán)境力的影響,再加上船舶控制中的各種約束條件,動力定位系統(tǒng)對于船舶的控制會產(chǎn)生超調(diào)現(xiàn)象,控制效果并不令人滿意,對于約束條件較為苛刻的工程應用來說危險性極大。為了解決模型參數(shù)以及環(huán)境力影響的問題,業(yè)界學者也提出了包括自適應模型參數(shù)或者控制參數(shù)整定[1-2]、非線性模型[3-4]以及模擬環(huán)境力前饋[5]等方式來解決。然而這種控制方式無法確保對船舶的控制滿足理論約束。
本文中控制系統(tǒng)使用的是預測控制理論。預測控制起源于工業(yè)生產(chǎn)過程當中,一般具有三個基本特征分別為:預測模型、滾動優(yōu)化、反饋校正。工業(yè)生產(chǎn)過程當中所控制的對象大都具有非線性和多約束的特點,和船舶的控制特性類似;同時,預測控制對船舶的運動可以作短時的預測,通過在滾動優(yōu)化中增加約束條件,可以同時保證控制結(jié)果的最優(yōu)性和約束性。因此,將預測控制應用于動力定位控制器的設計有著極大的優(yōu)越性。
國內(nèi)對于動力定位預測控制器已經(jīng)有了不少的研究,比如說王元慧[6]、錢小斌[7]、蘇義鑫[8]等人,但是這些研究大都只是停留在算法仿真階段,由于仿真是在一種充分理想的狀態(tài)和環(huán)境下進行的,仿真算法的實用性和有效性有待獲得模型試驗的驗證。本文針對仿真條件的不足利用仿真算法設計了船舶模型試驗。
傳統(tǒng)的預測控制器使用的是不變的預測模型,然后直接補償?shù)姆绞竭M行反饋校正。然而,在實際動力定位預測控制器的設計中,考慮到船舶運動時參數(shù)的時變性,設計了如下圖所示的預測控制器。
圖1 廣義預測控制器結(jié)構圖
由于船舶參數(shù)的時變性,在控制器的設計當中,我們選取了參數(shù)較少的受控自回歸滑動積分平均模型(CARIMA)作為預測模型[9]。該預測模型的一般結(jié)構為:
A(z-1)y(k)=z-dB(z-1)u(k)+C(z-1)ξ(k)/Δ
(1)
其中:A(z-1)=1+a1z-1+a2z-2+...+anaz-na,B(z-1)=b0+b1z-1+b2z-2+...+bnbz-nb,ξ(k)為白噪聲,Δ=1-z-1作為差分環(huán)節(jié),一般假設系統(tǒng)延時d=1,C(z-1)=1。
為了得到船舶k+j時刻的運動預測值,將下列多番圖方程帶入式(1):
(2)
可得:
y(k+j)=Fj(z-1)y(k)+Gj(z-1)Δu(k+j-1)+
Hj(z-1)Δu(k-1)+Ej(z-1)ξ(k+j)
(3)
如此,我們可以得到船舶j時刻的位置與過去的船舶位置和推進力之間的關系,可以證明用多番圖方程獲得的船舶未來時刻的位置估計是最優(yōu)的[10]。
用CARIMA模型獲得的船舶運動預測模型結(jié)構簡單,參數(shù)較少,更加方便參數(shù)的辨識;這種結(jié)構摒棄的傳統(tǒng)預測控制算法中的多階矩陣迭代,由此減少了算法計算量,提高了算法的實時性;模型結(jié)構中包含了船模的過去的輸入輸出參數(shù),可以將環(huán)境力的影響以及船舶推進器的效率問題都包含在船舶的運動模型當中,使得整個系統(tǒng)魯棒性更好。
滾動優(yōu)化主要是用來計算最優(yōu)推進力和力矩。由于在預測模型中獲得的船舶位置預測值是一個和未來船舶推進力有關的代數(shù)式,需要在滾動優(yōu)化中以一定的性能指標計算出最優(yōu)推進力。
一般預測控制中滾動優(yōu)化的性能指標函數(shù)都是以預測的船舶位置與設定的目標位置之間的偏差最小以及船舶到達目標位置所使用的推進器推力最小設定的,其性能指標函數(shù)如下:
(4)
通過對此性能指標函數(shù)施加一系列約束比如位置約束、速度約束以及推進器推力(變化)約束,求得一組最優(yōu)推進力。將每次求得的一組最優(yōu)推進力的第一項作為當前時刻船舶的最優(yōu)推進力。在仿真過程中發(fā)現(xiàn),采用這種形式的性能指標函數(shù)并不能充分的利用推進器推力,而且對于速度進行過小的約束,必然就減小了動力定位系統(tǒng)的控制效率??紤]到以上因素,在該控制器中對傳統(tǒng)的性能指標函數(shù)進行了修改,在原有的基礎上加入了位置微分項,和PID控制的微分參數(shù)功能類似,這種方式使位置偏差項和船模速度項在船模向設定位置運動的過程中各占權重;與PID控制不同的是,這種方式利用了預測控制中對船舶位置的預測,因而對船舶的控制不會存在滯后現(xiàn)象。修改后的性能指標函數(shù)如下:
(5)
由于船舶運動時阻尼和附加質(zhì)量的時變性,實際控制中環(huán)境力的慢變性,因而在本預測控制器設計中采用的是遞推最小二乘法來對預測模型參數(shù)進行更新[11]。將船舶三自由度運動分別研究,單自由度的預測模型可以寫成如下形式:
y(k)=-a1y(k-1)-...-anay(k-na)+
b0u(k-1)+...+bnbu(k-1-nb)+ξ(k)=
φT(k)θ+ξ(k)
(6)
其中:
(7)
隨著時間的增長,采用最小二乘法會產(chǎn)生數(shù)據(jù)飽和的現(xiàn)象,而且對于船舶的非線性運動,船舶過去的輸入輸出對現(xiàn)在的船舶模型參數(shù)參考意義不大,因此在反饋校正中選擇帶遺忘因子的遞推最小二乘法來加強新數(shù)據(jù)對船舶參數(shù)的影響。具體步驟如下:
(8)
這種遞推的方式的實質(zhì)是將船舶的非線性運動局部線性化,然后用線性系統(tǒng)的控制方法來控制船舶運動。
本次模型試驗的設備主要有帶棱鏡的全站儀一臺,自主設計的帶操縱桿的中控機一臺,筆記本電腦一臺,其關系如圖2所示。
圖2 試驗機構原理圖
本次模型試驗使用的船舶模型是一艘航標船模型,其結(jié)構如圖所示。該船舶模型有一個槽道推進器(艏部)和一對全回轉(zhuǎn)推進器(艉部),其質(zhì)量矩陣和阻尼矩陣分別為:
(9)
圖3 試驗用船舶模型
全站儀是本次試驗的位置測量儀器,其測量的位置是相對于以自身為原點,平行于水池邊的方向為Y軸,垂直于水池邊的方向為X軸確定坐標系下的坐標。通過發(fā)射激光并接受安裝在船舶重心上的棱鏡的反射解算船模的當前位置,其位置測量精度可達1 mm。船體坐標系是以船模的重心位置為原點,艏向方向為y軸,橫向方向為x軸。
中控機使用的是本試驗室自主研制的動力定位人工操作臺,該操作臺集成了動力定位系統(tǒng)的所有功能,既可以選擇使用內(nèi)部控制算法或者外部算法進行自動控制,也可以通過臺面上的操縱桿進行手動控制。本次試驗中為了防止模型失控,保證設備安全,選用外部計算機作為進行控制算法運算的同時,保留了自動手動切換功能。
筆記本電腦上面運行的是本次試驗的控制算法。試驗中需要嵌入中控機的必須是基于LabVIEW環(huán)境下的可執(zhí)行文件,試驗前,通過LabVIEW中的Matlabscript控件,我們將Matlab語句整個移植到LabVIEW中,并加入了數(shù)據(jù)采集以及控制量顯示功能。整個控制流程如圖4所示。
圖4 控制流程圖
全站儀和陀螺儀將測量信號發(fā)給中控機進行數(shù)據(jù)解析,中控機將解析后的數(shù)據(jù)發(fā)送給筆記本電腦進行控制運算,筆記本電腦將計算好的推力數(shù)據(jù)發(fā)送給中控機進行推力分配,中控機將分配好的推進力以指令的形式發(fā)送給船模。船模與中控機之間通過無線路由器連接,其他設備之間都是有線直連。
按照仿真中設置的系統(tǒng)參數(shù),滾動優(yōu)化中的性能指標函數(shù)中位置偏差權值三自由度都為0.5,位置變化權值船舶x、y方向的權值設置為40、艏向方向為60;反饋校正中的遺忘因子設置為0.97。根據(jù)螺旋槳的所能產(chǎn)生的最大推力以及船模主要參數(shù),我們將船舶的推力和力矩約束分別設置成了±10 N和±10 N·m,每次推力和力矩的變化設置成了±1 N和±1 N·m。
為了方便研究預測控制器控制參數(shù)與船舶各自由度運動之間的關系,采用控制變量法設置了下列一組試驗,船模x方向的位置變化為2 m~0 m~2 m~2 m,船模y方向的位置變化為-8 m~10 m~10 m~7 m,船模的艏向角度變化為80°~50°~50°~50°。船模從初始位置到第一目標位置三自由度位置同時改變;從第一目標位置到第二目標位置是僅改變船舶x方向位置;從第二目標位置到第三目標位置是僅改變船舶y方向位置。試驗結(jié)果如圖5所示。
圖5 船舶模型三自由度運動軌跡及最優(yōu)推進力圖
從試驗結(jié)果可以看出,第一階段,船舶三個自由度位置同時改變時,對船舶x方向和y方向位置的控制都不同程度出現(xiàn)超調(diào),到達穩(wěn)態(tài)的調(diào)節(jié)時間較長,船舶艏向角度偏離目標位置處于震蕩狀態(tài),穩(wěn)態(tài)誤差較大;第二階段,僅改變船舶x方向位置時,對于船舶y方向位置以及艏向位置的影響都相對較小,船模的艏向角度仍然處于震蕩狀態(tài);第三階段,僅改變船舶y方向的位置時,對船舶x方向位置的控制無影響,而卻使得船舶的艏向角度在其目標位置附近產(chǎn)生了大幅的波動,直到船舶y方向的位置趨于穩(wěn)定,船模艏向角度大幅波動的現(xiàn)象才得到有效的減緩,但是波動的狀態(tài)仍然在持續(xù)。
總結(jié)上述的船模運動特征主要有如下幾點:第一,船模艏向角度一直處于不穩(wěn)定狀態(tài);第二船模y方向的運動或者艏向角度的改變會對對方的運動造成比較大的影響。針對艏向角度控制不穩(wěn)定,首先考慮的就是艏向角度的控制參數(shù)設置的過小,從而控制中計算性能指標函數(shù)的最優(yōu)解時所得到的最優(yōu)解并不能使艏向角度維持現(xiàn)狀;而船模y方向運動對船模艏向角度的影響,我將其歸結(jié)于船舶橫蕩和艏搖的耦合現(xiàn)象,由于在算法中去除了橫蕩和艏搖的耦合項,因此,不能消除船模運動中耦合現(xiàn)象的實際影響。
為了提高對船舶艏向角度的控制效果以及減小耦合現(xiàn)象對船舶運動的影響,在滾動優(yōu)化中將位置偏差權值0.5(x方向),4(y方向),4(艏向),位置變化權值80(x方向),100(y方向),100(艏向)。在改變控制參數(shù)之后,又進行了下面一組試驗,船模x方向變化為-2 m~0 m,船模y方向變化為-10 m~8 m,船模艏向角度變化為40°~50°,試驗結(jié)果如圖6所示。
圖6 改參數(shù)后船舶模型三自由度運動軌跡及最優(yōu)推進力圖
改變參數(shù)后,船模最終到達其指定位置,但是由于船模x方向位置偏差權值相對較小,因而船模x方向的到達指定位置的過程時間偏長;船模橫蕩和艏搖的耦合現(xiàn)象有了一定的改善,但是耦合現(xiàn)象仍然存在,由于增大了艏向角度變化權值,艏向角度的波動幅值得到有效減小。即使如此,改變參數(shù)后的控制算法對于船舶位置的控制效果有了極大的改善,艏向角度的穩(wěn)態(tài)誤差也進一步減小。
本文針對現(xiàn)有動力定位算法缺少模型試驗支撐的現(xiàn)狀,通過船舶模型試驗驗證了所涉及控制算法的有效性。試驗中根據(jù)船舶的運動情況對控制參數(shù)的修改使得船舶模型的運動基本達到預計要求,具有一定的工程實踐意義。然而,從試驗中標還是顯示出一系列亟待解決的問題:由于船舶橫蕩和艏搖之間的耦合對船舶的控制影響比較大,其一就是解決船舶運動時必然存在的運動耦合問題;其次控制算法中兩組控制參數(shù)(位置和速度)之間時相互影響的,如何選擇合理的控制參數(shù),尋求控制效果和控制時效之間的平衡也是后期研究中需要重點探討的;再者由于本次試驗只是靜水試驗,基本不存在環(huán)境力干擾的問題有環(huán)境力干擾時算法的實際控制還有待檢驗。