楊榮如
(海軍駐上海地區(qū)艦艇設(shè)計(jì)研究軍代表室 上海200011)
隨著船舶設(shè)計(jì)的發(fā)展,人們?yōu)榱双@得更好的船舶操縱性能,在推力設(shè)備上采用了更高效的全回轉(zhuǎn)推進(jìn)器、吊艙推進(jìn)器和噴水推進(jìn)器等新一代推進(jìn)轉(zhuǎn)置。這樣雖然可以有效提高系統(tǒng)的可靠性,但同時(shí)也為系統(tǒng)增加了更多的冗余度。對于這樣的過驅(qū)動(dòng)系統(tǒng),“如何將控制系統(tǒng)得到的指令分配到各推進(jìn)器上”是系統(tǒng)設(shè)計(jì)過程中需要考慮的一個(gè)重要問題。
對于船舶運(yùn)動(dòng)控制,通常安裝多個(gè)可以實(shí)時(shí)產(chǎn)生變化的推力和轉(zhuǎn)矩的執(zhí)行機(jī)構(gòu),包括螺旋槳、舵、鰭等裝置。本文研究在位置保持及特定軌跡航行條件下的控制分配問題,該種作業(yè)條件下,執(zhí)行機(jī)構(gòu)可為管道螺旋槳、全回轉(zhuǎn)推進(jìn)器、吊艙推進(jìn)器和噴水推進(jìn)器等裝置。為了完成作業(yè)要求,通常船舶上安裝多個(gè)推進(jìn)裝置,由它們共同產(chǎn)生控制器計(jì)算得到系統(tǒng)所需要的力和力矩??刂品峙浼夹g(shù)是完成控制量最優(yōu)分配的最為有效的方法,文章將對該問題進(jìn)行一般性描述,然后從線性和非線性兩個(gè)方面進(jìn)行討論,介紹推力分配技術(shù)的最新研究成果,討論該領(lǐng)域有待進(jìn)一步研究的問題。
考慮一般的反饋控制系統(tǒng),其狀態(tài)空間描述如下[1]:
其中向量x表示船舶系統(tǒng)的狀態(tài),u為系統(tǒng)的輸入。通常船舶控制系統(tǒng)設(shè)計(jì)過程中,首先不考慮具體執(zhí)行機(jī)構(gòu)的性能,而是從船舶的運(yùn)動(dòng)方程出發(fā),根據(jù)擾動(dòng)情況,設(shè)計(jì)出控制器,該系統(tǒng)的輸入包括橫蕩力、縱蕩力及艏搖力矩三個(gè)自由度,向量u可以表示為:
但是該組力和力矩則需要由若干個(gè)具體的推進(jìn)器來實(shí)現(xiàn),這樣系統(tǒng)的狀態(tài)空間變?yōu)橐韵氯齻€(gè)方程:
向量 表示推進(jìn)器產(chǎn)生的推力向量,其具體形式與安裝的推進(jìn)器數(shù)量及種類有關(guān)??刂品峙渚褪且瓿傻脑O(shè)計(jì),通過其反函數(shù)
可以將控制器得到的船舶系統(tǒng)三自由度的力和力矩的輸入,轉(zhuǎn)化為具體推進(jìn)器的輸入,進(jìn)而構(gòu)成一個(gè)完成的控制系統(tǒng)。以上是船舶控制分配問題的一般性描述。
Morgan的專著最早涉及到船舶的推力分配問題[2]。他所研究的系統(tǒng)安裝有3個(gè)推力方向固定的螺旋槳,產(chǎn)生的推力為 ,考慮到螺旋槳旋轉(zhuǎn)方向可逆,各推力可以取負(fù)值。第1個(gè)螺旋槳布置在尾部,其余2個(gè)螺旋槳作為側(cè)推。設(shè)3個(gè)推進(jìn)器的x軸與推進(jìn)器到船舶旋轉(zhuǎn)中心連線的夾角分別為1,2,3,3推進(jìn)器到旋轉(zhuǎn)中心的距離為l1,l2,l3,由力和力矩的疊加原理可知[2]:
求解以上方程組,可得:
對于超過3臺(tái)推力器的情形,也可按上述方式求解并平均分配在各推進(jìn)器上。該分配方案中,推進(jìn)器的方式是固定的,這樣的方案并非能量最優(yōu),也沒有考慮實(shí)際的工作海況。該種方法是船舶控制分配技術(shù)的最原始的形式,后來的各種方法是在該方式基礎(chǔ)上考慮更為實(shí)際的工作狀況而改進(jìn)形成的,例如Wichers提出的分組分解法,這種方法是將多個(gè)推進(jìn)器分成小組,首先根據(jù)指令在第1組推進(jìn)器中進(jìn)行分配,如果無法滿足則再加入第2組推進(jìn)器,這樣依次迭代,直到滿足條件后方可停止,但這樣最后幾組推力器往往得不到充分使用[3]。早期的這種方法只適用于推力方向固定的推進(jìn)裝置,如敞式螺旋槳、槽道螺旋槳等,該算法的使用范圍也頗受限制,目前此種算法應(yīng)用場合較少。
隨著船舶特種裝置的發(fā)展,全回轉(zhuǎn)推進(jìn)器逐步應(yīng)用到船舶操縱中。對于一個(gè)全回轉(zhuǎn)推進(jìn)器,具有推力大小和方向兩個(gè)變量,這使推力分配問題更加復(fù)雜,但這也為尋找最優(yōu)推力分配方法提供了可能。廣義逆分配算法,主要針對的是裝有全回轉(zhuǎn)推進(jìn)器的船舶而提出的,其本質(zhì)上采用L2范數(shù)近似描述系統(tǒng)消耗的總功率,作為該線性優(yōu)化目標(biāo)。該方案也是求解線性方程組的進(jìn)一步發(fā)展。因?yàn)槊總€(gè)推進(jìn)器變?yōu)?個(gè)輸入變量,這樣方程組含有無窮多解。偽逆算法就是要從中選取出最優(yōu)分配方案[4]。
對于裝有n個(gè)全回轉(zhuǎn)推進(jìn)器的船舶,設(shè)各個(gè)推力組成的推力向量為,各推進(jìn)方向與x軸夾角組成向量為,每個(gè)推進(jìn)器在船體坐標(biāo)系中的坐標(biāo)為(xi,yi)。由各個(gè)推進(jìn)器產(chǎn)生的推力可以描述為:
式中:W為正定矩陣,對于以上的約束優(yōu)化問題,定義如下的拉格朗日函數(shù):
式中: 為拉格朗日乘子,可以得到拉格朗日函數(shù)倒數(shù)如下:
式中u滿足:
將(4)帶入(1),有
如果取W為單位陣,最后得到的在某一給定角度下,最優(yōu)的推力方案為
此方案相比求解線性方程組,可以找到能量消耗最優(yōu)方案,而且求解方法簡單。由于沒有約束條件,無法對推進(jìn)器的最大值加以限制,此外某些物理?xiàng)l件也限制了該方法的使用。
上述偽逆算法不能保證約束,即 (其中為可行域)。但是考慮輸入的可行域,很有可能導(dǎo)致在可行域內(nèi)無法找到一點(diǎn)滿足 ,這導(dǎo)致控制分配算法產(chǎn)生一定的誤差。Durham在1993年證明出在加入簡單的飽和限制后,任何一個(gè)廣義逆都不能保證任何情況下進(jìn)行沒有誤差的控制分配。因?yàn)榧尤腼柡蜅l件后,系統(tǒng)誤差不可避免,因此將誤差納入到優(yōu)化問題的目標(biāo)函數(shù)中。
首先要給定變量的可行域,可以用矩陣A和向量b表示如下:
能量消耗可以采用1-范數(shù)或∞-范數(shù)進(jìn)行表征,這樣可以得到一個(gè)線性規(guī)劃問題[5-6]。如果考慮1-范數(shù)情況,控制分配的目標(biāo)函數(shù)如下:
約束條件如下:
這樣可以借助線性規(guī)劃的一般算法進(jìn)行求解,其優(yōu)點(diǎn)是計(jì)算量小,可以快速完成控制分配的計(jì)算。此種算法及后續(xù)幾種算法都是針對裝有多個(gè)全回轉(zhuǎn)推進(jìn)器(或其他推力方向可變的推進(jìn)器,如吊艙推進(jìn)器)進(jìn)行研究的,目前在水下航行器中,這些算法也有一定的應(yīng)用[20]。
該種方法是與2.3中方法相對應(yīng)的,也是考慮約束條件的線性優(yōu)化方法,不同點(diǎn)是在目標(biāo)函數(shù)中能量消耗與誤差均采用L2范數(shù)進(jìn)行描述,這使得問題可以采用數(shù)值二次規(guī)劃的方法求解[7-9]。采用該種方法的控制分配可用如下目標(biāo)函數(shù)描述:
滿足:
這個(gè)問題可以變成一個(gè)二次規(guī)劃問題,如下:
滿足:
目前求解二次規(guī)劃問題是非常方便的,Matlab中提供了直接基于二次規(guī)劃求解控制分配的工具箱QCAT,目前也有C語言編寫的軟件。但是第2.3節(jié)和第2.4節(jié)中介紹的L1范數(shù)和L2范數(shù)都不是對船舶推進(jìn)裝置功率消耗狀況最準(zhǔn)確的描述[10]。
在非線性控制分配算法中,是一個(gè)非線性模型,這就使目標(biāo)函數(shù)和約束條件可以含有非線性項(xiàng)。為了更為準(zhǔn)確地描述控制分配過程,引入非線性算法是必要的,尤其是在線性模型很難近似的時(shí)變系統(tǒng)中。前面提到過,推力向量的L1范數(shù)、L2范數(shù)和L∞均很是對功率消耗的近似描述。對于螺旋槳及由其衍生出的推進(jìn)器裝置而言,其功率消耗P與轉(zhuǎn)速n有如下近似關(guān)系[11,17]:
這為目標(biāo)函數(shù)帶來了很強(qiáng)的非線性。
Johansen在2004年最早將序列二次規(guī)劃方法應(yīng)用到控制分配當(dāng)中,在其模型中考慮了能源消耗、避免奇異結(jié)構(gòu),降低系統(tǒng)磨損等問題[12]。其基本模型如下[12,16]:
其中各項(xiàng)定義同2.2中定義的方法。系統(tǒng)中存在一種特殊的狀態(tài),就是 非滿秩的時(shí)候,稱之為奇異狀態(tài)。在實(shí)際工作中,若系統(tǒng)陷入奇異狀態(tài),當(dāng)控制信號發(fā)生較大變化時(shí),各推力器無法在短時(shí)間合成所需要的力和力矩,此時(shí)系統(tǒng)不可控(這里的不可控不同于線性系統(tǒng)理論中所提到的不可控概念)。
此外全回轉(zhuǎn)推進(jìn)器在旋轉(zhuǎn)過程中會(huì)產(chǎn)生較大摩擦,為了減小機(jī)械磨損,需要對各推進(jìn)力方向的變化率加以限制,通常限制在1 °/s一下。
這樣就可以得到一下優(yōu)化模型:
滿足:
目標(biāo)函數(shù)中第一項(xiàng)表示能量函數(shù),第二項(xiàng)是誤差,最后兩項(xiàng)是對推力方向變化及奇異線性限制采用的罰函數(shù),其中矩陣Q為正定矩陣。Johansen對此問題采用序列二次規(guī)劃的方法進(jìn)行求解,簡要步驟如下:
(1)采用解析法或數(shù)值方式計(jì)算出目標(biāo)函數(shù)J在 點(diǎn)的二階泰勒展開。
(2)采用解析或數(shù)值微分的方法計(jì)算出F和G在 點(diǎn)的一階泰勒展開。
(4)求解二次規(guī)劃問題,定義遞推結(jié)果如下:
序列二次規(guī)劃是工業(yè)界應(yīng)用最為廣泛的幾種非線性優(yōu)化算法之一,可以高效率地完成控制分配問題。但是若對于非凸函數(shù),該種算法只可以取到局部最優(yōu)點(diǎn),而非全局最優(yōu)點(diǎn)。
上面介紹的序列二次規(guī)劃方法,屬于靜態(tài)求解控制分配問題。如果考慮時(shí)變情形,Lagrange乘子變?yōu)椋?/p>
假設(shè)一個(gè)運(yùn)動(dòng)控制算法的Lyapunov函數(shù)存在,對于含有控制分配的Lyapunov函數(shù)可以定義如下:
其中 。我們需要一個(gè)沿著跟蹤軌跡的V具有負(fù)時(shí)間導(dǎo)數(shù),這樣可以得到一個(gè)控制分配算法如下:
其中,和K為對稱正定增益矩陣,和定義同 Johansen(2004)給出的方法[13-15]。
這種方法的優(yōu)點(diǎn)是沒有直接的數(shù)值優(yōu)化算法而帶來的龐大計(jì)算量。缺點(diǎn)是對于非凸的目標(biāo)函數(shù)與約束條件,這種方法不一定總是收斂的。
對于前面兩種方法在某些條件下不能找到全局最優(yōu)的缺點(diǎn),智能優(yōu)化算法也被應(yīng)用到求解控制分配問題,例如遺傳算法、粒子群算法等[20-21]。因?yàn)橹悄芩惴ú恍枰柚繕?biāo)函數(shù)的梯度信息,這樣就可以設(shè)計(jì)更為接近系統(tǒng)實(shí)際情況的非凸函數(shù)、非光滑的優(yōu)化模型。但是智能優(yōu)化算法由于運(yùn)算量龐大,往往不能滿足控制分配實(shí)時(shí)性的要求,這就要求其進(jìn)行離線計(jì)算,并制作出數(shù)據(jù)庫,在實(shí)際工況下進(jìn)行在線查詢。
船舶動(dòng)力定位中控制分配越來越受到人們的重視,利用控制分配技術(shù),可以實(shí)現(xiàn)船舶控制器模塊化設(shè)計(jì),即對船舶總體的運(yùn)動(dòng)控制可以先只考慮船體的總體運(yùn)動(dòng)性能,而不考慮具體執(zhí)行機(jī)構(gòu)的性能,這樣為船電系統(tǒng)設(shè)計(jì)帶來極大的方便。目前使用最多的控制分配算法是偽逆算法與序列二次規(guī)劃算法。傳統(tǒng)方法在尋找能量最優(yōu)解上存在一定的困難,近些年新興的智能優(yōu)化算法對尋找全局最優(yōu)解提供了可能,但是其巨大的計(jì)算量也為實(shí)行分配帶來了很大挑戰(zhàn),因此智能優(yōu)化算法在控制分配問題中仍僅處于理論研究階段。
對于未來控制分配算法,主要有以下幾個(gè)方面的發(fā)展趨勢:一是得到更接近全局最優(yōu)解的優(yōu)化算法,可以考慮將各種已有的控制分配方法結(jié)合起來,充分利用各種方法的優(yōu)點(diǎn)[18-19];二是提高智能優(yōu)化算法的收斂速度,這樣方可以廣泛用于推力分配的工程設(shè)計(jì)中來;三是充分考慮推力分配環(huán)節(jié)與系統(tǒng)整體的耦合問題,以改善系統(tǒng)的總體性能,這是一項(xiàng)極具挑戰(zhàn)性的工作。
[1] Johansen T A.Optimizing nonlinear control allocation[C]//Decision and Control, 2004.CDC.43rd IEEE Conference on.IEEE, 2004, 4: 3435-3440.
[2] Morgan J.近海船舶的動(dòng)力定位 [M].耿惠彬,譯.北京:國防工業(yè)出版社,1984:188-201.
[3] Wichers J, Bultema S, Matten R.Hydrodynamic research on and optimizing dynamic positioning system of a deep water drilling vessel[C]//Offshore Technology Conference.Offshore Technology Conference, 1998.
[4] Durham W C.Constrained control allocation[J].Journal of Guidance, Control, and Dynamics, 1993 (4): 717-725.
[5] Bodson M.Evaluation of optimization methods for control allocation[J].Journal of Guidance, Control, and Dynamics, 2002 (4): 703-711.
[6] Bodson M, Frost S A.Control allocation with load balancing[C]//AIAA Guidance, Navigation, and Control Conference.2009: 10-13.
[7] Harkegard O.Efficient active set algorithms for solving constrained least squares problems in aircraft control allocation[C]//Decision and Control, 2002, Proceedings of the 41st IEEE Conference on.IEEE, 2002(2): 1295-1300.
[8] M.Petersen J A, Bodson M.Fast implementation of direct allocation with extension to coplanar controls[J].Journal of Guidance, Control, and Dynamics, 2002 (3): 464-473.
[9] Petersen J A M, Bodson M.Constrained quadratic programming techniques for control allocation[J].Control Systems Technology, IEEE Transactions on, 2006(1): 91-98.
[10] Fossen T I, Johansen T A.A survey of control allocation methods for ships and underwater vehicles[C]//Control and Automation, 2006.MED'06.14th Mediterranean Conference on.IEEE, 2006: 1-6.
[11] Fossen T I.Handbook of marine craft hydrodynamics and motion control[M].John Wiley &Sons, 2011.
[12] Johansen T A, Fossen T I, Berge S P.Constrained nonlinear control allocation with singularity avoidance using sequential quadratic programming[J].Control Systems Technology, IEEE Transactions on, 2004 (1): 211-216.
[13] Liao F, Lum K Y, Wang J L, et al.Adaptive control allocation for non-linear systems with internal dynamics[J].Control Theory &Applications, IET, 2010 (6):909-922.
[14] Liao F, Lum K Y, Wang J L, et al.Constrained nonlinear finite-time control allocation[C]//American Control Conference, 2007.ACC'07.IEEE, 2007: 3801-3806.
[15] Johansen T A.Optimizing nonlinear control allocation[C]//Decision and Control, 2004.CDC.43rd IEEE Conference on.IEEE, 2004, 4: 3435-3440.
[16] Liang C C, Cheng W H.The optimum control of thruster system for dynamically positioned vessels[J].Ocean Engineering, 2004 (1): 97-110.
[17] van Daalen E F G, Cozijn J L, Loussouarn C, et al.A Generic Optimization Algorithm for the Allocation of DP Actuators[C]//ASME 2011 30th International Conference on Ocean, Offshore and Arctic Engineering.American Society of Mechanical Engineers, 2011: 87-94.
[18] Ji M, Yi B.The optimal thrust allocation based on QPSO algorithm for dynamic positioning vessels[C]//Mechatronics and Automation (ICMA), 2014 IEEE International Conference on.IEEE, 2014: 1365-1370.
[19] Yang I, Lee D.Networked Fault-Tolerant Control Allocation for Multiple Actuator Failures[J].Mathematical Problems in Engineering,2014(1):24-30.
[20] S?rensen A J.Dynamic Positioning Control Systems for Ships and Underwater Vehicles[J].Ocean Engineering,2014(1):84-88.
[21] Da-wei Z, Fu-guang D, Jin-feng T, et al.Optimal thrust allocation based GA for dynamic positioning ship[C]//Mechatronics and Automation (ICMA), 2010 International Conference on.IEEE, 2010: 1254-1258.