6dof
DESCRIPTION
RoboticsTRANSCRIPT
6 DOF Equations of Motion
Kinematics
η = J(η)ν
Dynamics
Mν +C(ν)ν +D(ν)ν + g(η) = τ + go +w
where
M = system inertia matrix (incl. added mass)C(ν) = Coriolis-centripetal matrixD(ν) = damping matrixg(η) = vector of gravitational/buoyancy termsτ = vector of control inputsgo = vector used for ballast controlw = vector of wind, waves and currents dist.
Rigid-Body Dynamics
Newton’s 2nd Law in terms of conservation of both
linear ~pc and angular momentum ~hc ⇒
Euler’s 1st and 2nd Axioms
~pc :=~fc ~pc := m~vc
~hc := ~mc ~hc := Ic~ωib
For marine vessels it is desirable to derive the equa-
tions of motion for an arbitrary origin O in the b-
frame to take advantage of the vessel’s geometrical
properties.
Since the hydrodynamic and kinematic forces and mo-
ments are given in the b-frame we will formulate New-
ton’s laws in the b-frame as well.
O CG
inertial frame
ro
rc
rgr
r'
Figure 1: Definition of the volume element dV and
the coordinate origins O and CG.
The b-frame coordinate system is rotating with re-spect to the i-frame (inertial system). Hence:
~vc = ~vo + ~ωib × ~rgFor marine vessels: assume NED (n-frame) is an ap-proximative inertial frame by neglecting the Earth ro-tation ~ωie and the angular velocity ~ωen (small varia-tions in longitude/latitude) ⇒
~ωib = ~ωie + ~ωen + ~ωnb ≈ ~ωnb
6 DOF Rigid-Body Equations of Motion
Application of Euler’s axioms ⇒ (after many manip-
ulations):
m[vbo + ωbnb × rbg + ωbnb×vbo + ωbnb×(ωbnb×rbg)] = fboIoω
bnb+ω
bnb× Ioωbnb+mrbg× (vbo+ωbnb×vbo) =mbo
Notation SNAME (1950)
fbo = [X,Y,Z]T force decomposed in the b-frame
mbo = [K,M,N ]T moment decomposed in the b-frame
vbo = [u, v, w]T velocity decomposed in the b-frame
ωbnb = [p, q, r]T angular velocity of the b-frame
relative to the n-frame
rbg = [xg, yg, zg]T distance from O to CG
decomposed in the b-frame
Alternative representaton (using the S-matrix):
m[vbo + S(ωbnb)r
bg + S(ω
bnb)v
bo + S
2(ωbnb)rbg] = f
bo
Ioωbnb+S(ω
bnb)Ioω
bnb+mS(r
bg)v
bo+mS(r
bg)S(ω
bnb)v
bo =m
bo
Definition (Inertia Matrix)
The inertia matrix Io ∈ <3×3 about O is defined as:
Io :=
Ix −Ixy −Ixz−Iyx Iy −Iyz−Izx −Izy Iz
; Io = ITo > 0.
where Ix, Iy and Iz are the moments of inertia about
the xb, yb and zb-axes and Ixy = Iyx, Ixz = Izx and
Iyz = Izy are the products of inertia defined as:
Ix =RV (y
2 + z2) ρmdV ;Iy =
RV (x
2 + z2) ρmdV ;Iz =
RV (x
2 + y2) ρmdV ;
Ixy =RV xy ρmdV =
RV yx ρmdV = Iyx
Ixz =RV xz ρmdV =
RV zx ρmdV = Izx
Iyz =RV yz ρmdV =
RV zy ρmdV = Izy
In practise it is convenient to compute the inertia ma-
trix Ic ∈ <3×3 about the CG and transform this ma-
trix to the b-frame by using the parallel axes theorem.
Parallel Axes Theorem
The inertia matrix Io = ITo ∈ <3×3 about an arbitraryorigin O is:
Io = Ic −mS2(rbg)where I3×3 is the identity matrix, Ic = ITc ∈ <3×3 isthe inertia tensor about the body’s center of gravity.
Example (Cylinder with radius R and height H)
dV = dxdydz = (rdrdθ)dz
Polar coordinates
x = r cos θ, y = r sin θ
Moment of inertia (CG)
Icgz =ZV(x2+y2)dxdydz =
Z H2
−H2
Z 2π0
Z R0r3drdθ =
π
2R4H
Transform to O: paralell axes theorem (element 3,3)
Ioz = Icgz +m(x2g + y
2g)
Rigid-Body Dynamics: Component Form
mhu− vr + wq − xg(q2 + r2) + yg(pq − r) + zg(pr + q)
i= X
mhv −wp+ ur − yg(r2 + p2) + zg(qr − p) + xg(qp+ r)
i= Y
mhw − uq + vp− zg(p2 + q2) + xg(rp− q) + yg(rq + p)
i= Z
Ixp+ (Iz−Iy)qr − (r + pq)Ixz+(r2−q2)Iyz+(pr − q)Ixy+m [yg(w − uq + vp)− zg(v − wp+ ur)] = K
Iyq + (Ix−Iz)rp− (p+ qr)Ixy+(p2−r2)Izx+(qp− r)Iyz+m [zg(u− vr + wq)− xg(w − uq + vp)] =M
Izr + (Iy−Ix)pq − (q + rp)Iyz+(q2−p2)Ixy+(rq − p)Izx+m [xg(v −wp+ ur)− yg(u− vr +wq)]) = N
The three first equations represent the translational
motion while the three last equations represent the
rotational motion.
Vectorial Representation
Fossen (1991):
MRBν +CRB(ν)ν = τRB
ν = [u, v, w, p, q, r]T generalized vector of velocity
decomposed in the b-frame
τRB = [X,Y,Z,K,M,N ]T generalized vector of ex-
ternal forces and moments.
System Inertia Matix
Constant and positive definite i.e.:
MRB =MTRB > 0; MRB = 0
where
MRB =
"mI3×3 −mS(rbg)mS(rbg) Io
#
=
m 0 0 0 mzg −myg0 m 0 −mzg 0 mxg0 0 m myg −mxg 00 −mzg myg Ix −Ixy −Ixzmzg 0 −mxg −Iyx Iy −Iyz−myg mxg 0 −Izx −Izy Iz
I3×3 =identity matrix
Io = ITo > 0 is the inertia tensor with respect to O
S(rbg) =skew symmetric matrix for rbg = [xg, yg, zg]
T
Coriolis-Centripetal Matrix
A skew-symmetrical Representation:
CRB(ν) = −CTRB(ν) ∀ ν ∈ <6can be found by the following theorem:
Theorem (Coriolis-Centripetal Matrix from
System Inertia Matrix)
Let M be an 6× 6 system inertia matrix defined as:
M =MT =
"M11 M12M21 M22
#> 0
Hence:
C(ν) =
"03×3 −S(M11ν1 +M12ν2)
−S(M11ν1 +M12ν2) −S(M21ν1 +M22ν2)
#where ν1 = [u, v, w]
T and ν2= [p, q, r]T .
Proof: Sagatun and Fossen (1991)
Application of this Theorem with M =MRB yields:
CRB(ν) =
¯¯ 03×3−mS(ν1)−mS(S(ν2)rbg)−mS(ν1)−mS(S(ν2)rbg)mS(S(ν1)r
bg)− S(Ioν2)
#Component form (Fossen 1991)
CRB(ν) =
0 0 00 0 00 0 0
−m(ygq + zgr) m(ygp+w) m(zgp− v)m(xgq − w) −m(zgr + xgp) m(zgq + u)
m(xgr + v) m(ygr − u) −m(xgp+ ygq)
m(ygq + zgr) −m(xgq −w) −m(xgr + v)−m(ygp+w) m(zgr + xgp) −m(ygr − u)−m(zgp− v) −m(zgq + u) m(xgp+ ygq)
0 −Iyzq − Ixzp+ Izr Iyzr + Ixyp− IyqIyzq + Ixzp− Izr 0 −Ixzr − Ixyq + Ixp−Iyzr − Ixyp+ Iyq Ixzr + Ixyq − Ixp 0
Alternative skew-symmetric representations (Fossen and
Fjellstad 1995):
CRB(ν) =
¯¯ 03×3−mS(ν1) +mS(rbg)S(ν2)−mS(ν1)−mS(ν2)S(rbg)
−S(Ioν2)
#
CRB(ν) =
"mS(ν2) −mS(ν2)S(rbg)
mS(rbg)S(ν2) −S(Ioν2)
#
CRB(ν) =
"mS(ν2) −mS(S(ν2)rbg)
−mS(S(ν2)rbg) mS(S(ν1)rbg)− S(Ioν2)
#
Notice that all these 4 representations implies that the
vectors:
fc = CRB(ν)ν
are equal while the matrices CRB(ν) are different
even thought CRB(ν) = C−TRB(ν).
The Matlab Script M2C
function C = m2c(M,nu)
% C = M2C(M,nu) computes the 6x6 C-matrix from
% the 6x6 system inertia matrix M and nu
%
% 8th June 2000 - Thor I. Fossen
nu1 = nu(1:3);
nu2 = nu(4:6);
M11 = M(1:3,1:3);
M12 = M(1:3,4:6);
M21 = M12;
M22 = M(4:6,4:6);
dt_dnu1 = M11*nu1 + M12*nu2;
dt_dnu2 = M21*nu1 + M22*nu2;
C = [ zeros(3,3) -Smtrx(dt_dnu1)
-Smtrx(dt_dnu1) -Smtrx(dt_dnu2) ];
Hydrodynamic Forces and Moments
In hydrodynamics it is common to assume that the
hydrodynamic forces and moments can be linearly su-
perposed (Faltinsen 1990).
Radiation-Induced Forces
Forces on the body when the body is forced to oscillate
with the wave excitation frequency and there are no
incident waves.
(1) Added mass due to the inertia of the surrounding
fluid.
(2) Radiation-induced potential damping due to the
energy carried away by generated surface waves.
(3) Restoring forces (weight and buoyancy).
Radiation-Induced Forces
τR = −MAν −CA(ν)ν| {z }added mass
− DP (ν)ν| {z }potential damping
− g(η) + go| {z }restoring forces
In addition to potential damping we have to include
other damping effects like:
τD = − DS(ν)ν| {z }skin
friction
− DW (ν)ν| {z }wave drift
damping
− DM(ν)ν| {z }damping due to
vortex shedding
Total hydrodynamic damping matrix D(ν) as:
D(ν) := DP (ν) +DS(ν) +DW (ν) +DM(ν)
Hydrodynamic forces and moments (τH = τR+τD)
τH = −MAν −CA(ν)ν −D(ν)ν − g(η) + go
Environmental Disturbances
The resulting environmental force and moment vector
is denoted as w. This vector inludes:
Wind + Waves + Currents
Resulting Model
This implies that the rigid-body dynamics is:
MRBν +CRB(ν)ν = τRBτRB = τH +w+ τ
where τ is the propulsion forces and moments.
Mν +C(ν)ν +D(ν)ν + g(η) = go +w+ τ
where
M =MRB +MA; C(ν) = CRB(ν) +CA(ν)
Hydrodynamic Added Mass
The concept of added mass is usually misunderstood
to be a finite amount of water connected to the ve-
hicle such that the vehicle and the fluid represents a
new system with mass larger than the original system.
This is not true since the vehicle motion will force the
whole fluid to oscillate with different fluid particle am-
plitudes in phase with the forced harmonic motion of
the vehicle. However, the amplitudes will decay far
away from the body and may therefore be negligible.
Lagrange’s Equation
Kinetic T and potential V energy ⇒d
dt
̶L
∂η
!− ∂L
∂η= J−T (η)τ , L = T − V
where η = [x, y, z,φ, θ,ψ]T .
Kirchhoff’s Equations (Kirchhoff 1869)
Kinetic energy T = 12νTMν ⇒
d
dt
̶T
∂ν1
!+ S(ν2)
∂T
∂ν1= τ 1
d
dt
̶T
∂ν2
!+ S(ν2)
∂T
∂ν2+ S(ν1)
∂T
∂ν1= τ 2
where ν1 = [u, v, w]T ,ν2 = [p, q, r]
T , τ 1 = [X,Y,Z]T
and τ 2 = [K,M,N ]T . Notice that Kirchhoff’s equa-tions do not include the gravitational forces, that ispotential energy.
Fluid Kinetic Energy
Fluid kinetic energy TA (Lamb 1932)
TA =1
2νTMAν
MA is the 6× 6 added mass system inertia matrix:
MA =
"A11 A12A21 A22
#
= −
Xu Xv Xw Xp Xq XrYu Yv Yw Yp Yq YrZu Zv Zw Zp Zq ZrKu Kv Kw Kp Kq KrMu Mv Mw Mp Mq MrNu Nv Nw Np Nq Nr
The notation of (SNAME 1950) is used in this expres-
sion; e.g. the hydrodynamic added mass force Y along
the y-axis due to an acceleration u in the x-direction
is written as:
Y = −Yuu where Yu :=∂Y
∂u
Kirchhof’s equations ⇒
XA = Xuu+Xw(w + uq) +Xqq + Zwwq + Zqq2
+Xvv +Xpp+Xrr − Yvvr − Yprp− Yrr2−Xvur − Ywwr+Ywvq + Zppq − (Yq − Zr)qr
YA = Xvu+ Yww + Yqq
+Yvv + Ypp+ Yrr +Xvvr − Ywvp+Xrr2 + (Xp − Zr)rp− Zpp2
−Xw(up− wr) +Xuur − Zwwp−Zqpq +Xqqr
ZA = Xw(u− wq) + Zww + Zqq −Xuuq −Xqq2
+Ywv + Zpp+ Zrr + Yvvp+ Yrrp+ Ypp2
+Xvup+ Ywwp
−Xvvq − (Xp − Yq)pq −Xrqr
KA = Xpu+ Zpw +Kqq −Xvwu+Xruq − Yww2 − (Yq − Zr)wq +Mrq2
+Ypv +Kpp+Krr + Ywv2 − (Yq − Zr)vr + Zpvp−Mrr
2 −Kqrp
+Xwuv − (Yv − Zw)vw − (Yr + Zq)wr − Ypwp−Xqur
+(Yr + Zq)vq +Krpq − (Mq −Nr)qrMA = Xq(u+ wq) + Zq(w − uq) +Mqq −Xw(u
2 − w2)− (Zw −Xu)wu
+Yqv +Kqp+Mrr + Ypvr − Yrvp−Kr(p2 − r2) + (Kp −Nr)rp
−Ywuv +Xvvw − (Xr + Zp)(up− wr) + (Xp − Zr)(wp+ ur)−Mrpq +Kqqr
NA = Xru+ Zrw +Mrq +Xvu2 + Ywwu− (Xp − Yq)uq − Zpwq −Kqq
2
+Yrv +Krp+Nrr −Xvv2 −Xrvr − (Xp − Yq)vp+Mrrp+Kqp
2
−(Xu − Yv)uv −Xwvw + (Xq + Yp)up+ Yrur + Zqwp
−(Xq + Yp)vq − (Kp −Mq)pq −Krqr
Imlay (1961) arranged the equations in four lines with
longitudinal components on the 1st line and lateral
components on the 2nd line.
The 3rd line consists of mixed terms involving u or
w as one factor. If one or both of these velocities
are large enough to be treated as a constant the third
line may be treated as an additional term to the lateral
equation of motion.
The 4th line contains mixed terms that usually can be
neglected as 2nd-order terms.
From the system inertia matrix MA we can computethe added mass Coriolis-centripetal matrix as:
CA(ν) = −CTA(ν) ∀ ν ∈ <6
CA(ν) =
"03×3 −S(A11ν1 +A12ν2)
−S(A11ν1 +A12ν2) −S(A21ν1 +A22ν2
#where Aij (i, j = 1, 2) are defined in:
MA =
"A11 A12A21 A22
#Component form:
CA(ν) =
0 0 0 0 −a3 a20 0 0 a3 0 −a10 0 0 −a2 a1 00 −a3 a2 0 −b3 b2a3 0 −a1 b3 0 −b1−a2 a1 0 −b2 b1 0
a1 = Xuu+Xvv +Xww +Xpp+Xqq +Xrra2 = Xvu+ Yvv + Yww + Ypp+ Yqq + Yrra3 = Xwu+ Ywv + Zww + Zpp+ Zqq + Zrrb1 = Xpu+ Ypv + Zpw +Kpp+Kqq +Krrb2 = Xqu+ Yqv + Zqw +Kqp+Mqq +Mrrb3 = Xru+ Yrv + Zrw +Krp+Mrq +Nrr
Property (MA)
For a rigid-body at rest (U ≈ 0) under the assumptionof an ideal fluid, no incident waves, no sea currentsand zero frequency:
MA =MTA > 0
––—
Remark 1: In a real fluid the 36 elements of MAmay all be distinct but still MA > 0. Experience hasshown that the numerical values of the added massderivatives in a real fluid are usually in good agreementwith those obtained from ideal theory (Wendel 1956).
Remark 2: It should be noted that for surface shipsmoving with a speed U À 0 in waves, Salvesen etal. (1970) have shown by applying strip theory thatMA(U) 6= MT
A(U). However, for underwater vehi-cles (ROVs) and foilborne catamarans operating out-side the wave-affected zone, symmetry and frequencyindependence have been shown to be reasonable as-sumptions. This is also a good approximation for po-sitioned ships (U ≈ 0).
Example: Ships
For surface ships like tankers, cargo ships, cruise-liners
etc. it is common to decouple the surge mode from
the steering dynamics due to xz-plane symmetry. Sim-
ilarly, the heave, pitch and roll modes are neglected
under the assumption that these motion variables are
small.
High speed MA(U)6=MTA(U): XY
N
=
Xu 0 00 Yv Yr0 Nv Nr
uvr
+
0 0 −Y vv−12 (Y r+Nv)| {z }Yr
r
0 0 Xuu
Yvv+12 (Y r+Nv)| {z }
Yr
r −Xuu 0
uvr
Low speed (station-keeping) MA =MTA ⇒ Yr = Nv
Example: Underwater Vehicles
An underwater vehicle moving in 6 DOF (at highspeed) will be highly nonlinear and coupled. How-ever, in many ROV applications the vehicle will onlybe allowed to move at low speed. If the vehicle alsohas three planes of symmetry, this suggests that wecan neglect the contribution from the off-diagonal el-ements in the matrix MA.
MA = −diag{Xu, Yv, Zw,Kp,Mq,Nr}
CA(ν) =
0 0 0 0 −Zww Yvv0 0 0 Zww 0 −Xuu0 0 0 −Y vv Xuu 00 −Zww Yvv 0 −Nrr Mqq
Zww 0 −Xuu Nrr 0 −Kpp−Y vv Xuu 0 −Mqq Kpp 0
The diagonal structure is highly attractive since off-diagonal elements are difficult to determine from ex-periments as well as theory. In practice, the diagonalapproximation is found to be quite good for many ap-plications.
Hydrodynamic Damping
Potential Damping: forces on the body when the body
is forced to oscillate with the wave excitation fre-
quency and there are no incident waves will result
in added mass, damping and restoring forces and
moments. The radiation-induced damping term is
usually referred to as potential damping. How-
ever, the contribution from the potential damp-
ing terms compared to other dissipative terms like
viscous damping terms is usually negligible.
Skin Friction: Linear skin friction due to laminar bound-
ary layer theory is important when considering the
low-frequency motion of the vessel. In addition to
linear skin friction there will be a high-frequency
contribution due to turbulent boundary layer the-
ory. This is usually referred to as a quadratic or
nonlinear skin friction.
Wave Drift Damping: Wave drift damping can be in-
terpreted as added resistance for surface vessels
advancing in waves (2nd-order wave theory).
Damping Due to Vortex Shedding: In a viscous fluid,
frictional forces are present due to vortex shedding
(Morison’s equation):
f(U) = −12ρ CD(Rn) A|U |U
where U is the speed of the vessel, A is the pro-
jected cross-sectional area under water, CD(Rn)
is the drag-coefficient based on the representative
area and ρ is the water density. The drag coeffi-
cient CD(Rn) depends on the Reynolds number:
Rn =UD
ν
where D is the characteristic length of the body
and ν is the kinematic viscosity coefficient.
6 DOF quadratic drag:
Dn(ν)ν =
|ν|TDn1ν|ν|TDn2ν|ν|TDn3ν|ν|TDn4ν|ν|TDn5ν|ν|TDn6ν
Total hydrodynamic damping:
105 106 1070.2
0.4
0.6
0.8
1
Rn
Cd
k/D = 110 E-5
k/D = 450 E-5
k/D = 900 E-5
Figure 1: (Faltinsen 1990).
D(ν) = D+Dn(ν)
whereD is linear damping andDn(ν) is nonlinear
damping.
Property (D(ν))
For a rigid-body moving through an ideal fluid the hy-
drodynamic damping matrix will be real, non-symmetrical
and strictly positive:
D(ν) > 0 ∀ ν ∈ <6.
Example: Damping Model for DP
For low speed ships with xz-symmetry we can decou-
ple the surge mode from the steering modes (sway
and yaw). Hence, the linearized damping forces and
moments (neglecting heave, roll and pitch) can be
written:
D = − Xu 0 00 Yv Yr0 Nv Nr
For low speed applications it can also be assumed that
Nv = Yr.
Example: Ad Hoc Damping Model for High
Speed
For maneuvers at high speed nonlinear dampingDn(ν)must be include:
D(ν) = D+Dn(ν)
A first attempt could be to use a damping model mo-tivated by Morrison’s equation, that is:
Dn(ν) = −diag{X|u|u |u| , Y|v|v |v| , N|r|r |r|}
It should be noted that it is important to include bothlinear and quadratic damping since only quadratic damp-ing in the model will yields an oscillatory behavior atlow speed.
Linear damping ⇒ exponential convergence to zero.
For marine vessels, however, linear damping will bepresent due to linear skin friction
Only linear damping ⇒ stability problems at highspeed e.g. due to Coriolis terms.
Example: Nonlinear Maneuvering Model
Norrbin’s (1970) nonlinear model (assuming that surge
is decoupled) ⇒
Dn(ν) =
−X|u|u |u| 0
0 −Y|v|v |v|− Y|r|v |r|0 −N|v|v |v|−N|r|v |r|
0−Y|v|r |v|− Y|r|r |r|−N|v|r |v|−N|r|r |r|
For larger ships |r| r is small. This suggests (Blanke1981):
Dn(ν) =
−X|u|u |u| 0 0
0 −Y|v|v |v| −Y|v|r |v|0 −N|v|v |v| −N|v|r |v|
Example: Underwater Vehicles
In general, the damping of an underwater vehicle mov-
ing in 6 DOF at high speed will be highly nonlinear and
coupled. A rough approximation could be to assume
that the vehicle is performing a non-coupled motion
⇒D = −diag{Xu, Yv, Zw,Kp,Mq,Nr}
Dn(ν) = −diag{X|u|u|u|, Y|vv||v|, Z|w|w|w|,K|p|p|p|,M|q|q|q|, N|r|r|r|}
As for ships quadratic damping can be neglected dur-
ing station-keeping.
Restoring Forces and Moments
In the hydrodynamic terminology, the gravitational
and buoyant forces are called restoring forces. The
restoring forces are equivalent to the spring forces kx
in a mass-damper-spring system:
mx+ dx+ kx = τ
We will be distinguished between:
• underwater vehicles (submerged bodies)
• surface vessels (ships, semi-submersibles and high-speed craft)
z
fg
CGCB
fb
n
n
Figure 2: Gravitational and buoyancy forces attacking
in the CG and the CB.
The gravitational force fbg act through the center of
gravity (CG), rbg = [xg, yg, zg]T
The buoyant force fbb act through the center of buoy-
ancy (CB), rbb = [xb, yb, zb]T .
m = mass of the vessel including water in freefloating spaces
∇ = volume of fluid displaced by the vehicleg = acceleration of gravity (positive downwards)ρ = water density
fng =
00W
, fnb = − 00B
where W = mg is the weight and B = ρg∇ is the
buoyancy.
The weight and buoyancy force can be transformed to
the body-fixed coordinates by:
fbg = Rnb (Θ)
−1fng , fbb = Rnb (Θ)
−1fnbwhere Rnb (Θ) is the Euler angle coordinate transfor-
mation matrix.
Consequently:
g(η) = −"
fbg + fbb
rbg × fbg + rbb × fbb
#
= −"
Rnb (Θ)−1(fbg + fbb )
rbg ×Rnb (Θ)−1fbg + rbb ×Rnb (Θ)−1fnb
#
Expanding this expression yields:
g(η) =
(W −B) sθ−(W −B) cθsφ−(W −B) cθcφ−(ygW − ybB) cθcφ+ (zgW − zbB) cθsφ(zgW − zbB) sθ + (xgW − xbB) cθcφ−(xgW − xbB) cos θsφ− (ygW − ybB) sθ
Replace Rnb (Θ) with Rnb (q) ⇒ Quaternion represen-
tation of g(η)
A neutrally buoyant underwater vehicle will satisfy:
W = B
It is convenient to design underwater vehicles withB > W (positive buoyancy) such that the vehiclewill surface automatically in the case of an emergencysituation for instance power failure. If the vehicle isdesigned such that B À W to much control energyis needed to keep the vehicle at constant depth
⇒ trade-off between positive buoyancy and controlla-bility.
Example: Neutrually Buoyant Underwater
Vehicle
Let the distance between the center of gravity CG and
the center of buoyancy CB be defined by the vector:
BG = [BGx, BGy, BGz]T
= [xg − xb, yg − yb, zg − zb]T
For neutrally buoyant vehicles W = B. Hence:
g(η) =
000
−BGyW cos θ cosφ+BGzW cos θ sinφBGzW sin θ +BGxW cos θ cosφ−BGxW cos θ sinφ−BGyW sin θ
An even simpler representation is obtained for vehicles
where the CG and CB are located vertically on the z-
axis, that is xb = xg and yg = yb. This yields:
g(η) =h0, 0, 0, BGzW cosθsinφ, BGzW sinθ, 0
iT
-10 -8 -6 -4 -2 0 2 4 6 8 10-10
-8
-6
-4
-2
0
2
4
6
8
10
u (m/s)
station-keeping|u| < 2 m/s
linear damping: 0.5 u
quadratic damping: 0.05 |u|u
linear + quadratic damping
Figure 3: Linear and quadratic damping and their
regimes (low and high speed).
Surface Vessels
Let Awp denote the water plane area and:
GMT = transverse metacentric height (m)GML = longitudinal metacentic height (m)
Gravity and Buoyancy
For a floating vessel in rest
mg = ρg∇Let z denote the displacement in heave
Z = mg − ρg (∇+ δ∇(z))= −ρgδ∇(z)
δ∇ =Z z0Awp(z)dz
Assume that Awp(z) ≈ Awp(0) =constantZ = −ρgAwp(0) z
Spring with stiffness Zz = −ρgAwp(0) and positionz.
The restoring force decomposed in the b frame
δfbr = Rnb (Θ)−1δfnr
= Rnb (Θ)−1
00
−ρg R z0 Awp(z)dz
= −ρg − sin θcos θ sinφcos θ cosφ
Z z0Awp(z)dz
Moment arms in roll and pitch
rbr =
−GML sin θGMT sinφ
0
Force pair in the z-direction with magnitude
W = B = ρg∇.
fbr = Rnb (Θ)
−1 0
0−ρg∇
= −ρg∇ − sin θcos θ sinφcos θ cosφ
The restoring moments:
mbr = rbr × fbr
= −ρg∇ GMT sinφ cos θ cosφ
GML sin θ cos θ cosφ(−GML cos θ +GMT ) sinφ sin θ
The restoring forces and moments are finally written:
g(η) := −"δfbrmbr
#
g(η) =
−ρg R z0 Awp(z)dz sin θρgR z0 Awp(z)dz cos θ sinφ
ρgR z0 Awp(z)dz cos θ cosφ
ρg∇GMT sinφ cos θ cosφρg∇GML sin θ cos θ cosφ
ρg∇(−GML cos θ +GMT ) sinφ sin θ
Linear (Small Angle) Theory
For surface vessels a linear approximation is
g(η) ≈ Gηwhich can be derived by assuming that φ, θ and z are
small. This implies thatZ z0Awp(z)dz ≈ Awp(0)z
Assuming
sin θ ≈ θ cos θ ≈ 1sinφ ≈ φ cosφ ≈ 1
g(η) ≈
−ρgAwp(0) zθρgAwp(0) zφρgAwp(0) zρg∇GMT φρg∇GML θ
ρg∇(−GML+GMT ) φθ
≈
00
ρgAwp(0)zρg∇GMTφρg∇GMLθ
0
⇒G = diag{0, 0, ρgAwp(0), ρg∇GMT, ρg∇GML}
Linearized model:
Mν +Nν +Gη = τ + go +w
This model is based on the assumption that we have
yz-symmetry. In the nonsymmetrical case we can de-
fine:
G = GT =
0 0 0 0 0 00 0 0 0 0 00 0 −Zz 0 −Zθ 00 0 0 −Kφ 0 00 0 −Mz 0 −Mθ 00 0 0 0 0 0
> 0
where
−Zz = ρgAwp(0)
−Zθ = ρgZ Z
AwpxdA
−Mz = −Zθ−Kφ = ρg∇(zb − zg) + ρg
Z ZAwp
y2dA := ρg∇GMT
−Mθ = ρg∇(zb − zg) + ρgZ Z
Awpx2dA := ρg∇GML
Computation of Metacenter Height for Surface Vessels
MT and ML transverse/longitudinal metacentersK keel line.GMT and GML metacenter heights
From figure:
GMT = BMT −BG, GML = BML −BGTransverse and longitudinal radius of curvature:
BMT =IT∇ , BML =
IL∇Moments of area about the water planes:
IL =Z Z
Awpx2dA, IT =
Z ZAwp
y2dA
Rectangular water plane area Awp = BL where B and
L are the beam and length of the hull respectively:
IL <1
12B3L, IT <
1
12L3B
A floating vessel is said to be transverse metacenter
stable if:
GMT ≥ GMT,min > 0
and longitudinal metacenter stable if
GML ≥ GML,min > 0
For instance for large ferries carrying passengers and
cars, the lateral stability requirement can be so high
as
GMT,min = 0.8 meter
to guarantee a proper stability margin in roll.
A trade-off between stability and comfort should be
made since a large stability margin will result in large
restoring forces which can be quite uncomfortable for
passengers.
B B1
K
G
MT
GM sinT φGMT
y
z
g
φ
φmg
ρ νg
Figure 1: Transverse metacentric stability. Notice
thatmg = ρg∇. A similar figure can be drawn to illus-trate lateral metacentric stability by simply replacing
MT and φ with ML and θ.
M
B
G
K
Floatingvessel
Submergedvessel
Diving
BG
BM GM=BGGM
height abovekeel line
Surfacing
KB
Figure 2: Metacenter M , center of gravity G and
center of buoyancy B for a submerged and floating
vessel. K is the keel line.
Model Transformations
The system transformation matrix is derived from:
vbp = vbo + ωbnb × rbp= vbo − rbp × ωbnb
= vbo − S(rbp)ωbnbwhere rbp = [xp, yp, zp]T is a vector from the body-fixed coordinate origin O to a an arbitrarily point P inthe b-frame. The angular velocity ωbnb of the two b-frames located in O and P with respect to the n-frameare equal.
Transformation matrix:
H(rbp) :=
"I3×3 ST (rbp)
03×3 I3×3
#Velocity transformation:"
vbpωbnb
#= H(rbp)
"vboωbnb
#m
νp = H(rbp)ν
Force and moment transformation:"fbpmbp
#=
"fbo
rbp × fbo +mbo
#m
τ p = HT (rbp)τ
6 DOF Model Transformation
Mν +C(ν)ν +D(ν)ν + g(η) = τ
We can transform this expression to a point P in the
b-frame by:
HT (rbp)MH(rbp)| {z }
Mp
ν +HT (rbp)C(ν)H(rbp)| {z }
Cp(ν)
νp
+HT (rbp)D(ν)H(rbp)| {z }
Dp(ν)
νp +HT (rbp)g(η)| {z }gp(η)
= HT (rbp)τ| {z }τ p
The Matlab Script HMTRX
function H = Hmtrx(r)
% H = HMTRX(r) computes the 6x6 system
%transformation matrix
%
% 8th June 2000 - Thor I. Fossen
S = Smtrx(r);
H = [eye(3) S’
zeros(3,3) eye(3) ];
Computation of the System Inertia Matrix
It is convenient to specify the rigid-body system inertia
matrixwith respect to the CG, that is rbg = [0, 0, 0]T ,
such that:
McgRB =
"mI3×3 03×303×3 Ic
#
=
m 0 0 0 0 00 m 0 0 0 00 0 m 0 0 00 0 0 I
cgx −Icgxy −Icgzx
0 0 0 −Icgxy Icgy −Icgyz
0 0 0 −Icgzx −Icgyz Icgz
.
⇒ 7 parameters;m, Icgx , Icgy , I
cgz ,−Icgxy,−Icgzx and−Icgyz.
We can transform this expression to the b-frame origin
O by specifying the vector rbg = [xg, yg, zg]T :
MRB = HT (rbg)McgRBH(r
bg)
=
"mI3×3 −mS(rbg)mS(rbg) Ic +mS2(rbg)
#
⇒
MRB =
m 0 0 0 mzg −myg0 m 0 −mzg 0 mxg0 0 m myg −mxg 00 −mzg myg Ix −Ixy −Izxmzg 0 −mxg −Ixy Iy −Iyz−myg mxg 0 −Izx −Iyz Iz
For bodies with xz-plane symmetry (yg = 0) and prin-
cipal axes satisfying Ixy = Iyz = 0, this simplifies to:
MRB=
m 0 0 0 mzg 00 m 0 −mzg 0 mxg0 0 m 0 −mxg 00 −mzg 0 Ix 0 −Izxmzg 0 −mxg 0 Iy 00 mxg 0 −Izx 0 Iz
The Matlab Script MRBMTRX
function MRB = MRBmtrx(m,r_g,I_c)
% MRB = MRBMTRX(m,r_g,I_c) computes the
% 6x6 system inertia matrix MRB about an
% arbitrarily point O where
% r_g = [x_g y_g z_g]’ is the location
% of the CG with respect to O and I_c is
% the 3x3 inertia matrix about CG.
%
% 8th June 2000 - Thor I. Fossen
MRB_CG = [m*eye(3) zeros(3,3)
zeros(3,3) I_c ];
MRB = Hmtrx(r_g)’ * MRB_CG * Hmtrx(r_g);
Added Mass System Inertia Matrix
Let us define the center of added mass (CA) as the
point where the total added mass force attack (re-
sultant of the added mass forces in the x-, y- and
z-directions):
McaA =
"A11 03×303×3 A22
#where
A11 = −diag{Xu, Yv, Zw}A22 = full matrix depending on the principal axes
Approximation:
McgA ≈ −
"diag{Xu, Yv, Zw} 03×3
03×3 diag{Kp,Mq,Nr}#
For simplicity a diagonal structure ofMcgA is assumed.
This is often the best estimate you have unless you
are using a hydrodynamic software program that com-
putes a full McgA or Mca
A matrix.
The system inertia matrix is transformed to the b-
frame origin O by:
MA = HT (rbg)M
cgAH(r
bg)
=
−Xu 0 00 −Y v 00 0 −Zw0 zgYv −ygZw
−zgXu 0 xgZwygXu −xgYv 0
0 −zgXu ygXuzgYv 0 −xgYv−ygZw xgZw 0
−z2gYv−y2gZw−Kp xgygZw xgzgYvxgygZw −z2gXu−x2gZw−Mq ygzgXuxgzgYv ygzgXu −y2gXu−x2gYv−Nr
The Matlab Script MAMTRX
function MA = MAmtrx(MA_CG,r_g)
% MA = MAMTRX(MA_CG,r_g) computes the
% 6x6 system inertia matrix MA
% about an arbitrarily point O where
% r_g = [x_g y_g z_g]’ is the
% location of the CG with respect to O
% and MA_CG is the 6x6 inertia matrix
% about CG e.g.
% MA_CG = diag([-Xudot,-Yvdot,-Zwdot,
% -Kpdot,-Mqdot,-Nrdot])
%
% 8th June 2000 - Thor I. Fossen
MA = Hmtrx(r_g)’ * MA_CG * Hmtrx(r_g);
Computation of the Coriolis-Centrifugal Ma-
trix
The Coriolis-centrifugal matrix can be computed di-
rectly by using the Matlab commands:
CA = m2c(MA);
CRB = m2c(MRB);
The resulting M- and C-matrices are:
M = MRB + MA;
C = m2c(M);
Computation of the Damping Matrix
The resulting hydrodynamic damping force will attack
in a point which can be defined as the ”center of
dissipative forces” (CD).
In the CD the damping matrix D(ν) will have a di-
agonal structure similar to that of added mass with
respect to the CA.
If the CD is unknown a first approximation could be
to assume that the damping matrix is diagonal in the
CG:
D(ν) = D+Dn(ν)
Dcg ≈ −diag{Xu, Yv, Zw,Kp,Mq,Nr}Dcgn (ν) ≈ −diag{X|u|u|u|, Y|vv||v|, Z|w|w|w|,
K|p|p|p|,M|q|q|q|, N|r|r|r}
Transforming these expressions to O, yields:
D = HT (rbg)DcgH(rbg)
=
−Xu 0 00 −Y v 00 0 −Zw0 zgYv −ygZw
−zgXu 0 xgZwygXu −xgYv 0
0 −zgXuzgYv 0−ygZw xgZw
−z2gYv−y2gZw−Kp xgygZwxgygZw −z2gXu−x2gZw−Mq
xgzgYv ygzgXu
ygXu−xgYv0
xgzgYvygzgXu
−y2gXu−x2gYv−Nr
Dn(ν) = HT (rbg)Dcgn (ν)H(r
bg)
=
−Xu|u| |u| 0 0
0 −Y v|v| |v| 0
0 0 −Zw|w| |w|0 zgYv|v| |v| −ygZw|w| |w|
−zgXu|u| |u| 0 xgZw|w| |w|ygXu|u| |u| −xY v|v| |v| 0
0 −zgXzgYv|v| |v|−ygZw|w| |w| xgZw
−z2gYv|v| |v|−y2gZw|w| |w|−Kp|p| |p| xgygZ
xgygZw|w| |w| −z2gXu|u| |u|−x2gZxgzgYv|v| |v| ygzgX
ygXu|u| |u|−xgYv|v| |v|
0xgzgYv|v| |v|ygzgXu|u| |u|
−y2gXu|u| |u|−x2gYv|v| |v|−Nr|r| |r|
The Matlab Script DMTRX
function D = Dmtrx(D_CG,r_g)
% D = DMTRX(D_CG,r_g) computes the
% 6x6 damping matrix D about an
% arbitrarily point O where
% r_g = [x_g y_g z_g]’ is the location
% of the CG with respect to O and D_CG
% is the 6x6 inertia matrix about CG e.g.
% D_CG = diag([-Xu,-Yv,-Zw,-Kp,-Mq,-Nr])
%
% 8th June 2000 - Thor I. Fossen
D = Hmtrx(r_g)’ * D_CG * Hmtrx(r_g);