You are on page 1of 114

1

Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Chapter 12 Motion Control Systems
12.1 Open-Loop Stability and Maneuverability
12.2 PID Control and Acceleration Feedback
12.3 Control Allocation

Chapter 12 covers state-of-the-art PID
control methods for:

Setpoint regulation
Trajectory-tracking control
Path-following control

of marine craft. This includes autopilot design, stationkeeping, position mooring systems,
cross-tracking control systems and LOS control systems. In addition to this, control
allocation methods are discussed.

Advanced methods such as linear-quadratic optimal control, sliding mode control, state
feedback linearization and integrator backstepping are discussed in Chapter 13.

2
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Chapter 12 Motion Control Systems
Control is the action of determining the necessary control forces and moments to be
provided by the craft in order to satisfy a certain control objective.

Control Allocation: Distribution of generalized control forces to the actuators.
compass
and gyro
yaw angle
and rate
pilot
input
control
system
control
allocation
reference
model
observer and
wave filter
wind
feedforward
wind
loads

3
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1 Open-Loop Stability and
Maneuverability
Stability of the uncontrolled ship can be defined as the ability to return to an equilibrium point
after a disturbance, without any corrective action of the rudder.

Maneuverability, on the other hand, is defined as the capability of the ship to carry out
specific maneuvers.

Excessive stability implies that the control effort will be excessive in a maneuvering situation
whereas a marginally stable ship is easy to maneuver. Thus, a compromise between stability
and maneuverability must be made.
Stability Maneuverability
Copyright Bjarne Stenberg

4
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.1 Straight-Line, Directional and
Positional Motion Stability
For ships it is common to distinguish between three types of stability:
Straight-line stability
Directional stability
Positional motion stability
Consider the following test system:
x` = ucos v sin ~ u
0
cos
y` = usin + v cos ~ u
0
sin
` = r
Tr` + r = Ko + w
#
#
#
#
o = K
p
(
d
) K
d
r
T + (1 + KK
d
)` + KK
p
= KK
p

d
+ w
[
m + d` + k = f(t)
#
#
#
PD controller
Resulting
test system
Nomoto model
cruise speed u
0

5
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.1 Straight-Line, Directional and
Positional Motion Stability
m + d` + k = f(t)
z
1,2
=
d d
2
4km
2m
, o
n
=
k
m
, =
d
2
1
km
Matlab MSS toolbox script: Stabdemo
Test system:
f(t) = k
d
+ w
Disturbance:
impulse at t = 100 s
Copyright Bjarne Stenberg/SINTEF

6
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.1 Straight-Line, Directional and
Positional Motion Stability
Straight-Line Stability: Consider an uncontrolled ship (K
p
= K
d
= 0) moving on a straight-line
path. If the new path is straight after a disturbance w in yaw the ship is said to have
straight-line stability.
0 500 1000 1500 2000 2500 3000
-100
-50
0
50
100
150
200
XY-Plot: Straight-line stability
0 200 400 600
0
0.01
0.02
0.03
0.04
0.05
0.06
r (deg/s)
sec
0 200 400 600
0
1
2
3
4
5
6
(deg)
sec
The direction of the new path
will usually differ from the initial
path because no restoring forces
are present (k = 0). This
corresponds to:




The requirement T > 0 implies
straight-line stability for the
uncontrolled ship (d = 0)


z
1
=
d
m
=
1
T
< 0
z
2
= 0

7
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.1 Straight-Line, Directional and
Positional Motion Stability
Directional Stability (Stability on Course): Directional stability requires the final path to be
parallel to the initial path which is obtained for K
p
> 0. Additional damping is added through
K
d
> 0, that is, PD-control.

The ship is said to be directionally stable if both eigenvalues have negative real parts, that is:


Rez
1,2
) < 0
Two types of directional stability are
observed:

1. No Oscillations: (d - 4km 0): This
implies that both eigenvalues are
negative and real-i.e. z 1 such that:

0 500 1000 1500 2000 2500 3000
-5
0
5
10
XY-Plot: Directional stability (critical damped)
0 200 400 600
-0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
r (deg/s)
0 200 400 600
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
(deg)
sec
z
1,2
=
d d
2
4km
2m
=
2
1 o
n
< 0

8
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
0 500 1000 1500 2000 2500 3000
-5
0
5
10
XY-Plot: Directional stability (underdamped)
0 200 400 600
-0.02
0
0.02
0.04
0.06
r (deg/s)
sec
0 200 400 600
-0.5
0
0.5
1
1.5
(deg)
sec
12.1.1 Straight-Line, Directional and
Positional Motion Stability
2. Damped Oscillator (d - 4km < 0):
This corresponds to two imaginary eigenvalues with negative real parts (z < 1),
that is:
z
1,2
=
d j 4km dm
2m
= j 1
2
o
n
Notice the oscillations in both
positions and yaw angle.
Directional stability requires
feedback control since there are
no restoring forces in yaw.
However, in heave, roll and pitch
where metacentric restoring forces
are present (k > 0), no feedback is
required to damp out the
oscillations.

9
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.1 Straight-Line, Directional and
Positional Motion Stability
Positional Motion Stability: Positional motion stability implies that the ship should return
to its original path after a disturbance. This can be achieved by including integral action in
the controller.
A PID controller can be
designed to compensate for
the unknown disturbance
term w while a PD controller
will generally result in a
steady-state offset.


10
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.2 Maneuverability
Ship maneuvers can be used to evaluate the robustness, performance and limitations
of a ship.
This is usually done by defining a criterion in terms of a maneuvering index or by using
a maneuvering characteristic.
The Norrbin Measure of Maneuverability
P =

'
(t
'
=1)
o
'
(t
'
=1)
T
'

'
+ `
'
= K
'
o
'

'
(t
'
) = K
'
|t
'
T
'
+ T
'
exp((t
'
/T
'
))]o
'
(t
'
)
exp(t
'
/T
'
) = 1
t
'
T
'
+
(t
'
)
2
2(T
'
)
2
+ O(3)

'
(t
'
)
o
'
(t
'
)
~ K
'
t
'
T
'
+ T
'
1
t
'
T
'
+
(t
'
)
2
2(T
'
)
2
= K
(t
'
)
2
2T
'

'
(t
'
=1)
o
'
(t
'
=1)
~ K
'
(t
'
)
2
2T
'
t
'
=1
=
K
'
2T
'
P ~
1
2
K
'
T
'
t= t(U/L) is the non-dimensional time
Heading change per unit rudder angle in one ship length traveled at U=1 m/s
Norrbin concludes that P > 0.3 guarantees a reasonable standard of course-change quality for
most ships, while P > 0.2 seems to be sufficient for large oil-tankers.

11
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.2 Maneuverability
Maneuvering Characteristics
A maneuvering characteristic can be obtained by changing or keeping a predefined course
and speed of the ship in a systematic manner by means of active controls. A guide for sea
trials describing how these maneuvers should be performed is found in SNAME (1989). The
following ship maneuvers have been proposed by ITTC:

Turning Circle: This trial is mainly used to calculate the ship's steady turning radius and to
check how well the steering machine performs under course-changing maneuvers.
Kempf's Zigzag Maneuver: The zigzag test is a standard maneuver used to compare the
maneuvering properties and control characteristic of a ship with those of other ships.
Experimental results of the test can be used to calculate the K and T values of Nomoto's
1st-order model.
Pull-Out Maneuver: The pull-out maneuver can be used to check whether the ship is
straight-line stable or not.
Dieudonn's Spiral Maneuver: The spiral maneuver is used to check straight-line stability.
The maneuver gives an indication of the range of validity of the linear theory.
Bech's Reverse Spiral Maneuver: The reverse spiral maneuver can be used for unstable
ships to produce a nonlinear maneuvering characteristic. The results from the test
indicate which rudder corrections that are required to stabilize an unstable ship.
Stopping Trials: Crash-stops and low-speed stopping trials can be used to determine the
ship's head reach and maneuverability during emergency situations.

12
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.2 Maneuverability
Turning Circle
The turning circle is probably the oldest maneuvering test. The test can be used as an
indication on how well the steering machine and rudder control performs during course-
changing maneuvers. It is also used to calculate standard measures of maneuverability such
as tactical diameter, advance and transfer.
Matlab MSS
toolbox script
ExTurnCircle.m

13
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.2 Maneuverability
The steady turning radius R is perhaps the most interesting quantity obtained from the
turning trials. Steady-state analysis gives:
Mv` +N(u
0
)v = bo
v` =0
v = N
1
(u
0
)bo
r =
(Y
v
N
o
N
v
Y
o
)
Y
v
(N
r
mx
g
u
0
)N
v
(Y
r
mu
0
)
o
R =
U
r
where U = u
2
+ v
2
(
R
L
) =
Y
v
'
(N
r
'
m
'
x
g
'
)N
v
'
(Y
r
'
m
'
)
Y
v
'
N
o
'
N
v
'
Y
o
'
1
o
, o = 0
The ship's turning radius R is defined as:
This gives the non-dimensional formula for the turning radius:

14
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.2 Maneuverability
Example 12.2 (Determination of the Nomoto Gain and Time Constants)
The Nomoto gain and time constants can be computed from a turning test by using
nonlinear least-squares curve fitting. For a step input d = d
0
, we get:




where K and T are unknowns. The Matlab MSS toolbox script ExKT.m fits this model to a
simulated step response of the model mariner.m which is a nonlinear model of the Mariner
class vessel.


The results for a step d
0
= 5 deg and U = 7.7 m/s = 15 knots, are
K = 0.09 s
-1
, T = 22.6 s
The Norrbin measure of maneuverability becomes:
P = (K/T ) = 0.87
which guarantees good maneuverability since P > 0.3.
Tr` + r = Ko r(t) = exp(t/T)r(0) + |1 exp(t/T)]Ko
0

15
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.2 Maneuverability
% ExKT Script for computation of Nomoto gain and time constants
% using nonlinear least-squares.The rudder input is 5 deg at t=0.
N = 2000; % number of samples
h = 0.1; % sample time
xout = zeros(N,2);
x = zeros(7,1);
delta_R = 5*(pi/180); % rudder angle step input
for i=1:N,
xout(i,:) = [(i-1)*h ,x(3)];
xdot = mariner(x,delta_R); % nonlinear Mariner model
x = euler2(xdot,x,h); % Euler integration
end
% time-series
tdata = xout(:,1);
rdata = xout(:,2)*180/pi;
% nonlinear least-squares parametrization:
% x(1)=1/T and x(2)=K
x0 = [0.01 0.1]
F = inline(exp(-tdata*x(1))*0 +...
x(2)*(1-exp(-tdata*x(1)))*5,x,tdata)
x = lsqcurvefit(F,x0, tdata, rdata);
r(t) = exp(t/T)r(0) + |1 exp(t/T)]Ko
0

16
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.2 Maneuverability
Kempf's Zigzag Maneuver
The zigzag test was first proposed by Kempf (1932).

20
o
-20
o
Maneuver
(1st angle = rudder command, 2nd angle = change of heading before the rudder is reversed)

The zigzag time response is obtained by moving the rudder to 20
o
starboard from an
initially straight course. The rudder setting is kept constant until the heading is changed 20
o
,
then the rudder is reversed 20
o
to port. Again, this rudder setting is maintained until the
ship's heading has reached 20
o
in the opposite direction. This process continues until a total
of 5 rudder step responses have been completed.

Standardized by the International Towing Tank Conference (ITTC) in 1963.

For larger ships, ITTC has recommended the use of a 10
o
-10
o
or a 20
o
-10
o
maneuver to
reduce the time and water space required.


17
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.2 Maneuverability
20
o
-20
o
Maneuver

18
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.2 Maneuverability
20
o
-10
o
Maneuver

19
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.2 Maneuverability
Pull-Out Maneuver
In 1969 Roy Burcher proposed a simple test procedure to determine whether a ship is
straight-line stable or not. This test is referred to as the pull-out maneuver (12th ITTC ).
The pull-out maneuver involves a pair of maneuvers in which a rudder angle of
approximately 20
o
is applied and returned to zero after steady turning has been
attained.
Both a port and starboard turn must be performed.

During the test the ship's rate of turn must be measured or at least calculated by numerical
derivation of the measured compass heading.

Straight-line stable: the rate of turn will decay to the same value for both the starboard
and port turn.

Unstable: the steady rate of turn from the port and starboard turn differ.


20
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.2 Maneuverability
Pullout maneuver for a tanker. Notice that
the positive and negative curves do not
meet for the unstable ship.
Pullout maneuver for the Mariner class
vessels. Notice that the positive and negative
curves meet for the stable ship.

21
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.2 Maneuverability
Dieudonn's Spiral Maneuver
The direct spiral test was published first in 1949-1950 by the French scientist Jean
Dieudonn. An English translation was available in 1953.
The direct spiral maneuver is used to check straight-line stability. The maneuver also
gives an indication of the degree of stability and validity of linear theory.
To perform the test the ship should initially be held on a straight course. The rudder
angle is then put to 25
o
starboard and held until steady yawing rate is obtained. After
this the rudder angle is decreased in steps of 5
o
and again held until constant yawing
rates are obtained for all the rudder angles. The procedure is performed for all rudder
angles between 25
o
starboard and 25
o
port. In the range around zero rudder angle the
step of 5
o
rudder should be reduced to obtain more precise values.

The results are plotted in an r-d diagram.

For straight-line unstable ships it is recommended to use Bech's reverse spiral maneuver
because of the hysteresis at small turning rates.

22
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
r-d diagram showing the Dieudonne and Bech spirals for both a stable and unstable ship.
Notice the hysteresis loop in the Dieudonne spiral for the unstable ship
12.1.2 Maneuverability

23
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.1.2 Maneuverability
Bech's Reverse Spiral Maneuver
For unstable ships within the limits indicated by the pull-out maneuver, Bech's reverse spiral
should be applied. The reverse spiral test was published in 1966.
The ship steering characteristic is nonlinear outside a limited area. The mean value of the
required rudder deflection d
ss
to steer the ship at a constant rate of turn r
ss
is a nonlinear
function:
o
ss
= H
B
(r
ss
)
T
1
T
2
r + (T
1
+ T
2
)r` + KH
B
(r) = K(o + T
3
o
`
)
where H
B
(r
ss
) is a nonlinear function describing the maneuvering characteristic.
This can be understood by considering the nonlinear model:
If r = r
ss
is constant in steady-state, that is, r = r` = o
`
= 0 directly gives o
ss
= H
B
(r
ss
)
The full-scale test is performed by measuring the necessary rudder action required to bring
the ship into a desired rate of turn. For an unstable ship this implies that the rudder angle
will oscillate about a mean rudder angle. The amplitude of the rudder oscillations should
be kept to a minimum. After some time a balance condition is reached and both the
mean rudder angle and rate of turn can be calculated.

24
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2 PID Control and Acceleration
Feedback
This section discusses PID control design for SISO and MIMO motion control systems
and it will be shown how PID controllers can be designed to exploit acceleration
feedback in marine systems.
Acceleration feedback can be implemented in conjuncture with PID-control
without increasing the demand for control energy.
It is also possible to increase (or even decrease) the mass/inertia of the closed-loop
system using acceleration feedback. In addition acceleration feedback can be used
to shape the system inertia matrix e.g. compensation of added mass.
By increasing the mass of the system and thus the inertia the closed-loop system
will be more robust to environmental disturbances to the price of less
maneuverability.
A mass-damper-spring system will be used to demonstrate the main concept.
Further reading:
K.-P. Lindegaard (2003). Acceleration Feedback in Dynamic Positioning Systems, PhD thesis, Department
of Engineering Cybernetics, NTNU

25
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.1 Linear Mass-Damper-Spring Systems
Damped Oscillator
For a damped system d > 0, the frequency of the oscillation will be smaller than the natural
frequency of the undamped system:
mx + dx` + kx = 0
x + 2o
n
x` + o
n
2
x = 0
#
#
2o
n
=
d
m
, o
n
2
=
k
m
o
n
=
k
m
natural frequency (undamped oscillator when d = 0)
=
d
2mon
relative damping ratio
Re
Im

-
- =- z

z
1,2
=
-
o
n
a
jo
a
2
+ o
2
= o
n
2 =
a
o
n
= cos
a = absolute damping factor
o = frequency of oscillation (damped system)
Eigenvalues
Undamped oscillator: a = 0

26
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.1 Linear Mass-Damper-Spring Systems
The upper plot shows a mass-damper-spring system for different relative damping ratios.
The lower plot shows the undamped oscillator together with a damped oscillator.
Matlab MSS
toolbox:
ExMDS.m

27
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.1 Linear Mass-Damper-Spring Systems
It is convenient to set:

where r is a reduction factor.

For uncontrolled marine craft a reduction of 0.5 % percent in the natural frequency is quite
common (Faltinsen 1990):
o = r o
n
r = 1
0.5
100
= 0. 995
a
2
+ (ro
n
)
2
= o
n
2
[
a = 1 r
2

o
n
#
#
d
m
= 2o
n
= 2 1 r
2
o
n
= 2 1 r
2 k
m
#
d = 2 1 r
2
km
which yields the following formula for linear damping:
Compute linear damping in heave,
roll, and pitch of an uncontrolled
marine craft using m and k.
z = 0.1

28
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.1 Linear Mass-Damper-Spring Systems
Damping in surge, sway, and yaw can, however, not be determined by


since k = 0 in a pure mass-damper system.

Linear damping for such a system:


can be found by specifying the time constant T > 0. Let T = m/d such that:


which yields the following design formula for the mass-damper:
d = 2 1 r
2
km
mx + dx` = t
Tx + x` =
1
d
t
d =
m
T

29
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.1 Linear Mass-Damper-Spring Systems
Example 12.5 (Linear Damping in Roll and Pitch for Submarines)
Consider the linear pitch equation:


Using:

yields:


For roll a similar expression is obtained:



where r = 0.995 for z = 0.1.
(I
y
M
q`
)0

M
q
0
`
+ BG
z
W0 = t
5
M
q
= 2 1 r
2
BG
z
W(I
y
M
q`
) > 0
d = 2 1 r
2
km
K
p
= 2 1 r
2
BG
z
W(I
x
K
p`
) > 0

30
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.1 Linear Mass-Damper-Spring Systems
Example 12.6 (Linear Damping in Yaw for Ships and Underwater Vehicles)
Consider the linear yaw equation:


Assume that the moment of inertia is known.


(I
z
N
r`
)r` N
r
r = N
o
o #
I
z
N
r`
T ~
T
n
2m
#
T ~
150 s
2m - 1. 0
= 23. 8 s #
N
r
=
I
z
N
r`
T
#
2o
n
= 2
2m
T
n
=
d + K
d
m
~
2
T
#
2o
n
=
d + K
d
m
o
n
=
K
p
m
#
#
The linear damping coefficient N
r
can be estimated by specifying
the time constant.

If we assume that the closed-loop yawing motion has a natural
period T
n
= 150 s and relative damping ratio = 1.0, we can
compute an estimate of the time constant in yaw using:
mx + (d + K
d
)x` + K
p
x = 0 #
Note that: K
d
/m 1/T
corresponds to increasing
1/T to 2/T in closed loop

31
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.2 Acceleration Feedback
Consider a mass-damper-spring system: Feedback


where K
m
> 0 is the acceleration feedback gain and represents a conventional PID
controller. This yields:
mx + dx` + kx = t + w
t = t
PID
K
m
x
t
PID
(m + K
m
)x + dx` + kx = t
PID
+ w
x +
d
m+K
m
x` +
k
m+K
m
x =
1
m+K
m
t
PID
+
1
m+K
m
w
From this expression it is noticed that besides increasing the mass
from m to m+K
m

Acceleration feedback also reduces the gain in front of the disturbance w from
1/m to 1/(m+K
m
). Hence, the system is expected to be less sensitive to an external
disturbances w if acceleration feedback is applied.

32
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.2 Acceleration Feedback
This design can be further improved by introducing a frequency-dependent virtual mass
(Sagatun, Fossen and Lindegaard, 2001), that is:


If h
m
(s) is chosen as a low-pass filter:


it is seen that:



The total mass is
t = t
PID
h
m
(s)x
h
m
(s) =
K
m
1+T
m
s
m +
K
m
1+T
m
s
m
total
(s)
x + dx` + kx = t
PID
+ w
m
total
(s) = m +
K
m
1+T
m
s
=
mT
m
s+(m+K
m
)
T
m
s+1
The total mass is m+K
m
at low frequencies
(s = 0) while at high frequencies (s = ) the
total mass m+K
m
reduces to m.

33
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.2 Acceleration Feedback
The filter h
m
(s) can be chosen rather arbitrarily depending on the application.



g(s) =
1
m+h
m
(s)
x + g(s)dx` + g(s)kx = g(s)t
PID
+ g(s)w
For instance, a
low-pass filter
will remove high-
frequency
acceleration
feedback
components
while a notch
structure can be
used to remove
1st-order wave-
induced
disturbances.

34
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.3 PID Control with Acceleration
Feedback
Consider the mass-damper-spring system:






For simplicity, assume that h
m
(s) = K
m
and K
i
= 0. This gives the PD controller:



The closed-loop system becomes:
t = k
d
x
d
K
p
x + K
d
x` + K
i
]
o
t
x(t)dt h
m
(s)x
mx + dx` + kx = t
reference
feedforward
PID
control
acceleration
feedback
(m + K
m
)x + (d + K
d
)x` + (k + K
p
)x = w
t = k
d
x
d
(K
p
x + K
d
x` ) K
m
x
o
n
=
k + K
p
m + K
m
=
d + K
d
2(m + K
m
)o
n
#
#

35
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.3 PID Control with Acceleration
Feedback
Pole placement (PD controller):
Let:


Solving for K
p
and K
d
using:


yields



The disturbance w can be removed by adding integral action.
x + 2o
n
x` + o
n
2
x = 0
(m + K
m
)x + (d + K
d
)x` + (k + K
p
)x = w
K
p
= (m + K
m
)o
n
2
k, K
d
= 2o
n
(m + K
m
) d

36
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.3 PID Control with Acceleration
Feedback
Pole placement (PID controller):
Consider:


where T
d
= K
d
/K
p
and T
i
= K
p
/K
i
are the derivative and integral time constants, respectively.
A rule-of-thumb is to choose:


which states that the integrator is 10 times slower than the natural frequency . This
yields:


t = k
d
x
d
K
p
1 + T
d
s +
1
T
i
s
x K
m
x
1
T
i
~
o
n
10
o
n
K
i
=
o
n
10
K
p
=
o
n
10
|(m + K
m
)o
n
2
k]

37
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.3 PID Control with Acceleration
Feedback
The natural frequency can be related to the system bandwidth by using the
following definition:

Definition 12.1 (Control Bandwidth)
The control bandwidth of a system y=h(s)u with negative unity feedback is defined as the
frequency rad/s at which the loop transfer function l(s)=h(s)1 is:


or equivalently,



From this definition it can be shown that the control bandwidth of a 2nd-order system:

is

o
n
o
b
o
b
|l(jo)|
o=o
b
=
2
2
20log|l(jo)|
o=o
b
= 3 dB
h s ( )
u
y
h(s) =
o
n
2
s
2
+2o
n
s+o
n
2
o
b
= o
n
1 2
2
+ 4
4
4
2
+ 2
= 1. 0
o
b
= 0. 64o
n

38
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.3 PID Control with Acceleration
Feedback
t = k
d
x
d
K
p
x + K
d
x` + K
i
]
o
t
x(t)dt h
m
(s)x
Main Result (PID Controller Tuning Rule):

39
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.3 PID Control with Acceleration
Feedback
Example 12.7 (Ship Autopilot Design)
Consider the first-order Nomoto model:




Pole placement gives:
T + ` = Ko m =
T
K
, d =
1
K
, k = 0
K
m
_ 0
K
p
=
T + KK
m
K
o
n
2
> 0
K
d
=
T + KK
m
K
2o
n

1
K
> 0
K
i
=
T + KK
m
10K
o
n
3
> 0
K
p
=
o
n
2
T
K
> 0
K
d
=
2o
n
T 1
K
> 0
K
i
=
o
n
3
T
10K
> 0
K
m
= 0 (no angular acceleration
feedback in yaw)

40
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.4 MIMO Nonlinear PID Control with
Acceleration Feedback
The PID control concept can be generalized to nonlinear mechanical system by exploiting
the kinematic equations of motion in the design.




Consider the control law:


with acceleration feedback H
m
(s), gravity compensation g, and PID controller:


For simplicity, assume that K
i
= 0 and H
m
(s) = K
m
(PD control with fixed gain acceleration
feedback). This yields the closed-loop system:
q` = Jqv
M` v + C(v)v + D(v)v + g(q) = + w
#
#
= gq H
m
sv` J

q
PID

PID
= K
p
q + K
d
q` + K
i
]
o
t
q(t)dt
H` v + |C(v) + D(v) + K
d
-
(q)]v + J

qK
p
q = w
K
d
-
(q) = J

(q)K
d
J(q)
q = q q
d
H = M + K
m

41
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.4 MIMO Nonlinear PID Control with
Acceleration Feedback
A Lyapunov function candidate (LFC) for this system is
In the analysis it is assumed that q`
d
= 0, that is, regulation of q to q
d
= constant.
V =
1
2
v

Hv +
1
2
q

K
p
q
kinetic
energy
potential
energy
K
p
= K
p

> 0
H = H

> 0
V
`
= v

Hv` + q`

K
p
q = v

(Hv` + J

q)K
p
q
since
`
q = q` q`
d
= q` and q`

= v

q.
V
`
= v

(w |C(v) + D(v) + K
d
-
(q)]v = v

w v

|D(v) + K
d
-
(q)]v
v

C(v)v =0
H` v + |C(v) + D(v) + K
d
-
(q)]v + J

qK
p
q = w
Using:

42
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.4 MIMO Nonlinear PID Control with
Acceleration Feedback
If w = 0, Krasovskii-LaSalle's Theorem in Appendix A can be used to prove that the system with
nonlinear PD control (K
i
= 0) is globally asymptotically stable (GAS). Moreover, the
trajectories will converge to the set found from:


which is true for = 0. Therefore:


Now, 0 implies that which is nonzero as long as 0.
Hence, the system cannot get stuck at an equilibrium point value other than = 0
Since the equilibrium point is the largest invariant set M in , the equilibrium
point is GAS if J(h) is defined for all h (no representation singularities).


In the case of a constant disturbance w 0, the system trajectories will converge to a ball
about the origin (0,0). The radius of the ball depends on the magnitude of the disturbance w.
This is referred to as uniform ultimate boundedness (UUB).
V
`
(x = v

|Dv + K
d
-
(q)]v = 0
O
v
O = (q, v : v = 0))
v
H` v = J

qK
p
q
q
q
(q, v) = (0, 0) O

43
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.5 Case Study: Heading Autopilot for
Ships and Underwater Vehicles
compass
and gyro
yaw angle
and rate
pilot
input
control
system
control
allocation
reference
model
observer and
wave filter
wind
feedforward
wind
loads
Block diagram showing a modern autopilot system

44
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.5 Case Study: Heading Autopilot for
Ships and Underwater Vehicles
The principal blocks of a heading angle autopilot system are:
PID Feedback Control: The control system provides the necessary feedback signal to track the
desired yaw angle
d
. The output is the yaw moment
N
.
Compass/Yaw Gyro: The compass measures the yaw angle which is needed for feedback. In
some cases a yaw gyro is available for yaw rate feedbackthat is, feedback from r .
Observer/Wave Filter: In its simplest form the 1st-order wave-induced motion components
w

and r
w
are filtered out from the measurements y= +
w
and y = r+r
w
, and consequently
prevented from entering the feedback loop. This is known as wave filtering where the output of
the filter is the LF motion components and r. This is necessary to avoid excessive rudder
action. In cases where y is not measured the wave filter must be constructed as a state
observer so that r can be estimated from the yaw angle measurement y.
Wind Feedforward: In cases where a wind sensor is available for wind speed and direction, a
wind model can be used for wind feedforward. This is often advantageous since the integral
action term in the PID controller does not have to integrate up the wind disturbance term.
However, an accurate model of the wind force and moment as a function of ship speed and
wind direction is needed to implement wind feedforward.
Reference Feedforward using a reference model for course-changing maneuvers. Course
keeping is obtained by using a constant reference signal.
Control Allocation: This module distributes the output from the feedback control system,
usually the yaw moment
N
, to the actuators (rudders and in some cases propellers and
thrusters) in an optimal manner.

45
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.5 Case Study: Heading Autopilot for
Ships and Underwater Vehicles
`
d
= sat(r
d
)
r`
d
= sat(a
d
)
a`
d
= (2 + 1)o
n
sat(a
d
) (2 + 1)o
n
2
sat(r
d
) + o
n
3
(
r

d
)
#
#
#
Course keeping Reference model for course changing (turning)

d
= constant
The main motivation for using a rate
limiting element in the reference
model is that the course-changing
maneuver will be described by
3 phases (positive turn):
I Start of turn, acceleration
(r
d
> 0 and 0 < r
d
a
max
)
II Steady turning
(r
d
= r
max
and r
d
= 0)
III End of turn, deceleration
(r
d
> 0 and a
max
r
d
< 0)
The same 3 phases applies to
negative turns but with opposite
signs on r
d
and a
d
.
.

46
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
t
N
(s) = t
wind
+ t
FF
(s)K
p
1 + T
d
s +
1
T
i
s
(s)
t
PID
#
12.2.5 Case Study: Heading Autopilot for
Ships and Underwater Vehicles
t
PID
=
d
is the heading error
Time domain:
t
N
(t) = t
wind
+ t
FF
K
p
K
p
T
d
K
d
r
-
K
p
T
i
K
i
]
0
t
(t)dt #
K
p
= mo
n
2
K
d
= m 2o
n

1
T
T>0
~ 2o
n
m
K
i
=
o
n
10
K
p
o
n
=
1
1 2
2
+ 4
4
4
2
+ 2
o
b
#
Yaw Dynamics (Nomoto Model)
r` +
1
T
r =
1
m
(t
wind
+ t
N
) #
(I
z
N
r`
)r` N
r
r = t
wind
+ t
N
#
T =
m
d
=
I
z
N
r`
N
r
#
t
N
= N
o
o #
Control System (PID Controller with Reference and Wind Feedforward)

47
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.5 Case Study: Heading Autopilot for
Ships and Underwater Vehicles
h
PID
(s) = K
p
1 + T
d
s +
1
T
i
s
= K
p
T
i
T
d
s
2
+T
d
s+1
T
i
s
l(s) = h(s)h
PID
(s) =
K
p
T
i
(T
i
T
d
s
2
+T
d
s+1)
s
2
(1+Ts)
h
PID
(s) = K
p
1 + T
d
s +
1
T
i
s
~ K
p
1 + (T
i
+ T
d
)s + T
d
T
i
s
2
T
i
s
= K
p
(1 + T
i
s)(1 + T
d
s)
T
i
s
#
T
i
> T
d
such that T
i
~ T
i
+ T
d
Reference feedforward:
PID controller
Loop transfer function:
r` +
1
T
r =
1
m
(t
wind
+ t
N
) #
t
FF
= m r`
d
+
1
T
r
d
#
+
1
T
=
1
m
t
PID
#
h(s) =
e
t
PID
(s) =
1/m
s(1 + Ts)
#
Nomoto Model:

48
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
t
wind
=
1
2

a
V
rw
2
C
N
(,
rw
)A
Lw
L
oa
#
Wind Feedforward
Cx

Cy

Cn

g
r
g
r
g
r
V
rw
= u
rw
2
+ v
rw
2
,
rw
= atan2(v
rw
, u
rw
)
#
#
u
rw
= u u
w
= u V
w
cos([
w
)
v
rw
= v v
w
= v V
w
sin([
w
)
#
#
V
rw
is the relative wind speed
g
rw
is the relative wind angle of attack


u
rw
and v
rw
are the relative wind velocities

Anemometer measurements:
Wind speed and direction V
w
and b
w
Wind feedforward is frequently used since the integral
action term in the PID controller does not have to
integrate up the wind disturbance term.

However, an accurate model of the wind moment as a
function of measured wind speed and direction is
needed to successfully implement wind feedforward.
Wind coefficient C
N
in yaw
12.2.5 Case Study: Heading Autopilot for
Ships and Underwater Vehicles

49
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.5 Case Study: Heading Autopilot for
Ships and Underwater Vehicles
Control Allocation
The yaw moment can be generated by a single rudder:



or several actuators u
i
(i=1...r) satisfying



For a rudder controlled craft, the input command is computed



In the case of several actuators we can use the generalized inverse to compute u if
the scalar b
T
b 0 (see Section 12.3). This gives:
t
N
= N
o
o #
t
N
= b

u, u =|u
1
, . . . , u
r
]

#
o =
1
N
o
t
N
#
u = b(b

b)
1
t
N
#

50
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
t
N
= t
wind
+ t
FF
K
p
K
d
r K
i ]
0
t
(t)dt K
m
r`
t
FF
= (m + K
m
) r`
d
+
1
T
r
d
#
#
12.2.6 Case Study: Heading Autopilot
with Acceleration Feedback for Ships and
Underwater Vehicles
The autopilot system can be extended to include acceleration feedback by differentiating the
output of a yaw-rate gyro r
gyro
according to:
r` ~
s
o
f
+s
r
gyro
Control law:
acceleration feedback
(T + K
m
) + (1 + K
d
) + K
p
e + K
i
]
0
t
e(t)dt = 0
Error dynamics (gains can be chosen using pole placement):
Yaw dynamics:
Limited differentiator
r` +
1
T
r =
1
m
(t
wind
+ t
N
) #
Notice the increased
moment of inertia

51
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.7 Case Study: Cross-Tracking System
for Ships and Underwater Vehicles
Consider a path defined in terms of waypoints using the Cartesian coordinates (x
k
,y
k
) .

Waypoint guidance systems can be designed as trajectory tracking controllers. In its simplest
form this involves the use of a classical autopilot system where the yaw angle command
d
is
generated such that the cross-track error e is minimized.





s(t) = (x(t) x
k
)cos(o
k
) + (y(t) y
k
)sin(o
k
)
e(t) = (x(t) x
k
)sin(o
k
) + (y(t) y
k
)cos(o
k
)
#
#
o
k
:= atan2(y
k+1
y
k
, x
k+1
x
k
) #
e = y
p
#
Path-fixed reference frame {p} = (x
p
,y
p
,z
p
) with
origin in p
k
and x-axis rotated a positive angle:



Consequently, the error term e represents the
deviation to the path in the y-direction
expressed in {n}





52
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
A waypoint trajectory-tracking system is usually designed such that the craft can move
forward with reference speed U
d
at the same time as the path cross-track error is minimized.

The desired path can be generated using a route management system or by specifying the
desired route by waypoints. If weather data are available, the optimal route can be
generated such that the effects of wind and water resistance are minimized.
x`
p
= ucos() vsin()
v~0 and ~0
~ U
y`
p
= usin() + vcos()
v~0 and ~0
~ U
#
#
y`
p
= U
` = r
Tr` + r = Ko + b
b
`
= 0
#
#
#
#
e = y
p
#
e(s) = h
o
(s)o(s) + h
b
(s)b(s) #
h
o
(s) =
e
o
(s) =
KU
s
2
(1 + Ts)
h
b
(s) =
e
b
(s) =
U
s
2
(1 + Ts)
#
#
o = K
p
e K
d
K
i ]
0
t
e(t)dt #
Why do we need integral action when using a
Nomoto model that already has a pure integrator?
12.2.7 Case Study: Cross-Tracking System
for Ships and Underwater Vehicles

53
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.8 Case Study: LOS Path-Following
Control for Ships and Underwater Vehicles
North-East
positions
way-
points
control
system
control
allocation
observer and
wave filter
wind
feedforward
wind
loads
LOS
algorithm
autopilot
Yaw rate
and angle
A line-of-sight (LOS) path-following controller can be designed for conventional craft by
adding a kinematic control loop as shown in the figure.

54
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
A marine craft can move along the LOS vector with different directions of the BODY axes:

Body-Axes Alignment: If the sideslip angle is unknown, the body x-axis
of the craft can be aligned with the LOS vector to the price of a tracking offset
(see Section 10.3.2):





t
N
= t
wind
+ t
FF
K
p
K
d

`
K
i ]
0
t
(t)dt
t
FF
= m r`
d
+
1
T
r
d
#
#
12.2.8 Case Study: LOS Path-Following
Control for Ships and Underwater Vehicles

Autopilot control system:

d
= _
d
= atan2(y
los
y, x
los
x) #

d
= _
d
[ #
Enclosure-based Steering (Direct Assignment of the Course Angle
d
)

55
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.8 Case Study: LOS Path-Following
Control for Ships and Underwater Vehicles
LOS guidance principle where the sideslip angle is chosen as zero
The price to be paid is that
the craft will behave like an
object hanging in a rope and
the craft's lateral distance to
the path will depend on the
magnitude of the
environmental forces and
thus the sideslip angle .
This is due to the fact that
= only if =0.
X
Body x-axis and LOS vector aligned

56
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.8 Case Study: LOS Path-Following
Control for Ships and Underwater Vehicles
For lookahead-based steering, the course angle assignment is separated into two parts:
_
d
(e) = _
p
+ _
r
(e) #
_
p
= o
k
#
_
r
(e) := arctan
e(t)
.
#
Velocity-path relative angle:
Path-tangential angle w.r.t. NED:
where > 0 is the lookahead
(carrot) distance.
e(t)
2
+ .(t)
2
= R
2
#
.(t) = R
2
e(t)
2
#
Time-varying lookahead distance:

57
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Path-tangential angle:


Velocity-path relative angle (P-type guidance law):



Heading angle:



If the sideslip angle is unknown, a PI-type guidance law:




together with the approximation
d

p
+
r
can be used to compensate for sideslip .

_
d
= _
p
+ _
r
(e) #
_
p
= o
k
#
_
r
= arctan K
p
e(t) K
i ]
0
t
e(t)dt #
PI-type guidance law.
Integral action compensates
for unknown sideslip

K
p
=
1
A
12.2.8 Case Study: LOS Path-Following
Control for Ships and Underwater Vehicles
_
r
(e) := arctan
e(t)
.
#
Lookahead-Based Steering with Integral Action:

d
= _
d
[
= _
p
+ _
r
[ #

58
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
12.2.10 Case Study: Dynamic Positioning of
Ships and Floating Structures
Control systems for stationkeeping and low-speed maneuvering are commonly known as
dynamic positioning (DP) systems. The are designed for simultaneously control of the three
horizontal motions (surge, sway, and yaw) and they are used in a wide range of marine
operations such as stationkeeping, drilling and offloading.

DNV (1990) defines a dynamically positioned vessel as a free-floating vessel which maintains its
position (fixed location or predetermined track) exclusively by means of thruster.

It is, however, possible to exploit rudder forces in
DP by using the propeller to generate rudder lift
forces.

The first DP systems were designed using
conventional PID controllers in cascade with LP
and/or notch filters to suppress the wave-induced
forces. This was done by neglecting coupling terms
(Sargent and Cowgill 1976, Morgan 1978). From
the middle of the 1970's a new model-based
control concept utilizing stochastic optimal control
theory and Kalman filtering techniques was
employed with the DP problem by Balchen (1976).

59
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
DP Model (VP coordinates)
q`
p
= v
Mv` + Dv = b
p
+ +
wind
+
waves
#
#
q = R()q
p
#
b
p
= R()

b

PID
= K
p
q + K
d
q` + K
i ]
o
t
q(t)dt #
For the full state feedback case, asymptotic stability
follows using Lyapunov arguments. However, in
order to implement the nonlinear PID controller a
state estimator and wave filter must be designed;
see Chapter 11.

GAS and convergence of the nonlinear PID
controller in combination with a Kalman filter
cannot be guaranteed but the solution has been
used in many industrial systems with excellent
performance and robustness. Hence, from a
practical point of view this is a well proven concept.
12.2.10 Case Study: Dynamic Positioning of
Ships and Floating Structures
q` = R()v
= `
wind
+ R

()
PID
#
= `
wind
R

()K
p
q R

()K
d
R()
K
d
-
v R

()K
i
]
0
t
q(t)dt #
K
d
-
:= R

()K
d
R() #

60
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
In commercial DP systems it is necessary to include the following features:

Integral action to compensate for slowly varying disturbances (bias
term b) due to ocean currents and wave drift forces (2nd-order wave-
induced forces).

Wind feedforward control to compensate for mean wind disturbances.
Wind gust cannot be compensated for since the actuators do not the
have the capacity of moving a large vessel in the frequency range of the
wind gust.

Wave filtering to avoid that 1st-order wave-induced motions fed back
to the control system. This is an important feature since the actuators
cannot move a large vessel fast enough to suppress the disturbances.

State estimator for noise filtering and estimation of unmeasured
states, for instance linear and angular velocity. The main tool for this is
the Kalman filter, alternatively nonlinear and passive observers.

Optimal control allocation of thrust where the main goal is to compute
optimal set-points for thrusters, rudders and other actuators based on
the force/moment commands generated by the DP control system.
12.2.10 Case Study: Dynamic Positioning of
Ships and Floating Structures
Copyright Bjarne Stenberg

61
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Copyright Bjarne Stenberg
12.2.10 Case Study: Dynamic Positioning of
Ships and Floating Structures

62
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
= `
wind
R

()K
p
q R

()K
d
R()
K
d
-
v R

()K
i
]
0
t
q(t)dt #
Wind Feedforward
`
wind
=
1
2

a
V
rw
2
C
X
(,
rw
)A
F
w
C
Y
(,
rw
)A
L
w
C
N
(,
rw
)A
L
w
L
#
u
rw
= u u
w
= u V
w
cos([
w
)
v
rw
= v v
w
= v V
w
sin([
w
)
#
#
V
rw
= u
rw
2
+ v
rw
2
,
rw
= atan2(v
rw
, u
rw
)
#
#
C
N
g
rw
g
rw
g
rw
C
Y
C
X
Copyright Bjarne Stenberg
12.2.10 Case Study: Dynamic Positioning of
Ships and Floating Structures

63
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
The additional spring K
p
due to the mooring system adds spring stiffness in surge, sway and yaw
described by the parameters k > 0, k > 0 and k 0.
q`
p
= v
Mv` + Dv + K
p
q
p
= b
p
+ +
wind
+
waves
#
#
M = M

=
m
11
0 0
0 m
22
m
23
0 m
32
m
33
D = D

=
d
11
0 0
0 d
22
d
23
0 d
32
d
33
K = diagk
11
, k
22
, k
33
)
#
#
#
= K
d
v #
Copyright Bjarne Stenberg
12.2.10 Case Study: Dynamic Positioning of
Ships and Floating Structures

64
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Turret mooring systems have cables that are connected to the turret via bearings. This allows
the vessel to rotate around the anchor legs and the rotational spring can be neglected (k = 0).
The turret can be mounted either internally or externally. An external turret is fixed, with
appropriate reinforcements, to bow or stern of the ship. In the internal case the turret is placed
within the hull in a moon pool. Turret mooring systems allows the vessel to rotate in the
horizontal plane (yaw) into the direction where environmental loading due to wind, waves and
currents is minimal. This is referred to as weathervaning.




Spread mooring systems are used to moor
Floating Production, Storage and Offloading
(FPSO) units, tankers and floating platforms. The
system consists of mooring lines attached
somewhere to the vessel. The drawback with a
spread mooring system is that it restrains the
vessel from rotating (k > 0) and hence
weathervaning is impossible.
Copyright Bjarne Stenberg
12.2.11 Case Study: Position Mooring
System for Ships and Floating Structures

65
Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
For thruster assisted PM systems the thrusters are
complementary to the mooring system and the main
idea is to provide the system with additional damping
by using a D-controller:



Integral action is not used in PM systems, since the ship
is allowed to move within a limited radius about the
equilibrium point or field-zero point (FZP).

If the vessel, moves outside the specified radius of the
mooring system, a stabilizing control system of PD-type
can be used to drive the vessel inside the circle again. It
is optimal to use additional thrust to stay on the circle
rather than move the vessel to the FZP. In good
weather, no control action is needed since the vessel is
free to move within the circle.

12.2.11 Case Study: Position Mooring
System for Ships and Floating Structures
= K
d
v #
Copyright Bjarne Stenberg

66
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3 Control Allocation
For marine craft moving in n DOF it is necessary to distribute the generalized control forces
given by:


to the actuators in terms of control inputs


n
u
r
Computation of u from is a model-based optimization problem which in its simplest form
is unconstrained.
r n fully actuated control
r < n underactuated control
= Bu
The input matrix B is square for r = n, that is the number of actuators is equal to n DOF.

Physical limitations like input amplitude and rate saturations imply that a constrained
optimization problem must be solved.

From Section 9.4:

67
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.1 Actuator Models
Some actuators that can be rotated at the same time as they produce control forces.



Rotatable Thrusters and Propellers
Examples are azimuth thrusters on an offshore supply vessel, podded propellers that can be
rotated, and contra-rotating propellers.
This increases the number of available controls from r to r+p, where p denotes the number
of rotatable actuators for which additional nonlinearities are introduced.

= Bou
vector of angles
o=o
1
, . . . , o
p
]

, u=|u
1
, . . . , u
r
]


68
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.1 Actuator Models
Main propellers: the main propellers of the vessel are mounted aft of the hull usually in
conjunction with rudders. They produce the necessary force F
xi
in the x-direction
needed for transit.

Tunnel thrusters: transverse thrusters going through the hull of the vessel. The propeller
unit is mounted inside a transverse tube and it produces a force F
yi
in the y-direction.
Tunnel thrusters are only effective at low speed which limits their use to low-speed
maneuvering and dynamic positioning.


F
x5
F
x4
main
propellers
F
y1
F
y2
F
y3
x
y
tunnel thrusters

69
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.1 Actuator Models
Azimuth thrusters: thruster units that can be rotated an angle
about the z-axis and produce two force components (F
x1
, F
y1
)
in the horizontal plane are usually referred to as azimuth
thrusters.
Azimuth thrusters are usually mounted under the hull of the
vessel and the most sophisticated units are retractable.
Azimuth thrusters are frequently used in DP since they can
produce forces in different directions leading to an
overactuated control problem that can be optimized with
respect to power and possible failure situations.
F
x1
F
y1
x
y
F
1

70
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.1 Actuator Models
Aft rudders: rudders are the primary steering device for conventional vessels.
They are located aft of the vessel and the rudder force F
y1
will be a function of
the rudder deflection. A rudder force in the y-direction (lift is perpendicular to
speed U while drag is in the direction of the speed) will produce a yaw
moment which can be used for steering control.






Stabilizing fins: stabilizing fins are used for damping of
vertical vibrations and roll motions. They produce a force F
zi

in the z-direction which is a function of the fin deflection.
For small angles this relationship is linear. Fin stabilizers can
be retractable allowing for selective use in bad weather. The
lift forces are small at low speed so the most effective
operating condition is in transit.
F
y1
Rudder force
x
y R R R L y
k U A C F d d = ) sin( ) (
2
1
2
1

71
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.1 Actuator Models
Control surfaces: control surfaces can be mounted at different locations to
produce lift and drag forces. For underwater vehicles these could be fins for
diving, rolling, and pitching, rudders for steering, etc.








Water jets: water jets is an alternative to main propellers aft of the ship. They
are usually used for high-speed craft.


72
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.1 Actuator Models
The control force due to a propeller, a rudder, or a fin is (assuming linearity):
F = k u
k is the force coefficient
u is the control input depending on the actuator considered
Forces and moments in 6 DOF corresponding to the force vector


and moment arms can be written:
f = F
x
, F
y
, F
z
]

=
f
r f
=
F
x
F
y
F
z
F
z
l
y
F
y
l
z
F
x
l
z
F
z
l
x
F
y
l
x
F
x
l
y
4 DOF
=
F
x
F
y
F
z
l
y
F
y
l
z
F
y
l
x
F
x
l
y
r = l
x
, l
y
, l
z
]


73
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.1 Actuator Models
Example (Linear model describing nonlinear monotonic control forces):
Consider the linear model:


This model can also be used to describe nonlinear monotonic control forces.


For instance, if the rudder force F is quadratic in rudder angle d, that is:


Choosing


and the resulting model is linear in u.
F = k u
F = k o|o|
u = o|o| o = sign(u) |u|

74
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.1 Actuator Models
The linear control force F = ku for the different actuators can be represented in terms of a
force vector f according to the following table:
Actuator u (control input) o (control input) f

(force vector)
main propellers (longitudinal) pitch and rpm |F, 0, 0]
tunnel thrusters (transverse) pitch and rpm |0, F, 0]
azimuth (rotatable) thruster pitch and rpm angle |Fcos o, Fsino, 0]
aft rudders angle |0, F, 0]
stabilizing fins angle |0, 0, F]

75
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.1 Actuator Models
The control forces and moments f = [f,...,f
n
]
T
are conveniently expressed as:
o=o
1
, . . . , o
p
]

, u=|u
1
, . . . , u
r
]

Force coefficient matrix


The force coefficient matrix K is diagonal such that:



The actuator forces and moments relate to the control forces and moments by:



where u and are control inputs defined by the vectors:
f = Ku #
= T(o)f
= T(o)Ku #
K = diagK
1
, . . . , K
r
), K
1
= diag
1
K
1
, . . . ,
1
K
r
#
T() is the thrust configuration matrix.

76
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.1 Actuator Models
Thrust configuration matrix for nonrotatable thrusters:
The thrust configuration matrix is defined in terms of a set of column vectors .
t
i

n
t
i
=
1
0
0
l
y
i
main propeller
, t
i
=
0
1
l
z
i
l
x
i
tunnel thruster
and aft rudder
, t
i
=
0
0
l
y
i
0
stabilizing fin
T = |t
1
, . . . , t
r
] = constant
In 4 DOF (surge, sway, roll, and yaw) the column vectors take the following form:

77
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.1 Actuator Models
F
x5
F
x4
main
propellers
F
y1
F
y2
F
y3
x
y
tunnel thrusters
Example: 3-DOF motions (surge, sway and yaw):
T =
0 0 0 1 1
1 1 1 0 0
l
x1
l
x
2
l
x
3
l
y
4
l
y
5
#
K = diagK
1
, K
2
, K
3
, K
4
, K
5
) #
l
x1
l
x
2
l
x
3
l
y
4
l
y
5

78
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.1 Actuator Models
Thrust configuration matrix for rotatable thrusters:
For marine craft equipped with azimuth thrusters in combination with nonrotatable
thruster:
To)= t
1
, . . . , t
r
]
In 4 DOF (surge, sway, roll, and yaw) the column vectors take the following form:
t
i
=
cos(o
i
)
sin(o
i
)
l
z
i
sin(o
i
)
l
x
i
sin(o
i
) l
y
i
cos(o
i
)
azimuth
thruster
, t
i
=
1
0
0
l
y
i
main
propeller
, t
i
=
0
1
l
z
i
l
x
i
tunnel thruster
and aft rudder
, t
i
=
0
0
l
y
i
0
stabilizing
fin

79
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.1 Actuator Models
Extended thrust configuration matrix for rotatable actuators:
The rotatable thrusters can be treated as two forces. Consider a rotatable thruster in the
horizontal plane (the same methodology can be used for thrusters that can be rotated
in the vertical plane):
Extended force vector:





where T
e
and K
e
are the extended thrust configuration and coefficient matrices,
respectively and u
e
is a vector of extended control inputs where the azimuth controls are:
F
x
i
= F
i
cos(o
i
)
= K
i
u
i
cos(o
i
) #
F
y
i
= F
i
sin(o
i
)
= K
i
u
i
sin(o
i
) #
f
e
= K
e
u
e
#
= T
e
K
e
u
e
#
u
ix
= u
i
cos(o
i
)
u
iy
= u
i
sin(o
i
)
#
#
F
x1
F
y1
F
1

80
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
= T(o)Ku
[
X
Y
N
=
cos(o
1
) cos(o
2
) 1 1
sin(o
1
) sin(o
2
) 0 0
l
x1
sin(o
1
) l
x2
sin(o
2
) l
y3
l
y4
K
1
0 0 0
0 K
2
0 0
0 0 K
3
0
0 0 0 K
4
u
1
u
2
u
3
u
4
#
#
12.3.1 Actuator Models
Example 12.8 (Thrust configuration matrix for an underwater vehicle):
The forces and moment in surge, sway and yaw, satisfy:
NB! This expression is nonlinear in and u

81
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)

e
= T
e
K
e
u
e
[
X
Y
N
=
1 0 1 0 1 1
0 1 0 1 0 0
0 l
x1
0 l
x2
l
y3
l
y4
K
1
0 0 0 0 0
0 K
1
0 0 0 0
0 0 K
2
0 0 0
0 0 0 K
2
0 0
0 0 0 0 K
3
0
0 0 0 0 0 K
4
u
1x
u
1y
u
2x
u
2y
u
3
u
4
#
#
12.3.1 Actuator Models
Example 9.14 (Cont) Extended thrust configuration representation:
NB! This is a linear problem where the extended
thrust u
e
can be found by matrix inversion
u
1
= u
1x
2
+ u
1y
2
, o
1
= atan2(u
1y
, u
1x
)
u
2
= u
2x
2
+ u
2y
2
, o
2
= atan2(u
2y
, u
2x
)
#
#

82
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.2 Unconstrained Control Allocation
for Nonrotatable Actuators
The simplest allocation problem is the one where all control forces are produced by
thrusters in fixed directions alone or in combination with rudders and control surfaces
such that:
= ToKu
o = o
0
= constant, T = To
0

We will assume that the allocation problem is unconstrained


For marine craft where the configuration matrix T is square (r = n) or nonsquare (r > n),
that is there are equal or more control inputs than controllable DOF, it is possible to find an
optimal distribution of control forces:
f = Ku
for each DOF by using an explicit method.
Solution: Unconstrained least-squares (LS) optimization problem

83
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.2 Unconstrained Control Allocation
for Nonrotatable Actuators
Unconstrained least-squares (LS) optimization problem (Fossen 1991)
f
J = min f

Wf)
subject to: Tf = 0
W is a positive definite matrix, usually diagonal, weighting the control forces f.
Lagrangian
L(f, k) = f

Wf + k

( Tf) k
r
is a vector of Lagrange multipliers
assuming that
is nonsingular
TW
1
T

Lagrange multipliers
minimizing force f = Ku
cL
cf
= 2Wf T

k = 0
[
f =
1
2
W
1
T

k
#
#
= Tf =
1
2
TW
1
T

k
[
k = 2(TW
1
T

)
1

#
#

84
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.2 Unconstrained Control Allocation
for Nonrotatable Actuators
f = W
1
T

(TW
1
T

= T
w


#
#
f =
1
2
W
1
T

k
k = 2(TW
1
T

Lagrange multipliers:
Optimal force vector:
T
w

= W
1
T

(TW
1
T

1
Generalized inverse:
T

= T

TT

1
For the case W = I, that is equally weighted
control forces, reduces to the

Moore-Penrose pseudoinverse:
u = K
1
T
w


Control allocation

f = Ku

85
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.3 Constrained Control Allocation for
Nonrotatable Actuators
P. Tndel, T. A. Johansen and A. Bemporad. An algorithm for multi-parametric quadratic
programming and explicit MPC solutions, IEEE Conf. Decision and Control, Orlando, Vol. 2,
pp. 1199-1204, 2001
An on-line algorithm is presented in:
P. Tndel, T. A. Johansen and A. Bemporad. An algorithm for multi-parametric quadratic
programming and explicit MPC solutions, Automatica, Vol. 39, pp. 489-497, 2003
In industrial systems it is important to minimize the power consumption by taking advantage of
the additional control forces in an overactuated control problem.

From a safety-critical point of view it is also important to take into account actuator limitations
like saturation, wear and tear as well as other constraints.

In general, this leads to a constrained optimization problem.

This problem can be solved explicit (no iterations) using Piece-Wise Linear Functions



86
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.3 Constrained Control Allocation for
Nonrotatable Actuators
The 1st term of the criterion corresponds to the LS criterion (pseudo-inverse)
The 3rd term is introduced to minimize the largest force among the
actuators.
The constant controls the relative weighting of the two criteria.

J =
f,s,f

min f

Wf + s

Qs +[f

)
subject to:
Tf = + s
f
min
_ f f
max
f

_ f
1
, f
2
, . . . f
r
_ f

Optimization criterion
s is a vector of slack variables
that should be close to zero, that is:
f

= max
i
|f
i
|
[ _ 0
This formulation ensures that the constraints
are satisfied, if necessary by allowing the resulting generalized force Tf to
deviate from its specification.

Q > W >0
f
i
min
_ f
i
_ f
i
max
(i = 1, . . . , r)

87
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.3 Constrained Control Allocation for
Nonrotatable Actuators
Global Solution:
The global solution can be computed off-line using multi-parametric QP algorithms;
see Tndel et al. (2001, 2003).

Local Solutions:
Explicit Solutions based on Minimum Norm and Null-Space Methods: In flight and
aerospace control systems, the problems of control allocation and saturating control
have been addressed by Durham (1993, 1994a, 1994b).
They also propose an explicit solution to avoid saturation referred to as the direct method.
By noticing that there are infinite combinations of admissible controls that generates
control forces on the boundary of the closed subset of attainable controls, the direct
method calculates admissible controls in the interior of the attainable forces as scaled
down versions of the unique solutions for force demands.

88
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)

Explicit optimal constrained least-squares solution (nonrotatable thrusters)




Reference:
T. A. Johansen, T. I. Fossen, P. Tndel, Efficient Optimal Constrained Control Allocation via
Multi-Parametric Programming. AIAA Journal of Guidance, Dynamics and Control, 2005.
Supply vessel scale 1:70 equipped with
4 azimuth thruster. The controls are:
RPM controlled
Azimuth angles

Azimuth angles are fixed in the experiment

Problem: compute the optimal controls
u = [u
1
,u
2
,u
3
,u
4
]
T
when u
3
saturates at 0.1 N.


NB! Cannot be solved using the Generalized Inverse
Case Study: CyberShip I

89
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
Least-squares thrust allocation (generalized inverse)
In the case of no saturation the control allocation problem is solved as:
Case Study: CyberShip I

90
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
An explicit piecewise linear representation of the solution can be found using
Multiparametric Quadratic Programming (mp-QP)
Constrained least-squares thrust allocation
Case Study: CyberShip I

91
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
The increase in wind forces increases the demand for thrust and possible
saturation in the control u
DP Experiments: Slowly Increasing Wind Loads

92
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
DP Experiments: Slowly Increasing Wind Loads

93
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
Azimuth thruster no. 3 hits saturation limit when wind
force increases. Solution is still OPTIMAL
DP Experiments: Slowly Increasing Wind Loads

94
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
DP Experiments: Position Change

95
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
DP experiments: Position Change

96
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.4 Constrained Control Allocation for
Azimuth Thrusters
Iterative Solutions: An alternative to the explicit solution could be to use an iterative
solution to solve the QP problem.
The m-file function quadprog.m in the Matlab optimization toolbox can be used for
computer simulations, while a stand-alone compiled QP solver must be implemented in
a real-time application.
The drawback with the iterative solution is that several iterations may have to be
performed at each sample in order to find the optimal solution.
An advantage of the iterative approach is that there is more flexibility for online
reconfiguration, as for example a change in W may require that the explicit solutions
are recalculated. Computational complexity is also greatly reduced by a warm start,
that is the numerical solver is initialized with the solution of the optimization problem
computed at the previous sample.

97
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.4 Constrained Control Allocation for
Azimuth Thrusters
The control allocation problem for vessels equipped with azimuth thrusters is in general a
nonconvex optimization problem that is hard to solve.
The primary constraint is:
= T(o)f
feasible sectors o
i,min
_ o
i
o
i,max
limiting turning rate o`
The azimuth angles must be computed at each sample together with the
control inputs u
T
w

(o) = W
1
T

(o)|ToW
1
T

o
1
can be singular for certain o-values
Other problems:
o
p
denotes the azimuth angles

98
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
J = min
f,o,s
_
i=1
r
P

i
|f
i
|
3/2
+ s

Qs + (o o
0
)

O(o o
0
) +
p
c + det(T(o)W
1
T

(o))
subject to:
T(o)f = + s
f
min
_ f _ f
max
o
min
_ o o
max
Ao
min
_ o o
0
Ao
max
#
12.3.4 Constrained Control Allocation for
Azimuth Thrusters
T. A. Johansen, T. I. Fossen, and S. P. Berge. Constrained Nonlinear Control Allocation With
Singularity Avoidance Using Sequential Quadratic Programming. IEEE Transactions on
Control Systems Technology, Vol. 12 , No. 1, Jan. 2004, pp. 211-216
avoid singular
configurations
power
consumption
ensures that the azimuth
angles do not move to
much within one sample
This optimization problem is a nonconvex nonlinear program and it requires a significant
amount of computations at each sample.
Two alternative implementation strategies will be mentioned.

99
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.4 Constrained Control Allocation for
Azimuth Thrusters
Iterative solutions using quadratic programming
The nonlinear program can be locally approximated with a convex QP problem by assuming
that:
1. Power consumption can be approximated by a quadratic term in f,
near the last force f
0
such that f = f
0
+ Df
2. The singularity avoidance penalty can be approximated by a linear term linearized
about the last azimuth angle such that

The resulting QP criterion is (Johansen, Fossen and Berge, 2004):
o
0
o = o
0
+ Ao
J = min
Af,Ao,s
(f
0
+ Af)

P(f
0
+ Af) + s

Qs + Ao

OAo +
c
co
p
c + det(T(o)W
1
T

(o))
o
0
Ao
subject to:
s + To
0
)Af +
c
co
(To
0
)f)
o
0
,f
0
Ao = T(o
0
)f
0
f
min
f
0
_ f _ f
max
f
0
o
min
o
0
_ Ao o
max
o
0
Ao
min
_ Ao Ao
max
#

100
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.4 Constrained Control Allocation for
Azimuth Thrusters
Iterative solutions using linear programming:
Linear approximations to the thrust allocation problem has been discussed by
Webster (1999) and Lindfors (1993).

In Lindfors (1993) the azimuth thrust constraints:
|f
i
| = (f
i
cos o
i
)
2
+ (f
i
sino
i
)
2
_ f
i
max
are represented as circles in the -plane.
The nonlinear program is transformed to a linear programming (LP) problem by
approximating the azimuth thrust constraints by straight lines forming a polygon. If 8 lines
are used to approximate the circles (octagons), the worst case errors will be less than 4.0%.
However, singularities and azimuth rate limitations are not weighted in the cost function
(f
i
cos o
i
, f
i
sino
i
)

101
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.4 Constrained Control Allocation for
Azimuth Thrusters
Explicit solution using the singular value decomposition and filtering techniques:

An alternative method to solve the constrained control allocation problem is to use the
singular value decomposition (SVD) and a filtering scheme to control the azimuth
directions such that they are aligned with the direction where most force is required,
paying attention to singularities (Srdalen et al. 1997).

Results from sea trials have been presented in (Srdalen et al. 1997). A similar technique
using the damped-least squares algorithm has been reported in Berge and Fossen
(1997) where the results are documented by controlling a scale model of a supply
vessel equipped with four azimuth thrusters.

102
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
Case Study: Nonlinear Programming Approach:
Power Optimality and Singularity Avoidance
T. A. Johansen, T. I. Fossen, and S. P. Berge. Constrained Nonlinear Control Allocation With
Singularity Avoidance Using Sequential Quadratic Programming. IEEE Transactions on Control
Systems Technology, Vol. 12 , No. 1, Jan. 2004, pp. 211-216
Constraints:

103
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
Local convex quadratic approximation at each sample
standard QP solution
Tradeoff between maneuverability and power optimality
singularity avoidance
Dynamic solution that handles rate and amplitude constraints

Case Study: Nonlinear Programming Approach:
Power Optimality and Singularity Avoidance
We will consider a marine craft with four azimuth thrusters (-25
o
to 25
o
azimuth,
1

deg/s rate constraints)
1. Optimal approach with singularity avoidance
2. Optimal approach without singularity avoidance
3. Pseudo-inverse
Scenario: Constant forward thrust plus course-changing maneuver

104
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
Simulation Example
Blue optimal

Green optimal
without singularity
avoidance

Red pseudo-inverse

105
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
Simulation Example
Blue optimal

Green optimal
without singularity
avoidance

Red pseudo inverse

106
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
Blue optimal

Green optimal
without singularity
avoidance

Red pseudo inverse
Simulation Example

107
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
Blue optimal

Green optimal
without singularity
avoidance

Red pseudo inverse
Simulation Example

108
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
The thrust F from a variable speed FP
propeller can be modelled as:




where K = constant is the thrust
coefficient and n is the propeller
revolutions per minute (rpm).

Some propellers show a linear
behavior in n while others are
quadratic. Even combinations of the
linear and quadratic behavior are
observed in practice.
12.3.5 Case Study: DP Control Allocation
System
Most DP ships use thrusters to maintain their position and heading.
F(n) = Kn|n|
F(n) = Kn
Fixed-Pitch (FP) propellers:

109
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
CP propellers are screw blade propellers
where the blades can be turned under the
control of a hydraulic servo. This introduces
a second control variable, pitch p, which is
used to obtained the desired thrust F for
different propeller revolutions n.

P is the "traveled distance per revolution
D is the propeller diameter
p = P/D represents the pitch ratio

The thrust from a fixed speed CP propeller
can be approximated by:




The pitch offset is denoted as p

12.3.5 Case Study: DP Control Allocation
System
Most DP ships use thrusters to maintain their position and heading.
Controllable-Pitch (CP) propellers:
F(n, p) = K(n)|(p p
0
)|(p p
0
)
F(n, p) = K(n)(p p
0
)

110
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.5 Case Study: DP Control Allocation
System
Example 12.9 (experimental thrust characteristics)
We will consider a supply vessel equipped with main propellers and tunnel thrusters.




Functions found by curve fitting:
Measured thrust for a supply vessel equipped with main and tunnel thrusters. Asterisks denote
the measured data while the solid lines are least-squares fits to the quadratic thrust function .
main propeller
F(122, p) = 370|p|p
F(236, p) = 137|p|p
tunnel thruster F(160, p) = 655|p|p

111
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.5 Case Study: DP Control Allocation
System
Example 12.10 (supply vessel thrust configuration and force coefficient matrices)
Computation of T() can be illustrated by considering a supply vessel equipped with two main
propellers (aft of the ship), two tunnel thrusters and two azimuth thrusters which can be
rotated to arbitrary angles and , and therefore produce thrust in different directions





We have 8 control variables (6 rpm set-points and 2 azimuth angles) for 3 DOF.
= T(o)f
f = Ku
#
#
CP: u = ||p
1
|p
1
, |p
2
|p
2
, . . . , |p
r
|p
r
]

, (or u = |p
1
, p
2
, . . . , p
r
]

)
FP: u = ||n
1
|n
1
, |n
2
|n
2
, . . . , |n
r
|n
r
]

, (or u = |n
1
, n
2
, . . . , n
r
]

)
#

112
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.5 Case Study: DP Control Allocation
System
K = diagK
1
, K
2
, K
3
, K
4
, K
5
, K
6
)
T(o) =
cos(o
1
) 0 cos(o
2
) 0 1 1
sin(o
1
) 1 sin(o
2
) 1 0 0
l
1
sin(o
1
) l
2
l
3
sin(o
2
) l
4
l
5
l
6
#
#
u
1
, o
1
fore azimuth thruster u
4
aft tunnel thruster
u
2
fore tunnel thruster u
5
starboard main propeller
u
3
, o
2
aft azimuth thruster u
6
port main propeller

113
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.5 Case Study: DP Control Allocation
System
DP Thrust configuration matrices for supply vessel:
= T(o)Ku
[
X
Y
N
=
cos(o
1
) 0 cos(o
2
) 0 1 1
sin(o
1
) 1 sin(o
2
) 1 0 0
l
1
sin(o
1
) l
2
l
3
sin(o
2
) l
4
l
5
l
6
-
K
1
0 0 0 0 0
0 K
2
0 0 0 0
0 0 K
3
0 0 0
0 0 0 K
4
0 0
0 0 0 0 K
5
0
0 0 0 0 0 K
6
u
1
u
2
u
3
u
4
u
5
u
6
#
#

114
Lecture Notes TTK 4190 Guidance and Control (T. I. Fossen)
12.3.5 Case Study: DP Control Allocation
System
Example 12.11 (supply vessel thrust allocation)
In order to implement a DP control system for the supply a thrust allocation algorithm is
needed. The simplest algorithm is the generalized inverse:





where W = W
T
> 0 is a positive definite weighting matrix, usually chosen to be diagonal.
W should be selected so that using the tunnel and azimuth thrusters is less expensive
(small K
i
-value) than using the main propellers (large K
i
-value). This solution is easy to
use for constant azimuth angles . As soon as is allowed to vary or the control inputs
saturates, an strategy for this must be developed. This significantly complicates the
control allocation software.

For system with quadratic thrust characteristics, the computed u
i
-values must be mapped
to pitch or rpm commands. If u
i
= |p
i
|p
i
, it is straightforward to verify that:
u = K
1
T

(o) #
T

(o) = W
1
T

(o)|T(o)W
1
T

(o)]
1
#
p
i
= sign(u
i
) u
i
#
most avoid singular combination of
i

You might also like