Propulsion system optimization for an underwater vehicle.
Dobref, Vasile ; Tarabuta, Octavian ; Badara, Nicolae 等
Abstract: This paper addresses methods of thrust distribution in a
propulsion system 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
using a configuration matrix describing the layout of thrusters in the
propulsion system.
Keywords: underwater vehicle, propulsion system, thrust allocation
1. INTRODUCTION
The basic modules of the control system for ROVs are depicted in
fig. 1. The autopilot computes demanded propulsion forces and moments
[[tau].sub.d] by comparing the vehicle's desired position,
orientation and velocities with their current estimates.
2. DESCRIPTION OF PROPULSION SYSTEM
The conventional ROVs operate in a crab-wise manner in 4 DOF with
small roll and pitch angles that can be neglected during normal
operations. Therefore, it is purposeful to regard the vehicle's
spatial motion as a superposition of two displacements: the motion in
the vertical plane and the motion in the horizontal plane. It allows us
to divide the vehicle's propulsion system into two independent
subsystems. The most often applied configuration of thrusters in the
propulsion system is shown in fig. 2. The first subsystem permits the
motion in heave and consists of 1 or 2 thrusters generating a propulsion
force Z acting in the vertical axis. The thrust distribution is
performed in such a way that the propeller thrust, or the sum of
propellers thrusts, is equal to the demanded force [Z.sub.d]. The other
subsystem assures the motion in surge, sway and yaw and it is usually
composed of 4 thrusters mounted askew in relation to the vehicle's
main symmetry axes (see fig. 3). The 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 the propellers of the
subsystem. In practical applications the vector of propulsion forces and
the moment [tau] acting on the vehicle in the horizontal plane can be
described as a function of the thrust vector f by the following
expression (2).
[tau] = T([alpha])Pf (2)
where [tau] = [[[tau].sub.1], [[tau].sub.2], [[tau].sub.3]].sup.T]
[[tau].sub.1], [[tau].sub.2], [[tau].sub.3]--force in the
longitudinal, transversal and vertical axis. T-thruster configuration
matrix,
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (3)
where [[gamma].sub.1] = [[alpha].sub.1] - [[phi].sub.1],
[[gamma].sub.2] = [[alpha].sub.2] - [[phi].sub.2], [[gamma].sub.n] =
[[alpha].sub.n] - [[phi].sub.n]
[alpha]= [[[alpha].sub.1], [[alpha].sub.2], ..., an]T--vector of
thrust angles, [[alpha].sub.i]--angle between the longitudinal axis and
direction of the propeller thrust [f.sub.i],
[d.sub.i]--distance of the i-th thruster from the centre of
gravity,
[[phi].sub.i]--angle between the longitudinal axis and the line
connecting the centre of gravity with the symmetry centre of the ith
thruster,
[FIGURE 1 OMITTED]
[FIGURE 2 OMITTED]
[FIGURE 3 OMITTED]
f = [[f.sub.1], [f.sub.2], ... , [f.sub.n]]T--thrust vector,
P-diagonal matrix of the readiness of the thrusters:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
The computation of f from [tau] is a model-based optimization
problem and it is regarded below for two cases, namely, constrained and
unconstrained thrust allocations. It will be assumed that the allocation
problem is constrained if there are bounds on the thrust vector elements
[f.sub.i].
3. UNCONSTRAINED THRUST ALLOCATION
Assume that the vector [[tau].sub.d] is bounded in such a way that
the calculated elements of the vector f can never exceed the boundary
values [f.sub.min] and [f.sub.max]. Then the unconstrained thrust
allocation problem can be formulated as the following leastsquares
optimization problem:
[min.sub.f] 1/2 [f.sup.t] Hf (4)
subject to [[tau].sub.d] - Tf = 0 (5)
where H is a positive definite matrix. The solution of the above
problem using Lagrange multipliers is shown as
f = T* [[tau].sub.d] (6)
where T* = [H.sup.-1][T.sup.T] [([TH.sup.-1][T.sup.T]).sup.-1] (7)
is recognized as the generalized inverse. For the case H = I, the
expression (7) reduce to the Moore-Penrose pseudo inverse:
T* = [T.sup.T]([TT.sup.T]).sup.-1] (8)
The above approach assures a proper solution only for faultless work of the propulsion system and cannot be directly used in the case of
thruster damage. To increase its applicability and overcome this
difficulty, two alternative algorithms are proposed.
3.1. Solution using singular value decomposition
Singular value decomposition (SVD) is an eigenvalue like
decomposition for rectangular matrices. SVD has the following form for
the thruster configuration matrix (3):
T = [USV.sup.T] (9)
where
U,V--orthogonal matrices of dimensions 3 x 3 and n x n,
respectively,
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
[S.sub.[tau]]--diagonal matrix of dimensions 3 x 3,
0--null matrix of dimensions 3 x (n - 3).
The diagonal entries si are called the singular values of T. They
are positive and ordered so that [[sigma].sub.1][greater than or equal
to] [[sigma].sub.2] [greater than or equal to] [[sigma].sub.3] [greater
than or equal to]. This decomposition of the matrix T allows us to work
out a computationally convenient procedure to calculate the thrust
vector f being a minimum-norm solution to (8). The procedure is analyzed
for two cases:
1. All thrusters are operational (P = I).
2. One of the thrusters is off due to a fault (P ? I).
3.1.1. Algorithm for all thrusters active
Set [[tau].sub.d] = [[[tau].sub.d1], [[tau].sub.d2],
[[tau].sub.3]].sup.T] as the required input vector,
f = [[[f.sub.1], [f.sub.2], ... ,[f.sub.n]].sup.T] = as the thrust
vector necessary to generate the vector [[tau].sub.d], and n as the
number of thrusters.
A direct substitution of (11) shows that the vector f determined by
(8) and (10) can be written in the form
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
3.1.2. Algorithm for one non-operational thruster
Assume that the k--the thruster is off. This means that and
[p.sub.kk] = 0 The substitution of (11) into (2) leads to the following
dependence:
[[tau].sub.d] TPf = [USV.sup.T] Pf (11)
Defining: f' = [[[f.sub.1], ... ,[f.sub.k-1], [f.sub.k+1], ...
[f.sub.n]].sup.T]
V* = [V.sup.T] P = [[v.sup.*.sub.1], ... ,[v.sup.*.sub.k-1], 0,
[v.sup.*.sub.k+1], ... [v.sup.*.sub.n]]
[V.sup.*.sub.f] = [[V.sup.T] P = [[v.sup.*.sub.1], ...
,[v.sup.*.sub.k-1], [v.sup.*.sub.k+1], ... [v.sup.*.sub.n]]
the expression (11) can be written as
[[tau].sub.d] = [USV.sup.*.sub.f]f' (12)
The matrices U and SV _f have dimensions 3 x 3 and 3 x m, where m =
n - 1, so the vector f' can be computed as
f' = [(([SV.sup.*.sub.f]).sup.T] [SV.sup.*.sub.f]).sup.-1]
[(SV.sup.*.sub.f]).sup.T][U.sup.T][[tau].sub.d] (13)
Hence, the value of the thrust vector f can be obtained as follows:
f = [[f'.sub.1], ... , [f.sub.k-1], 0, [f'.sub.k],...,
[f'.sub.m]].sup.T] (14)
Note that if n = 4 then (15) can be simplified to the form
F' = [([SV.sup.*.sub.f]).sup.-1] [U.sup.T] [[tau].sub.d] (15)
4. SOLUTION USING THE WALSH MATRIX
The solution proposed below is restricted to ROVs having the
configuration of thrusters exactly as shown in Fig. 3, i.e., the
propulsion system consists of four identical thrusters located
symmetrically around the centre of gravity. In such a case [d.sub.j] =
[d.sub.k] = d, [[alpha].sub.j] mod ([PI]/2) = [[alpha].sub.k] mod
([PI]/2) = [alpha], [[phi].sub.j] mod ([PI]/2) =[[phi].sub.k] mod
([PI]/2) = [phi] for j, k = 1, . . . , 4 and the thrusters configuration
matrix T can be written in the form
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (16)
where [gamma] = [alpha]--[phi]. Then the matrix T has the following
properties:
(a) it is a row-orthogonal matrix,
(b) |[t.sub.ij]| = |[t.sub.ik]| for i = 1, 2, 3 and j, k = 1, ... ,
4,
(c) it can be written as a product of two matrices: a diagonal
matrix Q and a row-orthogonal matrix Wf having values [+ or -]1:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (17)
It allows us to work out a simple and fast procedure to compute the
thrust vector f by applying an orthogonal Walsh matrix. It should be
emphasized that the use of this method does not require calculations of
any additional matrices. The procedure is considered for the case when
all thrusters are operational.
4.1. Algorithm for all thrusters active
As in Section 3.1.1, set [[tau].sub.d] = [[[[tau].sub.d1],
[[tau].sub.d2], [[tau].sub.d3]].sup.T] as the required input vector and
f = [f1, f2, . . . , fn]T as the thrust vector necessary to generate the
input vector [[tau].sub.d]. After the thrust vector is substituting, it
becomes:
[[tau].sub.d] = [QW.sub.f] Pf (18)
By multiplying both sides of (18) by [Q.sup.-1], the following
expression is obtained:
[Q.sup.-1] [[tau].sub.d] = [W.sub.f] Pf (19)
Substituting
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]
where [w.sub.0] = [ 1 1 1 1 ], and assuming that P = I , (21) can
be transformed to the form
S = Wf (22)
The matrix W is the Walsh matrix having the following properties: W
= [W.sup.T] and [WW.sup.T] - nl, where n = dimW. Hence, the thrust
vector f can be expressed as follows:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (23)
5. CONCLUSIONS
The paper presents methods of thrust distribution for an unmanned
underwater vehicle. To avoid a significant amount of computations, the
problem of thrust allocation has been regarded as an unconstrained
optimization problem. The described algorithms are based on the
decomposition of the thruster configuration matrix. This allows us to
obtain minimum Euclidean norm solutions. The main advantage of the
approach is its computational simplicity and flexibility with respect to
the construction of the propulsion system and the number of thrusters.
6. REFERENCES
Berge S. and Fossen T.I. (1997). Robust control allocation of
overactuated ships: Experiments with a model ship Proc. 4-th IFAC Conf.
Manoeuvring and Control of Marine Craft, Brijuni, Croatia, pp. 161-171,
1997.
Fossen T.I. (2002). Marine Control Systems, Marine Cybernetics AS,
Trondheim, 2002
Garus J. (2004). A method of power distribution in power
transmission system of remotely operated vehicle.--J. Th.