Você está na página 1de 7

Int. J. Appl. Math. Comput. Sci., 2004, Vol. 14, No.

4, 461–467

OPTIMIZATION OF THRUST ALLOCATION IN THE PROPULSION SYSTEM


OF AN UNDERWATER VEHICLE

J ERZY GARUS∗

Faculty of Mechanical and Electrical Engineering, Naval University
ul. Śmidowicza 69, 81–103 Gdynia, Poland
e-mail: jgarus@amw.gdynia.pl

The paper addresses methods of thrust distribution in a propulsion system for an unmanned underwater vehicle. It concen-
trates 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 using a configuration matrix describ-
ing the layout of thrusters in the propulsion system. The paper includes algorithms of thrust distribution for both faultless
work of the propulsion system and a failure of one of the thrusters. Illustrative examples are provided to demonstrate the
effectiveness and correctness of the proposed methods.

Keywords: underwater vehicle, unconstrained control, propulsion system, thrust allocation

1. Introduction X, Y, Z – the forces along longitudinal, transversal and


vertical axes,
There are various categories of unmanned underwater ve- K, M, N – the moments about longitudinal, transversal
hicles (UUVs). The ones most often used are remotely op- and vertical axes.
erated vehicles (ROVs). They are equipped with propul-
sion systems and controlled only by thrusters. An ROV is Modern ROVs are often equipped with control sys-
usually connected to a surface ship by a tether, by which tems in order to execute complex manoeuvres without
all communication is wired. constant human intervention. The basic modules of the
control system are depicted in Fig. 1. The autopilot com-
The general motion of marine vessels in 6 degrees of
putes demanded propulsion forces and moments τ d by
freedom (DOF) can be described by the following vectors
comparing the vehicle’s desired position, orientation and
(Fossen, 1994):
velocities with their current estimates. The corresponding
η = [x, y, z, φ, θ, ψ] ,
T values of propeller thrust f are calculated in the thrust
T distribution module and transmitted as a control input to
v = [u, v, w, p, q, r] , (1) the propulsion system.
T
τ = [X, Y, Z, K, M, N ] ,

where
η – the vector of the position and orientation in the earth-
fixed frame,
x, y, z – position coordinates,
φ, θ, ψ – orientation coordinates (Euler angles),
v – the vector of linear and angular velocities in the
body-fixed frame,
u, v, w – linear velocities along longitudinal, transver-
sal and vertical axes, Fig. 1. A block diagram of the control system (d denotes
the vector of environmental disturbances).
p, q, r – angular velocities about longitudinal, transver-
sal and vertical axes, Moreover, the ROV rarely moves in underwater
τ – the vector of forces and moments acting on the vehi- space without any interaction with environmental distur-
cle in the body-fixed frame, bances. The most significant influence is exerted by the
462 J. Garus

sea current. Due to limited driving power of the propul- mounted askew in relation to the vehicle’s main symmetry
sion system, its linear velocities are often comparable with axes (see Fig. 3). The forces X and Y acting in the lon-
the current speed. Therefore, to improve the control qual- gitudinal and transversal axes and the moment N about
ity in extreme conditions, current-induced disturbances the vertical axis are a combination of thrusts produced by
should be taken into account in the control system. the propellers of the subsystem. Hence, from an operating
Until now, most of the literature in the field of control point of view, the control system should include a pro-
of the underwater vehicles has been focused on designing cedure of thrust distribution determining thrust allocation
control laws (Canudas et al., 1998; Craven et al., 1998; such that the produced propulsion forces and moment are
Fossen, 1994; Garus and Kitowski, 1999; Katebi and equal to the desired ones.
Grimble, 1999), and little is known about thrust alloca-
tion (Berge and Fossen, 1997; Fossen, 2002; Garus, 2004;
Sordelen, 1997; Whitcomb and Yoerger, 1999). Almost
no attention has been paid to the important case when one
or more thrusters are off in the propulsion system.
The objective of this work is to present methods of
thrust allocation for the plane motion of a vehicle. Gener-
ally, it is an overactuated control problem since the num-
ber of thrusters is greater than the number of the DOF of
the vehicle. The paper includes algorithms of thrust dis-
tribution for faultless work of the propulsion system and a
case of a failure of one of the thrusters. Illustrative exam-
ples are also presented. Fig. 3. Layout of thrusters in the subsystem re-
sponsible for the horizontal motion.
2. Description of the Propulsion System
The relationship between the forces and moments
For conventional ROVs the basic motion is the movement and the propeller thrust is a complicated function that de-
in a horizontal plane with some variation due to diving. pends on the vehicle’s velocity, the density of water, the
They operate in a crab-wise manner in 4 DOF with small tunnel length and cross-sectional area, the propeller’s di-
roll and pitch angles that can be neglected during normal ameter and revolutions. A detailed analysis of thruster dy-
operations. Therefore, it is purposeful to regard the ve- namics can be found, e.g., in (Charchalis, 2001; Healey et
hicle’s spatial motion as a superposition of two displace- al., 1995). In practical applications the vector of propul-
ments: the motion in the vertical plane and the motion sion forces and the moment τ acting on the vehicle in
in the horizontal plane. It allows us to divide the vehi- the horizontal plane can be described as a function of
cle’s propulsion system into two independent subsystems the thrust vector f by the following expression (Fossen,
responsible for movements in these planes, respectively. 1994; Garus, 2003):
The most often applied configuration of thrusters in the
propulsion system is shown in Fig. 2. τ = T (α) P f , (2)

where
τ = [τ1 , τ2 , τ3 ]T ,
τ1 – force in the longitudinal axis,
τ2 – force in the transversal axis,
τ3 – moment about the vertical axis,
T – thruster configuration matrix,
Fig. 2. Configuration of thrusters in the propulsion system.    
t1 cos α1 cos α2 . . . cos αn
T = t2  =  sin α1 sin α2 ... sin αn  ,
   
The first subsystem permits the motion in heave and
consists of 1 or 2 thrusters generating a propulsion force t3 d1 sin (γ1 ) d2 sin (γ2 ) . . . dn sin (γn )
Z acting in the vertical axis. The thrust distribution is per- (3)
formed in such a way that the propeller thrust, or the sum where γ1 = α1 − ϕ1 , γ2 = α2 − ϕ2 , γn = αn − ϕn ,
of propellers thrusts, is equal to the demanded force Zd . T
α = [α1 , α2 , . . . , αn ] – vector of thrust angles,
The other subsystem assures the motion in surge, αi – angle between the longitudinal axis and direction of
sway and yaw and it is usually composed of 4 thrusters the propeller thrust fi ,
Optimization of thrust allocation in the propulsion system of an underwater vehicle 463

di – distance of the i-th thruster from the centre of grav- 4. Unconstrained Thrust Allocation
ity,
Assume that the vector τ d is bounded in such a way that
ϕi – angle between the longitudinal axis and the line
the calculated elements of the vector f can never exceed
connecting the centre of gravity with the symmetry
the boundary values f min and f max . Then the uncon-
centre of the i-th thruster,
strained thrust allocation problem can be formulated as
T
f = [f1 , f2 , . . . , fn ] – thrust vector, the following least-squares optimisation problem:
P – diagonal matrix of the readiness of the thrusters:
1
min f T Hf , (6)
f 2
(
0 if the i-th thruster is off,
pii =
1 if the i-th thruster is active. subject to
τ d − T f = 0, (7)
The computation of f from τ is a model-based op-
timisation problem and it is regarded below for two cases, where H is a positive definite matrix.
namely, constrained and unconstrained thrust allocations. The solution of the above problem using Lagrange
It will be assumed that the allocation problem is con- multipliers is shown in (Fossen, 1994) as
strained if there are bounds on the thrust vector elements
fi . They are caused by thruster limitations like saturation f = T ∗τ d , (8)
or tear and wear. If those constraints are not taken into
account, it will lead to unconstrained thrust allocation. where
 −1
T ∗ = H −1 T T T H −1 T T (9)

3. Constrained Thrust Allocation is recognized as the generalized inverse. For the case
H = I, the expression (9) reduces to the Moore-Penrose
In this case the values of the vector f are bounded and pseudoinverse:
the task of finding optimal thrust allocation can be solved
 −1
by means of quadratic programming (QP), which is for- T∗ = TT TTT . (10)
mulated as follows:
1 The above approach assures a proper solution only
min f T Hf , (4) for faultless work of the propulsion system and cannot be
f 2
directly used in the case of a thruster damage. To increase
subject to its applicability and overcome this difficulty, two alterna-
T f = τ d, tive algorithms are proposed.
(5)
f min ≤ f ≤ f max ,
4.1. Solution Using Singular Value Decomposition
where
H – symmetric positive definite matrix (usually diago- Singular value decomposition (SVD) is an eigenvalue-like
nal), decomposition for rectangular matrices (Kiełbasinski and
τ d = [τd1 , τd2 , τd3 ]T , Schwetlich, 1992). SVD has the following form for the
thruster configuration matrix (3):
T
f min = [f1 min , f2 min , . . . , fn min ] ,
f max = [f1 max , f2 max , . . . , fn max ] .
T T = U SV T , (11)

The solution of the constrained optimisation prob- where


lem can be obtained by using any of the well-known QP U , V – orthogonal matrices of dimensions 3 × 3 and
methods, e.g., Zoutendijk’s algorithm, Beale’s algorithm n × n, respectively,
or Rosen’s algorithm. A basic disadvantage of the above  
σ1 0 0
approach is that it is computationally time consuming. h i
S = S T | 0 =  0 σ2 0 0  ,
 
Due to the real-time implementation of the procedure of
the thrust allocation, a practical application of the method 0 0 σ3
is restricted by the computational power of an on-board S τ – diagonal matrix of dimensions 3 × 3,
computer.
0 – null matrix of dimensions 3 × (n − 3).
464 J. Garus

The diagonal entries σi are called the singular values 4.1.3. Numerical Example
of T . They are positive and ordered so that σ1 ≥ σ2 ≥
σ3 . Calculations have been conducted for the following data:
This decomposition of the matrix T allows us to h iT
work out a computationally convenient procedure to cal- τd = 300 −50 10 , P = I (4×4) ,
culate the thrust vector f being a minimum-norm solu-
tion to (8). The procedure is analysed for two cases:  
0.875 0.875 −0.875 −0.875
1. All thrusters are operational (P = I). T =  0.485 −0.485

0.485 −0.485  ,

2. One of the thrusters is off due to a fault (P 6= I). 0.332 −0.332 −0.332 0.332

4.1.1. Algorithm for All Thrusters Active


 
S T = diag 1.749, 0.967, 0.664 ,
T
Set τ d = [τd1 , τd2 , τd3 ] as the required input vector,
T
f = [f1 , f2 , . . . , fn ] as the thrust vector necessary to  
1 0 0
generate the vector τd , and n as the number of thrusters.
U =  0 −1 0  ,
 
A direct substitution of (11) shows that the vector f
determined by (8) and (10) can be written in the form 0 0 1
" −1 #
∗ T
ST 
1 −1 1 −1

f = V S U τd = V U T τ d. (12)
0 1 1 1 −1 −1 
V = .
 
2 −1 −1 −1 −1


4.1.2. Algorithm for One Non-Operational Thruster −1 1 1 −1
Assume that the k-th thruster is off. This means that fk =
0 and pkk = 0. The substitution of (11) into (2) leads to The values of the thruster configuration matrix T are
the following dependence: taken for the ROV called “Ukwiał” designed and built for
the Polish Navy (Garus, 2004).
τ d = T P f = U SV T P f . (13)
The vector f is computed using the expression (12):
Defining
S −1
" #
∗ T T
f 0 = [f1 , . . . , fk−1 , fk+1 , . . . fn ] ,
T f = V S U τd = V UTτ d
0
V ∗ = V T P = v ∗1 , . . . , v ∗k−1 , 0, v ∗k+1 , . . . , v ∗n ,
 
1
 
0 0
V f∗ = v ∗1 , . . . , v ∗k−1 , v ∗k+1 , . . . , v ∗n ,
 
  1.749
 
 
1 −1 1 −1 
1

the expression (13) can be written as 
 0 0 

1 1
 1 −1 −1 0.967
= 
 
τ d = U SV f∗ f 0 . 2  −1 −1 −1 −1
 
(14)  1 
 0 0
 
−1 1 1 −1 0.664 

The matrices U and SV f∗ have dimensions 3 × 3 and 
 
3 × m, where m = n − 1, so the vector f 0 can be com- 0 0 0
puted as
 T  
 −1 1 0 0 300
0 ∗ T ∗ ∗ T T
 
f = SV f SV f SV f U τ d. (15) ×  0 −1 0   −50 
   

0 0 1 10
Hence, the value of the thrust vector f can be obtained as
follows:  
67.5
0 T
f = f10 , . . . , fk−1
0
, 0, fk0 , . . . fm
 
. (16)
 104.0 
= .
 
 −119.1 
Note that if n = 4 then (15) can be simplified to the form
−52.4
−1
f 0 = SV f∗ U T τ d. (17)
Optimization of thrust allocation in the propulsion system of an underwater vehicle 465

4.2. Solution Using the Walsh Matrix Substituting

The solution proposed below is restricted to ROVs hav- 


0

ing the configuration of thrusters exactly as shown in  τd1 
Fig. 3, i.e., the propulsion system consists of four iden-    
0 
t11

tical thrusters located symmetrically around the centre  
S =  Q−1τ d = , (22)
   
of gravity. In such a case dj = dk = d, αj mod  τd2 
(Π/2) = αk mod (Π/2) = α, ϕj mod (Π/2) = 
 t22 

ϕk mod (Π/2) = ϕ for j, k = 1, . . . , 4 and the thrusters  τd3 
configuration matrix T can be written in the form t33
 
cos α cos α − cos α − cos α  
w0
T =  sin α − sin α sin α − sin α  ,
 
W = , (23)
d sin (γ) −d sin (γ) −d sin (γ) d sin (γ) Wf
(18)
where γ = α − ϕ. Then the matrix T has the following where w0 = [ 1 1 1 1 ], and assuming that P =
properties: I , (21) can be transformed to the form

(a) it is a row-orthogonal matrix, S = W f. (24)

(b) |tij | = |tik | for i = 1, 2, 3 and j, k = 1, . . . , 4,


The matrix W is the Walsh matrix having the following
(c) it can be written as a product of two matrices: a di- properties: W = W T and W W T = nI, where n =
agonal matrix Q and a row-orthogonal matrix W f dim W .
having values ±1: Hence, the thrust vector f can be expressed as fol-
   lows:
t11 0 0 1 1 −1 −1  
1 T 1 0
T = QW f =  0 t21 0   1 −1 1 −1  .
  
f= W S= W . (25)
0 0 t31 1 −1 −1 1 4 4 −1
Q τ d
(19)
It allows us to work out a simple and fast procedure to 4.2.2. Algorithm for One Non-Operational Thruster
compute the thrust vector f by applying an orthogonal
Walsh matrix (see Appendix A). It should be emphasized Assume that the k-th thruster is off so that fk = 0 and
that the use of this method does not require calculations of pkk = 0. Defining
any additional matrices. This is the main advantage of the
T
proposed solution in comparison with the previous one. f 0 = [f1 , . . . , fk−1 , fk+1 , . . . f4 ] ,
The procedure is considered for the same two cases:
P 0 = diag {p11 , . . . , pk−1k−1 , pk+1k+1 , . . . , p44 } ,
1. all thrusters are operational (P = I),

2. one of the thrusters is off due to a fault (P 6= I). W f 0 = [wf 1 , . . . , wf k−1 , wf k+1 , . . . , wf 4 ]

the expression (20) can be written in the form


4.2.1. Algorithm for All Thrusters Active
T
As in Section 4.1.1, set τ d = [τd1 , τd2 , τd3 ] as the re- τ d = QW f 0 P 0 f 0 . (26)
T
quired input vector and f = [f1 , f2 , . . . , fn ] as the
thrust vector necessary to generate the input vector τ d . Since Q, W f0 and P 0 are square matrices having di-
The substitution of (19) into (2) gives mensions 3 × 3 and P 6= I, the thrust vector f 0 can be
calculated as
τ d = QW f P f . (20) f 0 = W f−1 −1
0 Q τ d. (27)
By multiplying both sides of (20) by Q−1 , the following Hence the value of the thrust vector f is obtained as fol-
expression is obtained: lows:
0 T
f = f10 , . . . , fk−1
0
, 0, fk0 , . . . fm
 
Q−1τ d = W f P f . (21) . (28)
466 J. Garus

4.2.3. Numerical Example References


Calculations were performed for the same data T , P and
τ d as in Section 4.1.3 and the Walsh matrix W of the Ahmed N. and Rao K.R. (1975): Orthogonal Transforms for
form Digital Signal Processing. — Berlin: Springer-Verlag.
 
1 1 1 1 Berge S. and Fossen T.I. (1997): Robust control allocation of
 1 1 −1 −1  overactuated ships: Experiments with a model ship. —
W = .
 
 1 −1 1 −1  Proc. 4-th IFAC Conf. Manoeuvring and Control of Ma-
rine Craft, Brijuni, Croatia, pp. 161–171.
1 −1 −1 1
Canudas de Wit C., Olguin D. and Perrer M. (1998): Robust
Using (25), the following value of the thrust vector f is nonlinear control of an underwater vehicle. — Proc. IEEE
obtained: Int. Conf. Robotics and Automation, Leuven, Belgium,
" #
0 pp. 452–457.
1
f = W
4 Q−1τ d Charchalis A. (2001): Resistance of naval vessels and ship pro-
pellers. — Gdynia: Naval University Press, (in Polish).
 
1 1 1 1 Craven P.J., Sutton R. and Burns R.S. (1998): Control Strategies
1 1 1 −1 −1  for Unmanned Underwater Vehicles. — J. Navig., Vol. 51,
= 
 
4 1 −1 1 −1 
 No. 2, pp. 79–105.

1 −1 −1 1 Fossen T.I. (1994): Guidance and Control of Ocean Vehicles. —


Chichester: Wiley.
 
0 Fossen T.I. (2002): Marine Control Systems. — Trondheim: Ma-
− − − − − − − − − − − − − − −−
rine Cybernetics AS.
 
 1 | 

 0.875 | 300 
Garus J. and Kitowski Z. (1999): Sliding control of motion of un-
|

× 1 | 
 | −50  derwater vehicle. In: Marine Technology III (T. Graczyk,
 0.485 |

T. Jastrzebski and C.A. Brebia, Eds.). — Southampton:
1
 |

10
 
| WIT Press, pp. 603–611.
0.332 |

Garus J. (2003): Fault tolerant control of remotely operated


vehicle. — Proc. 9-th IEEE Conf. Methods and Mod-
 
67.5
els in Automation and Robotics, Mi˛edzyzdroje, Poland,
 104.0 
=

.
 pp. I.217–I.221.
 −119.1 
Garus J. (2004): A method of power distribution in power trans-
−52.4 mission system of remotely operated vehicle. — J. Th.
It is equal to that computed in the previous example. Appl. Mech., Poland, Vol. 42, No. 2, pp. 239–251.
Healey A.J., Rock S.M., Cody S., Miles D. and Brown J.P.
(1995): Toward an improved understanding of thruster dy-
5. Conclusions namics for underwater vehicles. — IEEE Int. J. Ocean.
Eng., Vol. 20, No. 3, pp. 354–361.
The paper presents methods of thrust distribution for an
unmanned underwater vehicle. To avoid a significant Katebi M.R. and Grimble M.J. (1999): Integrated control, guid-
amount of computations, the problem of thrust allocation ance and diagnosis for reconfigurable underwater vehicle
has been regarded as an unconstrained optimisation prob- control. — Int. J. Syst. Sci., Vol. 30, No. 9, pp. 1021–1032.
lem. The described algorithms are based on the decompo- Kiełbasinski A. and Schwetlich K. (1992): Numerical Linear
sition of the thruster configuration matrix. This allows us Algebra. — Warsaw: WNT, (in Polish).
to obtain minimum Euclidean norm solutions. The main
advantage of the approach is its computational simplic- Kulesza W. (1984): Systems of Spectral Analysis of Digital Data.
— Warsaw: WKiŁ.
ity and flexibility with respect to the construction of the
propulsion system and the number of thrusters. More- Sordelen O.J. (1997): Optimum thrust allocation for marine ves-
over, the proposed techniques can be used for both fault- sels. — Contr. Eng. Pract., Vol. 5, No. 9, pp. 1223–1231.
less work of the propulsion system and a failure of one of
Whitcomb L.L. and Yoerger D. (1999): Preliminary experiments
the thrusters. in model-based thruster control for underwater vehicle po-
The developed algorithms of thrust distribution are sition control. — IEEE J. Ocean. Eng., Vol. 24, No. 4,
of a general character and can be successfully applied to pp. 481–494.
all types of ROVs.
Optimization of thrust allocation in the propulsion system of an underwater vehicle 467

Appendix A It is convenient to generate a Walsh matrix W using its


connection with the Hadamard matrix H. The main ad-
A Walsh matrix W is a square, orthogonal matrix having vantage of the Hadamard matrix is its possibility to be
all elements equal to ±1. Examples of Walsh matrices of generated in a recursive way by means of the following
dimensions 2, 4 and 8 are given below: dependence:
  " #
1 1 1 1 HN HN
H 2N = ,
" #
1 1  1 1 −1 −1  H N −H N
W2 = , W4 =  ,
 
1 −1  1 −1 1 −1 
1 −1 −1 1 where H 1 = [1]. Detailed algorithms of the transforma-
tion of the H N matrix to the W N matrix can be found

1 1 1 1 1 1 1 1
 in (Ahmed and Rao, 1975; Kulesza, 1984).
1 1 1 1 −1 −1 −1 −1 
 

 

 1 1 −1 −1 1 1 −1 −1 

 1 1 −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

Você também pode gostar