489-287

advertisement
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   cos1 



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 mn
exists
(10)
such
orthogonal matrices U  uii mm and V  v jj nn
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 33 and nn,
 1 0 0



S  ST
0   0  2 0
0 ,
0 0 

3


ST – diagonal matrix of dimension 33,
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)
Q1τ 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.
Download