INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN ENGINEERING Int. J. Numer. Meth. Engng 0000; 00:1–16 Published online in Wiley InterScience (www.interscience.wiley.com). DOI: 10.1002/nme
Splitting methods for controlled vessel marine operations Elena Celledoni, Eirik Hoel Høiseth∗ and Nataliya Ramzina
arXiv:1408.2544v1 [math.NA] 4 Aug 2014
Department of Mathematical Sciences, NTNU, 7491 Trondheim, Norway.
SUMMARY A rigid body model for the dynamics of a marine vessel, used in simulations of offshore pipe-lay operations, gives rise to a set of ordinary differential equations. This system of equations consists of terms modelling Coriolis effects, damping, restoring forces and moments, environmental forces, and controls. We propose splitting methods tailored to the numerical solution of this problem. The suggested splitting is into the conservative part, and the remaining part containing damping and control. The conservative part is completely integrable, even though it is nonlinear. The damping and control part is linear, and therefore easily integrable. We investigate stability and energy behaviour of the methods in numerical experiments. c 0000 John Wiley & Sons, Ltd. Copyright Received . . .
KEY WORDS: structures; differential equations; time integration, explicit; multibody dynamics
1. INTRODUCTION In this paper we consider a system of ordinary differential equations with controls arising as a model of a marine vessel, and we explore the use of splitting methods in the numerical solution of this system. The control of vessel rigid body equations is important in the simulation of a number of offshore marine operations [1]. One example is the simulation of pipeline installations sketched in Figure 1. The pipe-laying process comprises the modeling of two structures, a vessel and a pipe, which interact with each other. It is usual to model the vessel as a torqued rigid body with control, and the long and thin pipe as a rod. Environmental forces such as sea and wind effects must in general be accounted for in the model. For this problem the parameters to control are the vessel position and velocity, the pay-out speed and the pipe tension, while the control objectives are to determine the position of the touchdown point of the pipe and to avoid critical deformations and structural failures [2], [3]. The full pipe-lay problem has already been simulated in [3], using local parametrizations based on Euler angles for both the pipe and the vessel. The focus in this paper is on developing efficient and robust solvers for the vessel part of the model, since this is the only part of the vessel-rod multibody system which can be controlled, and also since the boundary conditions of the rod come from the vessel rigid body equations. Our proposed solvers are splitting methods specifically tailored for this problem.
∗ Correspondence
to: Eirik Hoel Høiseth, Department of Mathematical Sciences, NTNU, 7491 Trondheim, Norway. E-mail:
[email protected] c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls [Version: 2010/05/13 v3.00]
2
E. CELLEDONI ET AL.
Pipeline vessel x z
Overbend
Fireline
Depart ure angle
St inger St inger t ip
Inflect ion point
Pipe
T ouchdown point Sagbend
Seabed
Figure 1. The offshore pipe-lay process. The purpose build pipeline vessel uses heavy tension equipment to clamp the pipe on to it. The pipe is then extended in a production line. The two main pipelay methods are the dominant S-lay (shown) and J-lay. In the S-lay method, the pipe is extended horizontally. The name S-lay comes from the S-shape of the pipe from vessel to seabed. A submerged supporting structure, called a stinger, controls curvature and ovalization in the upper part (overbend). Pipe tension controls the curvature in the lower curve (sagbend). The strain must be checked to stay within limits for buckling and ovalization. See [2] and the references therein for more details.
A six degrees of freedom model for the dynamics of a marine vessel given in [1], [4], is expressed in matrix-vector form as η˙ = J(η)ν, M ν˙ + C(ν)ν + D(ν)ν + g(η) = τ + w,
(1)
where η and ν are generalised position and velocity respectively, M is the system inertia matrix, C(ν) the Coriolis-centripetal matrix, D(ν) the damping matrix, g(η) the vector of gravitational and buoyancy forces and moments, τ the vector of control inputs, and w environmental disturbances such as wind, waves and currents. In this paper we propose an efficient splitting-and-composition technique, obtaining methods of order 2, 4 and 6. The vessel equations can be naturally split in two parts, a conservative, free rigid body part, and a part comprising torque, dissipative forces and controls. The free rigid body equations are completely integrable, and an explicit solution can be obtained and computed numerically to high accuracy by using Jacobi elliptic functions [5], [6], [7]. The control and damping part is linear with constant coefficients, and can be easily solved exactly by the variation of constants formula. In the presence of time dependent PID (proportional-integral-derivative) controls, the system of equations is dependent on the integral over time of η . To avoid this, we include this integral as an extra unknown to the system. We adopt optimised splitting techniques devised by Blanes et al. [8], to obtain high order. The result is an efficient method. We also give a proof of passivity of the resulting system of equations. Finally we make a numerical study of the stability behaviour of the splitting methods depending on the step-size. The energy behaviour is also reported. The results are compared with those given by explicit Runge-Kutta methods. The splitting methods here proposed are robust, and show improved c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
3
SPLITTING METHODS FOR CONTROLLED VESSEL MARINE OPERATIONS
energy and global error behaviour compared to explicit Runge-Kutta methods of the same order, especially for long time simulations (with small damping) and large step-sizes. The outline of the paper is as follows: In section 2 we describe the vessel equations, in section 3 we describe the details of the splitting and composition technique, in section 4 we remark on the passivity of this system, in section 5 we report our numerical results describing the performance of the methods, and finally in section 6 we give conclusions.
2. THE VESSEL RIGID BODY MODEL We start by giving more details about the system (1) presented in the introduction. The generalized velocity vector ν = [vT , ω T ]T ∈ R6 lies in the body frame, where v, ω ∈ R3 denote respectively the linear velocity and the angular velocity. The generalized position vector η = [xT , θ T ]T ∈ R6 lies in the spatial frame, where x is the position vector and the components of θ = [φ, θ, ψ]T are Euler angles that represent the attitude of the vessel. Alternatively the attitude of the body can be represented as a 3 × 3 rotation matrix Q ∈ SO(3). The conversion between the two choices of coordinates is Q = Rz,ψ Ry,θ Rx,φ , with " Rx,φ =
1 0 0
0 cos(φ) sin(φ)
0 − sin(φ) cos(φ)
#
" , Ry,θ =
cos(θ) 0 − sin(θ)
0 1 0
sin(θ) 0 cos(θ)
#
" , Rz,ψ =
cos(ψ) sin(ψ) 0
− sin(ψ) cos(ψ) 0
0 0 1
The kinematic equation associated to (1) is η˙ = J(η)ν,
J(η) =
Q 03×3
03×3 Π−1 e Q
,
(2)
with
cos(θ) cos(ψ) − sin(ψ) Πe = cos(θ) sin(ψ) cos(ψ) − sin(θ) 0
0 0 , 1
see also [1], [9] . For the last three degrees of freedom (the Euler angles) we then get the kinematic π equation θ˙ = Π−1 e Q ω . The matrix Πe is not invertible for θ = ± 2 , since the Euler-angles have a singularity for this value of θ. This kinematic equation can also be written as an equation for Q b. Q˙ = Q ω
(3)
The rotation matrix Q transforms vectors in the body frame {b} (whose origin is in the center of mass of the vessel) to vectors in the spatial frame {s} † . Here 0 −ω3 ω2 0 −ω1 , b = ω3 b : R3 → so(3), ω −ω2 ω1 0 is the hat-map. The matrix M can be split into a rigid body part MRB and a part for added mass MA . The Coriolis-centripetal matrix is divided in the same way. The background of this work is the simulation of pipelaying which is a slow-speed offshore operation. For this reason it is possible to neglect the acceleration term of both the added mass and the Coriolis effect due to added mass. We thus assume MA = CA (ν) = 0. †Q
:= Rbe in the notation of [4] and [1].
c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
# .
4
E. CELLEDONI ET AL.
Following [1] (Proposition 3.1), the rigid body system inertia matrix MRB can be represented as
mv I 3×3 mv ˆrbg
MRB =
−mv ˆrbg T
,
where rbg is the vector from the origin of the system to the center of gravity (center of mass), mv is the mass of the vessel, I 3×3 is the 3-dimensional identity matrix, and T is the inertia tensor. The superscript b denotes that the vector lies in the body frame. We now let the origin coincide with the center of gravity in our model. Then
mv I 3×3 03×3
MRB =
03×3 T
,
which allows us to separate the first three degrees of freedom from the last three. One representation of the rigid body Coriolis-centripetal matrix CRB (ν) from [1] is CRB (ν) =
ˆ mv ω 03×3
03×3 −Tc ω
.
For the positive definite damping matrix D(ν), we make use of a common simplifying assumption that the matrix is diagonal when the origin coincides with the center of gravity. In addition, due to the slow-speed assumption, we will assume that the nonlinear damping terms can be neglected, i.e. that the damping matrix is constant [1]. We therefore represent this matrix as D(ν) =
Dt 03×3
03×3 Dr
,
where Dt , Dr ∈ R3×3 are constant positive definite diagonal matrices. The term g(η) from equation (1) takes restoring forces and moments into account. In the model adopted in [2], g(η), which lies in the body frame, is given as g(η) =
QT gts QT grs
,
where the superscript s denotes that the vector lies in the spatial frame. Again following [2], we have for the rotational part grs = (Qrbr ) × (mv ge3 ),
where g is the gravitational acceleration and rbr is the moment arm in the body frame. The latter can be expressed as GM L (Qe1 )T e3 rbr = GM T (Qe2 )T e3 , 0
where GM L and GM T are the longitudinal and the transverse metacentric heights of the vessel, respectively. The vector gts accounts for buoyancy forces and can be modelled as gts = gρw Awp (z − zeq )e3 ,
following an approach similar to that in [3]. Here ρw is the density of water, Awp is the water plane area and zeq is the equilibrium water level. c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
5
SPLITTING METHODS FOR CONTROLLED VESSEL MARINE OPERATIONS
2.1. Right hand side forces Let us now consider the term τ in (1). Following the model presented in [3] we set τ τ P ID
where the matrices Kpt Kp = 03×3
03×3 Kpr
= −J T (η)τ P ID Rt ˜ + Kd η ˜ (σ) dσ, = Kp η ˜˙ + Ki t0 η
,
Kdt 03×3
Kd =
03×3 Kdr
(4)
, and Ki =
Kit 03×3
03×3 Kir
,
(5)
˜ := η − η ref . In the case when Ki is different from the zero matrix, are called controller gains, and η we introduce a new set of unknowns Z t ˜ η(σ) dσ, ϕ := t0
and add a corresponding new set of equations to the system (1) ˙ = η(t), ˜ ϕ
ϕ(t0 ) = 0.
The integral term in τ P ID can then be written as Z
t
˜ η(σ) dσ = ϕ. t0
Note that the system of equations is then autonomous, i.e. does not explicitly depend on t. Though not required, we let w = 0 for simplicity in what follows. 2.2. The set of equations Taking into account explicit expressions for right hand side forces, the system (1) can be written as ω˙ = T −1 T ω × ω − Dr ω + QT grs − τ r b, Q˙ = Q ω ˆ − m−1 v˙ = −ωv Dt v + QT gts − τ t , v
,
(6)
x˙ = Q v, ˜ ˙ = θ, ϕ θ
˙x =x ˜, ϕ
with ˙ T r˜ r˜ r τ r = − Π−1 Q) (K θ + K θ + K ϕ e p d i θ , ˜ + Kdt x ˜˙ + Kit ϕx , τt = −QT Kpt x ˜ = θ − θ ref , ˜θ˙ = θ˙ = Π−1 Q ω, ˜ = x − xref . θ x e
(7) (8) (9)
In equation (7) the matrix J T (η) requires the invertibility of Πe , which is singular for θ = ± π2 . However this is not a real problem. Such a pitch angle corresponds to an unrealistic configuration, and would also violate the model assumption of small pitch angle. An alternative version of these equations, which uses Euler parameters to represent the attitude, is given in appendix B. c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
6
E. CELLEDONI ET AL.
3. THE NUMERICAL SOLUTION OF THE MARINE VESSEL EQUATIONS We will here present the numerical approach we use to approximate the solution of the marine vessel equations of motion. 3.1. Splitting methods Consider a general system of first order ODEs where the right hand side vector field admits the splitting y˙ = S1 (y) + S2 (y).
(10)
We generate a numerical approximation of (10) by composing the exact flows of S1 and S2 [S ] [S ] computed on time intervals of suitable length, with suitable initial values. Let Φh 1 and Φh 2 denote, respectively, the exact flow map of S1 and S2 . An approximation of order 2 is given by the classical Strang-splitting scheme as [S2 ] [S ] [S2 ] (11) yj+1 = Φh/2 ◦ Φh 1 ◦ Φh/2 yj . The two flows S1 and S2 can also be combined to obtain splitting methods of higher order. Specifically symmetric splitting schemes of the type [S ] [S ] [S ] [S2 ] [S1 ] [S2 ] j yj+1 = Φa12h ◦ Φb1 1h ◦ Φa22h ◦ · · · ◦ Φam+1 , (12) h ◦ · · · ◦ Φb1 h ◦ Φa1 h y are considered. These are a generalization of the scheme (11). The Strang splitting can be reproduced from the general formula (12) by choosing m = 1, a1 = b1 = 1/2 and a2 = 0. The coefficients of a fourth and a sixth order scheme are reported in appendix C. We refer to [8] for other schemes which are also used in the numerical experiments. We remark that the exact flows of S1 and S2 can be replaced with suitable high order numerical approximations, while keeping the overall order of the splitting method unchanged. 3.2. Splitting of the marine vessel equations We split the vessel equations into two completely integrable subsystems, and make some remarks on their numerical solution using splitting methods. Regarding notation, we reparametrize time using γ , such that γ = 0 represents the current starting point. We also use the convention that index 0 for a variable, e.g. x0 , denotes the current initial value (at γ = 0). 3.2.1. System S1 : Free-rigid body integration The system S1 is a system of free rigid body equations, and is therefore completely integrable. To integrate these equations we employ techniques developed in [5] and [6]. After rearranging the order of the equations, the system S1 amounts to a system of free rigid body equations ω˙ = T −1 (T ω × ω) bv v˙ = −ω ˙ b Q = Qω S1 = . (13) x˙ = Q v ˙θ =0 ϕ ˙ ˜ ϕx = x This system should be integrated several times on some interval [0, αh] as a part of the splitting methods, with h being the step-size of integration and α = a1 , a2 , . . . , am+1 , i.e. one of the coefficients of the splitting method. We observe that ω˙ and Q˙ do not depend on v and x. As ω can also be computed independently on Q, we proceed as follows: We first compute ω using explicit c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
SPLITTING METHODS FOR CONTROLLED VESSEL MARINE OPERATIONS
7
formulae based on Jacobi elliptic functions, then using ω we solve numerically the equation for Q in (13) using the Magnus series expansion, see [5], [10] for details. This method will be referred to as the Magnus method, which by construction is optimal, see [11]. One can truncate the Magnus expansion to arbitrary high order, but here we have implemented this method to order 2, 4, and 6, and combined it with splittings of the same order. Once ω and Q are computed to the desired accuracy, v and x can be easily obtained by v(γ) = x˙ =
QT Q0 v0 , Qv = QQT Q0 v0 = Q0 v0 ,
so x(γ) = x0 + γ Q0 v0 .
Finally we obtain ϕq (γ)
=
ϕq,0 ,
ϕx (γ)
=
1 ˜ 0 + γ 2 Q0 v0 , ϕx,0 + γ x 2
γ ∈ [0, αh].
3.2.2. System S2 : integration of the damping, gravitational and control forces The system of differential equations S2 ω˙ = −T −1 Dr ω + QT grs − τ r −1 T s v˙ = −mv Dt v + Q gt − τ t ˙ Q=0 , (14) S2 = x˙ = 0 ˜ ˙θ =θ ϕ ˙x =0 ϕ can be shown to be linear. Analogously to the system S1 , S2 should be integrated several times on some interval [0, βh], where β is b1 , b2 , . . . , bm , i.e. one of the coefficient of the splitting method. Using (7), (8), (9) and the variation of constants formula we obtain the following explicit expressions for the solution of (14) ω(γ) = eγA ω 0 + γ φ1 (γA)wr,1 + γ 2 φ2 (γA)wr,2 , v(γ) = eγB v0 + γ φ1 (γB)wt , Q(γ) = Q0 , x(γ) = x0 , ˜0, ϕθ (γ) = ϕθ,0 + γ θ ϕx (γ) = ϕx,0 ,
where r −1 A = −T −1 (Dr + QT0 Π−T e Kd Πe Q0 ),
T t B = −m−1 v (Dt + Q0 Kd Q0 ),
r˜ r wr,1 = −T −1 QT0 (grs + Π−T e (Kp θ 0 + Ki ϕθ,0 )), r wr,2 = −T −1 QT0 Π−T e Ki θ 0 , T t ˜ 0 + Kit ϕx,0 ), wt = −m−1 v Q0 (Kp x
and 1 φk (z) = (k − 1)! c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Z
1
ez(1−x) xk−1 dx,
k = 1, 2.
0
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
8
E. CELLEDONI ET AL.
Notice that from the variation of constants formula we have Z γ r˜ r 2 γ φ1 (γA)wr,1 + γ φ2 (γA)wr,2 = − e(γ−σ)A T −1 QT0 grs + Π−T e (Kp θ + Ki ϕθ (σ)) dσ, 0
and that θ˜ does not depend on σ .
4. ENERGY CONSERVATION IN THE NUMERICAL INTEGRATION In the present chapter we consider the problem of conservation of the total energy. In terms of control dynamics, the systems of interest are frequently considered as nearly isolated, and the energy conservation law is formulated in terms of the passivity of the system. We will show that our system satisfies the following definition of passivity. Definition 4.1. [12] (Chapter 2) Consider a model y˙ = f (y, u), ζ = h(y).
Suppose that there is a storage function V (y) ≥ 0 and a dissipation function g(y) ≥ 0 so that the time derivative of V for a solution of the system satisfies V˙ = ∇V (y)T f (y, u) = uT ζ − g(y),
for all control inputs u. Then the system with input u and output ζ is said to be passive. We now define ξ := [mT , pT , µT , z¯]T with m := T ω,
p := mv v,
z¯ := z − zeq ,
µ := QT e3 .
Taking H = H(ξ) to be the Hamiltonian of the system, given as the sum of the kinetic energy K and the potential energy U , we have T K = 21 mT T −1 m + 21 m−1 v p p, 1 T 1 2 U = 2 µ Gµ + 2 c¯ z , H = K + U,
(15)
with c := gρw Awp ,
G := mv g diag(GM L , GM T , 0).
Proposition 4.1. The equations (6) can be written in the form ξ˙ = S(ξ)∇H(ξ) − I˜ (Dν − τ ) ,
with
b m
0 3×3 S(ξ) := µ b 01×3
03×3 −1 m −mv T\ 03×3 µT
b µ 03×3 03×3 01×3
(16)
03×1 −µ , I˜ := I 6×6 . 04×6 03×1 0
(17)
Proof The proof is a direct calculation observing that −1 T m p m−1 ∇H(ξ) = v . Gµ c¯ z
c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
SPLITTING METHODS FOR CONTROLLED VESSEL MARINE OPERATIONS
9
Proposition 4.2. The system (16) is input-output passive with input τ and output ν . Proof Differentiating H with respect to time and using (16) we find H˙ = ∇H(ξ)T ξ˙ = ∇H(ξ)T S(ξ)∇H(ξ) + ν T (−Dν + τ ) = ν T (−Dν + τ ),
(18)
where the last equality in (18) follows from the skew symmetry of S . If we choose V = H , y = ξ, u = τ and ζ = ν , then it follows from (18) that the system (16) T T satisfies Definition 4.1 with g(y) = ν T Dν and h(y) = [(T −1 m)T , (m−1 v p) ] . Thus the system is passive. The requirement g(y) ≥ 0 is fulfilled because the matrix D is positive-definite. If we neglect the translational part of the system, then the obtained equations correspond to a Heavy Top system, which is a Lie-Poisson system [13], and the splitting methods proposed in section 3 become Lie-Poisson integrators [5].
5. NUMERICAL RESULTS In this section we report the results of some numerical experiments for (6). The parameter values used for the rigid body vessel model are given in appendix D. The equations we use in the implementation are those given in appendix B. The reference solution has been computed with the well known method RK4 with very small step size, i.e. h = 10−4 , unless stated otherwise. In Figure 2, in order to show that the controlled system attains the desired equilibrium, we plot the evolution of the generalized positional coordinates over the interval t ∈ [0, 200]. Following [2], to demonstrate the impact of the controller, we turn on the controls at t = 50. Let us denote by x and y the first two components of the vector x, and recall that ψ is the third component of θ . The results show rapid convergence towards the reference values for x, y and ψ . There is a slight initial overshoot due to the presence of the integral term, which will vanish over time. In our experiments, choosing different values for the environmental forces, we observe that the integral term is in general necessary to ensure convergence to the set point, see also [2]. The uncontrolled variables show expected behaviour. The remaining angles have small initial oscillations which are damped towards 0. In the case of φ the damping is present, but too small to be observed from the plot. When the controls are turned on, the elevation z moves away from the equilibrium, but it rapidly stabilizes back to the desired value. We now verify the order of accuracy of the numerical solutions obtained by the order 2, order 4 and order 6 splitting schemes, which we will refer to as SP2, SP4 and SP6 respectively. We define the relative error for the angular velocity at time tn e[ω ] =
||ω n − ω(tn )||2 , ||ω(tn )||2
where ω(tn ) is the reference solution, and ω n ≈ ω(tn ) is the approximation given by the numerical method whose accuracy we want to investigate. Similar relative errors e[θ] , e[v] and e[x] are considered for θ , v and x, respectively. The errors are evaluated at the end of the time interval, t ∈ [0, 10]. In Figure 3 we plot the relative errors against the step size for step sizes hk = 21k with k = 0, 1, . . . , 9. We compare, in Figure 4, the norm of the scaled control input for SP4 and RK4 for step size h = 1.95, against the exact solution. The values from the splitting method are difficult to distinguish from the corresponding values from the exact solution, while the values from RK4 differ noticeably, in particular for the rotational part. In Table I we compare the relative energy errors for different methods at the endpoint of a long time simulation, t ∈ [0, 50000], for a range of different step sizes. The exact solution is here c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
10
E. CELLEDONI ET AL.
0.05
φ
x
800 750 700 0
50
100
150
0 −0.05 0
200
50
100
Time, t
150
200
150
200
150
200
Time, t 0.02
θ
y
20 10 0 0
50
100
150
0 −0.02 0
200
50
100
Time, t
Time, t
ψ
z
0.01 0
0.4 0.2
−0.01 0
50
100
150
200
0
50
100
Time, t
Time, t
Figure 2. Evolution of the generalized position variables over time with t ∈ [0, 200]. The PID controller is turned on at t = 50. All the controlled variables converge rapidly towards the reference values, with a small overshoot caused by the integral term in the controller. 0
0
10 SP2 SP4 SP6
−5
Relative error, e[θ ]
Relative error, e[ω ]
10
10
6 −10
4
10
2 −15
10
−5
10
6 −10
4
10
2 −15
−3
−2
10
10
−1
10
0
10
10
Relative error, e
[x]
−10
6
10
4 2 −15
10
−3
10
−2
10
−1
10
Step size, h
−2
10
−1
0
10
10
Step size, h
SP2 SP4 SP6
−5
10
−3
10
Step size, h Relative error, e[v]
SP2 SP4 SP6
0
10
SP2 −5
10
SP4 SP6
−10
10
6 4 −15
2
10
−3
10
−2
10
−1
10
0
10
Step size, h
Figure 3. Dependence of the relative endpoint error on the size of the integration step for various solution components. From top left angular velocity ω , orientation θ , velocity v and position x. Results for SP2, SP4 and SP6 are plotted for t ∈ [0, 10], h = 21k and k = 0, 1, . . . , 9. The expected order for the splitting schemes is obtained.
computed using RK4 with h = 0.005. SP2 and SP4 are compared to two explicit Runge-Kutta methods of the same order, namely improved Euler and RK4 respectively. The table also illustrates the stability of the methods. In both the 2nd and 4th order case the splitting methods are seen to be stable for significantly larger step sizes. The energy at the endpoint is well approximated even close to their step size limit. Improved Euler becomes unstable even for fairly small step sizes, with a long term energy which increases exponentially. RK4 has significant artificial damping for larger c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
11
SPLITTING METHODS FOR CONTROLLED VESSEL MARINE OPERATIONS 2
0
10 SP4 RK4 Exact
−2
10
−4
10
−6
10
−8
10
−10
10
0
. . . Scaled translational control, .m−1 v τt 2
. . Scaled rotational control, .T −1 τr .2
10
SP4 RK4 Exact
0
10
−2
10
−4
10
−6
10
−8
20
40
60 Time, t
80
100
10
0
20
40
60 Time, t
80
100
Figure 4. The norm of the scaled rotational control T −1 τr 2 (left) and scaled translational control
−1
mv τt (right) for time t ∈ [0, 110] are shown. In both plots the values from the splitting 2 method and the RK4 method, both 4th order, with step size h = 1.95, are compared against the exact solution. The values from the splitting method are seen to be virtually indistinguishable from the exact solution. On the contrary, the values from RK4 are seen to differ, especially for the rotational part.
step sizes, leading to an energy which is damped too fast towards 0 and an error that approaches 1, before the method becomes unstable. The aforementioned artificial damping of RK4 is easily observed in Figure 5. Here we plot the evolution of the approximate scaled energy Hn /H0 for RK4 and SP4 using h = 1.95. We also include SP4 with h = 5 to show that even close to instability, the splitting method gives a qualitatively correct evolution of the energy. In Table II we compare the relative global errors for the same methods at the endpoint of a simulation, t ∈ [0, 780]. Note first that RK4 is close to its convergence limit for h = 0.005, which serves to justify the use of RK4 with h = 0.005 as the exact solution for the longer simulation. All methods are seen to have the expected order. Similarly to the results in Table I, the splitting methods give lower errors, and are stable for larger step sizes than the comparison RK-method of the same order.
6. CONCLUDING REMARKS We have proposed a class of splitting schemes for a system of controlled vessel rigid body equations in use in offshore marine operations. The methods are specifically tailored for this problem, i.e. for a rigid body problem including rotational and translational motion in presence of external forces, damping and controls. With the proposed splitting schemes we achieve improved accuracy in the numerical solution. In our numerical experiments the methods have better stability and energy behaviour compared to classical techniques. c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
12
E. CELLEDONI ET AL.
2
Scaled energy, Hn /H0
10
Exact RK4, h=1.95 SP4, h=1.95 SP4, h=5
0
10
−2
10
−4
10
0
50
Time, t
100
150
Figure 5. The scaled approximate energy Hn /H0 for time t ∈ [0, 150] is shown. The splitting method and the RK4 method, both 4th order, with step size h = 1.95, are compared with the exact solution. For the splitting method, the step size h = 5 is also included. The splitting method follows the exact scaled energy well, even for the larger step size. RK4, on the other hand, shows significant artifical damping of the energy.
A. EULER PARAMETERS We here review briefly the main properties of quaternions and Euler parameters. More information on this subject can be found in e.g. [13]. The set of quaternions, H := {q = (q0 , q) ∈ R × R3 , q = [q1 , q2 , q3 ]T } ∼ = R4 , is a strictly skew field [14]. Addition and multiplication of two quaternions, p = (p0 , p), q = (q0 , q) ∈ H, are defined by p + q = (p0 + q0 , p + q), and pq = (p0 q0 − pT q, p0 q + q0 p + p × q),
(A.1)
respectively. For q 6= (0, 0) there exists an inverse q −1 = q c /kqk2 ,
kqk =
q
q02 + kqk22 ,
where q c = (q0 , −q) is the conjugate of q , such that qq −1 = q −1 q = e = (1, 0). In the sequel we will consider q ∈ H as a vector q = [q0 , q1 , q2 , q3 ]T ∈ R4 . The multiplication rule (A.1) can then be expressed by means of a matrix-vector product in R4 . Namely, pq = L(p)q = R(q)p, where p0 −pT q0 −qT L(p) = , R(q) = , b b p p0 I + p q q0 I − q and I is the 3 × 3 identity matrix. Note that R(q) and L(p) commute, i.e. R(q)L(p) = L(p)R(q). Three-dimensional rotations in space can be represented by Euler parameters, i.e. unit quaternions S3 = {q ∈ H | kqk = 1}. Equipped with the quaternion product S3 is a Lie group, with q −1 = q c and e = (1, 0) as the identity element. There exists a (surjective 2 : 1) group homomorphism (the Euler-Rodriguez map) c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
SPLITTING METHODS FOR CONTROLLED VESSEL MARINE OPERATIONS
E : S3 → SO(3), defined by
13
b + 2q b2 . E(q) := I + 2q0 q
The Euler-Rodriguez map can be explicitly written as 1 − 2(q22 + q32 ) 2(q1 q2 − q0 q3 ) 2(q0 q2 + q1 q3 ) E(q) = 2(q0 q3 + q1 q2 ) 1 − 2(q12 + q32 ) 2(q2 q3 − q0 q1 ) . 2(q1 q3 − q0 q2 ) 2(q0 q1 + q2 q3 ) 1 − 2(q12 + q22 ) A rotation in R3 , w = Qu,
Q ∈ SO(3),
u, w ∈ R3 ,
can, for some q ∈ S3 , be expressed in quaternionic form as w = L(q)R(q c )u = R(q c )L(q)u,
u = (0, u), w = (0, w) ∈ HP ,
where HP = {q ∈ H | q0 = 0} ∼ = R3 is the set of so called pure quaternions. A.1. The Lie algebra s3 If q ∈ S3 , it follows from qq c = e that s3 := Te S3 = HP . The Lie algebra s3 , associated to S3 , is equipped with a Lie bracket [ · , · ]s : s3 × s3 → s3 , [ u , w ]s := L(u)w − L(w)u = (0, 2u × w),
where u = (0, u), w = (0, w). The derivative map of E is E∗ = Te E : s3 → so(3). This map, given by b, E∗ (u) = 2u
u = (0, u),
is a Lie algebra isomorphism. Assume now that q ∈ S3 is such that E(q(t)) = Q(t), then L(q c )q˙ ∈ s3 , QT Q˙ ∈ so(3) and ˙ E∗ (L(q c )q) ˙ = QT Q. (A.2) Furthermore, it can be shown that \ E∗ (L(q)R(q c )u) = 2E(q)u
∀ q ∈ S3 , u = (0, u) ∈ s3 .
(A.3)
As a consequence of (A.2) and (A.3), the kinematics of the attitude rotation of the vessel (3) can be expressed in Euler parameters in S3 as q˙ =
1 q ω, 2
(A.4)
ω = (0, ω).
B. THE EQUATIONS USING EULER PARAMETERS We rewrite the equations (6), (7), (8), (9), using (A.4) to represent the attitude with Euler parameters, i.e. unit quaternions. Note that if q ∈ S3 is known, we also know the Euler angles θ from a transformation between the two representations. ω˙ = T −1 T ω × ω − Dr ω + E(q)T grs − τ r 1 q˙ = q ω, ω = (0, ω), 2 ˆ − m−1 v˙ = −ωv Dt v + E(q)T gts − τ t , v
,
x˙ = E(q) v, ˜ ˙ = θ, ϕ θ
˙x =x ˜, ϕ c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
14
E. CELLEDONI ET AL.
with ˙ T r˜ r˜ r τ r = − Π−1 E(q)) (K θ + K θ + K ϕ e p d i θ , ˜ + Kdt x ˜˙ + Kit ϕx , τt = −E(q)T Kpt x ˜ = θ − θ ref , ˜θ˙ = θ˙ = Π−1 E(q) ω, ˜ = x − xref . θ x e C. SPLITTING COEFFICIENTS The coefficients of a 4th order splitting scheme in the format (12) are a1 a2 a3 a4
= 0.0792036964311956500000000000000000000000, = 0.353172906049773728818833445330, = −0.042065080357719520000000000000000000000, = 1 − 2(a1 + a2 + a3 ).
b1 = 0.209515106613361881525060713987, b2 = −0.14385177317981800000000000000000000, b3 = 21 − (b1 + b2 ),
The coefficients of a 6th order splitting scheme in the format (12) are a1 a2 a3 a4 a5 a6
= 0.0502627644003923808654389538920, = 0.413514300428346618921141630839, = 0.045079889794397660000000000000000000, = −0.188054853819571375656897886496, = 0.541960678450781151905056284542, = 1 − 2(a1 + a2 + a3 + a4 + a5 ).
b1 b2 b3 b4 b5
= 0.148816447901042828823498193483, = −0.132385865767782744686048193902, = 0.0673076046921849473963237618218, = 0.432666402578172649872653897748, = 21 − (b1 + b2 + b3 + b4 ),
We refer to [8] for an overview on splitting schemes.
D. PARAMETER VALUES The values of the parameters we use in the experiments are in SI units Dr1 = 9.329153987 × 102 , Dr2 = 6.514979127508227 × 108 , Dr3 = 3.15094664584 × 104 , Dr = diag(Dr1 , Dr2 , Dr3 ), Kpr = diag(0, 0, 1 · 108 ), Kdr = diag(0, 0, 1 · 109 ), Kir = diag(0, 0, 2 · 105 ), T1 = 2.873071 × 108 , T2 = 2.90000 × 109 , T3 = 2.726143 × 109 , T = diag(T1 , T2 , T3 ), GM T = 2.1440, GM L = 103.628, g = 9.81, ρw = 1.025 × 103 , zeq = 0.
Dt1 = 3.53933789 × 101 , Dt2 = 1.1781388 × 102 , Dt3 = 1.4566249 × 106 , Dt = diag(Dt1 , Dt2 , Dt3 ), Kpt = diag(4 · 105 , 4 · 105 , 0), Kdt = diag(4 · 106 , 4 · 106 , 0), Kit = diag(1 · 103 , 1 · 103 , 0), θ 0 = [0.05, −0.02, 0.10]T , θ ref = [0, 0, 0.54], x0 = [723, 0, 0]T , xref = [780, 20, 0], mv = 6.3622085 × 106 , v0 = [0, 0, 0]T , T ω 0 = [0, 0, 0] , Awp = 1.3834 × 103 ,
Many of the values are taken from data for a supply vessel from [15].
c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
SPLITTING METHODS FOR CONTROLLED VESSEL MARINE OPERATIONS
15
ACKNOWLEDGEMENTS
This research was funded in part by a grant from the Research Council of Norway for the GeNuIn Applications project (project number: 191178), and by a Marie Curie International Research Staff Exchange Scheme Fellowship within the 7th European Community Framework Programme (grant agreement number: PIRSES-GA-2009-269281). We are grateful to T. I. Fossen for useful discussions. We are also grateful to Sergio Blanes and Fernando Casas for useful discussions regarding splitting methods, and for providing highly accurate coefficients for the splitting methods of order 4 and 6 used in the numerical experiments. Part of this work was done while visiting Massey University, Palmerston North, New Zealand, and La Trobe University, Melbourne, Australia.
REFERENCES 1. Fossen TI. Marine Control Systems. Marine Cybernetics: Trondheim, 2002. 2. Jensen GA, S¨afstr¨om N, Nguyen TD, Fossen TI. Modeling and control of offshore pipelay operations based on a finite strain pipe model. Proceedings of American Control Conference, St. Louis, MO, USA, 2009; 4717–4722. DOI: 10.1109/ACC.2009.5160110. 3. Jensen GA, S¨afstr¨om N, Nguyen TD, Fossen TI. A nonlinear PDE formulation for offshore vessel pipeline installation. Ocean Engineering 2010; 37(4):365–377. DOI: 10.1016/j.oceaneng.2009.12.009. 4. Perez T, Fossen TI. Kinematic models for manoeuvring and seakeeping of marine vessels. Modeling, Identification and Control 2007; 28(1):19–30. DOI: 10.4173/mic.2007.1.3. 5. Celledoni E, S¨afstr¨om N. Efficient time-symmetric simulation of torqued rigid bodies using Jacobi elliptic functions. Journal of Physics A 2006; 39(19):5463–5478. DOI: 10.1088/0305-4470/39/19/S08. 6. Celledoni E, Fass`o F, S¨afstr¨om N, Zanna A. The exact computation of the free rigid body motion and its use in splitting methods. SIAM Journal on Scientific Computing 2008; 30(4):2084–2112. DOI: 10.1137/070704393. 7. Celledoni E, Zanna A. Algorithm 903: FRB-Fortran routines for the exact computation of free rigid body motions. ACM Transactions on Mathematical Software 2010; 37(2):23:1–23:24. DOI: 10.1145/1731022.1731033. 8. Blanes S, Casas F, Murua A. Splitting methods in the numerical integration of non-autonomous dynamical systems. Revista de la Real Academia de Ciencias Exactas, Fisicas y Naturales. Serie A. Matematicas 2012; 106(1):49–66. DOI: 10.1007/s13398-011-0024-8. 9. S¨afstr¨om N. Modeling and simulation of rigid body and rod dynamics via geometric methods. PhD thesis, Norwegian University of Science and Technology: Trondheim, 2009. 10. Gustafsson E. Accurate discretizations of torqued rigid body dynamics. Master thesis, Norwegian University of Science and Technology: Trondheim, 2010. 11. Blanes S, Casas F, Ros J. High order optimised geometric integrators for linear differential equations. BIT Numerical Mathematics 2002; 42(2): 262–284. DOI: 10.1023/A:1021942823832. 12. Egeland O, Gravdahl JT. Modeling and Simulation for Automatic Control. Corrected second printing 2003. Marine Cybernetics: Trondheim, 2002. 13. Marsden JE, Ratiu TS. Introduction to Mechanics and Symmetry: A Basic Exposition of Classical Mechanical Systems. Second edition. Vol. 17 of Texts in Applied Mathematics. Springer-Verlag: New York, 1999. 14. Baker A. Matrix Groups: An Introduction to Lie Group Theory. Springer Undergraduate Mathematics Series. Springer-Verlag: London, 2002. 15. MSS. Marine Systems Simulator, 2010. Viewed 2014-04-04, http://www.marinecontrol.org.
c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme
16
E. CELLEDONI ET AL.
Table I. Relative energy error, |Hn − H(tn )|/H(tn ), at time tn = 50000 for various stepsizes h, comparing improved Euler (IE), RK4, SP2 and SP4. The symbol - means the method became unstable and failed. All methods failed for h = 6.00. h \ Method 0.05 0.10 0.20 1.00 1.95 2.00 3.00 5.00
IE
RK4 −1
4.02 × 10 1.37 × 101 -
SP2 −5
2.18 × 10 6.98 × 10−4 2.21 × 10−2 1.00 × 100 1.00 × 100 3.29 × 102 -
SP4 −5
3.88 × 10 1.13 × 10−3 2.25 × 10−3 7.72 × 10−2 -
1.19 × 10−9 5.53 × 10−9 8.12 × 10−8 4.82 × 10−5 2.85 × 10−4 4.25 × 10−4 7.89 × 10−3 8.77 × 10−3
Table II. Relative global error, kyn − y(tn )k2 /ky(tn )k2 , at time tn = 780 for various stepsizes h, comparing improved Euler (IE), RK4, SP2 and SP4. The symbol - means the method became unstable and failed. All methods failed for h = 6.00. h \ Method 0.005 0.010 0.020 0.050 0.100 0.200 0.500 1.000 1.500 1.950 2.000 3.000 5.000
IE
RK4 −8
3.66 × 10 1.46 × 10−7 5.85 × 10−7 3.62 × 10−6 1.39 × 10−5 5.13 × 10−5 4.13 × 10−4 -
c 0000 John Wiley & Sons, Ltd. Copyright Prepared using nmeauth.cls
SP2 −14
2.16 × 10 3.41 × 10−13 5.45 × 10−12 2.13 × 10−10 3.40 × 10−9 5.44 × 10−8 2.13 × 10−6 2.87 × 10−5 4.24 × 10−5 4.13 × 10−5 1.72 × 10−4 -
SP4 −9
9.17 × 10 3.67 × 10−8 1.47 × 10−7 9.13 × 10−7 3.61 × 10−6 1.38 × 10−5 7.42 × 10−5 6.78 × 10−5 -
4.33 × 10−15 3.80 × 10−15 1.07 × 10−14 3.37 × 10−13 5.39 × 10−12 8.63 × 10−11 3.37 × 10−9 5.42 × 10−8 2.76 × 10−7 7.95 × 10−7 8.81 × 10−7 4.80 × 10−6 4.79 × 10−5
Int. J. Numer. Meth. Engng (0000) DOI: 10.1002/nme