Optimization of Thrust Allocation for Remotely Operated Vehicle JERZY GARUS Faculty of Mechanical and Electrical Engineering Naval University 81-103 Gdynia, ul. Smidowicza 69 POLAND Abstract: - The paper addresses methods of thrust distribution for an unmanned underwater vehicle. It concentrates on finding an optimal thrust allocation for desired values of forces and moments acting on the vehicle. Special attention is paid to the unconstrained thrust allocation. The proposed methods are developed on the basis of usage of a configuration matrix describing the layout of thrusters in the propulsion system. Some examples are provided to demonstrate effectiveness and correctness of the proposed methods. Key-Words: - Underwater vehicle, control allocation, optimization, autopilot 1 Introduction There are various categories of unmanned underwater vehicles. The most often used the underwater vehicle is a remotely operated vehicle (ROV). It is equipped with a power transmission system and connected to a surface ship by a tether, which all communication is wired through. The general motion of a marine vehicle in 6 degree of freedom (DOF) can be described by the following vectors [2,3]: T η x, y , z, , , T (1) v u, v, w, p, q, r τ X , Y , Z , K , M , N T where: – the position and orientation vector with coordinates in the earth-fixed frame; v – the linear and angular velocity vector with coordinates in the body-fixed frame; – describes the forces and moments acting on the vehicle in the body-fixed frame. Nonlinear dynamic equations of motion can be written in form: Mv C( v ) v Dv g( η) τ Simultaneously spatial station-keeping or tracking of the underwater vehicle is difficult task for a human operator and hence the modern ROVs are often equipped with control systems in order to execute complex manoeuvres without constant human intervention. Basic modules of the control system are depicted in the Fig. 1. The autopilot computes required propulsion forces and moments τ d by comparing the desired vehicle’s position, orientation and velocities with their current estimates. Then corresponding values of propellers thrust fd are calculated in the thrust distribution module and transmitted as a control input to the propulsion system. Next the desired propeller revolutions of the each thruster is computed by using a mapping from thrust demand to propeller revolution. (2) where: M - inertia matrix (including added mass); C(v) - matrix of Coriolis and centripetal terms (including added mass); D(v) – hydrodynamic damping and lift matrix; g() - vector of gravitational forces and moments. Fig. 1. A block diagram of the control system (where f -thrust vector, d – vector of environmental disturbances). Demanded inputs i.e. forces along roll and lateral axes and moment around vertical axis are linear combination of propellers thrusts produced by all subsystem’s thrusters. Hence a control system should have a procedure of power distribution among the thrusters. The procedure ought to include principles of distribution and determine such power distribution among the propellers as to obtained values of driving forces and moment are equal to desired input. The objective of this work is to present methods of thrust allocation for horizontal motion of the vehicle. Generally, it is an overactuated control problem because the number of thrusters is greater than the number of DOF of the vehicle. The paper consists of four sections. A short introduction to dynamics and a control system of the underwater vehicle is given in the current section. In section 2 a thruster model is discussed. Procedures of power distribution are presented in section 3. The main interest is focused on algorithms of unconstrained thrust allocation discussed in the second subsection. The concluding remarks are given in section 4. In the first subsystem distribution of propulsion is not a complicated task [4,5,9] so farther considerations are restricted to motion of the vehicle in the horizontal plane. The second subsystem usually consists of 4 thrusters mounted askew in relation to main axes of vehicle’s symmetry (see Fig. 3) assuring surge, sway and yaw motion. Forces X and Y acting in the longitudinal and transversal axes and the moment N about the vertical axis are a combination of thrusts produced by propellers of the subsystem. The general relationship between the forces and moments and the propeller thrust is a complicated function that depends on vehicle’s velocity, density of water, the tunnel length and cross-sectional area, the propeller’s diameter and revolutions. A detailed analysis of thruster dynamics can be found e.g. in [2,3,7,10]. 2 Description of the propulsion system For the conventional ROVs basic motion is movement in a horizontal plane with some variation due to diving. They operate in crab-wise manner in 4 degree of freedom (DOF) with small roll and pitch angles that can be neglected during normal operations. Therefore 3-dimensional motion of the vehicle is regarded as superposition of two displacements: motion in the horizontal plane and motion in the vertical plane. It allows to divide a vehicle’s power transmission system into two independent subsystems i.e. the subsystem realizing vertical motion and the subsystem responsible for motion in the horizontal plane. A general structure of such the system shows Fig. 2. Fig. 2. A structure of power transmission system with 5 thrusters. Fig. 3. Layout of thrusters in subsystem responsible for horizontal motion. In practical applications the vector of propulsion forces and moment τ acting on the vehicle in the horizontal plane is described as a function of the thrust vector f by the following expression: (3) τ Tf where: T τ 1 , 2 , 3 force along X direction, – force along Y direction, moment about Z axis, T – thrusters configuration matrix: ... cos n t1 cos1 T t2 sin 1 ... sin n t 3 d1 sin 1 1 ... d 4 sin n n i – angle between roll axis and direction of propeller thrust fi, di – distance of the ith thruster from a centre of gravity, i – angle between lateral axis and the line connecting the centre of gravity with the ith thruster’s centre of symmetry, T f f 1 , f 2 ,..., f 4 – thrust vector. Let us note that elements of the thrusters configuration matrix T are geometry dependent and can be obtained for each vehicle in advance. 3. Procedures of thrust allocation Calculation of f from τ is a model-based optimization problem. It can be considered both as constrained and unconstrained allocation problem. In practical applications it is important to take into account constraints from propulsion system of the vehicle, especially thrusters saturation. Hence generally all methods of thrust allocation lead to constrained optimization problem. 3.1. Constrained thrust allocation Assume that the values of the vector f are bounded and the task of finding optimal thrust allocation can be solved by means of quadratic programming (QP), formulated as follows: (4) min f T Hf f subject to: Tf τ z f min f f max (5) where: H – symmetric positive definite matrix (usually diagonal), T τ z z1 , z 2 , z 3 T f min f1min , f 2 min ,..., f n min , T f max f1max , f 2 max ,..., f n max . The solution of the constrained optimisation problem can be obtained by using any of the wellknown QP methods. A basic disadvantage of online application of the above approach is that it is computationally time-consuming. 3.2. Unconstrained thrust allocation The unconstrained thrust allocation problem can be formulated as the least-squares optimisation problem: (6) min f T Hf f subject to: (7) τ Tf 0 where H is a positive definite matrix. The solution of the above problem with using the Lagrange multipliers is shown in [2] as: f T* τ z (8) where the matrix: T* H 1TT TH 1TT 1 (9) is recognized as the generalized inverse. For the case H I the expression (9) reduces to the Moore-Penrose pseudoinverse: T* TT TT T 3.3. Solution using the singular value decomposition 1 For every matrix A aij mn exists (10) such orthogonal matrices U uii mm and V v jj nn that [8]: where: U T AV S diag 1 ,..., l (11) ( l min m, n , r rank A , 1 2 ... r 0 , r 1 ... l 0 . The numbers 1 ,..., l are called the singular values of the matrix A. Transforming (11) and replacing A by T the following expression is obtained: T USV T (12) where: U, V – orthogonal matrices of dimension consequently 33 and nn, 1 0 0 S ST 0 0 2 0 0 , 0 0 3 ST – diagonal matrix of dimension 33, 0 – null matrix of dimension 3(n-3). Decomposition of the matrix T allows to work out a computationally convenient procedure to calculate the thrust vector f. Let us denote: τ z z1 , z 2 , z 3 T – the required input vector, f f1 , f 2 ,..., f n T – the thrust vector necessary to generate the vector z and n – number of thrusters. Substituting (11) into equation (2) gives: (13) τ z TPf USV T Pf 1 Multiplying both sides by U yields: (14) U 1τ z SVT Pf S 1 By denoting S* T and taking into account 0 1 T that U U , Eq. (14) can be written in the form: S*U T τ z V T f (15) Taking advantage of the orthogonal matrix property that V 1 V the following simple expression for calculation of the thrust vector is obtained: S 1 f VS *UT τ z V T UT τ z (16) 0 T Numerical example 1 Calculations have been conducted for the following data, dedicated the remotely operated vehicle called “Ukwial” designed and built for the Polish Navy [4]: T τ z 300 50 10 , 0.875 0.875 0.875 0.875 T 0.485 0.485 0.485 0.485 , 0.332 0.332 0.332 0.332 ST diag 1.749, 0.967, 0.664 , 1 0 0 U 0 1 0 , 0 0 1 1 1 1 1 1 1 1 V 2 1 1 1 1 1 1 1 1 . 1 1 The vector f is computed by using the expression (16): S 1 f VS * U T τ z V T U T τ z 0 1 0 0 1 1 1 1 1.749 1 1 1 1 1 1 0 0 0.967 2 1 1 1 1 1 0 0 1 1 1 1 0.664 0 0 0 67.5 T 1 0 0 300 0 1 0 50 104.0 119.1 0 1 10 0 52.4 3.4. Solution using the Walsh matrix The solution proposed below is restricted to the ROVs having the configuration of thrusters exactly as shown in Fig. 3, i.e. the propulsion system consists of 4 identical thrusters located symmetrically around the centre of gravity. In such a case d j d k d , j mod k mod , 2 2 j mod k mod for j, k 1,4 and then 2 2 the thrusters configuration matrix T has the following properties [6]: a) it is a row-orthogonal matrix, b) tij tik for i 1,3 and j, k 1,4 , c) can be written as a product of two matrices: a diagonal matrix Q and a row-orthogonal matrix Wf having values 1 : 1 1 1 t11 0 0 1 T Q Wf 0 t 21 0 1 1 1 1 (17) 1 0 0 t 31 1 1 1 It allows to work out a simple and fast procedure to compute the thrust vector f with applying of the orthogonal Walsh matrix W (see Appendix A). It should be emphasized that usage of this method does not require calculations of any additional matrix. This is the main advantage of the proposed solution in comparison with the previous one. T Denote as above τ z z1 , z 2 , z 3 - the required input vector, f f 1 , f 2 ,..., f 4 T - the thrust vector necessary to generate input vector z. Substitution of (17) into (3) gives: (18) τ z QWf Pf After multiplying both sides of (18) by Q 1 the following expression is obtained: (19) Q1τ z Wf Pf Hence, substituting: T 0 z1 z 2 z 3 (20) S 1 0 t11 t 22 t 33 Q τ z w where w 0 1 1 1 1 (21) W 0 Wf the equation (19) can be written in a form: (22) S Wf Finally, taking into account the Walsh matrix properties that: W W T and W T W nI where n=dimW the thrust vector f can be expressed as follows: 1 1 0 (23) f WS W 1 4 4 Q τ z Appendix A Numerical example 2 Calculations have been done for the same data T and z as in the section 3.3 and the Walsh matrix W in the form: 1 1 1 1 1 1 1 1 . W 1 1 1 1 1 1 1 1 Using the dependence (23) the following values of the thrust vector f are obtained: f 1 WS * τ z 4 0 0 0 1 0 0 1 1 1 1 0.875 1 1 1 1 1 1 0 0 1 1 4 1 1 0.485 1 1 1 1 1 0 0 0.3325 67.5 300 50 104.0 119.1 10 52.4 It is equal to those computed in the previous example. 4 Conclusion The paper presents methods of thrust distribution for the unmanned underwater vehicle. The proposed solutions are based on decomposition of the thrusters configuration matrix. It allows to obtain minimum-norm solutions. The main advantage of the approach is its flexibility with regard to the construction of the propulsion system and number of thrusters. Since the computational complexity is greatly reduced in comparison to the solution using the quadratic programming they can be attractive alternatives to the methods using QP. The developed algorithms of thrust distribution are of a general character and can be successfully applied to all types of the ROVs. Walsh matrix The Walsh matrix is a square, orthogonal matrix having all elements equal to 1 . The forms of the Walsh matrices WN for N=2, N=4 and N=8 are given below: 1 W2 1 1 1 W4 1 1 1 1 1 1 W8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 It is convenient to generate the Walsh matrix W using of its connection with Hadamard matrix H. The main advantage of Hadamard matrix H is possibility to be generated in recursive way by means of the following dependence: H H2 N N H N HN where H1 1 . H N For example for N=4 the matrix has the form: 1 1 1 1 1 1 1 1 H4 1 1 1 1 1 1 1 1 An algorithm of transformation of the HN matrix into the WN matrix can be found e.g. in the work [1]. References: [1] Ahmed N., Rao K.R: Orthogonal Transforms for Digital Signal Processing, Springer-Verlag, Berlin 1975. [2] Fossen T.I.: Guidance and Control of Ocean Vehicles, John Wiley and Sons, Chichester 1994. [3] Fossen T.I.: Marine Control Systems, Marine Cybernetics AS, Trondheim 2002. [4] Garus J.: Fault Tolerant Control of Remotely Operated Vehicle, Proc. of the Ninth IEEE Int. Conference on Methods and Models in Automation and Robotics, Miedzyzdroje (Poland), 2003, vol. I, pp. 217-221. [5] Garus J.: Nonlinear Control of Motion of Underwater Robotic Vehicle in Vertical Plane, in N. Mastorakis, V. Mladenov (Eds) Recent Advances in Intelligent Systems and Signal Processing, WSEAS Press, 2003 pp. 82-85. [6] Garus J.: A Method of Thrust Allocation for Remotely Operated Vehicle with Using of Walsh Matrix. WSEAS Transaction on Systems, Vol. 5, No 3, 2004, pp. 1768-1774. [7] Healey A.J., Rock S.M., Cody S., Miles D., Brown .P.: Toward an Improved Understanding of Thruster Dynamics for Underwater Vehicles, IEEE Journal of Oceanic Engineering, No 20, 1995, pp. 354-361. [8] Proskuryakow I.V.: Problem in Linear Algebra, Mir Publishers, Moscow, 1978. [9] Sordelen O.J.: Optimum Thrust Allocation for Marine Vessels. Control Engineering Practice, Vol. 5, No. 9, 1997, pp.1223-1231. [10] Whitcomb L.L., Yoerger D.: Preliminary Experiments in Model-Based Thruster Control for Underwater Vehicle Position Control, IEEE Journal of Oceanic Engineering, Vol. 24, No. 4, 1997, pp.481-494.