Академический Документы
Профессиональный Документы
Культура Документы
1930
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 different approaches: manoeuvring
and seakeeping. These two approaches use different 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 different 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-fixed 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 covered by two main theories: Manoeuvring and Seakeeping. Manoeuvring refers to the study of ship motion
in the absence of wave excitation (calm water). Seakeeping, on the other hand, refers to the study of motion 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 concerned with the same issues: study of motion, stability and control, the separation allows making different
assumptions that simplify the study in each case. A
chief distinguishing characteristic of these theories is
the use of different coordinates and reference systems
to express the equations of motion.
In manoeuvring, the equations of motion are described relative to a coordinate system fixed to the vessel (a body-fixed coordinate system), whereas in seakeeping the motion is described relative to a coordinate
ISSN 18901328
doi:10.4173/mic.2007.1.3
c
2007Norwegian
Society of Automatic Control
xn North
{s}
~n2
yn East
zn Down
xs
~s1
os
~s3
zs
ob
~b3
~s2
ys
zb
~b2
yb
{b}
{s}
20
~rsb
xb
~b1
~rns
~rnb
{n}
{b}
The coordinate system {n} is used to define the position of the vessel on the earth, and the direction of
wind, waves and current. This frame is considered inertial, 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 negligible relative to the hydrodynamic forces acting on
the vehicle. The coordinate system {b} is used to express velocity and acceleration measurements taken on
board. The equations of motion of the vessel are normally formulated about the point ob . This coordinate
system is also used to define some ship motion performance indicessee Lloyd (1989). The coordinate
Perez and Fossen, Kinematic Models for Manoeuvring and Seakeeping of Marine Vessels
system {s} is used to define the wave elevation at the
vessels average location and to compute the hydrodynamic forces using standard software based on hydrodynamic 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 different
hydrodynamic programs, however, other conventions
may be used.
3
X
i=1
ria~ai =
3
X
rib~bi .
(5)
i=1
3 Mathematical Background
Then, the rotation matrix that takes {a} into the orientation
of {b} is defined as
This section defines the mathematical notation and
summarizes some key results that will be used in the
Rab , [Rij = ~ai ~bj ].
(6)
subsequent sections. The material has been adapted
from Sciavicco and Siciliano (2004), Egeland and Grav- Note that Ra transforms coordinate vectors in {b} to
b
dahl (2002), Kane and Levinson (1985) and Rao coordinate vectors
in {a}:
(2006).
(7)
ra = Rab rb .
Rotation matrices are elements of the special orthogonal group of order 3, SO(3): RRT = I33 , and
We will use the notation ~u to refer to a coordinate free det(R)=1. Thus, R1 = RT .
vector, i.e., a directed line segment. When a vector is
A rotation is called simple, if it is a rotation about
described relative to a coordinate system {a}, we will a single axis (not necessarily a coordinate axis). If we
use the following representation:
consider simple rotations about the coordinates axes,
however, we obtain:
a
a
a
~u = u1~a1 + u2~a2 + u3~a3 ,
(1)
A rotation of an angle about the z-axis:
where ~ai are the unit vectors that define {a}, uai are the
0
a3 a2
S(a) , a3
0
a1 .
(4)
a2 a1
0
21
(18)
After multiplication
Rab =
c c
s c
s
(11)
Rab = Rz, ,
Rbc = Ry, ,
Rcd = Rx, .
(20)
s c + c s s
c c + s s s
c s
s s + c c s
The angular velocities corresponding to these rotations
c s + s c s , (12) are
c c
T,
aab = [0, 0, ]
where sx sin(x) and cx cos(x). Note that the
0]T ,
(21)
bbc = [0, ,
matrix multiplication order in (11) is consistent with
c
T
0, 0] .
cd = [,
(7).
Using (19), we can write
matrix
Rab
is
orthogonal
d a a T
ab (Rab )T + Rab (R
ab )T = 0.
[R (R ) ] = R
dt b b
(22)
(23)
and
(13) Define the vector of roll, pitch and yaw associated with
the rotation from {a} to {d} as
ad (25)
c 0
aad = T1
a (ad )ad = s c
s
0
1
ab (Rab )T .
aab :
S( aab ) = R
(14)
1
0
s
It also follows that
ad (26)
c s c
dad = T1
d (ad )ad = 0
a
b
a
a
a
= S( ) R = R S( ).
0 s c c
(15)
R
b
ab
b
ab
b
If we further consider three composite rotations Rad =
Rab Rbc Rcd , then
a b c
a=R
a Rb Rc + Ra R
b c
R
d
b c d
b c Rd + Rb Rc Rd .
22
(16)
ad = Ta (ad ) a = s
ad
c t
s
c
c
s t
0
0 aad
1
(27)
Perez and Fossen, Kinematic Models for Manoeuvring and Seakeeping of Marine Vessels
ad = Td (ad ) d
ad
1 s t
= 0 c
s
0
c
c t
s dad
c
c
(28)
Ship trajectory
~rnb
{b}
{n}
Rba raab ,
(33)
The linear and angular velocities are more conve(31) niently expressed in the body-fixed coordinate system.
The vessel linear velocity in {b} is given by
(32)
b
E,
D]
T,
vnb
, Rbn r nnb , = Rbn [N,
(37)
23
5 Seakeeping Kinematics
b
The components of vnb
will be denoted by
b
vnb
= [u, v, w]T ,
(38)
In seakeeping, the motion of the vessel is described relative to the seakeeping coordinate system {s}, which is
an inertial coordinate system fixed to an equilibrium.
0
In the absence of wave excitation forces, the vessel rehas no physical meaning; the vessel trajectory is given
mains in this equilibrium. When there is wave excitaby
Z t
tion, however, the vessel oscillates with respect to this
b
equilibrium. Figure 2 illustrates this. The equilibrium
rnnb (t) =
Rnb vnb
d + rnnb (0).
0
vessel state is defined by a constant heading and speed:
The angular velocity in {b} is given by
n
U sin ,
0]T
= r nns = [U cos ,
vns
nb = Rnb S( bnb ),
R
(39)
bnb = [p, q, r]T :
(46)
nns = [0, 0, 0]T ,
which follows from (15). The components are called
T
,
ns = [0, 0, ]
roll, pitch and yaw rate respectively (SNAME, 1950).
n
Note that the relationship between bnb and the time where the velocity U = kvns
k = kn d~rns /dtk and the
derivative of the Euler angles follows from (28) modulo heading are constant. Hence, the velocity of {s} in
substitution a, d by n, b:
{n} expressed in {s} is
b
nb = Tb (nb ) .
s
n
(40)
nb
vns
= Rsn vns
= [U, 0, 0]T .
(47)
As in the case of the linear velocities,
Z t
bnb d
0
In a similar fashion as we did for manoeuvring kinematics, we can consider the linear and angular velocity
of the vessel ({b}) relative to {s} expressed in {b}:
b
vsb
= Rbs r ssb , [u, v, w]T ,
(48)
(50)
sb
and the generalised velocity vector (linear-angular vewith
Note that
Jnb ()1
Rbn (nb )
, Jbn () =
033
24
, ,
033
,
T1
b (nb )
(53)
(45) where 1 , 2 , 3 are the surge, sway and heave perturbation displacements, and 4 , 5 , 6 are the roll, pitch and
6 Jnb ()T because Tb is not orthogonal. yaw perturbation angles.
=
Perez and Fossen, Kinematic Models for Manoeuvring and Seakeeping of Marine Vessels
~nb = ~sb .
(65)
Jsb () ,
(56)
1 = U col1 (Rbs )
c c
= U s c + c s s ,
s s + c c s
(68)
By expressing this in coordinate form in {n}, we obtain where col (R) denotes the j-column of the matrix R.
j
rnnb = rnns + Rns rssb .
(57) Taking small angle approximations and considering
only linear terms, we obtain
Taking the time derivative gives
1
n
n
n s
r nb = r ns + Rs r sb .
(58)
1 U .
(69)
n
Note that the time-derivative of Rs is zero because {s}
does not rotate with respect to {n}. Further, the last Hence, (67) can be approximated by
expression can be written as
U (L + e1 ) + ,
(70)
r nnb = r nns + Rns Rsb r bsb ,
(59)
with
= r nns + Rnb r bsb .
0 0 0
If we express the latter in {b}, we obtain the sought
0 0 1
relationship for the linear velocities:
T
e1 , [1, 0, . . . , 0] , L , 0 1 0 . (71)
b n
b n
b
n b
.. . .
..
..
Rn r nb = Rn r ns + Rn Rb r sb ,
.
.
.
.
(60)
b
n
b
vnb
= Rbn vns
+ vsb
.
0 0 0
Let us split the linear and angular part of the velocity To obtain the relation between accelerations we take
vectors:
the time derivative of (67):
1
= 1 , =
,
(61)
2
2
=
+ .
(72)
T
where 1 = [u, v, w] , 2 = [p, q, r]T , 1 =
. From (63) it follows
[u, v, w]T , and 2 = [p, q, r]T . Then from (60) The key issue here is to find
that
it follows that
1 + 1 ,
1 =
(62)
U
0
0
q
U cos
U
= U r col2 (Rbs ) + U q col3 (Rbs ).
1 , Rbn U sin = Rbs 0 .
(63)
0
0
Taking small angle approximations
To obtain the angular velocity transformation, we can
1 U r 1 + U q .
(74)
~nb =
~ ns + ~sb .
(64)
1
25
6 Application to Equations of
Motion Transformation
1 U r = U L,
q
U L + ,
(76) forces) to body-fixed coordinates. These transformations can be done in different ways using different apFinally, we can also relate to the vessel trajectory. proximations. This is the topic of this section, which
Indeed, from (59) it follow that
makes use of the kinematic models developed in the
previous sections of the paper
U cos
(77)
1 = U sin + Rnb 1 .
6.1 Rigid-body Mass and Inertia Tensor
0
The vessel rigid-body generalized mass matrix about
the origin of {b} is of the form
Also, from (40) and (65) it follows that
nb = Td (nb ) b
2 =
nb
= Td (nb ) bsb
(78)
= Td (nb ) 2 .
bnb = bsb ,
which results in
nb =
sb .
Integrating, we obtain
nb = sb + ns ,
that is,
0
= + 0 .
(84)
(85)
mI33 mS(rbbg )
,
mS(rbbg )
Ibb/b
(79)
~ nb =
~ sb
Therefore,
U cos
= U sin + Jnb ()
041
MbRB =
Ibb/g
2
y + z2
xy
=
b
xz
Z
xy
x2 + z 2
yz
xz
yz dm.
2
x + y2
(86)
(89)
(83) This shows that the inertia tensor will not be constant in an inertial frame if {b} rotates with respect
to {i}. Therefore, it is always convenient to formulate
Tables 1, 2 and 3 in the Appendix summarize the no- the equations of motion in a body-fixed rather than
tation.
inertial coordinate system.
26
Perez and Fossen, Kinematic Models for Manoeuvring and Seakeeping of Marine Vessels
+ CRB () = ,
(100)
(90)
CRB,22 =
mS(S( 1 )rbbg )
bg
b
S(Ib/b 2 ),
with
p = H1 (rbbp )
p = HT (rbbp )
MpRB = HT (rbbp )MbRB H1 (rbbp )
(104)
(94) where
MRB , MbRB .
with
0
, 33
033
0
H1 (rbbp ) , 33
033
H(rbbp )
ST (rbbp )
,
I33
S(rbbp )
.
I33
MRB
(99)
(108)
27
M + CRB + CA + B
B
Z t
srad = A
(115)
Z t
+
K(t t )[(t ) + U L(t )]dt
)dt G, (111)
0
K(t t )(t
0
+ G = bexc + b ,
= lim A() and B
= lim B() are
where A
where
the constant infinite frequency added mass and potential damping matrices, G is the restoring matrix, and
CRB , MRB U L,
K(t) are retardation functions (Ogilvie, 1964):
L,
(116)
CA , AU
Z
b
.
cos(t) d.
, B
K(t) =
(B() B)
0
therefore
in
these
cases,
C
should
be
set
to
zero
so
as
A
(MRB + A) + B
Z t
not incorporate the terms twice in (115). If a motion
)dt + G = s . (112) control system is designed, the control forces will have
+
K(t t )(t
exc
0
two components, e.g., bc = b + bP ID , where the first
The convolution term represents the fluid memory ef- term is the force that sets the equilibrium, and the
fect; that is, the change in fluid momentum due to the second one corrects the deviations from it.
For the case of station keeping or manoeuvring at
motion of the hull at a particular time instant affects
low
speed, these reduce to
the motion of the vessel at all subsequent times.
Z t
6.5 Seakeeping Equations of Motion in {b} M + K(t t )(t )dt + G = bexc ,
(117)
0
In order to design control systems, it is convenient to
= Jnb ().
express (112) in {b} rather than in {s}. Hydrodynamic
programs compute srad and sexc based on potential Note that (115) and (117) are based on potential thetheory. These forces are calculated by integrating the ory. Therefore, a viscous damping term Bv can be
pressure of the fluid over the wetted surface of the hull. added to the left-hand side of (115) and (117)see
The reason for using the {s} coordinate system is be- Bailey et al. (1997); Fossen and Smogeli (2004); Fossen
cause these forces are computed for the vessel in its (2005); Smogeli et al. (2005); Perez (2005); Perez and
equilibrium position. To express these forces in {b}, Fossen (2006).
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 7 Conclusions
forces in {b} as
In this paper, the kinematic models most commonly
b
used for the description of ship motion were derived
B
rad A
using the formalism of the robotics literature. The clasZ t
K(t t )(t )dt G. (113) sical transformation used in ship manoeuvring, which
0
relates the body-fixed linear and angular velocity to
vanishes for the case of zero forward
The matrix B
speed. Substituting (111) into (109) leads to the linear
seakeeping vector equation of motion (Cummins Equation):
28
Perez and Fossen, Kinematic Models for Manoeuvring and Seakeeping of Marine Vessels
the position and orientation in local geographical co- Fossen, T. and Smogeli, . Nonlinear time-domain
ordinates was revisited. The kinematic models used in
strip theory formulation for low speed manoeuvring
seakeeping, together with the simplifying assumptions
and station-keeping. Modelling Identification and
that lead to them, were considered with a notation
ControlMIC, 2004. 25(4).
consistent with that used in manoeuvring. Transformation between variables were derived, and the results Graham, R. Motion-induced interruptions as ship operability criteria. Naval Engineers Journal, 1990.
were applied to expressing the seakeeping equations of
103(3).
motion in terms of manoeuvring variables. The latter provides the basis for models that can be used in Journee, J. and Adegeest, L.
Theoretical Manguidance and motion control systems.
ual of Strip Theory Program SEAWAY for Windows. TU Delft, Delft University of Technology,
www.ocp.tudelft.nl/mt/journee, 2003.
Acknowledgments
References
Bailey, P., Price, W., and Temarel, P. A unified mathematical model describing the manoeuvring of a ship Perez, T. Ship Motion Control: Course Keeping and
Roll Reduction using rudder and fins. Advances in
in seaway. Transactions The Royal Institution of
Industrial Control. Springer-Verlag, London, 2005.
Naval ArchitectsRINA, 1997. 140:131149.
Bishop, R. and Price, W. On the use of equilibrium axes and body axes in the dynamics of a rigid
ship. Journal of Mechanical Engieering Scinece,
1981. 23(5):243256.
Perez, T. and Fossen, T. Time-domain models of marine surface vessels for simulation and control design based on seakeeping computations. In Proc.
7th IFAC Conference on Manoeuvring and Control
of Marine Craft MCMC. Lisbon, Portugal, 2006 .
Cummins, W. The impulse response function and ship Rao, A. Dynamics of Particles and Rigid Bodies A
motion. Technical Report 1661, David Taylor Model
Systematic Approach. Cambridge University Press,
BasinDTNSRDC, 1962.
2006.
Egeland, O. and Gravdahl, J. Modeling and Simulation Sciavicco, L. and Siciliano, B. Modelling and Control of
Robot Manipulators. Advanced Textbooks in control
for Automatic Control. Marine Cybernetics, Trondand Signal Processing. Springer-Verlag London (5th
heim, 2002.
printing), 2004.
Faltinsen, O. Hydrodynamic of High-speed Marine VeSmogeli, ., Perez, T., Fossen, T., and Srensen, A.
hicles. Cambridge University Press, 2005.
The marine systems simulator state-space model representation for dynamically positioned surface vesFathi, D. ShipX Vessel Responses (VERES). Marinsels. In International Maritime Association of the
tek AS Trondheim, http://www.marintek.sintef.no/,
Mediterranean IMAM Conference, Lisbon, Portugal.
2004.
2005 .
Fossen, T. Marine Control Systems: Guidance, Navigation and Control of Ships, Rigs and Underwater SNAME. Nomenclature for treating the motion of a
submerged body through a fluid. Technical Report
Vehicles. Marine Cybernetics, Trondheim, 2002.
Bulletin 1-5, Society of Naval Architects and Marine
Engineers, New York, USA, 1950.
Fossen, T. A nonlinear unified state-space model for
ship maneuvreing and control in a seaway. In In- WAMIT. WAMIT User Manual. www.wamit.com,
ternational Journal of Bifurcation and Chaos, vol2004.
ume 15. 2005 pages 27172746.
29
A Summary of Variables
Table 1: Scalar variables used the manoeuvring and
seakeeping.
Variable
Name
Frame
N
E
D
u, u
v, v
w, w
p, p
q, q
r, r
1
2
3
4 =
5 =
6 =
North position
East position
Down position
Roll angle
Pitch angle
Heading or yaw angle
Surge speed, Surge pert. speed
Sway speed, Sway pert. speed
Heave speed, Heave pert. speed
Roll rate, Roll perturbation rate
Pitch rate, Pitch perturbation rate
Yaw rate, Yaw perturbation rate
Surge perturbation displacement
Sway perturbation displacement
Heave perturbation displacement
Roll perturbation angle
Pitch perturbation angle
Yaw perturbation angle
{n}
{n}
{n}
{b}
{b}
{b}
{b}
{b}
{b}
{s}
{s}
{s}
-
Description
T
rn
nb = [N, E, D]
b = [u, v, w]T
vnb
bnb = [p, q, r]T
nb = [, , ]T
T
T T
= [(rn
nb ) , (nb ) ]
b
T
b
T
= [(vnb ) , (nb ) ]T
= Jn
b ()
Description
rssb
b = [u, v, w]T
vsb
bsb = [p, q, r]T
sb = [, , ]T
= [(rssb )T , (sb )T ]T
=
b )T , (b )T ]T
= [(vsb
sb
30