International Journal
on Marine Navigation
and Safety of Sea Transportation
Volume 5
Number 3
September 2011
345
1 INTRODUCTION
Modern ships are equipped with complicated ship
motion control systems, the goals of which depend
on tasks realised by an individual ship. The tasks ex-
ecuted by the control system include, among other
actions, controlling the ship motion along the course
or a given trajectory (path following and trajectory
tracking), dynamical positioning and reduction of
ship rolls caused by waves. Figure 1 presents basic
components of the ship motion control system.
The guidance system generates a required smooth
reference trajectory, described using given positions,
velocities, and accelerations. The trajectory is gener-
ated by algorithms which make use of the required
and current ship positions, and the mathematical
model with complementary information on the exe-
cuted task and, possibly, the weather.
The control system processes the motion related
signals and generates the set values for actuators to
reduce the difference between the desired trajectory
and the current trajectory. The controller can have a
number of operating modes depending on the exe-
cuted tasks. On some ships and in some operations
the required control action can be executed in sever-
al ways due to the presence of a number of propel-
lers. Different combinations of actuators can gener-
ate the same control action. In those cases the
control system has also to solve the control alloca-
tion problem, based on the optimisation criteria
(Fossen, 2002).
The navigation system measures the ship position
and the heading angle, collects data from various
sensors, such as GPS, log, compass, gyro-compass,
radar. The navigation system also checks the quality
of the signal, passes it to the observer system in
which the disturbances are filtered out and the ship
state variables are calculated. Stochastic nature of
the forces generated by the environment requires the
use of observers for estimating variables related with
the moving ship and for filtering the disturbances in
order to use the signals in the ship motion control
systems.
Filtering and estimating are extremely important
properties in the multivariable control systems. In
many cases the ship velocity measurements are not
directly available, and the velocity estimates are to
be calculated from the position and heading values
measured by the observer. Unfortunately, these
measurements are burdened with errors generated by
environmental disturbances like wind, sea currents
and waves, as well as by sensor noise.
One year after publishing his work on a discrete
filter (Kalman, 1960), Rudolph Kalman, this time
together with Richard Bucy, published the second
work in which they discussed the problem of contin-
uous filtering (Kalman & Bucy, 1961). This work
has also become the milestone in the field of optimal
filtering. In the present article the continuous Kal-
man filter is derived based on the discrete Kalman
filter, assuming that the sampling time tends to zero.
A usual tendency in numerical calculations is rather
reverse: starting from continuous dynamic equa-
tions, which are digitised to arrive at the discrete dif-
ference equations being the approximates of the ini-
tial continuous dynamics. In the Kalman filter idea
the discrete equations are accurate as they base on
accurate difference equations of the model of the
process.
Kalman-Bucy Filter Design for Multivariable
Ship Motion Control
M. Tomera
Gdynia Maritime University, Faculty of Marine Electrical Engineering, Department of Ship
Automation, Poland
ABSTRACT: The paper presents a concept of Kalman-Bucy filter which can be used in the multivariable ship
motion control system. The navigational system usually measures ship position coordinates and the ship head-
ing, while the velocities are to be estimated using an available mathematical model of the ship. The designed
Kalman-Bucy filter has been simulated on a computer model and implemented on the training ship to demon-
strate the filtering properties.
346
Figure 1. Basic components of modern ship motion control system (Fossen, 2002).
The dynamic positioning systems have been de-
veloped since the early sixties of the last century.
The first dynamic control systems were designed us-
ing conventional PID controllers working in cascade
with low-pass filters or cut-off filters to separate the
motion components connected with the sea waves.
However, those systems introduce phase delays
which worsen the quality of the control (Fossen,
2002).
From the middle of 1970s more advanced control
techniques started to be used, which were based on
optimal control and the Kalman filter theory. The
first solution of this type was presented by (Balchen
et al., 1976). It was then modified and extended by
Balchen himself and other researchers: (Balchen et
al., 1980a; Balchen et al., 1980b; Fung and Grimble,
1983; Saelid et al. 1983; Sorensen et al., 1996;
Strand et al. 1997). The new solutions made use of
the linear theory, according to which the kinematic
characteristics of the ship were to be linearized in
the form of sets of predefined ship heading angles,
with an usual resolution of 10 degrees. After the lin-
earization of the nonlinear model, the observer based
on such a model is only locally correct. This is the
disadvantage of the Kalman filter. The Kalman filter
can make use of measurements done by different
sensors at different accuracy levels, and calculate
ship velocity estimates which are not measured in
the majority of ship positioning applications.
The main goal of the article is designing and test-
ing the observer for the ship motion velocity estima-
tion.
2 DISCRETE MODEL OF THE PROCESS
Discussed are time-dependent discrete processes,
which are recorded by sampling continuous process-
es at discrete times. Let us assume that the continu-
ous process is described by the following equation:
)()()()()( ttttt uGxAx +=
(1)
where u is the input vector having the form of white
noise. The state transition matrix for equation (1)
takes the form:
( )
( )
+=
t
t
t
ttt
duetet
0
00
)()()()(
)(
0
)(
τ
ττ
ττ
Gxx
A
A
(2)
For the discrete model, the objects of analysis are
process samples recorded at times t
0
, t
1
, ..., t
k
, ....
Equation (2) written for a single sampling interval
can be presented as
( ) ( )
+
+++
+=
1
)()(,)(,)(
111
k
k
t
t
kkkkk
duttttt
τ
τττ
GFxFx
(3)
which can be briefly written as
kkkk
wxFx +=
+1
(4)
where F
k
is the state transition matrix for the step be-
tween times t
k
and t
k+1
at the absence of the excita-
tion function
(5)
and w
k
is the excited response at time t
k+1
due to the
presence of the white noise at the input in the time
interval (t
k
, t
k+1
), i.e. accidental disturbances affect-
ing the process
( )
+
+
=
1
)()(,
1
k
k
t
t
kk
dut
τ
τττ
GFw
(6)
The white noise is a stochastic signal having the
mean value equal to zero and finite variance. The
matrix elements w
k
can reveal non-zero cross corre-
lation at some times t
k
. The covariance matrix con-
nected with w
k
is denoted as
{ }
k
T
ik
E Qww =
(7)
The covariance matrix Q
k
can be determined us-
ing the formula written in the following integral
form
Trajectory
generator
Controller
Allocation Ship
Observer
DGPS
Gyro-compass
Way-points
Guidance
System
Motion-Control
System
Navigation
System
Waves, wind, currents
Estimated
positions and
velocities
347
{ }
T
ikk
E wwQ =
( ) ( )
=
++
++
T
t
t
k
t
t
k
k
k
k
k
dutdutE
11
)()(,)()(,
11
ηηηηξξξξ
GFGF
( ) ( ) ( )
[ ]
( )
+ +
++
=
1 1
,)()(,
11
k
k
k
k
t
t
t
t
k
TTT
k
ddtEt
ηξηηηξξξ
FGuuGF
(8)
The matrix E[u(
ξ
)u
T
(
η
)] is the matrix of the Di-
rac delta function, well known from continuous
models.
3 DISCRETE KALMAN FILTER
Briefly, the Kalman filter tries to estimate, in an op-
timal way, the state vector of the controlled process
modelled by the linear and stochastic difference
equation having the form given by formula (4). Ob-
servations (measurements) of the process are done at
discrete times and meet the following linear relation
kkkk
vxHy +=
(9)
where x
k
is the state vector of the process at time t
k
,
y
k
is the vector of the values measured at time t
k
, H
k
is the matrix representing the relation between the
measurements and the state vector at time t
k
, and v
k
represents the measurement errors. It is assumed that
the signals v
k
and w
k
have the mean value equal to
zero and there is no correlation between them.
The covariance matrix for the vector w
k
is given
by formula (7), while that for v
k
is defined in the fol-
lowing way
{ }
k
T
kk
E Rvv =
(10)
{ }
0=
T
kk
E vw
, for all k and i (11)
It is assumed that the initial values of the process
estimates are known at the beginning time t
k
and that
these estimates until time t
k
base on the knowledge
about the process. Such an estimate is denoted as x
k
where the bar means that this is the best estimate at
time t
k
before the measurement. The estimation error
is defined as:
k
k
k
xxe =
(12)
and the related error covariance matrix is
( )
( )
=
=
T
k
k
k
k
T
kk
k
EE xxxxeeP
(13)
At sampling times t
k
at which the measurement y
k
is done, the possessed estimate x
k
is corrected using
the following relation (Brown & Hwang, 1997;
Franklin et al. 1998)
( )
k
kkk
k
k
xHyLxx +=
ˆ
(14)
where
x
ˆ
k
is the estimate updated by the performed
measurement, and L
k
is the scaling amplification.
The task is to find the vector amplifications L
k
which update the estimate in the optimal way. For
this purpose the minimisation of the mean square er-
ror is done. Then, the covariance matrix is deter-
mined for the error relating to the estimate updated
by the performed measurement.
{ }
( )( )
{ }
T
kkkk
T
kkk
EE xxxxeeP
ˆˆ
==
(15)
In time intervals between the sampling times, the
estimates are calculated using the following formula
kk
k
xFx
ˆ
1
=
+
(16)
Firstly, the covariance matrix
P
k+1
is calculated
using formula (13) after correcting it by one sample
ahead
( )( )
=
+
+
+
+
+
T
k
k
k
k
k
E
1
1
1
1
1
xxxxP
(17)
After placing relations (4) and (16) into formula
(17) we get (Brown & Hwang, 1997)
( )
[ ]
( )
[ ]
{ }
T
kkkkkkkk
k
E wxxFwxxFP ++=
+
ˆˆ
1
( )( )
{ }
( )
{ }
T
kkkk
T
k
T
kkkkk
EE wxxFFxxxxF
ˆˆˆ
+=
( )
{ }
{ }
T
kk
T
k
T
kkk
EE wwFxxw ++
ˆ
(18)
No correlation is assumed between the estimation
error signals e
k
and the disturbances w
k
. After plac-
ing the covariances defined by formulas (7) and (15)
into relation (18) we get the required error covari-
ance matrix between the sampling times
k
T
kkk
k
QFPFP +=
+1
(19)
The estimation error covariance matrix P
k
is cal-
culated for sampling times in the similar way. After
placing relations (9) and (14) into formula (15) we
get
( ) ( )
[ ]
{
kk
k
kkk
k
kk
E vLxxHLxxP =
( ) ( )
[ ]
T
kk
k
kkk
k
k
vLxxHLxx
(20)
And after similar algebra operations as in formula
(21) we get the following solution
T
k
T
k
kk
kk
k
k
LHPPHLPP =
( )
T
kk
T
k
k
kk
LRHPHL ++
(21)
The final task is to calculate the optimal values of
the amplification matrix L
k
. This task is realised by
348
finding such values of the vector L
k
. which minimise
the trace of the matrix P
k
being the sum of the mean
square errors of the estimates of all state vector ele-
ments. The trace of the matrix P
k
is differentiated
with respect to L
k
and made equal to zero. What can
be easily noticed, the second and third term of equa-
tion (21) are linear with respect to L
k
, while the
fourth term is quadratic and the trace of L
k
H
k
P
k
is
equal to the trace of its transposition L
k
H
k
P
k
P
k
H
k
T
L
k
T
. We get (Brown & Hwang, 1997)
( )
=
k
k
d
d
L
Ptrace
( )
022 =++
k
T
k
k
kk
T
T
k
k
RHPHLPH
(22)
and after some transformations we arrive at the re-
quired form of the matrix L
k
, bearing the name of
Kalman amplification:
( )
1
+=
k
T
k
k
k
T
k
k
k
RHPHHPL
(23)
Now we remove the matrix L
k
from equation (21)
by placing the relation (23) to get
( )
k
kk
T
k
k
k
T
k
kk
k
PHRHPHHPPP
1
+=
(24)
The obtained recurrent calculation algorithm,
based on equations (14), (16), (19) (23) and (24), is
widely known as the Kalman filter. Equation (24)
can be presented in another form taking into account
the L
k
relation given by the formula (23) which
gives
( )
k
kk
k
kk
k
k
PHLIPHLPP ==
(25)
4 CONVERSION FROM DISCRETE TO
CONTINUOUS EQUATIONS DESCRIBING
THE KALMAN FILTER ALGORITHM
The general form of a continuous process is already
given by equation (1), while the equation describing
the measuring model for a continuous system is
vCxy +=
(26)
Consequently, by analogy with the discrete model
it is assumed that the vectors u(t) and v(t) are the
vectors of the stochastic process bearing the name of
the white noise with the zero cross correlation value.
{ }
( )
τδτ
= ttE
T
Quu )()(
(27)
{ }
( )
τδτ
= ttE
T
Rvv )()(
(28)
{ }
0)()( =
τ
T
tE vu
(29)
The covariance parameters Q and R play a simi-
lar role to that played by the parameters Q
k
(7) and
R
k
(10) in the discrete filter, but have different nu-
merical values.
To do the conversion from discrete to continuous
form, let us first define the relations between Q
k
and
R
k
, on the one hand, and the corresponding values of
Q and R for small sampling intervals t. Based on
formula (5) we can notice that for small
t
values
the discrete transition matrix F
k
= I. After applying
this conclusion to the matrix Q
k
given by formula
(8) we get (Brown & Hwang, 1997).
( ) ( )
[ ]
ηξηηξξ
ddE
TT
t
k
)()(
0
GuuGQ
=
(30)
Then placing the equation (27) into the equation
(30) and integrating for a small time interval t we
get
t
T
k
= GQGQ
(31)
Deriving the equation relating R
k
to R is not
straightforward. In the continuous model the signal
v(t) is the white noise and direct sampling returns
the measuring noise with infinite variance. In order
to get equivalent values at the discrete and continu-
ous times it is assumed that the continuous meas-
urements are averaged over the time interval t in
the sampling process. The state variables x are not
“white” and can be approximated as constant along
this interval. Hence
[ ]
+
=
=
k
k
k
k
t
t
t
t
k
dttt
t
dtty
t
11
)()(
1
)(
1
vCxy
+
k
k
t
t
kk
dtt
t
1
)(
1
vxH
(32)
where H
k
= C(t
k
). This way a new equivalent is ob-
tained which defines the relation between the con-
tinuous time and discrete time domains
dtt
t
t
k
)(
1
0
vv
=
(33)
From formula (10) we get
[ ]
[ ]
dudvvuE
t
E
T
t
k
T
kk
)()(
1
0
2
vvRvv
==
(34)
Placing equation (28) into equation (34) and inte-
grating we get the required relation
t
k
=
R
R
(35)
The amplification of the discrete Kalman filter is
given by formula (23). After placing relation (35) in-
to this formula we get
349
a)
b)
Figure 2. Block diagram of the continuous Kalman filter.
( )
1
+= t
T
k
k
k
T
k
k
k
RHPHHPL
t
T
k
k
1
RHP
(36)
as the second term inside the parentheses is dominat-
ing in formula (36)
T
k
k
k
t HPHR >>
(37)
When passing from the discrete form to the con-
tinuous form, the error covariance matrix between
sampling times, given by formula (19), nears to
P
k+1
P
k
when t0. Therefore only one error matrix
P is in force in the continuous filter. Equation (36)
takes the form
t
T
k
=
1
RPCL
(38)
And, finally, when t0, we arrive at the formu-
la for determining the amplification L in the contin-
uous Kalman filter (Brown & Hwang, 1997)
1
=
= RPC
L
L
T
k
t
(39)
As the next step, the equation describing the es-
timation error covariance matrix is to be derived.
Placing relation (25) into equation (19) we get
( )
k
T
k
k
kkk
k
QFPHLIFP +=
+1
k
T
k
k
kkk
T
k
k
k
QFPHLFFPF +=
(40)
Then the discrete transition matrix
k
F
in equation
(40) is substituted by its approximate given by for-
mula (5) (Brown & Hwang, 1997)
( )
( )
T
kk
tt ++=
+
AIPAIP
1
( ) ( )
k
T
k
kk
tt QAIPHLAI +++
2
ttt
T
k
T
kkk
+++= APAAPPAP
tt
T
k
kk
k
kk
k
kk
APHLPHALPHL
k
T
k
kk
t QAPHAL +
2
(41)
It can be seen from equation (38), than in equa-
tion (41) the matrix L
k
is of an order of t. And, af-
ter removing all terms containing t of and order
higher than one from equation (41) we get the sim-
plified form (Brown & Hwang, 1997):
k
k
kk
T
kkkk
tt QPHLAPPAPP +++=
+1
(42)
After substituting formula (38) for L
k
and formu-
la (31) for Q
k
in equation (42) we arrive at
tt
T
kkkk
++=
+
APPAPP
1
tt
T
k
k
T
k
k
+
GQGPHRHP
1
(43)
Based on equation (43) we can get the following
difference
T
kk
kk
t
APPA
PP
+=
+1
T
k
k
T
k
k
GQGPHRHP +
1
(44)
Then, after limiting t0 and removing all sub-
scripts and bars over matrices we get the matrix dif-
ferential equation
TTT
GQGCPRPCPAAPP
.
++=
1
(45)
with the initial condition
0
)0( PP =
(46)
The last remaining step is to derive the state esti-
mation equation given by formula (14). Placing the
below given relation (47),
11
ˆ
=
kk
k
xFx
(47)
L
A
C
0
x
x
y
0
)0( PP =
P
TTT
GQGCPRPCPAAPP
.
++=
1
1
RC
T
1
= RPCL
T
350
Figure 3. Variables used for describing ship motion.
derived from equation (16), into formula (14) makes
it possible to arrive at the following form of equa-
tion (17)
( )
1111
ˆˆˆ
+=
kkkkkkkk
xFHyLxFx
(48)
Here again, the matrix F
k1
is approximated by
formula (4)
( )
tt
kkkkkkkkk
++=
1111
ˆˆˆˆˆ
xAHxHyLxAxx
(49)
After removing all terms containing t of an or-
der higher than one from equation (50) and observ-
ing that L
k
= Lt, the equation takes the form
( )
111
ˆˆˆˆ
+=
kkkkkk
tt xHyLxAxx
(50)
Finally, after dividing by t,
( )
11
1
ˆˆ
ˆˆ
+=
kkkk
kk
t
xHyLxA
xx
(51)
reducing by t0, and removing all subscripts and
bars over variable matrices we get the matrix differ-
ential equation of continuous state estimation
( )
xCyLxAx
ˆˆˆ
+=
(52)
Equations (39), (45), (46) and (52) compose the
continuous Kalman filter. They are shown in Fig. 1.
Figure 1(a) shows a block diagram illustrating the
principle of operation of the continuous Kalman fil-
ter. The input signal for the filter is the measured
noised output signal of the object. Figure 1(b) pre-
sents the method of determining the optimal amplifi-
cation L.
5 APPLYING THE KALMAN-BUCY FILTER
FOR THE ESTIMATION OF SHIP MOTION
VELOCITIES
The algorithm of the continuous Kalman-Bucy filter
described in the previous section was applied for the
estimation of ship motion parameters. The tests were
performed on the training ship Blue Lady owned by
the Foundation of Sailing Safety and Environment
Protection in Ilawa. Blue Lady is the physical model,
in scale 1:24, of a tanker designed for transporting
crude oil. The overall length of Blue Lady is
L = 13.75 m, the width is B = 2.38 m, and the mass
is m = 22.934x10
3
[kg].
The ship sailing on the surface of the water region
is considered a rigid body moving in three degrees
of freedom. The ship position (x, y) and the ship
course
ψ
in the horizontal plane with respect to the
stationary, inertial coordinate system {x
e
, y
e
} are
represented by the vector
η
=[x,y,
ψ
]
T
. The second
coordinate system {x
b
, y
b
} is connected with the
moving ship and fixed to its centre of gravity. Ve-
locities of the moving ship are represented by the
vector
ν
=[u,v,r]
T
, where u is the longitudinal ship
velocity (surge), v is the lateral velocity (sway), and
r is the angular speed (yaw). These variables are
shown in Fig. 3.
The position coordinates (x, y) are measured by
DGPS (Differential Global Positioning System),
while the ship course
ψ
is measured by the gyro-
compass. These three measured state variables are
collected in the vector
η
=[x,y,
ψ
]
T
. The three remain-
ing state variables, composing the vector
ν
=[u,v,r]
T
,
are to be estimated.
The ship motion equations simply express the
Newton’s second law of motion in three degrees of
freedom. These equations, formulated in the station-
ary coordinate system connected with the map of the
water region, have the following form (Clarke,
2003).
Xxm =
(53)
Yym =
(54)
NI
z
=
ψ
(55)
351
Figure 4. Simulation study: actual position with estimate and actual (black) and estimated (blue) velocity u in surge.
Left-hand column discrete Kalman filter, right-hand column continuous Kalman-Bucy filter.
where X and Y are forces acting along the x
b
and y
b
axes, respectively, N is the torque, m is the mass of
the ship, and I
z
is the moment of inertia along the
lateral axis directed downwards.
The above differential equations can be presented
as three sets of dynamic equations having the fol-
lowing general form
BuAxx +=
(56)
Cx=y
(57)
For each degree of freedom the matrices A, B, C
are identical and take the form
=
01
00
A
,
=
0
1
B
,
[ ]
10=C
(58)
while the state vectors for consecutive states of free-
dom are the following
=
x
u
x
1
x
,
=
y
u
y
2
x
,
=
ψ
r
3
x
(59)
where u
x
= dx/dt, v
y
= dy/dt, r = d
ψ
/dt are velocities
in the stationary coordinate system. The velocity
vector
ν
=[u,v,r]
T
expressed in the moving coordinate
system {x
b
, y
b
}, can be calculated based on the ve-
locities determined in the stationary coordinate sys-
tem {x
e
, y
e
} and making use of the relation
=
r
v
u
r
v
u
y
x
100
0cossin
0sincos
ψψ
ψψ
(60)
The continuous Kalman-Bucy filter implemented
for estimating the motion parameters on the training
ship Blue Lady worked based on the system and
equations shown in Fig. 2. Moreover, for the pur-
poses of the algorithm of the Kalman-Bucy filter,
relevant values of the coefficients in the matrices
G, Q and R were selected. For the first and second
degree of freedom the following values were adopt-
ed:
==
01.00
01
yx
GG
,
==
2.00
01.0
yx
QQ
,
01.0==
yx
RR
(61)
while for the third degree of freedom:
=
01.00
02.0
ψ
G
,
=
10
01
ψ
Q
,
1.0=
ψ
R
(62)
The covariances of the position coordinates
measured by GPS were equal to R
x
= R
y
= 0.01while
the covariances of the ship course measurement
were equal to R
ψ
= 0.1 and were determined based
on the experimental tests done on the training ship
Blue Lady.
352
Figure 5. Simulation study: actual position with estimate and actual (black) and estimated (blue) velocity v in sway.
Left-hand column discrete Kalman filter, right-hand column continuous Kalman-Bucy filter.
Figure 6. Simulation study: actual heading angle
ψ
with estimate and actual (black) and estimated (blue) angular rate r in yaw.
Left-hand column discrete Kalman filter, right-hand column continuous Kalman-Bucy filter.
353
Figure 7. Experimental data: measured position with estimate and estimated velocity u in surge.
Left-hand column discrete Kalman filter, right-hand column continuous Kalman-Bucy filter.
Figure 8. Experimental data: measured position with estimate and estimated velocity v in sway.
Left-hand column discrete Kalman filter, right-hand column continuous Kalman-Bucy filter.
354
Figure 9. Experimental data: measured heading angle
ψ
with estimate and estimated angular rate r in yaw.
Left-hand column discrete Kalman filter, right-hand column continuous Kalman-Bucy filter.
Initially, the simulation investigations were per-
formed in the calculating environment
Matlab/Simulink based on the mathematical model
of the training ship Blue Lady, described in detail by
(Gierusz, 2001; Gierusz. 2005). These investigations
were performed at the presence of measurement
noises, which were added to the positions and head-
ing measurements in simulations and at the presence
of the external disturbances. In simulation study as-
sumed that on ship was acting wind with average
speed equal 2 m/s and in direction 0 degrees. The
simulation results are shown in Figs. 4-6. The actual
and estimated velocities in surge, sway and yaw are
shown in the bottom of plots.
After simulation tests, the algorithm of the dis-
crete Kalman-Bucy filter was implemented on the
training ship Blue Lady sailing on the lake Silm near
Ilawa. The performed experimental tests aimed at
testing the quality of filter operation and its re-
sistance to disturbances. In order to provide good
opportunities for comparison, the tests of the train-
ing ship Blue Lady were also performed using the
discrete Kalman filter described by Tomera
(Tomera, 2010).
The results recorded in the experimental tests are
shown in Figs. 7 9. The diagrams in the left-hand
column present the results obtained for the discrete
Kalman filter while the time histories in the right-
hand column refer to the investigations performed
using the continuous Kalman-Bucy filter.
The presented diagrams reveal that the estimates
of the position coordinates and the course are identi-
cal as the measured values. On the other hand, the
correspondence between the time-histories of the es-
timated velocities is much worse, as their curves are
not smooth and are burdened with relatively large
errors. All inaccuracies in the measured values are
reflected in the estimated velocity values.
6 REMARKS AND CONCLUSIONS
The article describes the method of deriving the al-
gorithm of the continuous Kalman-Bucy filter based
on the discrete Kalman filter. This algorithm does
not take into account the model of ship dynamics,
but only bases on the position coordinates x, y meas-
ured by GPS and the ship course angle
ψ
measured
by the gyro-compass. The estimates of ship position
coordinates x, y and ship course angle
ψ
shown in
Figs. 7, 8 and 9 well correspond to the measured
values. The correspondence is worse for velocity es-
timates determined for the moving coordinate sys-
tem fixed to the ship and collected in the vector
ν
=[u,v,r]
T
. The determined time-histories of these
velocities are burdened with a noise of relatively
high level, lower for the Kalman-Bucy controller
than for the discrete Kalman filter. The shapes of the
355
velocity estimate curves indicate that they need addi-
tional smoothing.
Additional difficulties in velocity estimation may
appear when the instantaneous ship position coordi-
nates measured by GPS reveal rapid changes. In this
situation additional oscillations can be observed in
the estimated velocities. Fortunately, in the sample
results of investigations shown in Figs. 7 through 9
these difficulties were not recorded.
REFERENCES
Balchen J.G., Jenssen N.A. & Saelid S. 1976. Dynamic posi-
tioning using Kalman filtering and optimal control theory.
In IFAC/IFIP Symposium on Automation in Offshore Oil
Field Operation:183-186. Bergen, Norway.
Balchen, J. G., Jenssen, N. A. & Saelid, S. 1980a. Dynamic po-
sitioning of floating vessels based on Kalman filtering and
optimal control, Proceedings of the 19
th
IEEE Conference
on Decision and Control:852-864. New York.
Balchen, J. G., Jenssen, N. A., Mathiasen, E. & Saelid, S.
1980b. A dynamic positioning system based on Kalman fil-
tering and optimal control, Modeling, Identification and
Control, 1(3):135-163.
Brown, R.G. & Hwang, P.Y.C. 1997. Introduction to Random
Signals and Applied Kalman Filtering with Matlab Exercis-
es and Solutions. Third Edition. John Wiley & Sons, Inc.
Clarke, D. 2003. The foundations of steering and maneouver-
ing. Proceedings of the IFAC Conference Manoeuvering
and Control Marine Crafts:10-25. Girona. Spain.
Franklin, G.F., Powell, J.D. & Workman, M. 1998. Digital
Control of Dynamic Systems. Third Edition. Addison Wes-
ley Longman.
Fung, P. & Grimble, M. 1983. Dynamic Ship Positioning Us-
ing Self-Tuning Kalman Filter. IEEE Transactions on Au-
tomatic Control, 28(3):339-349.
Gierusz, W. 2001. Simulation model of the shiphandling train-
ing boat Blue Lady. Proceedings of Control Applications in
Marine Systems. Glasgow. Scotland. UK.
Gierusz, W. 2005. Synthesis of multivariable systems of precise
ship motion control with the aid of selected resistant system
design methods. Publishing House of Gdynia Maritime
University. (in Polish).
Kalman, R.E. 1960. A New Approach to Linear Filtering and
Prediction Problems. Transactions of the ASME Journal
of Basic Engeenering. 82(D):35-45.
Kalman, R.E. & Bucy R.S. 1961. New Results in Linear Filter-
ing and Prediction Theory. Transactions of the ASME
Journal of Basic Engeenering. 83(D):95-108.
Saelid, S., Jensen, N. A. & Balchen, J. G. 1983. Design and
analysis of a dynamic positioning system based on Kalman
filtering and optimal control, IEEE Transactions on Auto-
matic Control, 28(3):331-339.
Sorensen, A. J., Sagatun, S. I. & Fossen, T. I. 1996. Design of a
Dynamic Position System Using Model-based Control.,
Control Engeenering Practice, 4(3):359-368.
Strand, J. P., Sorensen, A. J. & Fossen, T. I. 1997. Modelling
and control of thruster assisted position mooring systems
for ships, Procedings of IFAC Manoeuvering and Control
of Marine Craft (MCMC’97):160-165. Brijuni, Croatia.
Tomera, M. 2010. Discrete Kalman filter design for multivari-
able ship motion control: experimental results with training
ship. Joint Proceedings of Gdynia Maritime Academy &
Hochschule Bremerhaven:26-34. Bremerhaven.