You are on page 1of 13

23

No. A2 Journal of Marine Engineering and Technology


A fuzzy track-keeping autopilot for ship steering
A fuzzy track-keeping autopilot for
ship steering
E Omerdic and GN Roberts, University of Wales College, New-
port, UK, and Z Vukic, University of Zagreb, Faculty of Electrical
Engineering and Computing, Zagreb, Croatia
In this paper a non-linear fuzzy autopilot for ship track-keeping is presented. The proposed
autopilot has four inputs (actual and desired heading, rate of change of heading and offset
from the desired path) and one output (command rudder angle). The track-keeping
problem is decomposed into two subtasks: (i) follow the desired heading, and (ii) bring the
ship onto the desired path and keep tracking. Internally, the autopilot consists of two
autopilots that fulfil these tasks simultaneously. The proposed control scheme has been
verified using a non-linear model of a Mariner-class vessel and steering mechanism under
the influence of wave and current disturbances. Results presented show how such a control
strategy enables improved tracking performance.
INTRODUCTION
T
he pioneering work of Sperry
1
and Minorski
2
is consid-
ered as the important milestones in the development of
automatic steering for ships. Although the early autopilots
were very simple devices, in which heading error pro-
duced a corrective signal for the steering mechanism (ie propor-
tional control), experience with such devices indicated that due
to the ships enhanced course-keeping qualities there was a
reduction in propulsion losses and a consequent saving in fuel
costs. Further developments included the addition of derivative
of heading error to improve transient response, and integral of
Zoran Vukic is Professor of Control Engineering at the University
of Zagreb, Faculty of Electrical Engineering and Computing.
Between 1992 and 1996 he was Head of the Department of
Control and Computer Engineering in Automation, University of
Zagreb. His specific interests have been adaptive control, robust
control, identification, non-linear control, fault tolerant control
and reconfigurable control. He is currently working in the area of
intelligent and fault tolerant control for marine and underwater
vehicles. He is a Chapter Chair of IEEE Control Systems/Robotics
and Automation Society in Croatia, a member of IEEE Control
Systems society and Oceanic engineering society, and a member
of several IFAC Technical Committees.
AUTHORS' BIOGRAPHIES
Edin Omerdic graduated from the University of Zagreb, Faculty
of Electrical Engineering and Computing, Croatia in 1997, and
received the MS degree in electrical engineering (automatic
control) from the same university in 2001. He is currently a full-
time research student in the Mechatronics Research Centre, at
the University of Wales College, Newport. UK. His thesis concerns
the development of fault detection and data handling systems for
underwater vehicles. This research programme is being undertaken
as part of the EPSRC IMPROVES project.
Geoff Roberts is Professor of Mechatronics and Head of the
Mechatronics Research Centre at the University of Wales College,
Newport. UK. He has been active in the area of marine control
systems for many years and has contributed to the development
of control strategies for ship steering, rudder roll stabilisation,
integrated rudder/fin roll stabilisation and guidance and control of
underwater vehicles. He is presently working on fault detection
and data handling for underwater vehicles, parallel multi mode
controllers for ship stabilisation, and applications of intelligent
control for guidance and control of land and marine vehicles. He
is immediate past chairman of the IFAC Technical Committee on
Marine Systems and a member of the IFAC Technical Committee
on Mechatronic Systems.
24 Journal of Marine Engineering and Technology No. A2
A fuzzy track-keeping autopilot for ship steering
heading error to counteract constant yaw disturbances such as
crosswinds and tide.
Because of their simplicity, reliability and low cost, PID
(proportional, integral and derivative) autopilots of this type have
remained in use for many years. This is despite the widely held
view that the steering characteristics of a PID controller were
unsatisfactory, mainly due to the necessity for user adjustment
to accommodate changes in ship loading conditions and the
operating environment. The huge increase in world fuel costs in
the early 70s, however, led to the development and application of
more advanced control methods to meet the urgent need to
minimise transportation costs. The majority of researchers at that
time favoured an optimal control approach and a number of
solutions were proposed, eg Broom and Lambert
3
, Clarke
4
, and
Kabeti and Byrne
5
. Although using these approaches it was
possible to optimise performance to meet specific objectives, their
main failing was that like their PID counterparts they were
largely unable to cope with the significant non-linearities encoun-
tered. Other approaches, which gained some limited popularity
at the same time, were autopilots based upon adaptive methods
such as model-reference
6
and self-tuning.
7
More recently, re-
searchers have attempted to combine the attributes of adaptive
and optimal control, designing robust autopilots using the H

methodology.
8
However, despite the attractiveness of these more
rigorous approaches very few designs have resulted in actual
implementation.
This lack of real success led many researchers to consider
whether the use of intelligent paradigms such as fuzzy logic and
artificial neural networks would be suitable for design or as the
implemented technology for ships autopilots. In this respect
fuzzy logic, with its origins in human reasoning, was considered
as a most suitable candidate having the potential to replicate
experienced helmsmen thereby producing a robust and non-
linear autopilot.
The first autopilot designed with fuzzy set theory was pre-
sented by Amerongen et al.
9
The proposed autopilot used two
different inputs with five linguistic variables and a fixed rule base.
It was shown that compared to a PID controller, the proposed
fuzzy autopilot gave a significantly enhanced performance in a
noisy environment with fewer rudder calls. However, the tuning
of the fuzzy controller parameters was based on an extended trial
and error procedure. This pioneering work was quickly followed
by complementary investigations. A different application of fuzzy
set theory was pursued by Sutton
10
where fuzzy logic was used to
design a cognitive model of a helmsman, and it was suggested that
the fuzzy model so produced could be used in the design of
intelligent autopilots based on fuzzy set theory. However, in order
to guarantee acceptable performances in different operating con-
ditions, the proposed controller needed further adjustment. The
manual setting of the controller parameters was enhanced with
the introduction of automatic adaptation and learning mecha-
nisms. One of the first examples in this direction was the self-
organising fuzzy autopilot proposed in Sutton and Jess.
11
The first
commercially available fuzzy autopilot, designed with the latter
approach, was presented by Polkinghorne et al.
12,13,14
One of the main advantages of fuzzy logic autopilots is that the
rules may be formulated without a precise definition of the ships
dynamics. The control actions are normally decided such that the
required rudder demand is determined from knowledge of the
expected ships response to the input. Although this process is
best achieved through consultation with the helmsman or by
observation of his/her actions, the fuzzy rules may be formulated
from an understanding of the systems dynamical behaviour. This
process illustrates the fundamental difference of fuzzy controller
design compared with more traditional model-based controller
designs. Whereas the latter is concerned with designs to meet
performance specifications, ie damping, speed of response, steady-
state error, etc, fuzzy controller design is focused on predicting
system behaviour in response to specific inputs, as postulated by
Sperry
1
and Minorski
2
following their observations of the helms-
man. What this means is that, often, fuzzy approaches are
application specific and the final fuzzy controller is often arrived
at after considerable trial and error where the distribution and
shape of the fuzzy sets used are tuned in order to achieve the
desired performance. However it should be noted that fuzzy
controllers are intrinsically robust, in the sense that through the
generalisation property they can accommodate new situations (ie
small changes in system parameters). They are also non-linear, in
that they incorporate (map) the functional relationship between
input and output, which is a non-linear relationship.
It was this analysis, together with the increased activity in
intelligent systems, which led to the work described in this paper
being undertaken. The remainder of the paper is organised as
follows: the evolution of the proposed autopilot from the initial
research is briefly described before the mathematical model is
introduced. Then the course-keeping and track-keeping prob-
lems are addressed. Finally, simulation results are presented,
followed by some conclusions.
Evolution of the fuzzy autopilot
Initially the research described herein concentrated on the design
of a simple course-keeping system where a fuzzy autopilot with
two inputs (heading error and rate of change of heading) was used
to find control action (command rudder angle). Every input had
seven membership functions and the total number of rules was 7
2
,
ie 49. The control surface of the proposed fuzzy autopilot was a
non-linear function of the two input variables, symmetrical to a
non-principal diagonal of the rule table. The proposed control
scheme gave better performance compared to PID autopilot, and
command signals generated by fuzzy autopilot were similar to
commands generated by an experience helmsman. This latter
point is important because it demonstrated how the fuzzy control-
lers encapsulate and replicate the actions of skilled operators,
which in this application is the helmsman.
The next stage of the research used this system as a basic
building block for developing the track-keeping system. In Vukic
et al
15
, the first version of fuzzy autopilot for track-keeping was
proposed. The track-keeping problem, defined as tracking the
path specified by way points, has been simplified to course-
tracking problem using appropriate transformation. In this way
the track-keeping problem was solved using the fuzzy course-
keeping autopilot. This solution had a good performance if sea
current disturbance did not act on the ship during manoeuvres.
It was found that, in the presence of the current disturbance, the
ship would follow the desired course with some offset from the
desired path, depending on the direction and intensity of current.
One of the possibilities for improving the performance sug-
gested in Vukic et al
15
was introducing an additional input (offset
from the desired path) to enhance the information presented to
the autopilot. In Vukic et al
16
an improved fuzzy autopilot for
track-keeping was proposed, which uses three inputs (heading
error, rate of change of heading and offset from the desired path)
25
No. A2 Journal of Marine Engineering and Technology
A fuzzy track-keeping autopilot for ship steering
and direction of sea current. The outputs are yaw angle, yaw
velocity and position in x and y directions.
Steering Mechanism
The steering mechanism considered is the two-loop electro-
hydraulic steering subsystem, common on many ships. A concep-
tual and equivalent block diagram of the steering mechanism is
shown in Fig 1. This type of steering mechanism consists of an
electro-hydraulic servo subsystem with a telemotor and a rudder
subsystem. It can be seen that the system has two feedback loops:
one from the cylinders of the telemotor, and the other from the
hydraulic amplifier. The first loop includes a non-linear element
of type relay with dead zone and hysteresis (to reduce rudder
activity in the presence of a high frequency component in the
command signal). The second loop contains a non-linear element
of type speed limiter (to limit rapid changes of rudder motion).
The presence of these non-linear elements makes the design of the
autopilot more difficult (see Fig 1).
Typical values of parameters shown in Fig 1 (b) are:
DB 1
,
H 0 8 .
,
K 4 / s
,
PB 7
and
N 5 / s
.
Disturbances
There are several disturbances with various effects on the vessel
dynamics to be taken into account.
15,20
Three classes of distur-
bances can be distinguished:
Disturbances which affect the dynamics of the system, eg
the depth of water.
Disturbances which cause additional signals in the sys-
tem, eg waves.
Disturbances that corrupt the measurements, eg noise in
the position measurements.
In this paper the disturbances considered are wind-generated
waves and sea currents.
Wind-generated waves
Pierson and Moskowitz
21
developed the standard wave spectra
(PM-spectrum) analysing the wave spectra in the North Atlantic
Ocean, (Fossen
17
, pages 63-65). In order to simulate wave
disturbance, it is necessary to approximate the PM-spectrum.
Linear wave model approximations are usually preferred by ship
control system engineers, owing to their simplicity. Linear ap-
proximation is obtained by passing of white noise through a linear
filter.
The second-order wave transfer function approximation of the
PM-spectrum is used in this paper (Fossen
17
, pages 70-71). This
model is written as
h s
K s
s s
( )
+ +


2
0 0
2
2 . (1)
A linear state-space model can be obtained by transforming
this expression to the time-domain by:
d y
dt
dy
dt
y K
d
dt
h
2
2 0 0
2
2 + +

. (2)
Defining
dx
dt
x
1
2
and x y
2
, the state-space model can
be written as:
dx
dt
dx
dt
x
x K
h
1
2
0
2
0
1
2
0 1
2
0
,

,
,
,
]
]
]
]
]
,

,
]
]
]
,

,
]
]
]
,

,
]
]
]

, (3)
in order to find the appropriate command rudder angle. The main
idea was in shifting the control surface of the previously developed
two-input fuzzy autopilot out of a non-principal diagonal depend-
ing on the value and sign of the offset. This means that if the ship
is already on the desired path, the offset is zero and there is no
shifting, the standard control surface is optimal and the ship
would track the desired course specified by the way points. If the
ship is not on the desired path, the offset is not zero and the
control surface is shifted out of the non-principal diagonal,
proportional to the size and sign of offset. The advantage of this
approach was rejection of the influence of the current disturbance
on the tracking performance, whilst disadvantages were a loss of
the transparency of the control decision process and an increase
in the autopilots complexity (number of membership functions
per input was seven, seven and five, so total number of rules was
245).
In order to decrease complexity and to make a decision
process more understandable, the track-keeping problem is de-
composed into two subtasks: (i) following the desired heading,
and (ii) bringing the ship onto desired path and tracking. There-
fore, the autopilot for track-keeping, proposed in this paper,
consists internally of two autopilots that fulfil these tasks simul-
taneously. Each of these autopilots has a simple structure and
operates similar to human reasoning.
MATHEMATICAL MODELS
Experimenting with a real ship is time-consuming and expensive,
so a dynamic model is essential for simulation purposes and for
investigation of different control algorithms. In order to investi-
gate different approaches for design of track-keeping control
systems it is necessary to use a realistic model of the vessel and
disturbances. In this paper the models of a Mariner-class vessel,
steering mechanism, wave/current disturbances and Notch filter
as in Fossen
17
, Vukic et al
16
and Omerdic
18
are used.
Ship dynamics
The hydro- and aerodynamics laboratory in Lyngby, Denmark,
has performed both planar motion mechanism (PMM) tests and
full-scale steering and manoeuvring predictions for a Mariner-
class vessel. The main data and dimensions of the Mariner-class
vessel are given in Table 1, Chislett and Strm-Tejsen.
19
Table 1: The main data for the Mariner-class vessel .
Using results from PMM tests, Fossen has built a non-linear
mathematical model for this vessel in MATLAB. The model is
given in Fossen
17
, Appendix E.1.1, and describes the dynamic
motion of the ship in a horizontal plane. For the work described
in this paper, the original model was transformed to Simulink S-
function and augmented with the ability to investigate the influ-
ence of external disturbances, for example, sea currents. The
inputs to the model are commanded rudder angle, average speed
Length overall (L
oa
) 171.80m
Length between perpendiculars (L
pp
) 160.93m
Maximum beam (B) 23.17m
Design draught (T) 8.23m
Design displacement () 18 541m
3
Design speed (u
0
) 15 knots = 7.72m/s
26 Journal of Marine Engineering and Technology No. A2
A fuzzy track-keeping autopilot for ship steering
2. Actual heading .
3. The rate of change of heading r d / dt (measured by
gyro rate sensor).
4. Offset from the desired path d (this input is important for
the track-keeping problem; for the course-keeping prob-
lem this input is equal to zero).
Generally, the command signal
c
, generated by the autopi-
lot, consists of two components:
dc
1
, generated by two input controller Fuzzy Autopilot
(Course).
dc
2
, generated by one input controller Autopilot (Off-
set).
Signal dc
1
is intended for course-keeping. Signal dc
2
is used for
returning the ship to the desired path for the track-keeping
problem.
Fuzzy autopilot (Course)
The preprocessor performs signal conditioning (scaling and
saturation) of inputs e and r onto standard interval [ ] 3 3 , .
After preprocessing, the signals e and r are internally marked
as linguistic variables error and errordot inside the autopilot,
and the output is marked as a linguistic variable y . For
example, signal e is scaled by gain K
e
and then passed
through the saturation block with limits [ ] 3 3 , . Hence, the
relationship between error (output of the saturation block)
and e is
error
e
e e
e
e
e e
e

>

<

3 3
3
3 3
,
,
,
K
K K
K
. (10)
The postprocessor performs denormalisation and PI
transformation of output y . PI transformation is per-
formed by generating proportional and (limited) integral
components inside the Postprocessing block. Summing
these components gives the signal dc
1
, the command
signal for the rudder angle
c
in the course-keeping
problem.
Membership functions for inputs error and errordot and
output y are shown in Fig 3(a) and (b), respectively. Fig 3(b)
displays the control surface of the Fuzzy autopilot (Course),
while the properties are shown in Table 2.
Table 2: 'Fuzzy autopilot (Course)' properties.
The fuzzy autopilot for course-keeping uses 7 49
2
rules.
Table 3 shows these rules in a compact matrix form.
where

h is a zero-mean white noise process. Due to its simplic-
ity, this model is useful for control systems design.
The second order Notch filter is used to reject the wave-
induced components from the heading signal. The transfer func-
tion of the Notch filter has a form (Fossen
17
, pages 226-227):
h s
s s
s
NO
n n
n
( )
( )

+ +
+
2 2
2
2

,
(4)
where
n
is the natural frequency and is the relative damping
factor of the filter. Since most of the energy in the wave spectrum
is located around the modal frequency of the wave spectrum, the
natural frequency of the Notch filter should be chosen equal to the
encounter frequency
e
, that is:

n e

. (5)
An estimate of the encounter frequency
e
can be computed
from the relation

e
g
U
0
0
2
cos
, (6)
where
0
is wave modal frequency, g is the acceleration of
gravity, U is the total speed of ship and is the angle between
the heading and the direction of the wave. The modal frequency

0
of the PM-spectrum can be estimated from
w
g
V
g
H
s
0
0.88 0.40
(7)
where
V
is the speed of the wind at an elevation of 19.4m and
H
s
is the significant wave height.
Sea current
A two-dimensional current model is used (Fossen
17
, page 88).
The earth-fixed current components can be described by two
parameters: average current speed V
c
and direction of current

c. The
body-fixed components can be computed from:
u
c
V
c
cos
c
v
c
V
c
sin
c


( )
( )

.
(8)
The average current velocity for computer simulations can be
generated by using the first-order Gauss-Markov process (Fossen
17
,
page 89), described by the following differential equation:
dV t
dt
V t t
c
c G
( )
( ) ( ) +
0
,
(9)
where
G
t
( ) is a zero mean Gaussian white noise sequence and

0
0 is a constant. This process must be limited
V V t V
c min max

( ) ( ) in order to simulate realistic sea currents.
Course-keeping
A closed-loop control system with fuzzy autopilot for ship course-
keeping (Fig 2a) was successfully applied in Vukic et al
16
, and
Omerdic.
18
This structure will serve as a basic scheme for building
more complex control algorithms.
Fuzzy autopilot
A fuzzy autopilot has four inputs (see Fig 2(b)):
1. Desired heading

d
(error signal e
d
is gener-
ated internally).
FIS type Mamdani
# Inputs 2
# Outputs 1
AND method min
OR method max
Implication min
Aggregation max
Defuzzification centroid
27
No. A2 Journal of Marine Engineering and Technology
A fuzzy track-keeping autopilot for ship steering
Table 3: Rule base for the 'Fuzzy autopilot (Course)'
error
Track-keeping
A closed-loop control system with a fuzzy autopilot for ship track-
keeping is shown in Fig 4, which is the control scheme for course-
keeping, shown in Fig 2, augmented by an additional control-loop
with position feedback.
Fuzzy autopilot
The fuzzy autopilot consists of two autopilots: one is responsible
for course-keeping (defined implicitly by way points) and the
other for minimising the offset from the desired path, ie the
autopilot is the same as in Fig 2(b), but in this case the fourth
input d (distance between ship and nominal path) is not equal to
zero. This input plays an important role in control process.
Generally, the ship trajectory consists of n way points
WP P P P
n


1 2
, , ..., with coordinates P x y
i i i

( )
, . It is assumed
that the ship should move along a straight line between adjacent
way points. In this paper the simplest trajectory, with only two
points P x y
1 1 1

( )
, and P x y
2 2 2

( )
, , is considered (see Fig
5(a)). It is assumed that at time t the ship is located at point
S x y
( )
0 0
, . The desired path is a straight line from
P
1
to P
2
.
Course-keeping problems
Problem formulation: Change ship course from 0 to
d
2
30
Control goal e
d t

( )


2
0
Fuzzy autopilot (Course): Status: Active
Inputs: e
d
and r

Output: dc
1
Fuzzy autopilot (Offset): Status: Not active
Input: d 0
Output: dc
2
0
Command signal:
c
dc
1
Track-keeping problem
Problem formulation: Follow the desired path
PP
1 2
defined by way points P
1
0 0
( )
,
and P
2
2000 1154 7
( )
, . .
d
PP
1
1 2
30
( )
arg
Control goal Tracking problem is decomposed in two subtasks:
e
d t

( )


1
0, (i)
d distance

( , ) Ship PP
t 1 2
0 (ii)
Fuzzy autopilot (Course): Status: Active
Inputs: e
d
and r

Output: dc
1
Fuzzy autopilot (Offset): Status: Active
Input: d
Output: dc
2
Command signal:
c
dc dc +
1 2
The distance (offset) d of point S from the desired path
PP
1 2
can be calculated from:
d sign x x y y x x y y
y y x x x y x y y x
y y x x

+ +
+
( ) ( ) ( ) ( ) [ ]
( ) ( )
( ) ( )
2 1 0 1 0 1 2 1
2 1 0 2 1 0 1 2 1 2
2 1
2
2 1
2
.
(11)
The sign of d is defined with an angle between vectors
PS
1 and
PP
1 2
: if the ship is located on the left (right) side from PP
1 2
, sign is
a plus (minus). In (11) the sign is estimated with a sign function.
Inside the fuzzy autopilot offset d is normalised with the ship
length L:

d
L
.
(12)
The goal is to bring the ship back from point S and to track
the desired path.
The difference between course-keeping and track-keeping is
visible from Fig 5(b). It is assumed that at t 0 the ship is located
at point P
1
0 0 ( ) , (moving with a constant speed in the x -
direction, ie initial heading is 0
o
) and the desired course is

d
2
30 for the course-keeping. The requirement is to change
the ship course from the initial value 0 to the new value 30. For
track-keeping, it is assumed that the desired path is defined by
way points P
1
0 0
( )
, and
P
2
3000 3000 30 3000 1732 1
( )

( )
, tan , . . In order to
compare course-keeping and track-keeping, the same angle
arg PP
d d 1 2
1 2
was chosen. It is needed to bring the ship
back to the desired path, ie condition d 0 should be satisfied,
Table 4: Comparison between course-keeping and track-keeping
NB NM NS ZE PS PM PB
NB NB NB NB NB NM NS ZE
NM NB NB NB NM NS ZE PS
errordot NS NB NB NM NS ZE PS PM
ZE NB NM NS ZE PS PM PB
PS NM NS ZE PS PM PB PB
PM NS ZE PS PM PB PB PB
PB ZE PS PM PB PB PB PB
28 Journal of Marine Engineering and Technology No. A2
A fuzzy track-keeping autopilot for ship steering
and to track the desired path to point P
2
, following the desired
course

d
1
. Therefore, for the course-keeping problem, the
decision about the size of command rudder signal
c
is made
using an error signal e
d
and a signal r

. However, for
the track-keeping problem, the decision process is more complex,
because in addition to signals e and r , another signal d (offset
from the desired path) plays an important role. A comparison of
course-keeping and track-keeping problems is given in Table 4.
Therefore, for track-keeping, the goal is to track the desired course

d
1
(Condition (i)) and to minimise d at the same time (Condition
(ii)). In order to satisfy these conditions, signals dc
1
(realisation of
Condition (i)) and dc
2
(realisation of Condition (ii)) are added so that
the composite signal dc dc dc
1 2
+ should achieve both conditions
simultaneously. Signal
dc
1
is already known from course-keeping
problem. Hence, the problem can be formulated as a question: What
is the mathematical form of unknown relationship dc dc
2 2

( )
?
Autopilot (Offset)
This section describes a structure of the Autopilot (Offset). This
autopilot has input d and output
dc
2
. Analysing Fig 5(b) it can
be concluded that the sign of signal dc
2
depends on the ship
position in relation to the desired path:
If the ship is located on the left side, then d 0 > . It can be
easily verified that a positive command signal produces a positive
course change. Hence, signal dc
2
should have a positive sign,
because it will produce an increase of the command signal and the
ship will have a course greater than that desired for some time (for
example, at point A is

A d
>
1
). In this way the ship will
approach the desired path and offset d will decrease.
Because of symmetry, it is easy to draw the conclusion
that, if the ship is located on the right side, then signal dc
2
should
have negative sign.
If the ship is located on the desired track, ie if d 0 , then
signal dc
2
should be equal to zero, ie dc
2
0 .
Therefore, the unknown function dc dc
2 2

( )
is a continuous
odd function, defined in the first and third quadrant and which
satisfies condition dc
2
0 0
( )
.
The unknown odd function dc dc
2 2

( )
is selected from the
family of functions F
dc K sf
2 eta

( )
tanh , (13)
where K
eta
> 0 and sf > 0 are scaling factors. Function defined
by equation (13) satisfies all required conditions. Family F is
chosen because many different shapes of functions can be gener-
ated with appropriate selection of scaling factors (Fig 6(a) and
(b)). Optimal values for K
eta
and sf were obtained by undertak-
ing a number of simulations ( K
eta
20 and sf 4 3 . ).
SIMULATION RESULTS
The proposed control architecture has been implemented in
SIMULINK. Simulations were performed using the non-linear
model of a Mariner-class vessel and the steering mechanism,
described earlier. In order to demonstrate robustness of the
proposed autopilot for course-keeping, two different desired
headings were chosen one with a small deviation from the initial
heading (
d
10 ) and the other with a large deviation (
d
30 ).
A course-changing manoeuvre, performed by an expert ship
operator (experienced helmsman), is shown in Fig 7 (Amerongen
22
)
and can be used for comparison purposes. Later it will be shown
that the fuzzy autopilot generates signals similar to an experienced
helmsman.
Fig 8 displays time response of heading and rudder signals for
two different cases:
d
10 (left) and
d
30 (right). Fig 8 (1)
shows the time responses for the no-disturbances case. It can be
seen that the performance of the proposed autopilot is very good,
heading response is without overshoot and command rudder
signals are very similar to those produced by an experienced
helmsman. The influence of the waves with the modal frequency

0
1 rad s / and the encounter angle 30 is demonstrated in
Fig 8 (2). Here the heading signal, obtained by gyrocompass, is
contaminated with wave components and the Notch filter was not
used to reject them. Control effort is much higher than in the no-
disturbance case. Filtering of the heading signal Fig 8 (3) gives good
performance with acceptable control effort. Although the Notch
filter introduces some delay into the control loop, demands on
actuator are less than without filtering. Analysing responses in Fig
8 and other cases (not shown here) it is concluded that the
proposed fuzzy autopilot with fixed parameters has good perform-
ance over all range of the possible heading demands, ie it is not
needed to tune any of its parameters if desired heading is changed.
This is not case for the PID autopilot. Experiments similar to those
shown in Fig 8 were conducted with PID autopilot. PID tuned for
the case
d
10 could not give good performance for the case

d
30 and vice versa. Beside that, the best-tuned PID was
inferior to the fuzzy autopilot for the same input reference and the
command signals generated by the PID controller were not similar
to those produced by an experienced helmsman.
Fig 9(a) shows time responses for track-keeping without
disturbances. It is assumed that at t 0 the ship is located at point
P
1
0 0
( )
, and moves with a constant speed in x -direction. The
desired path is defined by way points P
1
0 0
( )
, and
P
2
3000 3000 30 3000 1732 1
( ) ( )
, tan , . . The ships trajec-
tory, way points and the desired path are shown on the same plot.
At the beginning of the simulation the ship moves in x -direction
and its distance from the desired path temporally increases. The
fuzzy autopilot (Offset) responds to this by generating high signal
dc
2
in order to return the ship back to the desired path. Soon the
distance achieves maximum and decreases rapidly. At the same
time, the fuzzy autopilot (Course) generates signal dc
1
trying to
force the ship to follow the desired heading. When the ship is
returned to the path, signal dc
2
vanishes and signal dc
1
begins
to dominate. Simulations with way points located in all four
quadrants were performed and good performance has been
achieved in all cases. Influence of the wave disturbances on the
performance of track-keeping is demonstrated in Fig 9(b). In this
case the Notch filter was not used to reject wave components in
the heading signal and control demand on rudder is much higher
than in the no-disturbance case. Better performance and better
response is achieved by filtering the heading signal (Fig 9(c)).
Control effort is lower and at the same time accuracy is better. The
influence of the sea currents is shown in Fig 10(a). In this case,
after the ship reaches the desired path, there is a small offset on
the right side of the path, but soon the ship is returned to the path
and continues sailing with very small tracking error, despite the
presence of the strong sea currents. Fig 10 (b) presents time
responses in the case of waves and sea currents. The heading
signal, contaminated by the wave components, is not filtered and,
simultaneously, strong sea currents act on the ship as is indicated
on the plot. Similar to the previous case, there is a small overshoot
29
No. A2 Journal of Marine Engineering and Technology
A fuzzy track-keeping autopilot for ship steering
on the right side of the path but, in this case, control demands on
the rudder are very high. Better performance and acceptable
control effort can be obtained by filtering the heading signal, as it
is shown in Fig 10(c). In this case the same disturbances (waves
and currents) act on the ship during the manoeuvre, but the fuzzy
autopilot performs its task in a satisfactory manner, command
signals are in the acceptable bounds and tracking error is small.
CONCLUSION
This paper described a new fuzzy autopilot for ship track-keeping.
The proposed autopilot has four inputs (actual and desired
heading, rate of change of heading and offset from the desired
path) and one output (command rudder angle). Track-keeping
problem is decomposed into two subtasks: (i) follow the desired
heading, and (ii) bring the ship onto desired path and keep
tracking. Internally, the autopilot consists of two autopilots that
fulfilled these tasks simultaneously. Each of the autopilots has a
simple internal structure, designed by copying the reasoning and
behaviour of the experienced helmsman. The process of generat-
ing the action signals is transparent and understandable. Satura-
tion of the actuator (steering mechanism) is avoided and com-
mand signals, produced by fuzzy autopilot and experienced
helmsman, are very similar.
The proposed control scheme has been successfully verified
using a non-linear model of the Mariner-class vessel and steering
mechanism under the influence of wave and current distur-
bances. Performance of the proposed control scheme has been
investigated under different conditions. In the case when the
waves and sea currents act on the ship, the unavoidable loss in
control performance and control effort was found to be acceptable
if a Notch filter is used to reject wave components from the
heading signal. Hence, in order to reduce the effects of the wave
disturbance on the tracking performance, the recommendation is
to use a Notch filter with a natural frequency equal to the
encounter frequency according to equations (5)-(7).
Further improvement of the proposed control scheme could
be achieved by replacing Autopilot (Offset) with an equivalent
Adaptive Neuro-Fuzzy Inference System (ANFIS, Jang et al
23
)
network. ANFIS belongs to the family of adaptive networks and
has ability and flexibility for on-line fine-tuning. The starting point
for tuning could be the approximation of the function y
( )
tanh .
The local shape of this function could be tuned using the on-line
training capabilities of ANFIS.
REFERENCES
1. Sperry, EA, (1922). Automatic Steering, Trans. Society of
Naval Architects and Marine Engineers pp 53-61.
2. Minorski, N, (1922). Directional stability of automatically
steered bodies, Journal of American Society of Naval Engineers,
Vol.34 pp 280-309.
3. Broom, DR, and Lambert, TM, (1978). An optimising
function for adaptive ships autopilot. Fifth Ship Control Sympo-
sium, Bethesda. Vol. 3.
4. Clarke, D, (1980). Development of a cost function for autopi-
lot design, Ship steering and Automatic Control, Genoa. pp. 59-
77.
5. Katebi, MR, and Byrne, JC, (1988). LQG adaptive ship
autopilot, Institute of Measurement and Control Transactions,
Vol.10, No.4, pp 187-197.
6. Amerongen, JV, and Udink Ten Cate, AJ, (1975). Model
reference adaptive autopilots for ships, Automatica, Vol.11, pp. 441-
449.
7. Mort, N, (1983). Autopilot design for surface ship steering
using self-tuning controller algorithms. PhD Thesis, University of
Sheffield, UK.
8. Grimble, MJ, Zhang, Y, and Katebi, MR, (1993). H-based
autopilot design. 10th Ship Control Systems Symposium, Ottawa.
pp. 2.51-2.56.
9. Amerongen, JV, Naute Lenke, HR, and Veen der Van, JCT,
(1977). An autopilot for ships designed by with fuzzy sets. Proc. IFAC
Conference on Digital Computer Applications to Process Con-
trol. The Hague. pp 479-487.
10. Sutton, R, (1987). Fuzzy set models of the helmsman steering
a ship in course-keeping and course-changing modes. PhD thesis,
University of Wales Institute of Science and Technology.
11. Sutton, R, and Jess, IM, (1991). A design study of a self-
organising fuzzy autopilot for ship control. Proceedings I, Institution
of Mechanical Engineers. 205, pp 35-47.
12. Polkinhorne, MN, Roberts, GN, Burns, RS, and Winwood,
D, (1995). The implementation of fixed rulebase fuzzy logic to the
control of small surface ships. Control Engineering Practice, 3 (3),
pp 321-328.
13. Polkinhorne, MN, Roberts, GN, and Burns, RS, (1997a).
Consideration of performance assessment criteria required for a self-
organising fuzzy-logic autopilot. Proc. 11th. Ship Control Systems
Symposium:, Southampton. Vol.1. pp. 151-159.
14. Polkinhorne, MN, Roberts, GN, and Burns, RS, (1997b).
Intelligent ship control with online learning ability. Computing and
Control Engineering Journal, 8 (5), pp 196-200.
15. Vukic, Z, Omerdic, E, and Kuljaca, LJ, (1997). Fuzzy
Autopilot for Ships Experiencing Shallow Water Effect in Maneuvering,
4th IFAC (International Federation of Automatic Control) Con-
ference on Maneuvering and Control of Marine Craft, 10-12
September, Brijuni, Croatia.
16. Vukic, Z, Omerdic, E, and Kuljaca, LJ, (1998). Improved
Fuzzy Autopilot for Track-Keeping. IFAC Conference CAMS98,
Fukuoka, Japan, 27-30 October 1998.
17. Fossen, TI, (1994). Guidance and Control of Ocean Vehicles,
John Wiley&Sons, Chichester.
18. Omerdic, E, (2001). Reconfigurable control system for ship
track-keeping. Master Thesis, University of Zagreb, Faculty of
Electrical Engineering and Computing, Croatia.
19. Chislett, S, and Strm-Tejsen, J, (1965). Planar Motion
Mechanism Tests and Full-Scale Steering and Manoeuvring Predic-
tions for a Mariner Class Vessel, Hydro and aerodynamics Labora-
tory, Lyngby, Denmark, Report No. Hy-6, April 1965.
20. Amerongen, JV, (1979). An adaptive autopilot for track-
keeping. Ship Operation Automation, III. Proceedings of the 3
th
IFIP/
IFAC Symp., Tokyo, pp. 105-114.
21 Pierson, JP, and Moskowitz, L. 1964. A proposed spectral
form for fully-developed wind seas based on the Similarity Theory of SA
Kitaigorodskii. Journal of Geophysical Research, Vol 69 No 24.
22. Amerongen, JV, (1980). Model Reference Adaptive Control
Applied to Steering of Ships. Methods and Applications in Adaptive
Control, Proceedings of an Int. Symp., Bochum, Germany, March
20-21, 1980, pp. 199-208.
23. Jang, J-SR, Sun, C-T, and Mizutani, E, (1997). Neuro-Fuzzy
and Soft Computing: A Computational Approach to Learning and Machine
Intelligence, Prentice Hall, Upper Saddle River, NJ 07458.
30 Journal of Marine Engineering and Technology No. A2
A fuzzy track-keeping autopilot for ship steering
NOMENCLATURE
L L
oa
,
Length Overall
DB
Switch on point (steering mechanism)
L
pp
Length between perpendiculars
H
Hysteresis width (steering mechanism)
K
Gain in the telemotor-loop (steering
B
Maximum beam mechanism)
T
Design draft
PB
Limit point in the amplifier-loop (steering
mechanism)

Design displacement
N
Limit value in the amplifier-loop (steering
mechanism)
u
0
Design speed
h
zero-mean white noise process

n
Natural frequency of the Notch filter
e
Encounter frequency
Relative damping factor of the Notch Angle between the heading and the direction
filter of the wave
g Acceleration of gravity H
s
Significant wave height

0
Modal frequency of the PM-
U
Total speed of ship
spectrum
V
c
Average current speed
c
Direction of current
u v
c c
, The body-fixed components of
0
constant (
0
)
current

d
Desired heading

Actual heading
r

Rate of change of heading


d
Distance between ship and desired path
dc
1
Output of the fuzzy autopilot dc
2
Output of the fuzzy autopilot (Offset)
(Course)

c
Command rudder angle

Actual rudder angle
Normalised distance d
error
errordot
y
,
,
Internal normalised variables of the fuzzy
autopilot (Course)
X Y , ( )
Ship co-ordinates obtained from X Y
i i
, ( )
Way points
GPS
K
eta
Gain sf Scaling factor

0
Modal frequency of the PM-
spectrum H
s
Significant wave height
FIGURES
(a)
(b)
Fig 1: (a) Steering mechanism; (b) Block diagram
}
31
No. A2 Journal of Marine Engineering and Technology
A fuzzy track-keeping autopilot for ship steering
(a)
(b)
Fig 2: (a) Control system for course-
keeping; (b) Internal structure of the
fuzzy autopilot
Fig 3: (a) Membership functions for inputs (error
and errordot) and output (y); (b) Control surface
of the 'Fuzzy autopilot (Course)'.
Fig 4: Control system for track-keeping
32 Journal of Marine Engineering and Technology No. A2
A fuzzy track-keeping autopilot for ship steering
(a) (b)
Fig 5: (a) Definition of the offset from the desired path d, (b) Comparison between course-keeping and track-keeping
(a)
(b)
Fig 6: Different shapes of functions in F: (a) fixed K
eta
, (b) fixed sf
Fig 7: Course changing manoeuvre, performed by an
experienced helmsman
33
No. A2 Journal of Marine Engineering and Technology
A fuzzy track-keeping autopilot for ship steering
Fig 8: Course-changing for desired heading 10 (LHS) and 30 (RHS): (1) without waves and filter,
(2) with waves, (3) with waves and filter
34 Journal of Marine Engineering and Technology No. A2
A fuzzy track-keeping autopilot for ship steering
Fig 9: Track-keeping: (a) without disturbances, (b) with waves, (c) with
waves and filter
35
No. A2 Journal of Marine Engineering and Technology
A fuzzy track-keeping autopilot for ship steering
Fig 10: Track-keeping: (a) with currents, (b) with waves and currents, (c) with waves, filter and currents