0% found this document useful (0 votes)
27 views

Mic 2007 1 3

This document presents kinematic models that characterize the transformation of motion variables and forces between different coordinate systems used in ship motion analysis. It reviews the commonly used North-East-Down (earth-fixed), body-fixed, and seakeeping (equilibrium) coordinate systems. It then provides a complete derivation of the transformations between these systems, which is important for time-domain simulations and motion control system design where a body-fixed system is typically used. As an application, it considers the transformation of linear equations of motion from seakeeping to body-fixed coordinates for both zero and forward ship speed.

Uploaded by

Sachin Shende
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Mic 2007 1 3

This document presents kinematic models that characterize the transformation of motion variables and forces between different coordinate systems used in ship motion analysis. It reviews the commonly used North-East-Down (earth-fixed), body-fixed, and seakeeping (equilibrium) coordinate systems. It then provides a complete derivation of the transformations between these systems, which is important for time-domain simulations and motion control system design where a body-fixed system is typically used. As an application, it considers the transformation of linear equations of motion from seakeeping to body-fixed coordinates for both zero and forward ship speed.

Uploaded by

Sachin Shende
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Modeling, Identication and Control, Vol. 28, No. 1, 2007, pp.

1930
Kinematic Models for Manoeuvring and
Seakeeping of Marine Vessels
Tristan Perez,
1
Thor I. Fossen
2
1
Centre for Ships and Ocean Structures, Norwegian University of Science and Technology, NO-7941 Trondheim,
Norway. E-mail: tristan.perez@ntnu.no
2
Department of Engineering Cybernetics, Norwegian University of Science and Technology, NO-7491 Trondheim,
Norway.
Abstract
The motion of marine vessels has traditionally been studied using two dierent approaches: manoeuvring
and seakeeping. These two approaches use dierent reference frames and coordinate systems to describe
the motion. This paper derives the kinematic models that characterize the transformation of motion
variables (position, velocity, accelerations) and forces between the dierent coordinate systems used in
these theories. The derivations hereby presented are done in terms of the formalism adopted in robotics.
The advantage of this formulation is the use of matrix notation and operations. As an application, the
transformation of linear equations of motion used in seakeeping into body-xed coordinates is considered
for both zero and forward speed.
Keywords: Kinematics, ship motion, seakeeping, manoeuvring.
1 Introduction
The study of ship dynamics has traditionally been cov-
ered by two main theories: Manoeuvring and Seakeep-
ing. Manoeuvring refers to the study of ship motion
in the absence of wave excitation (calm water). Sea-
keeping, on the other hand, refers to the study of mo-
tion when there is wave excitation and while the vessel
keeps its course and its speed constant (which includes
the case of zero speed). Although both areas are con-
cerned with the same issues: study of motion, stabil-
ity and control, the separation allows making dierent
assumptions that simplify the study in each case. A
chief distinguishing characteristic of these theories is
the use of dierent coordinates and reference systems
to express the equations of motion.
In manoeuvring, the equations of motion are de-
scribed relative to a coordinate system xed to the ves-
sel (a body-xed coordinate system), whereas in sea-
keeping the motion is described relative to a coordinate
system xed to an equilibrium virtual vessel that moves
at a constant speed and heading corresponding the av-
erage motion of the actual vessel. Most hydrodynamic
programs compute radiation and wave excitation forces
in this equilibrium frame.
When time-domain simulations and motion control
system designs are considered, it is necessary to use a
unied framework, and a body-xed coordinate system
is a natural choice. This calls for kinematic models
that characterize the transformation of motion vari-
ables (position, velocity and accelerations) and forces
between dierent coordinate systems. For the case of
a vessel operating at zero forward speed, the equilib-
rium coordinate system can be considered xed to the
earth. The kinematic models then describe the tra-
ditional transformation between body- and earth-xed
coordinates used in robotics and aeronautics. For the
case of forward speed, transformations between earth-
xed, body-xed and equilibrium (or seakeeping) co-
ordinates are dierent. Details of the latter transfor-
ISSN 18901328 c 2007Norwegian Society of Automatic Control
Modeling, Identication and Control
mations are often only outlined or considered for small
angles in the literaturesee, for example, Bishop and
Price (1981); Lloyd (1989); Graham (1990); Faltinsen
(2005).
Therefore, this paper reviews the kinematic models
commonly used in both theories and provides a com-
plete derivation of the transformations that link these
descriptions. In recent years, there has been a signif-
icant interest of these models in relation to the time-
domain models for simulation and control system de-
sign based on data obtained from seakeeping programs,
and unied models for manoeuvring and seakeeping
see Bailey et al. (1997); Fossen and Smogeli (2004); Fos-
sen (2005); Smogeli et al. (2005); Perez (2005); Perez
and Fossen (2006).
2 Coordinate Systems
To describe the position and orientation of a ship, the
following dextral orthogonal coordinate systems are
commonly used see Figure 1:
North-East-Down, {n};
Body(-xed), {b};
Seakeeping, {s}.
o
s
x
s
y
s
z
s
o
n
x
n
North
y
n
East
z
n
Down
n
1
n
2
n
3

b
1

b
2

b
3
s
1
s
2
s
3
o
b
x
b
y
b
z
b
{n}
{b}
{s}
Figure 1: Coordinate systems used for ship motion de-
scription.
The North-East-Down coordinate system
{n} (o
n
, n
1
, n
2
, n
3
) is the local geographic coordinate
system xed to the Earth. This is usually determined
by a tangent plane attached to the geodetic reference
ellipsoid (WGS84) at a point of interest, which deter-
mines the origin of the system o
n
. The positive unit
vector n
1
points towards the true North, n
2
points to-
wards the East, and n
3
points towards the interior of
the earth perpendicular to the reference ellipsoid com-
pleting the dextral orthogonal system.
The Body-xed coordinate system {b}
(o
b
,

b
1
,

b
2
,

b
3
) is xed to the vessel. The positive unit
vector

b
1
points towards the bow,

b
2
points towards
starboard and

b
3
points downwards completing the
dextral orthogonal system. For marine vehicles, the
origin o
b
is usually chosen to be amidships (Lpp/2) and
at the intersection of the longitudinal plane of symme-
try (xz) and the design water line. Dierent applica-
tions, however, may require other locations for o
b
.
The Seakeeping coordinate systems {s}
(o
s
, s
1
, s
2
, s
3
) moves at the average speed of the ves-
sel following its path. This coordinate system can only
be considered when the vessel sails with a straight av-
erage path at a constant average speed. That is, this
coordinate system is not xed to the vessel but to an
equilibrium state or virtual vessel, and the action of
waves makes the vessel oscillate about this equilibrium;
this is illustrated in Figure 2. The positive unit vec-
tor s
1
points forward and is aligned with the average
velocity vector. The positive unit vector s
2
points to-
wards starboard, and s
3
points downwards completing
the dextral orthogonal system. The origin o
s
is usu-
ally determined such that the z
s
-axis passes through
the equilibrium position of the centre of gravity of the
vessel, and the horizontal plane that contains s
1
and
s
2
coincides with the mean free surface of the water.
Equilibrium state
{s}
{n}
{b}
r
ns
r
nb
r
sb
Figure 2: Coordinate systems and relative positions.
The coordinate system {n} is used to dene the po-
sition of the vessel on the earth, and the direction of
wind, waves and current. This frame is considered in-
ertial, which is a reasonable assumption because the
velocity of marine vehicles is relatively small, and thus
the forces due to the rotation of the Earth are neg-
ligible relative to the hydrodynamic forces acting on
the vehicle. The coordinate system {b} is used to ex-
press velocity and acceleration measurements taken on
board. The equations of motion of the vessel are nor-
mally formulated about the point o
b
. This coordinate
system is also used to dene some ship motion per-
formance indicessee Lloyd (1989). The coordinate
20
Perez and Fossen, Kinematic Models for Manoeuvring and Seakeeping of Marine Vessels
system {s} is used to dene the wave elevation at the
vessels average location and to compute the hydro-
dynamic forces using standard software based on hy-
drodynamic theoriessee, for example, Fathi (2004),
Journee and Adegeest (2003), WAMIT (2004). The
positive convention described above for the coordinate
systems {n}, {b} and {s} will be the one adopted in
the rest of the paper. In the literature and in dierent
hydrodynamic programs, however, other conventions
may be used.
3 Mathematical Background
This section denes the mathematical notation and
summarizes some key results that will be used in the
subsequent sections. The material has been adapted
from Sciavicco and Siciliano (2004), Egeland and Grav-
dahl (2002), Kane and Levinson (1985) and Rao
(2006).
3.1 Coordinate Systems and Vector
Notation
We will use the notation u to refer to a coordinate free
vector, i.e., a directed line segment. When a vector is
described relative to a coordinate system {a}, we will
use the following representation:
u = u
a
1
a
1
+ u
a
2
a
2
+ u
a
3
a
3
, (1)
where a
i
are the unit vectors that dene {a}, u
a
i
are the
measures of u along a
i
, and u
a
i
a
i
are the components
of u in {a}. We will also use the coordinate form of u
in {a} which is represented as a column vector in R
3
:
u
a
[u
a
1
, u
a
2
, u
a
3
]
T
. (2)
This representation enables the use of matrix notation
and operations to discuss dierent properties of vector
quantities. The coordinate form of a vector is a rep-
resentation relative to a particular basis, whereas the
vector itself is basis independentcoordinate free.
When discussing properties that hold regardless of
the chosen basis, we will simply use u. For example,
u v = u
T
v, which holds in any basis as long as both
coordinate vectors are given with respect to the same
basis: u v = (u
a
)
T
v
a
= (u
b
)
T
v
b
.
The cross-product of two vectors c = a

b can be
represented in coordinate form as
c = S(a)b, (3)
where the matrix S(a) gives the skew-symmetric form
of a coordinate vector a = [a
1
, a
2
, a
3
]
T
:
S(a)

0 a
3
a
2
a
3
0 a
1
a
2
a
1
0

. (4)
Note that S(a) = S
T
(a).
3.2 Rotation Matrix
The transformation of coordinate vectors between dif-
ferent frames is performed via appropriate transforma-
tion matrices. The generic unbound vector r, can be
expressed in either {a} or {b} as
r =
3

i=1
r
a
i
a
i
=
3

i=1
r
b
i

b
i
. (5)
Then, the rotation matrix that takes {a} into the ori-
entation of {b} is dened as
R
a
b
[R
ij
= a
i

b
j
]. (6)
Note that R
a
b
transforms coordinate vectors in {b} to
coordinate vectors in {a}:
r
a
= R
a
b
r
b
. (7)
Rotation matrices are elements of the special orthog-
onal group of order 3, SO(3): RR
T
= I
33
, and
det(R)=1. Thus, R
1
= R
T
.
A rotation is called simple, if it is a rotation about
a single axis (not necessarily a coordinate axis). If we
consider simple rotations about the coordinates axes,
however, we obtain:
A rotation of an angle about the z-axis:
R
z,
=

cos sin 0
sin cos 0
0 0 1

(8)
A rotation of an angle about the y-axis:
R
y,
=

cos 0 sin
0 1 0
sin 0 cos

(9)
A rotation of an angle about the x-axis:
R
x,
=

1 0 0
0 cos sin
0 sin cos

(10)
The above results follow from (6).
3.3 Euler Angles: Roll, Pitch and Yaw
The attitude (or orientation) of a coordinate system
{b} relative to {a} can be expressed by three consecu-
tive rotations about the main axes that take {a} into
{b}. These rotations can be performed in a dierent
21
Modeling, Identication and Control
order (there are 12 dierent ways of doing this), and
each triplet of rotated angles is called a set of Euler
angles. The set most commonly used in navigation is
that of roll, pitch and yaw, which corresponds to the
rotations performed in the following order:
1. Rotation about the z-axis of {a} an angle (yaw
angle) resulting in the frame {a

};
2. Rotation about the y-axis of {a

} an angle
(pitch angle) resulting in the frame {a

};
3. Rotation about the x-axis of {a

} an angle (roll
angle) resulting in {b}.
The positive angle convention corresponds to a right-
handed screw advancing in the positive direction of the
axis of rotation.
Using these consecutive single rotations, a rotation
matrix can be expressed as
R
a
b
= R
z,
R
y

,
R
x

,
. (11)
After multiplication
R
a
b
=

+ c

+ c

+ s

+ s

, (12)
where s
x
sin(x) and c
x
cos(x). Note that the
matrix multiplication order in (11) is consistent with
(7).
3.4 Angular Velocity
Since the rotation matrix R
a
b
is orthogonal
(R
a
b
(R
a
b
)
T
= I), then
d
dt
[R
a
b
(R
a
b
)
T
] =

R
a
b
(R
a
b
)
T
+R
a
b
(

R
a
b
)
T
= 0. (13)
This implies that

R
a
b
(R
a
b
)
T
is a skew-symmetric ma-
trix, and thus it can be described by a column vector
as in (4). The vector
a
ab
of angular velocity of the
frame {b} with respect to the frame {a}, with coordi-
nates in the frame {a} is dened such that

a
ab
: S(
a
ab
) =

R
a
b
(R
a
b
)
T
. (14)
It also follows that

R
a
b
= S(
a
ab
) R
a
b
= R
a
b
S(
b
ab
). (15)
If we further consider three composite rotations R
a
d
=
R
a
b
R
b
c
R
c
d
, then

R
a
d
=

R
a
b
R
b
c
R
c
d
+R
a
b

R
b
c
R
c
d
+R
a
b
R
b
c

R
c
d
. (16)
Using (14), we nd that
S(
a
ad
) =

R
a
d
(R
a
d
)
T
= (

R
a
b
R
b
c
R
c
d
+R
a
b

R
b
c
R
c
d
+R
a
b
R
b
c

R
c
d
)(R
c
d
)
T
(R
b
c
)
T
(R
a
b
)
T
=

R
a
b
(R
a
b
)
T
+R
a
b

R
b
c
(R
b
c
)
T
(R
a
b
)
T
+R
a
c

R
c
d
(R
c
d
)
T
(R
a
c
)
T
= S(
a
ab
) +R
a
b
S(
b
bc
)(R
a
b
)
T
+R
a
c
S(
c
cd
)(R
a
c
)
T
= S(
a
ab
) +S(
a
bc
) +S(
a
cd
),
(17)
which from the linearity of S() implies that

a
ad
=
a
ab
+
a
bc
+
a
cd
. (18)
This holds in any coordinate system and for any
number of consecutive rotations (Kane and Levinson,
1985):

ad
=
ab
+
bc
+
cd
. (19)
3.5 Relationship Between Angular Velocity
and Euler-angle Derivatives
Let us consider the rotation from {a} to {d} via simple
roll, pitch and yaw rotations:
R
a
b
= R
z,
, R
b
c
= R
y,
, R
c
d
= R
x,
. (20)
The angular velocities corresponding to these rotations
are

a
ab
= [0, 0,

]
T
,

b
bc
= [0,

, 0]
T
,

c
cd
= [

, 0, 0]
T
.
(21)
Using (19), we can write

a
ad
=
a
ab
+R
a
b

b
bc
+R
a
b
R
b
c

c
cd
, (22)
and

d
ad
= R
d
a

a
ab
+R
d
c
R
c
b

b
bc
+R
c
c

c
cd
. (23)
Dene the vector of roll, pitch and yaw associated with
the rotation from {a} to {d} as

ad
[, , ]
T
. (24)
Then (22) and (23) can be expressed as

a
ad
= T
1
a
(
ad
)

ad
=

0
s

0
s

0 1

ad
(25)

d
ad
= T
1
d
(
ad
)

ad
=

1 0 s

0 c

0 s

ad
(26)
The inverse relationships are

ad
= T
a
(
ad
)
a
ad
=

0
s

0
c

a
ad
(27)
22
Perez and Fossen, Kinematic Models for Manoeuvring and Seakeeping of Marine Vessels

ad
= T
d
(
ad
)
d
ad
=

1 s

0 c

0
s

d
ad
(28)
Note that det(T
a
) = det(T
d
) = 1/ cos , and that
T
1
a
= T
T
a
and T
1
d
= T
T
d
. Therefore, neither T
a
nor
T
d
are orthogonal. Also, T
1
a
and T
1
d
are singular for
= /2known as the Euler-angle singularity.
3.6 Position and Velocity Coordinate
Vectors
For position and velocity coordinate vectors we will use
a three-script notation. For example, if r
ab
is the vec-
tor from {a} to {b}, which indicates the position of
{b} relative to {a}. Then, in coordinate form, the no-
tation r
a
ab
indicates the position of {b} relative to {a}
expressed in {a}. That is, the upper script indicates in
which coordinate system the vector is expressed, while
the lower scripts indicate the point of interest and the
coordinate system with respect to which the position
is considered. This vector is expressed in {b}, for ex-
ample, can be obtained from
r
b
ab
= R
b
a
r
a
ab
,
Then, the notation v
a
ab
indicates the velocity of {b}
relative to {a} expressed in {a}. We will use this no-
tation only when the frame with respect to which the
derivative is taken is inertial, i.e., if a is inertial then,
v
a
ab
r
a
ab

a
d
dt
r
ab
.
The derivative of a vector must be specied with re-
spect to a particular coordinate system. We should
then be careful when taking derivatives in coordi-
nate form because the information about the reference
frames in which the derivative is taken can be lost.
For example, the following is a well known relationship
between the derivatives of a vector in two coordinate
systems (Kane and Levinson, 1985):
a
dr
dt
=
b
dr
dt
+
ab
r, (29)
in which
a
dr
dt
= r
a
1
a
1
+ r
a
2
a
2
+ r
a
3
a
3
,
b
dr
dt
= r
b
1

b
1
+ r
b
2

b
2
+ r
b
3

b
3
.
(30)
This relationship can be derived in coordinate form by
considering
r
a
= R
a
b
r
b
. (31)
Taking the time derivative of (31), gives
r
a
= R
a
b
[ r
b
+S(
b
ab
)r
b
]. (32)
Ship trajectory
r
nb
{n}
{b}
Figure 3: Ship position used in manoeuvring.
However, it should be noted here that the derivative on
the left-hand side is taken with respect to the coordi-
nate system {a} while the derivative on the right-hand
side is taken with respect to the coordinate system {b}.
To express the above in {b}, we would have to multiply
both sides by R
b
a
, which would lead to
r
b
= r
b
+S(
b
ab
)r
b
. (33)
This should be interpreted as
a
r
b
=
b
r
b
+S(
b
ab
)r
b
, (34)
where the upper-left script indicates the coordinate
system with respect to which the derivative is taken.
The above expression is the coordinate form of (29).
4 Manoeuvring Theory and
Kinematic Models
4.1 Coordinate Systems and Motion
Variables
In manoeuvring theory, the position of a ship is given
by the position of the origin of {b} relative to {n}:
r
nb
Figure 3 illustrates this. When expressed in co-
ordinate form in {n}, this vector gives the North, East
and Down positions:
r
n
nb
[N, E, D]
T
. (35)
The attitude of the vessel will be given by the angles
or roll, pitch and yaw that take {n} into {b}:

nb
[, , ]
T
. (36)
The linear and angular velocities are more conve-
niently expressed in the body-xed coordinate system.
The vessel linear velocity in {b} is given by
v
b
nb
R
b
n
r
n
nb
, = R
b
n
[

N,

E,

D]
T
, (37)
23
Modeling, Identication and Control
The components of v
b
nb
will be denoted by
v
b
nb
= [u, v, w]
T
, (38)
which are called surge, sway and heave speeds respec-
tively (SNAME, 1950). Note that

t
0
v
b
nb
d
has no physical meaning; the vessel trajectory is given
by
r
n
nb
(t) =

t
0
R
n
b
v
b
nb
d +r
n
nb
(0).
The angular velocity in {b} is given by

b
nb
= [p, q, r]
T
:

R
n
b
= R
n
b
S(
b
nb
), (39)
which follows from (15). The components are called
roll, pitch and yaw rate respectively (SNAME, 1950).
Note that the relationship between
b
nb
and the time
derivative of the Euler angles follows from (28) modulo
substitution a, d by n, b:

nb
= T
b
(
nb
)
b
nb
. (40)
As in the case of the linear velocities,

t
0

b
nb
d
has no physical meaning. The orientation of the vessel
is obtained by integrating (40).
4.2 Kinematic Model {n} {b}
Following the notation introduced by Fossen (2002) we
can dene the generalised coordinate position vector
(position-orientation vector):

r
n
nb

nb

= [N, E, D, , , ]
T
. (41)
and the generalised velocity vector (linear-angular ve-
locity vector) in {b} is dened as:

v
b
nb

b
nb

= [u, v, w, p, q, r]
T
. (42)
From the denition of these two vectors and (37) and
(40), the manoeuvring kinematic model follows:
= J
n
b
() , (43)
with
J
n
b
()

R
n
b
(
nb
) 0
33
0
33
T
b
(
nb
)

. (44)
Note that
J
n
b
()
1
J
b
n
() =

R
b
n
(
nb
) 0
33
0
33
T
1
b
(
nb
)

, (45)
and J
n
b
()
1
= J
n
b
()
T
because T
b
is not orthogonal.
5 Seakeeping Kinematics
5.1 Coordinate Systems and Motion
Variables
In seakeeping, the motion of the vessel is described rel-
ative to the seakeeping coordinate system {s}, which is
an inertial coordinate system xed to an equilibrium.
In the absence of wave excitation forces, the vessel re-
mains in this equilibrium. When there is wave excita-
tion, however, the vessel oscillates with respect to this
equilibrium. Figure 2 illustrates this. The equilibrium
vessel state is dened by a constant heading and speed:
v
n
ns
= r
n
ns
= [U cos

, U sin

, 0]
T

n
ns
= [0, 0, 0]
T
,

ns
= [0, 0,

]
T
,
(46)
where the velocity U = v
n
ns
=
n
dr
ns
/dt and the
heading

are constant. Hence, the velocity of {s} in
{n} expressed in {s} is
v
s
ns
= R
s
n
v
n
ns
= [U, 0, 0]
T
. (47)
In a similar fashion as we did for manoeuvring kine-
matics, we can consider the linear and angular velocity
of the vessel ({b}) relative to {s} expressed in {b}:
v
b
sb
= R
b
s
r
s
sb
[u, v, w]
T
,

b
sb
[p, q, r]
T
,
(48)
where these are the perturbation body-xed linear and
angular velocities. The Euler angles that take {s} into
{b} will be denoted by

sb
[, , ]
T
, (49)
and then from (28) the following relation holds

sb
= T
b
(
sb
)
b
sb
, (50)
with
T
b
(
sb
) =

1 s

0 c

s
0 s

/c

/c

. (51)
Further, we can dene the perturbation generalised po-
sition and velocity vectors:

r
s
sb

sb

v
b
sb

b
sb

. (52)
In the hydrodynamic literature, the following variables
are commonly used:
, (53)
where
1
,
2
,
3
are the surge, sway and heave perturba-
tion displacements, and
4
,
5
,
6
are the roll, pitch and
yaw perturbation angles.
24
Perez and Fossen, Kinematic Models for Manoeuvring and Seakeeping of Marine Vessels
5.2 Kinematic Models {s} {b}
From the denition of and in (52), it follows that
= J
s
b
() , (54)
where
J
s
b
() =

R
s
b
(
sb
) 0
33
0
33
T
b
(
sb
)

. (55)
This kinematic model is similar to that for the gener-
alised variables used in manoeuvring, i.e., (43). This
is an expected result because both {n} and {s} are
assumed inertial.
The other kinematic models of interest are those that
describe the relation between and and between
and . To obtain these models, let us consider
Figure 2. From this gure, it follows that
r
nb
= r
ns
+r
sb
. (56)
By expressing this in coordinate form in {n}, we obtain
r
n
nb
= r
n
ns
+R
n
s
r
s
sb
. (57)
Taking the time derivative gives
r
n
nb
= r
n
ns
+R
n
s
r
s
sb
. (58)
Note that the time-derivative of R
n
s
is zero because {s}
does not rotate with respect to {n}. Further, the last
expression can be written as
r
n
nb
= r
n
ns
+R
n
s
R
s
b
r
b
sb
,
= r
n
ns
+R
n
b
r
b
sb
.
(59)
If we express the latter in {b}, we obtain the sought
relationship for the linear velocities:
R
b
n
r
n
nb
= R
b
n
r
n
ns
+R
b
n
R
n
b
r
b
sb
,
v
b
nb
= R
b
n
v
n
ns
+v
b
sb
.
(60)
Let us split the linear and angular part of the velocity
vectors:
=

, =

, (61)
where
1
= [u, v, w]
T
,
2
= [p, q, r]
T
,
1
=
[u, v, w]
T
, and
2
= [p, q, r]
T
. Then from (60)
it follows that

1
=
1
+
1
, (62)
where

1
R
b
n

U cos

U sin

= R
b
s

U
0
0

. (63)
To obtain the angular velocity transformation, we can
turn again to Figure 2 and from (19), it follows that

nb
=
ns
+
sb
. (64)
But since {s} does not rotate with respect to {n},

nb
=
sb
. (65)
This leads to the sought relationship for the angular
velocities

b
nb
=
b
sb

2
=
2
. (66)
Combining (62) and (66), we nally obtain
= + , (67)
where = [
T
1
, 0
31
]
T
and
1
is given in (63).
Further, from (63) it follows that

1
= Ucol
1
(R
b
s
)
= U

+ c

+ c

,
(68)
where col
j
(R) denotes the j-column of the matrix R.
Taking small angle approximations and considering
only linear terms, we obtain

1
U

. (69)
Hence, (67) can be approximated by
U(L +e
1
) + , (70)
with
e
1
[1, 0, . . . , 0]
T
, L

0 0 0
0 0 1
0 1 0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0

. (71)
To obtain the relation between accelerations we take
the time derivative of (67):
=

+ . (72)
The key issue here is to nd

. From (63) it follows
that


1
= R
b
s
S
T
(
b
sb
)

U
0
0

= R
b
s
U

0
r
q

= Ur col
2
(R
b
s
) + Uq col
3
(R
b
s
).
(73)
Taking small angle approximations


1
Ur

+ Uq

. (74)
25
Modeling, Identication and Control
If we consider only the linear terms


1
U

0
r
q

= UL, (75)
which is consistent with the approximation (69) taking
. Hence, using (75), it follows that (72) can be
approximated as
UL +

, (76)
Finally, we can also relate to the vessel trajectory.
Indeed, from (59) it follow that

1
=

U cos

U sin

+R
n
b

1
. (77)
Also, from (40) and (65) it follows that

2
=

nb
= T
d
(
nb
)
b
nb
= T
d
(
nb
)
b
sb
= T
d
(
nb
)
2
.
(78)
Therefore,
=

U cos

U sin

0
41

+J
n
b
() (79)
5.3 Relationship between Euler Angles
The relationship between the Euler angles that take
{n} into {b} and those that take {s} into {b} is as
follows. From the seakeeping assumption we have that

nb
=
sb

b
nb
=
b
sb
, (80)
which results in

nb
=

sb
. (81)
Integrating, we obtain

nb
=
sb
+
ns
, (82)
that is,

0
0

. (83)
Tables 1, 2 and 3 in the Appendix summarize the no-
tation.
6 Application to Equations of
Motion Transformation
In recent years, there has been a signicant interest
in time-domain models for simulation and control sys-
tem design based on data obtained from seakeeping
programssee Bailey et al. (1997); Fossen and Smo-
geli (2004); Perez (2005); Fossen (2005); Smogeli et al.
(2005). This requires transforming the equations of
motion used in seakeeping theory, (or at least the
forces) to body-xed coordinates. These transforma-
tions can be done in dierent ways using dierent ap-
proximations. This is the topic of this section, which
makes use of the kinematic models developed in the
previous sections of the paper
6.1 Rigid-body Mass and Inertia Tensor
The vessel rigid-body generalized mass matrix about
the origin of {b} is of the form
M
b
RB
=

mI
33
mS(r
b
bg
)
mS(r
b
bg
) I
b
b/b

, (84)
where m is the mass of the vessel and I
b
b/b
is the inertia
tensor about (b/) o
b
. Using the parallel-axis theorem
(see for example Egeland and Gravdahl (2002)), this
tensor can be expressed as
I
b
b/b
= I
b
b/g
mS(r
b
bg
)S(r
b
bg
), (85)
where r
b
bg
gives the coordinates of the centre of gravity
(CG) in {b}, and I
b
b/g
is the tensor about GG in {b}:
I
b
b/g
=

y
2
+ z
2
xy xz
xy x
2
+ z
2
yz
xz yz x
2
+ y
2

dm. (86)
The angular momentum of the vessel about CG in {b}
is given by
h
b
g
= I
b
b/g

b
ib
, (87)
where {i} represents any inertial frame (e.g., {n} or
{s}). If this is transformed to an inertial coordinate
system, then
h
i
g
= R
i
b
I
b
b/g
R
b
i

i
ib
; (88)
from which it follows that
I
i
b/g
= R
i
b
I
b
b/g
R
b
i
. (89)
This shows that the inertia tensor will not be con-
stant in an inertial frame if {b} rotates with respect
to {i}. Therefore, it is always convenient to formulate
the equations of motion in a body-xed rather than
inertial coordinate system.
26
Perez and Fossen, Kinematic Models for Manoeuvring and Seakeeping of Marine Vessels
6.2 Rigid-body Equations of Motion
Following Fossen (2002), the rigid-body equations of
motion in {b} can be written as
M
b
RB
+C
RB
() =
b
, (90)
where M
b
RB
is given in (84), is given in (42), and the
Coriolis-Centripetal matrix C
RB
() can be expressed
as:
C
RB
()

C
RB,11
C
RB,12
C
RB,21
C
RB,22

, (91)
where
C
RB,11
= 0
33
,
C
RB,12
= mS(
1
) mS(S(
2
)r
b
bg
),
C
RB,21
= mS(
1
) mS(S(
2
)r
b
bg
),
C
RB,22
= mS(S(
1
)r
b
bg
) S(I
b
b/b

2
),
(92)
with = [
T
1
,
T
2
]
T
. See Fossen (2002) for further
details and alternative parameterizations of C
RB
().
6.3 Equation of Motion in {p}
The equation of motion (90) is formulated at the origin
o
b
of {b}. In order to exploit dierent locations of the
body-xed coordinate system, we can transform (90)
to another body-xed coordinate system.
Let {p} be a body-xed coordinate system with the
same orientation as {b}. Then,
r
np
= r
nb
+r
bp
. (93)
The time-derivative in {n} give
r
n
np
= r
n
nb
+

R
n
b
r
b
bp
, (94)
which can be written as
v
n
np
= v
n
nb
+R
n
b
S(
b
nb
)r
b
bp
. (95)
Using the fact that {p} has the same orientation as {b},
i.e., R
n
b
= R
n
p
, we can further write
v
p
np
= v
b
nb
+S(
b
nb
)r
b
bp
,
= v
b
nb
+S
T
(r
b
bp
)
b
nb
.
(96)
Hence,

v
p
np

p
np

0 S
T
(r
b
bp
)
0 I

v
b
nb

b
nb

, (97)
or equivalently

p
= H(r
b
bp
), (98)
with
H(r
b
bp
)

0
33
S
T
(r
b
bp
)
0
33
I
33

,
H
1
(r
b
bp
)

0
33
S(r
b
bp
)
0
33
I
33

.
(99)
If

f is a force, then the moments about o
b
and o
p
are
related as follows:
m
p
= m
b
+r
pb


f = m
b
r
bp


f. (100)
Then, in coordinate form

f
p
m
p
p

I
33
0
33
S
T
(r
b
bp
) 0
33

f
b
m
b
b

. (101)
Therefore,

p
= H
T
(r
b
bp
). (102)
Using (102) and (98), the transformation of (90) to {p}
becomes
M
p
RB

p
+C
p
RB
(
p
)
p
=
p
, (103)
with

p
= H
1
(r
b
bp
)

p
= H
T
(r
b
bp
)
M
p
RB
= H
T
(r
b
bp
)M
b
RB
H
1
(r
b
bp
)
C
p
RB
= H
T
(r
b
bp
)C
RB
H
1
(r
b
bp
)
(104)
6.4 Seakeeping Equations of Motion in {s}
Using the perturbation body-xed coordinates and
, the seakeeping equations of motion can be formu-
lated as
= J
s
b
(),
M
RB
+C
RB
() = ,
(105)
where
M
RB
M
b
RB
.
The generalised force vector is separated into two com-
ponents:
=
b
rad
+
b
exc
, (106)
where
s
rad
is the vector of radiation forces, and
s
exc
is the vector of excitation forces which include the en-
vironmental and control forces.
If we consider the motion within a linear framework,
then (105) becomes
,
M
RB
,
(107)
which results in
M
RB
(108)
In seakeeping theory this equation is normally written
as
M
RB

=
s
rad
+
s
exc
, (109)
27
Modeling, Identication and Control
where = . Equation (109) is a convenient and
consistent way to write (108) with all the variables in
{s}however, it should be noted that it arises from
the following approximations:

= ,

s
rad

b
rad
,

s
exc

b
exc
.
(110)
Following Cummins (1962), the radiation forces in {s}
can be expressed as

s
rad
=

t
0
K(t t

(t

)dt

G, (111)
where

A = lim

A() and

B = lim

B() are
the constant innite frequency added mass and poten-
tial damping matrices, G is the restoring matrix, and
K(t) are retardation functions (Ogilvie, 1964):
K(t) =


0
(B()

B) cos(t) d.
The matrix

B vanishes for the case of zero forward
speed. Substituting (111) into (109) leads to the linear
seakeeping vector equation of motion (Cummins Equa-
tion):
(M
RB
+

A)

+

B

t
0
K(t t

(t

)dt

+G =
s
exc
. (112)
The convolution term represents the uid memory ef-
fect; that is, the change in uid momentum due to the
motion of the hull at a particular time instant aects
the motion of the vessel at all subsequent times.
6.5 Seakeeping Equations of Motion in {b}
In order to design control systems, it is convenient to
express (112) in {b} rather than in {s}. Hydrodynamic
programs compute
s
rad
and
s
exc
based on potential
theory. These forces are calculated by integrating the
pressure of the uid over the wetted surface of the hull.
The reason for using the {s} coordinate system is be-
cause these forces are computed for the vessel in its
equilibrium position. To express these forces in {b},
we would have to rotate them. However, this would
result in a time varying added mass matrix. Therefore,
from (110), it is common to approximate the radiation
forces in {b} as

b
rad

A

B

t
0
K(t t

)(t

)dt

G. (113)
Substituting (113) into (107) we obtain the linear per-
turbation model in {b}:
M +

B +

t
0
K(t t

)(t

)dt

+G =
b
exc
,
(114)
where M M
RB
+

A. This model describes devia-
tions from the equilibrium state. Using the small angle
transformations (70) and (76), we can express (114) as
= J
n
b
(),
M +C
RB
+C
A
+

B
+

t
0
K(t t

)[(t

) + UL(t

)]dt

+G =
b
exc
+
b
,
(115)
where
C
RB
M
RB
UL,
C
A


AUL,

b


B .
(116)
Expressions (115) give the linear equations of motion
with uid memory eects for constant average forward
speed and heading. These equations are valid for small
deviations from the equilibrium heading. Note that
most strip-theory codes usually incorporate C
A
in

B;
therefore in these cases, C
A
should be set to zero so as
not incorporate the terms twice in (115). If a motion
control system is designed, the control forces will have
two components, e.g.,
b
c
=
b
+
b
PID
, where the rst
term is the force that sets the equilibrium, and the
second one corrects the deviations from it.
For the case of station keeping or manoeuvring at
low speed, these reduce to
M +

t
0
K(t t

)(t

)dt

+G =
b
exc
,
= J
n
b
().
(117)
Note that (115) and (117) are based on potential the-
ory. Therefore, a viscous damping term B
v
can be
added to the left-hand side of (115) and (117)see
Bailey et al. (1997); Fossen and Smogeli (2004); Fossen
(2005); Smogeli et al. (2005); Perez (2005); Perez and
Fossen (2006).
7 Conclusions
In this paper, the kinematic models most commonly
used for the description of ship motion were derived
using the formalism of the robotics literature. The clas-
sical transformation used in ship manoeuvring, which
relates the body-xed linear and angular velocity to
28
Perez and Fossen, Kinematic Models for Manoeuvring and Seakeeping of Marine Vessels
the position and orientation in local geographical co-
ordinates was revisited. The kinematic models used in
seakeeping, together with the simplifying assumptions
that lead to them, were considered with a notation
consistent with that used in manoeuvring. Transfor-
mation between variables were derived, and the results
were applied to expressing the seakeeping equations of
motion in terms of manoeuvring variables. The lat-
ter provides the basis for models that can be used in
guidance and motion control systems.
Acknowledgments
The Authors would like to thank Prof. Olav Egeland
for his constructive discussions about the presented
material. This work was supported by Centre for Ships
and Ocean Structures (CeSOS) and its sponsor the
Norwegian Research Council.
References
Bailey, P., Price, W., and Temarel, P. A unied math-
ematical model describing the manoeuvring of a ship
in seaway. Transactions The Royal Institution of
Naval ArchitectsRINA, 1997. 140:131149.
Bishop, R. and Price, W. On the use of equilib-
rium axes and body axes in the dynamics of a rigid
ship. Journal of Mechanical Engieering Scinece,
1981. 23(5):243256.
Cummins, W. The impulse response function and ship
motion. Technical Report 1661, David Taylor Model
BasinDTNSRDC, 1962.
Egeland, O. and Gravdahl, J. Modeling and Simulation
for Automatic Control. Marine Cybernetics, Trond-
heim, 2002.
Faltinsen, O. Hydrodynamic of High-speed Marine Ve-
hicles. Cambridge University Press, 2005.
Fathi, D. ShipX Vessel Responses (VERES). Marin-
tek AS Trondheim, http://www.marintek.sintef.no/,
2004.
Fossen, T. Marine Control Systems: Guidance, Nav-
igation and Control of Ships, Rigs and Underwater
Vehicles. Marine Cybernetics, Trondheim, 2002.
Fossen, T. A nonlinear unied state-space model for
ship maneuvreing and control in a seaway. In In-
ternational Journal of Bifurcation and Chaos, vol-
ume 15. 2005 pages 27172746.
Fossen, T. and Smogeli, . Nonlinear time-domain
strip theory formulation for low speed manoeuvring
and station-keeping. Modelling Identication and
ControlMIC, 2004. 25(4).
Graham, R. Motion-induced interruptions as ship op-
erability criteria. Naval Engineers Journal, 1990.
103(3).
Journee, J. and Adegeest, L. Theoretical Man-
ual of Strip Theory Program SEAWAY for Win-
dows. TU Delft, Delft University of Technology,
www.ocp.tudelft.nl/mt/journee, 2003.
Kane, T. and Levinson, D. Dynamics: Theory and
Applications. McGraw-Hill series in Mechanical En-
gineering. McGraw-Hill, 1985.
Lloyd, A. Seakeeping: Ship Behaviour in Rough
Weather. Ellis Horwood Series in Marine Technol-
ogy. Ellis Horwood, 1989.
Ogilvie, T. Recent progress towards the understanding
and prediction of ship motions. In 6th Symposium
on Naval Hydrodynamics. 1964 .
Perez, T. Ship Motion Control: Course Keeping and
Roll Reduction using rudder and ns. Advances in
Industrial Control. Springer-Verlag, London, 2005.
Perez, T. and Fossen, T. Time-domain models of ma-
rine surface vessels for simulation and control de-
sign based on seakeeping computations. In Proc.
7th IFAC Conference on Manoeuvring and Control
of Marine Craft MCMC. Lisbon, Portugal, 2006 .
Rao, A. Dynamics of Particles and Rigid Bodies A
Systematic Approach. Cambridge University Press,
2006.
Sciavicco, L. and Siciliano, B. Modelling and Control of
Robot Manipulators. Advanced Textbooks in control
and Signal Processing. Springer-Verlag London (5th
printing), 2004.
Smogeli, ., Perez, T., Fossen, T., and Srensen, A.
The marine systems simulator state-space model rep-
resentation for dynamically positioned surface ves-
sels. In International Maritime Association of the
Mediterranean IMAM Conference, Lisbon, Portugal.
2005 .
SNAME. Nomenclature for treating the motion of a
submerged body through a uid. Technical Report
Bulletin 1-5, Society of Naval Architects and Marine
Engineers, New York, USA, 1950.
WAMIT. WAMIT User Manual. www.wamit.com,
2004.
29
Modeling, Identication and Control
A Summary of Variables
Table 1: Scalar variables used the manoeuvring and
seakeeping.
Variable Name Frame
N North position {n}
E East position {n}
D Down position {n}
Roll angle -
Pitch angle -
Heading or yaw angle -
u, u Surge speed, Surge pert. speed {b}
v, v Sway speed, Sway pert. speed {b}
w, w Heave speed, Heave pert. speed {b}
p, p Roll rate, Roll perturbation rate {b}
q, q Pitch rate, Pitch perturbation rate {b}
r, r Yaw rate, Yaw perturbation rate {b}

1
Surge perturbation displacement {s}

2
Sway perturbation displacement {s}

3
Heave perturbation displacement {s}

4
= Roll perturbation angle -

5
= Pitch perturbation angle -

6
= Yaw perturbation angle -
Table 2: Summary manoeuvring vector variables.
Variable Description
r
n
nb
= [N, E, D]
T
Vessel position in {n}
v
b
nb
= [u, v, w]
T
Vessel linear velocity in {b}

b
nb
= [p, q, r]
T
Vessel angular velocity in {b}

nb
= [, , ]
T
Euler angles that take {n} into {b}
= [(r
n
nb
)
T
, (
nb
)
T
]
T
Generalised position vector
= [(v
b
nb
)
T
, (
b
nb
)
T
]
T
Generalised velocity vector
= J
n
b
() Vessel trajectory
Table 3: Summary seakeeping vector variables.
Variable Description
r
s
sb
Vessel perturbation displ. in {s}
v
b
sb
= [u, v, w]
T
Vessel linear pert. velocity in {b}

b
sb
= [p, q, r]
T
Vessel pert. angular vel. in {b}

sb
= [, , ]
T
Euler ang. that take {s} into {b}
= [(r
s
sb
)
T
, (
sb
)
T
]
T
Generalised pert. position vector
= Seakeeping variables
= [(v
b
sb
)
T
, (
b
sb
)
T
]
T
Generalised pert. velocity vector
30

You might also like