6dof

62
6 DOF Equations of Motion Kinematics ˙ η = J(η )ν Dynamics M ˙ ν + C(ν )ν + D(ν )ν + g(η )= τ + g o + w where M = system inertia matrix (incl. added mass) C(ν ) = Coriolis-centripetal matrix D(ν ) = damping matrix g(η ) = vector of gravitational/buoyancy terms τ = vector of control inputs g o = vector used for ballast control w = vector of wind, waves and currents dist.

Upload: mimi-chan

Post on 21-Oct-2015

36 views

Category:

Documents


7 download

DESCRIPTION

Robotics

TRANSCRIPT

Page 1: 6DOF

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.

Page 2: 6DOF

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.

Page 3: 6DOF

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

Page 4: 6DOF

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

Page 5: 6DOF

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.

Page 6: 6DOF

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)

Page 7: 6DOF

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.

Page 8: 6DOF

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.

Page 9: 6DOF

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

Page 10: 6DOF

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)

Page 11: 6DOF

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

Page 12: 6DOF

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(ν).

Page 13: 6DOF

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) ];

Page 14: 6DOF

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).

Page 15: 6DOF

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

Page 16: 6DOF

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(ν)

Page 17: 6DOF

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.

Page 18: 6DOF

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.

Page 19: 6DOF

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

Page 20: 6DOF

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

Page 21: 6DOF

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.

Page 22: 6DOF

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

Page 23: 6DOF

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).

Page 24: 6DOF

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

Page 25: 6DOF

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.

Page 26: 6DOF

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.

Page 27: 6DOF

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.

Page 28: 6DOF

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.

Page 29: 6DOF

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.

Page 30: 6DOF

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.

Page 31: 6DOF

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|

Page 32: 6DOF

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.

Page 33: 6DOF

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)

Page 34: 6DOF

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

Page 35: 6DOF

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

#

Page 36: 6DOF

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.

Page 37: 6DOF

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

Page 38: 6DOF

-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).

Page 39: 6DOF

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.

Page 40: 6DOF

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

Page 41: 6DOF

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 θ

Page 42: 6DOF

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 θ

Page 43: 6DOF

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}

Page 44: 6DOF

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

Page 45: 6DOF

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

Page 46: 6DOF

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.

Page 47: 6DOF

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 θ.

Page 48: 6DOF

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.

Page 49: 6DOF

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)ν

Page 50: 6DOF

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

Page 51: 6DOF

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) ];

Page 52: 6DOF

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)

#

Page 53: 6DOF

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

Page 54: 6DOF

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);

Page 55: 6DOF

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.

Page 56: 6DOF

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

Page 57: 6DOF

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);

Page 58: 6DOF

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);

Page 59: 6DOF

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}

Page 60: 6DOF

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

Page 61: 6DOF

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|

Page 62: 6DOF

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);