Nonlinear Control and Observer Design for Dynamic ... - NTNU
Nonlinear Control and Observer Design for Dynamic ... - NTNU
Nonlinear Control and Observer Design for Dynamic ... - NTNU
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Nonlinear</strong> <strong>Control</strong> <strong>and</strong> <strong>Observer</strong> <strong>Design</strong> <strong>for</strong> <strong>Dynamic</strong><br />
Positioning using Contraction Theory<br />
Guttorm Torsetnes<br />
Master Thesis<br />
Submitted to the Department of Engineering Cybernetics at <strong>NTNU</strong><br />
22 January 2004
Contents<br />
Abstract<br />
Acknowledgments<br />
Abbreviations<br />
v<br />
vii<br />
ix<br />
1 Introduction 1<br />
1.1 <strong>Dynamic</strong>positioning ....................................... 1<br />
1.2 Motivation ............................................ 1<br />
1.3 Contributions........................................... 3<br />
2 Contraction theory 5<br />
2.1 Abasicconvergenceresult.................................... 5<br />
2.2 Generalizedcontractionanalysis ................................ 7<br />
2.3 Interpretation of contraction <strong>and</strong> stability . . ......................... 8<br />
2.4 Combinationsofcontractingsystems.............................. 10<br />
2.4.1 Parallelcombination................................... 12<br />
2.4.2 Feedbackcombination .................................. 12<br />
2.4.3 Hierarchicalcombination ................................ 12<br />
3 <strong>Observer</strong> design 15<br />
3.1 Acontraction-basedobserverdesign .............................. 15<br />
3.1.1 <strong>Observer</strong>incompact<strong>for</strong>m................................ 16<br />
3.1.2 <strong>Observer</strong>intheframeworkofcontraction ....................... 17<br />
3.1.3 Eliminatingtherotationmatricesfromtheanalysis.................. 18<br />
3.1.4 Contractiontheorem<strong>for</strong>theobserver.......................... 19<br />
3.1.5 <strong>Observer</strong>infeedback<strong>for</strong>m................................ 21<br />
3.1.6 Biasmodel ........................................ 22<br />
3.2 Acontraction-basedobserverdesignwithaccelerationmeasurements............ 23<br />
3.2.1 Simplifiedobserverincompact<strong>for</strong>m .......................... 24<br />
3.2.2 Simplifiedobserverintheframeworkofcontraction.................. 25<br />
3.2.3 Contraction theorem <strong>for</strong> the simplifiedobserver.................... 27<br />
3.3 Gain-scheduled wave filtering .................................. 27<br />
3.3.1 <strong>Observer</strong> model <strong>for</strong> gain-scheduled wave filtering ................... 28<br />
3.3.2 <strong>Observer</strong> with gain-scheduled wave filteringincompact<strong>for</strong>m ............ 29<br />
3.3.3 Stability of LPV systems ................................ 30<br />
3.3.4 Contraction theorem <strong>for</strong> observer with gain-scheduled wave filtering ........ 31<br />
3.3.5 Measuring ω 0 ....................................... 32<br />
3.4 Gain-scheduled wave filteringwithaccelerationmeasurements................ 33<br />
3.4.1 Simplified observer with gain-scheduled wave filteringincompact<strong>for</strong>m....... 33<br />
iii
iv<br />
CONTENTS<br />
3.4.2 Contraction theorem <strong>for</strong> simplified observer with gain-scheduled wave filtering <strong>and</strong><br />
accelerationmeasurements................................ 35<br />
3.5 Concludingremarks ....................................... 36<br />
4 <strong>Control</strong>ler design 37<br />
4.1 Acontractionbasednonlinearseparationprinciple ...................... 37<br />
4.2 <strong>Control</strong>allocation ........................................ 38<br />
4.3 <strong>Observer</strong>-feedbackcontrol .................................... 38<br />
4.3.1 <strong>Observer</strong>-feedback control with gain-scheduled wave filtering ............ 38<br />
4.3.2 <strong>Observer</strong>-feedback control with gain-scheduled wave filtering <strong>and</strong> acceleration feedback............................................<br />
39<br />
5 Simulation results 43<br />
5.1 <strong>Observer</strong>-feedback control with gain-scheduled wave filtering................. 44<br />
5.1.1 Moderateseastate.................................... 44<br />
5.1.2 Veryroughseastate................................... 48<br />
5.2 <strong>Observer</strong>-feedback control with gain-scheduled wave filtering <strong>and</strong> acceleration feedback . . 53<br />
5.2.1 Moderateseastate.................................... 53<br />
5.2.2 Veryroughseastate................................... 56<br />
5.3 Concludingremarks ....................................... 60<br />
6 Conclusion 63<br />
A <strong>Observer</strong> data 65<br />
B <strong>Control</strong>ler data 69
Abstract<br />
This thesis contains new results on the design of dynamic positioning (DP) systems <strong>for</strong> marine surface<br />
vessels.<br />
A positioned ship is continuously exposed to environmental disturbances, <strong>and</strong> the objective of the<br />
DP system is to maintain the desired position <strong>and</strong> heading by the use of thrusters <strong>and</strong> propellers, or<br />
to per<strong>for</strong>m low-speed maneuvering. In a DP system, an observer is needed to produce low-frequency<br />
(LF) estimates of the vessel motion. The observer includes a model of the waves, <strong>and</strong> is there<strong>for</strong>e able<br />
to filter out the wave-frequency (WF) motion from the feedback loop. This is known as wave filtering.<br />
The oscillatory WF motion should not enter the feedback loop because this will only cause unnecessary<br />
wear <strong>and</strong> tear on the actuators. However, the sea state is constantly changing, <strong>and</strong> the observer should<br />
there<strong>for</strong>e be able to automatically adjust the estimation of the LF motion to the slowly-varying wave<br />
model parameters. This can be achieved by measuring the wave model parameters on-line, <strong>and</strong> is referred<br />
to as gain-scheduled wave filtering.<br />
The main contributions of this thesis are:<br />
• <strong>Observer</strong> design: Two observers, with <strong>and</strong> without acceleration measurements, with gain-scheduled<br />
wave filtering, both based on existing observers, have been developed <strong>and</strong> analysed. The gainscheduled<br />
wave filtering is achieved by measuring the slowly-varying wave model parameters online,<br />
<strong>and</strong> there<strong>for</strong>e require no a priori knowledge of the sea state.<br />
• Stability analysis of the resulting observer-controller system by using results on nonlinear cascades:<br />
It is shown that a PID controller (with acceleration feedback when acceleration measurements are<br />
available) can be implemented with the estimates of the proposed observers, <strong>and</strong> that the overall<br />
system is globally contracting, <strong>and</strong> consequently UGES.<br />
The per<strong>for</strong>mance of the DP system is demonstrated in computer simulations <strong>for</strong> different environmental<br />
disturbances.<br />
v
vi<br />
ABSTRACT
Acknowledgments<br />
First <strong>and</strong> <strong>for</strong>emost I would like to thank my supervisor Professor Thor I. Fossen, <strong>and</strong> my advisors, Post<br />
DocJeromeJouffroy <strong>and</strong> PhD student Ivar Ihle, <strong>for</strong> good advice <strong>and</strong> feedback. I am especially grateful<br />
to Jerome Jouffroy <strong>for</strong> teaching me (almost) everything there is to know about contraction theory. Also,<br />
I would like to thank Post Doc Lars Imsl<strong>and</strong> <strong>for</strong> good advice on LMIs, PhD Karl-Petter Lindegaard<br />
<strong>for</strong> feedback regarding his observer design <strong>and</strong> PhD student Øyvind Smogeli <strong>for</strong> helping me to run a<br />
realistic simulation in MCSim. And last, but not least I would like to thank my (<strong>for</strong>mer) fellow students<br />
Johannes Tjønnås, PhD student Morten Breivik <strong>and</strong> PhD student Jostein Hansen <strong>for</strong> countless good<br />
advice during the last five years.<br />
Guttorm Torsetnes<br />
Trondheim, January 2004<br />
vii
viii<br />
ACKNOWLEDGMENTS
Abbreviations<br />
UGAS<br />
UGES<br />
u.n.d.<br />
LF<br />
WF<br />
DOF<br />
AFB<br />
NED<br />
LMI<br />
PDS<br />
PID<br />
LTI<br />
LTV<br />
LPV<br />
Uni<strong>for</strong>mly Globally Asymptotically Stable<br />
Uni<strong>for</strong>mly Globally Exponentially Stable<br />
Uni<strong>for</strong>mly Negative Definite<br />
Low Frequency<br />
Wave Frequency<br />
Degree Of Freedom<br />
Acceleration Feedback<br />
North-East-Down coordinate system<br />
Linear Matrix Inequality<br />
Power Density Spectrum<br />
Proportional Integral Derivative<br />
Linear Time-Invariant<br />
Linear Time-Varying<br />
Linear Parameter-Varying<br />
ix
x<br />
ABBREVIATIONS
Chapter 1<br />
Introduction<br />
1.1 <strong>Dynamic</strong> positioning<br />
The subject of this thesis is the design of DP systems <strong>for</strong> marine surface vessels. DP systems are designed<br />
<strong>for</strong> station-keeping or low speed maneuvering by means of thrusters <strong>and</strong> propellers. In the systems<br />
considered, the pitch <strong>and</strong> roll motion of the vessel is neglected, such that the mathematical model used<br />
<strong>for</strong> control is only a description in 3 DOF as shown in figure 1.1. That is, only the horizontal-plane<br />
position <strong>and</strong> heading is controlled. For background in<strong>for</strong>mation on mathematical modelling of marine<br />
vessels, the reader is referred to (Fossen 2002).<br />
1.2 Motivation<br />
One of the most important issues to take into account when designing DP systems <strong>for</strong> ships, is wave<br />
filtering, <strong>and</strong> dates back to the work of Balchen <strong>and</strong> co-workers. That is, the total vessel motion is<br />
modelled as the superposition of the low-frequency (LF) vessel motion <strong>and</strong> the wave induced wavefrequency<br />
(WF) motion as illustrated in figure 1.2, <strong>and</strong> an observer or a filter is used to reconstruct the<br />
LF motion from noisy position, heading <strong>and</strong> in some cases also velocity <strong>and</strong> acceleration measurements.<br />
In (Grøvlen & Fossen 1996), UGAS of a DP system (simple ship model, observer <strong>and</strong> control law)<br />
was proven by using observer backstepping. A revised version of this paper is found in (Fossen &<br />
Grøvlen 1998). These papers can be regarded as the first attempt to design a fully nonlinear DPcontrol<br />
system, since wave filtering <strong>and</strong> bias estimation was not included. In (Str<strong>and</strong> 1999), an UGES<br />
observer with wave filtering capabilities <strong>and</strong> bias estimation was designed, which resulted in (Fossen<br />
& Str<strong>and</strong> 1999). An extension of this observer with adaptive wave filtering appeared in (Str<strong>and</strong> &<br />
Fossen 1999). This will be commented in detail in chapter 3.3. In (Loria, Fossen & Panteley 2000) the<br />
same observer was used with a PD-type control law, <strong>and</strong> by using the separation principle of (Panteley<br />
& Loria 1998), it was shown that the DP system was UGAS. Recently, in (Lindegaard 2003), this result<br />
has been extended to the case where acceleration measurements are available, <strong>and</strong> it is argued that<br />
the resulting observer-controller system consisting of a PID controller with acceleration feedback, <strong>and</strong> a<br />
UGES observer, is UGAS by using the separation principle of (Panteley & Loria 1998).<br />
However, all these designs assume that the DP system is operating in a static sea state, <strong>and</strong>/or<br />
that the wave model parameters are known a priori. This is of course not a realistic assumption. The<br />
sea state is constantly changing, <strong>and</strong> there<strong>for</strong>e the observer should be able to automatically adjust the<br />
reconstruction of the LF motion in accordance with the varying sea state. To the author’s knowledge,<br />
no observers with gain-scheduled wave filtering that require no a priori knowledge of the sea state exist<br />
in the literature. Thus, the main motivation <strong>for</strong> this thesis has been to design such an observer <strong>for</strong> use<br />
in a DP system <strong>for</strong> marine surface vessels.<br />
1
2 INTRODUCTION<br />
Figure 1.1: Earth-fixed <strong>and</strong> vessel-fixed coordinate frames.<br />
3.5<br />
3<br />
2.5<br />
2<br />
Total motion, LF+WF<br />
1.5<br />
LF motion<br />
1<br />
WF motion<br />
0.5<br />
0<br />
-0.5<br />
1 2 3 4 5 6 7 8 9 10<br />
Time (seconds)<br />
Figure 1.2: The total ship motion as the sum of LF-motion <strong>and</strong> WF-motion
1.3. CONTRIBUTIONS 3<br />
Figure 1.3: DP-system based on position <strong>and</strong> heading measurements y, with gain-scheduled wave filtering<br />
1.3 Contributions<br />
The main contributions of this thesis are<br />
• <strong>Observer</strong> design: Two observers, with <strong>and</strong> without acceleration measurements (chapter 3.3 <strong>and</strong><br />
3.4 respectively), with gain-scheduled wave filtering, both based on existing observers, have been<br />
developed <strong>and</strong> analysed. The gain-scheduled wave filtering is achieved by measuring the slowlyvarying<br />
wave model parameters on-line, <strong>and</strong> there<strong>for</strong>e require no a priori knowledge of the sea<br />
state.<br />
• Stability analysis of the resulting observer-controller system by using results on nonlinear cascades:<br />
It is shown that a PID controller (with acceleration feedback when acceleration measurements are<br />
available) can be implemented with the estimates of the proposed observers, <strong>and</strong> that the overall<br />
system is globally contracting, <strong>and</strong> consequently UGES. The total system is illustrated in figure<br />
1.3<br />
Besides, all the proofs given here, both <strong>for</strong> observer <strong>and</strong> controller design, are done using contraction<br />
theory, which is a new tool to study stability of nonlinear systems, <strong>and</strong> to a small extent has been used in<br />
the design of DP systems. Contraction theory is very powerful, <strong>and</strong> combined with the simplicity of the<br />
design, it will be shown that this is a good alternative to the classical Lyapunov approach. The results<br />
given herein can be regarded as an extension of the work of Lindegaard to include gain-scheduled wave<br />
filtering by using contraction theory, <strong>and</strong> the main results will be summarized in a paper to be submitted<br />
to the IEEE Conference on Decision <strong>and</strong> <strong>Control</strong> (CDC), December 2004 at Atlantis, Paradise Isl<strong>and</strong>,<br />
the Bahamas.
4 INTRODUCTION
Chapter 2<br />
Contraction theory<br />
Contraction theory is a recent tool to study incremental stability of systems of differential equations, <strong>and</strong><br />
was brought to attention in the control engineering community by the work of Slotine <strong>and</strong> Lohmiller.<br />
Incremental stability means stability of trajectories with respect to one another, rather than with respect<br />
to some attractor. For more in<strong>for</strong>mation on the history of contraction theory, the reader is referred to<br />
(Jouffroy 2003a) <strong>and</strong>(Jouffroy 2002, section 2.3).<br />
In this chapter, the main results of contraction theory are summarized. The summary is mainly<br />
based on (Lohmiller & Slotine 1998), to which the reader is referred <strong>for</strong> further details.<br />
2.1 A basic convergence result<br />
The systems considered is of the <strong>for</strong>m<br />
ẋ = f(x, t) (2.1)<br />
where f(x, t) is an n × 1 nonlinear vector function <strong>and</strong> x is the n × 1 state vector. Note that (2.1)<br />
implicitly also represent closed-loop dynamics of systems with state feedback u(x, t). All quantities in<br />
this thesis are assumed to be real <strong>and</strong> smooth, by which is meant that any required derivative or partial<br />
derivativesexistsoriscontinuous.<br />
The system in equation (2.1) can be thought of as an n-dimensional fluid flow, where ẋ is the<br />
n-dimensional "velocity" vector at the n-dimensional position x at time t. Assuming that f(x, t) is<br />
continuously differentiable, equation (2.1) yields the exact differential relation<br />
δẋ= ∂f (x, t)δx, (2.2)<br />
∂x<br />
where δx is the virtual displacement, which is an infinitesimal displacement at a fixed time. Consider<br />
now two neighboring trajectories in the flow field ẋ = f(x, t), <strong>and</strong> the virtual displacement δx between<br />
them. This is illustrated in figure 2.1. The squared distance between these two trajectories can be<br />
defined as δx T δx, leading from (2.2) to the rate of change of length<br />
d<br />
dt (δxT δx) =2δx T δẋ =2δx T ∂f δx (2.3)<br />
∂x<br />
Denote by λ max (x, t) the largest eigenvalue of the symmetric part of the Jacobian ∂f<br />
∂x<br />
(i.e. the largest<br />
eigenvalue of 1 2 ( ∂f<br />
∂x + ∂f<br />
∂x<br />
T<br />
) ), then<br />
5
6 CONTRACTION THEORY<br />
Figure 2.1: Virtual dynamics of two neighboring trajectories<br />
<strong>and</strong> hence,<br />
d<br />
dt (δxT δx) ≤ 2λ max δx T δx (2.4)<br />
kδxk ≤ kδx 0 k e R t<br />
0 λ max(x,t)dt<br />
(2.5)<br />
Assume now that λ max (x, t) is uni<strong>for</strong>mly strictly negative (i.e. ∃ β>0, ∀x, ∀ t ≥ 0, λ max (x, t) ≤<br />
−β 0, ∀x,∀t ≥ 0, 1 ∂f<br />
2 ∂x + ∂f T<br />
≤−βI < 0. (2.6)<br />
∂x<br />
Consider now a ball of constant radius centered about a given trajectory, such that given this trajectory,<br />
the ball remains within a contracting region at all times (i.e.,∀ t ≥ 0). Because any length<br />
within the ball decreases exponentially, any trajectory starting in the ball, remains in the ball (since<br />
by definition the center of the ball is a particular system trajectory) <strong>and</strong> converges exponentially to<br />
the given trajectory. Thus, as in stable linear time-invariant (LTI) systems, the initial conditions are<br />
exponentially "<strong>for</strong>gotten." This leads to the following theorem:<br />
Theorem 2.1 Given the system equations ẋ = f(x, t) any trajectory, which starts in a ball of constant<br />
radius centered about a given trajectory <strong>and</strong> contained at all times in a contraction region, remains in<br />
that ball <strong>and</strong> converges exponentially to this trajectory.<br />
Furthermore, global exponential convergence to the given trajectory is guaranteed if the whole statespace<br />
is a contraction region.
2.2. GENERALIZED CONTRACTION ANALYSIS 7<br />
Figure 2.2: Two trajectories in a contraction region<br />
2.2 Generalized contraction analysis<br />
Theaboveconsiderationscanalsobedoneusingthedifferential coordinate trans<strong>for</strong>mation<br />
δz = Θ(x, t)δx (2.7)<br />
where Θ(x, t) is a square matrix. The time derivative of the local coordinates δz can be written as<br />
d<br />
dt δz = ˙Θδx + Θδẋ (2.8)<br />
= (˙Θ + Θ ∂f<br />
∂x )Θ−1 δz = Fδz (2.9)<br />
where F =(˙Θ + Θ ∂f<br />
∂x )Θ−1 is called the generalized Jacobian. Therateofchangeofsquaredlength<br />
can be written as<br />
d<br />
dt (δzT δz) =2δz T d dt δz =2δzT Fδz (2.10)<br />
Hence, the system ẋ = f(x, t) is in a contraction region if the generalized Jacobian is u.n.d. in that<br />
region. The previous rate of change can also be expressed in δx coordinates, <strong>and</strong> is given by<br />
d<br />
dt (δxT Mδx)=δx T ( ∂f T<br />
M +<br />
∂x Ṁ + M ∂f )δx (2.11)<br />
∂x<br />
where M = Θ T Θ, so that exponential convergence to a single trajectory can be concluded in regions<br />
where<br />
Ã<br />
!<br />
T<br />
∂f<br />
M +<br />
∂x Ṁ + M ∂f ≤−β<br />
∂x<br />
M M (2.12)<br />
where β M > 0. It is immediate to verify that these regions are of course exactly the regions of<br />
uni<strong>for</strong>mly negative definite F in equation (2.9). If M is restricted to be a constant, this exponential<br />
convergence result represents a generalization <strong>and</strong> strengthening of Krasovskii’s generalized asymptotic<br />
global convergence theorem. It may also be regarded as an extension of the Lyapunov matrix equation<br />
in LTI systems due to the term Ṁ.
8 CONTRACTION THEORY<br />
The above leads to the following generalized definition, superseding Definition 2.1 (which corresponds<br />
to Θ = I <strong>and</strong> M = I),<br />
Definition 2.2 Given the system equations ẋ = f(x, t), a region of the state space is called a contraction<br />
region with respect to a uni<strong>for</strong>mly positive definite metric M(x, t) =Θ T Θ, if equivalently F in equation<br />
(2.9) or<br />
T<br />
∂f<br />
M +<br />
∂x Ṁ + M ∂f<br />
∂x<br />
are uni<strong>for</strong>mly negative definite in that region.<br />
(2.13)<br />
<strong>and</strong> the generalized convergence result can be stated as:<br />
Theorem 2.2 Given the system equation ẋ = f(x, t), any trajectory, which starts in a ball of constant<br />
radius with respect to the metric M(x, t), centered at a given trajectory <strong>and</strong> contained at all times in<br />
a contraction region with respect to M(x, t), remains in that ball <strong>and</strong> converges exponentially to this<br />
trajectory.<br />
Furthermore global exponential convergence to the given trajectory is guaranteed if the whole state<br />
space is a contraction region with respect to the metric M(x, t).<br />
It can be shown conversely that the existence of a uni<strong>for</strong>mly positive definite metric with respect<br />
to which the system is contracting is also a necessary condition <strong>for</strong> global exponential convergence of<br />
trajectories. In the linear time-invariant case, a system is globally contracting if <strong>and</strong> only if it is strictly<br />
stable, with F simply being a normal Jordan <strong>for</strong>m of the system <strong>and</strong> Θ the coordinate trans<strong>for</strong>mation<br />
to that <strong>for</strong>m (Lohmiller & Slotine 1998),(Slotine 2003).<br />
2.3 Interpretation of contraction <strong>and</strong> stability<br />
To better underst<strong>and</strong> how stability considerations <strong>for</strong> linear systems can be extended to nonlinear systems<br />
by using virtual displacements as in contraction theory, consider the following autonomous LTI system 1 :<br />
ẋ = Ax, x ∈ R 2 (2.14)<br />
Asufficient condition <strong>for</strong> exponential convergence of the system states to the origin, is that the rate<br />
of change of squared length converges exponentially to zero:<br />
Thus, a sufficient condition is that<br />
d<br />
dt (xT x) = ẋ T x + x T ẋ (2.15)<br />
= x T (A T + A)x (2.16)<br />
A = λ max I
2.3. INTERPRETATION OF CONTRACTION AND STABILITY 9<br />
x T x ≤ x(0) T x(0)e 2λ maxt<br />
(2.18)<br />
<strong>and</strong> consequently<br />
kxk ≤ kx(0)k e λ maxt<br />
(2.19)<br />
which means that x converges exponentially to the origin with the convergence rate determined by<br />
λ max . Evidently, the same result is obtained by using Lyapunov’s direct method with the Lyapunov<br />
function V = x T x. A geometrical interpretation of the above is that<br />
which from elementary calculus can be rewritten as<br />
ẋ T x
10 CONTRACTION THEORY<br />
Thus, if there exists a matrix M = Θ T T<br />
Θ > 0 such that A (t)M(t)+Ṁ(t)+M(t)A(t) < 0, z(<strong>and</strong><br />
consequently x) converges exponentially to the origin.<br />
Finally, consider the nonlinear time-varying system<br />
ẋ = f(x, t) (2.31)<br />
The differential dynamics <strong>for</strong> this system is given by<br />
δẋ = ∂f (x, t)δx (2.32)<br />
∂x<br />
<strong>and</strong> the rate of change of squared length is given by<br />
This means that in the region where<br />
d<br />
dt (δxT δx) = δẋ T δx + δx T δẋ (2.33)<br />
= δx T ( ∂f<br />
∂x<br />
T<br />
T<br />
+ ∂f )δx (2.34)<br />
∂x<br />
∂f<br />
+ ∂f<br />
∂x ∂x < 0 (2.35)<br />
the distance between the trajectories converges exponentially to zeros. Hence, all trajectories in<br />
this region converges to the same trajectory as summarized in theorem 2.1. However, (2.35) is not<br />
a necessary condition <strong>for</strong> exponential incremental stability. Consider the time <strong>and</strong> state-dependent<br />
differential coordinate trans<strong>for</strong>mation<br />
δz = Θ(x, t)δx (2.36)<br />
Therateofchangeofsquaredlengthinδx-coordinates can be written as<br />
d<br />
dt (δxT M(x, t)δx) = δẋ T M(x, t)δx + δx T Ṁ(x, t)δx + δx T M(x, t)δẋ (2.37)<br />
= δx T ∂f<br />
∂x<br />
Ã<br />
= δx T<br />
T<br />
(x, t)M(x, t)δx + δx T<br />
∂f<br />
∂x<br />
Ṁ(x, t)δx + δx T M(x, t) ∂f (x, t)δx (2.38)<br />
∂x<br />
!<br />
T<br />
(x, t)M(x, t)+Ṁ(x, t)+M(x, t)∂f<br />
∂x (x, t) δx (2.39)<br />
Thus, in the region where there exists a metric M = Θ T Θ > 0 such that<br />
T<br />
∂f<br />
M +<br />
∂x Ṁ + M ∂f < 0 (2.40)<br />
∂x<br />
the distance between the trajectories converges exponentially to zeros. If this region is the whole<br />
state-space, then all trajectories in the state-space converge exponentially to the same trajectory, <strong>and</strong><br />
this is called global contraction.<br />
2.4 Combinations of contracting systems<br />
One of the main features of nonlinear contraction, is that it is automatically preserved through a variety of<br />
system combinations. In this section, three combination properties of contracting systems are presented<br />
(Lohmiller & Slotine 1998),(Slotine 2003).<br />
T
2.4. COMBINATIONS OF CONTRACTING SYSTEMS 11<br />
Figure 2.3: Exponential convergence of the system states to the origin with no overshoot<br />
Figure 2.4: Exponential convergence of the system states to the origin with overshoot<br />
Figure 2.5: Exponential convergence of the system states to the origin in z-coordinates
12 CONTRACTION THEORY<br />
2.4.1 Parallel combination<br />
Consider two systems of the same dimension<br />
with virtual dynamics<br />
ẋ 1 = f 1 (x 1 ,t) (2.41)<br />
ẋ 2 = f 2 (x 2 ,t) (2.42)<br />
δż 1 = F 1 δz (2.43)<br />
δż 2 = F 2 δz (2.44)<br />
If both systems are contracting in the same metric, then so is any uni<strong>for</strong>mly positive superposition<br />
α 1 (t)δż 1 + α 2 (t)δż 2 where ∃ α>0, ∀t ≥ 0, α i (t) ≥ α(t) (2.45)<br />
By recursion, this property can be extended to any number of systems.<br />
2.4.2 Feedback combination<br />
Consider two systems, of possibly different dimensions <strong>and</strong> metrics<br />
ẋ 1 = f 1 (x 1 ,x 2 ,t) (2.46)<br />
ẋ 2 = f 2 (x 1 ,x 2 ,t) (2.47)<br />
which are connected in feedback, in such a way that the overall virtual dynamics is of the <strong>for</strong>m<br />
· ¸ · ¸· ¸<br />
d δz1 F1 G δz1<br />
=<br />
dt δz 2 −G T (2.48)<br />
F 2 δz 2<br />
then the augmented system is contracting if the separated plants are contracting. The result can be<br />
extended to any number of systems.<br />
2.4.3 Hierarchical combination<br />
Consider two contracting systems, of possibly different dimensions <strong>and</strong> metrics, connected in series with<br />
virtual dynamics of the <strong>for</strong>m<br />
· ¸ · ¸· ¸<br />
d δz1 F11 0 δz1<br />
=<br />
(2.49)<br />
dt δz 2 F 21 F 22 δz 2<br />
The first equation does not depend on the second, so that exponential convergence of δz 1 to zero<br />
can be concluded <strong>for</strong> uni<strong>for</strong>mly negative definite F 11 . In turn <strong>for</strong> bounded F 21 , F 21 δz 1 represents an<br />
exponentially decaying disturbance in the second equation. Thus, uni<strong>for</strong>m negative definitiveness of F 22<br />
implies exponential convergence of δz 2 to zero. The augmented system is contracting as well, <strong>and</strong> by<br />
recursion, the result extends to hierarchies or cascades of contracting systems of arbitrary depths.<br />
Note that the hierarchical combination (2.49) corresponds to the same kind of combination considered<br />
in the work of Loria <strong>and</strong> Panteley with coworkers, referred to as cascades of nonlinear systems. In<br />
(Panteley & Loria 1998) conditions <strong>for</strong> UGAS <strong>for</strong> systems of the <strong>for</strong>m<br />
ẋ 1 = f 1 (t, x 1 ) (2.50)<br />
ẋ 2 = f 2 (t, x 2 )+g(t, x)x 1 (2.51)
2.4. COMBINATIONS OF CONTRACTING SYSTEMS 13<br />
are given. One necessary condition is that the interconnection term g(t, x) is bounded. Also note<br />
the results established by Sontag on cascades of input-to-state stable (ISS) systems. In (Sontag 1989),<br />
systems of the <strong>for</strong>m<br />
ẋ = f(x)+<br />
mX<br />
u i g(x), ∈ R n (2.52)<br />
i=1<br />
are considered, <strong>and</strong> conditions are given <strong>for</strong> the existence of a smooth map K : R n → R m such that<br />
is GAS.<br />
ẋ = f(x)+G(x)K(x)+G(x)u (2.53)
14 CONTRACTION THEORY
Chapter 3<br />
<strong>Observer</strong> design<br />
This chapter consists of two parts: In the first part, it is shown that the observer of (Fossen & Str<strong>and</strong><br />
1999) <strong>and</strong> the simplified observer of (Lindegaard 2003) are globally contracting (section 3.1 <strong>and</strong> 3.2<br />
respectively). In the second part, a new version of the above mentioned observers with gain-scheduled<br />
wave filtering is presented (section 3.3 <strong>and</strong> 3.4). These observers are particular contributions of this<br />
thesis.<br />
3.1 A contraction-based observer design<br />
In this section, the observer of (Fossen & Str<strong>and</strong> 1999), which is based on position <strong>and</strong> heading measurements<br />
only, is analysed in the framework of contraction theory, <strong>and</strong> it is shown that this observer<br />
is globally contracting with respect to a metric M 1 . First we recapitulate the observer equations. The<br />
model of which the observer is based (neglecting the white noise terms) is given by<br />
˙ξ = A w ξ (3.1)<br />
˙η = R(ψ)ν (3.2)<br />
ḃ = −T −1<br />
b<br />
b (3.3)<br />
M ˙ν + Dν = τ + R T (ψ)b (3.4)<br />
y = η + C w ξ (3.5)<br />
where η =[x, y, ψ] T is the vector of the NED position (x, y) <strong>and</strong> heading (ψ) The yaw angle rotation<br />
matrix is defined as<br />
⎡<br />
⎤<br />
cos(ψ) − sin(ψ) 0<br />
R(y 3 )=R(ψ) = ⎣sin(ψ) cos(ψ) 0⎦ (3.6)<br />
0 0 1<br />
Further, the following assumptions are made (low speed application)<br />
M = M T > 0, Ṁ =0, D > 0 (3.7)<br />
<strong>and</strong> the time bias matrix T b > 0. The first-order WF motion is modelled as a second order linear<br />
system <strong>for</strong> each of the 3 degrees of freedom:<br />
h i (s) = η i<br />
w w<br />
(s) =<br />
k wi s<br />
s 2 +2ζ i ω 0i s + ω 2 0i<br />
(3.8)<br />
15
16 OBSERVER DESIGN<br />
where<br />
ω 0i (i=1,2,3)<br />
ζ i (i=1,2,3)<br />
k wi (i=1,2,3)<br />
dominating wave frequency<br />
relative damping ratio<br />
parameter related to the wave intensity<br />
A minimal state-space realization with x w ∈ R 6 is given by<br />
with<br />
A w =<br />
ẋ w = A w x w + E w w w (3.9)<br />
y = C w x w (3.10)<br />
·<br />
03×3 I 3×3<br />
−Ω 3×3 −Λ 3×3¸<br />
E w =<br />
¸ ·03×1<br />
w w<br />
(3.11)<br />
C w = [0 3×3 ,I 3×3 ] (3.12)<br />
where<br />
Ω<br />
Λ<br />
= diag{ω 2 01,ω 2 02,ω 2 03}<br />
= diag{2ζ 1 ω 01 , 2ζ 2 ω 02 , 2ζ 3 ω 03 }<br />
w w ∈ R 3 = vector of zero-mean Gaussian white noise<br />
The observer is given by:<br />
·<br />
ˆξ = Awˆξ + K1 (y − ŷ) (3.13)<br />
·<br />
ˆη = R(ψ)ˆν + K 2 (y − ŷ) (3.14)<br />
·<br />
ˆb = −T<br />
−1<br />
b<br />
ˆb + K3 (y − ŷ) (3.15)<br />
M ˆν ·<br />
+ Dˆν = τ + R T (ψ)ˆb + R T (ψ)K 4 (y − ŷ) (3.16)<br />
ŷ = ˆη + C wˆξ (3.17)<br />
Note: The observer is based on a priori knowledge of the sea state, which means that the parameters<br />
of A w are assumed to be known. This means that the observer gains can be tuned according to the<br />
peak wave frequency ω 0 to give a notch filter effect which removes 1st order wave components from the<br />
feedback-loop. The reader is referred to (Fossen & Str<strong>and</strong> 1999) <strong>for</strong> the observer tuning rules.<br />
3.1.1 <strong>Observer</strong> in compact <strong>for</strong>m<br />
The observer can be compactly written as<br />
where ˆx =[ˆξ T , ˆη T , ˆb T , ˆν T ] T , y = η + C w ξ <strong>and</strong><br />
·<br />
ˆx = A(ψ)ˆx + Bτ + K y y (3.18)
3.1. A CONTRACTION-BASED OBSERVER DESIGN 17<br />
A(ψ) =<br />
⎡<br />
⎢<br />
⎣<br />
A w − K 1 C w −K 1 0 0<br />
−K 2 C w −K 2 0 R(ψ)<br />
−K 3 C w −K 3 −T −1<br />
b<br />
0<br />
−M −1 R T (ψ)K 4 C w −M −1 R T (ψ)K 4 M −1 R T (ψ) −M −1 D<br />
⎤<br />
⎥<br />
⎦ , (3.19)<br />
B = £ 0 12×3 M −1¤ T<br />
, (3.20)<br />
K y = [K1 T ,K2 T ,K3 T ,K4 T R(ψ)M −1 ] T (3.21)<br />
3.1.2 <strong>Observer</strong> in the framework of contraction<br />
From chapter 2 we conclude that there are generally two ways of verifying that a system of the <strong>for</strong>m<br />
ẋ = f(x, t) is contracting:<br />
1. The Jacobian of the differential dynamics is uni<strong>for</strong>mly negative definite (u.n.d.):<br />
∂f<br />
(x, t) is u.n.d. (3.22)<br />
∂x<br />
2. The Generalized Jacobian of the differential dynamics is u.n.d. This implies that there exists a<br />
positive definite metric M(x, t) =Θ T Θ such that<br />
∂f<br />
∂f<br />
(x, t)M + Ṁ + M (x, t) is u.n.d. (3.23)<br />
∂x ∂x<br />
Note that the first case is a special of the second with M = I. The differential dynamics of (3.18) is<br />
given by<br />
·<br />
δˆx = ∂ ˆf<br />
δˆx = A(ψ)δˆx (3.24)<br />
∂ˆx<br />
Thus, <strong>for</strong> the observer to be contracting with respect to the metric M 1 = I, A(ψ) must be u.n.d.,<br />
that is<br />
A T (ψ)+A(ψ) < 0 (3.25)<br />
When inspecting A(ψ) it is seen from equation (3.11) <strong>and</strong> (3.12) that the upper left element (A w −<br />
K 1 C w ) has zeros in the upper left corner <strong>for</strong> any K 1 , which from Sylvester’s criterion imply that A(ψ)<br />
can only be negative semidefinite. Hence, the above condition is not fulfilled. Thus, we have to look <strong>for</strong><br />
ametricM 1 6= I. We there<strong>for</strong>e introduce the following differential coordinate trans<strong>for</strong>mation<br />
δẑ = Θδˆx (3.26)<br />
where Θ is a constant matrix. This leads to the new differential dynamics<br />
δ ẑ ·<br />
= ΘA(ψ)Θ −1 δẑ (3.27)<br />
hence contraction requires the new Jacobian to be u.n.d.<br />
which can be rewritten as<br />
ΘA(ψ)Θ −1 < 0 (3.28)<br />
A T (ψ)M 1 + M 1 A(ψ) < 0 (3.29)
18 OBSERVER DESIGN<br />
where M 1 = Θ T Θ > 0. From a theoretical point of view, one may say that if equation (3.29) is<br />
fulfilled, then the observer is contracting. However, equation (3.29) is very difficult to solve in practise.<br />
Since A(ψ) includes the rotation matrix R(ψ), the equation must be solved <strong>for</strong> every possible measured<br />
heading ψ. In other words, this result is not suited <strong>for</strong> practical purposes. Since equation (3.29) is<br />
too complex to be solved with st<strong>and</strong>ard software, no conclusion can be made regarding the contraction<br />
properties of the observer.<br />
Evidently, if the rotation matrices (which is the only term making the model nonlinear) could be<br />
disregarded, the contraction condition would be a LMI, <strong>and</strong> thus solved with st<strong>and</strong>ard software.<br />
3.1.3 Eliminating the rotation matrices from the analysis<br />
In this section it is shown that the rotation matrices can be disregarded in the stability analysis by<br />
utilizing the observer error-dynamics-<strong>for</strong>m of (Lindegaard 2003, section 4.4.2 p.53). First we recapitulate<br />
the necessary matrix property from (Lindegaard 2003):<br />
Property 1 A matrix A ∈ R 3 is said to commute with the rotation matrix R(α) if<br />
AR(α) =R(α)A (3.30)<br />
Examples of matrices A satisfying Property 1 are linear combinations A = a 1 R(θ) +a 2 I + a 3 k T k<br />
<strong>for</strong> scalars a i ,θ <strong>and</strong> k =[0, 0, 1] T , the axis of rotation. Also note that since R(α) is orthogonal, that is,<br />
R T (α) =R −1 (α), Property 1 implies that<br />
A = R T (α)AR(α) =R(α)AR T (α) (3.31)<br />
Furthermore, if A is nonsingular, A −1 commutes with R(α) too. That is<br />
AR(α) =R(α)A<br />
A is nonsingular<br />
⇐⇒ A −1 R(α) =R(α)A −1 (3.32)<br />
Thus, given the following assumption<br />
Assumption A1 The bias time constant matrix T b , the observer gains K 2 <strong>and</strong> K 3 <strong>and</strong> each 3 × 3<br />
sub-block of A w , <strong>and</strong> K 1 satisfies Property 1<br />
the observer of (Fossen & Str<strong>and</strong> 1999), can be compactly written as<br />
A =<br />
⎢<br />
⎣<br />
·<br />
ˆx = T T (ψ)AT (ψ)ˆx + Bτ + K y y (3.33)<br />
where ˆx =[ˆξ T , ˆη T , ˆb T , ˆν T ] T , T (ψ) =diag{R T (ψ),R T (ψ),R T (ψ),I 3x3 },y= η + C w ξ <strong>and</strong><br />
⎡<br />
A w − K 1 C w −K 1 0 0<br />
⎤<br />
−K 2 C w −K 2 0 I<br />
−K 3 C w −K 3 −T −1<br />
b<br />
0<br />
−M −1 K 4 C w −M −1 K 4 M −1 −M −1 D<br />
The differential dynamics of the observer can there<strong>for</strong>e be written as<br />
Hence, it is required that J is u.n.d. which corresponds to<br />
⎥<br />
⎦ (3.34)<br />
δ ·<br />
ˆx = T T (ψ)AT (ψ)δˆx = Jδˆx (3.35)<br />
J T + J = T T (ψ)A T T (ψ)+T T (ψ)AT (ψ) < 0 (3.36)
3.1. A CONTRACTION-BASED OBSERVER DESIGN 19<br />
However, since A
20 OBSERVER DESIGN<br />
For the sake of comparison, we will use the same parameters as in (Fossen & Str<strong>and</strong> 1999). That is,<br />
ω 0i =0.8976 rad/s, ζ i =0.1, <strong>and</strong> the cut-off frequency in the notch filter is chosen as ω ci =1.1 rad/s<br />
<strong>and</strong> the ’notch width’ ζ ni =1. By using the tuning rules of (Fossen & Str<strong>and</strong> 1999) this gives values <strong>for</strong><br />
K 1 <strong>and</strong> K 2 . In addition<br />
K 4 = diag{0.1, 0.1, 0.01} (3.45)<br />
K 3 = 0.1K 4 (3.46)<br />
T b = diag{1000, 1000, 1000} (3.47)<br />
This set of parameters gives the system matrix A in equation (??), <strong>and</strong> by using YALMIP (Løfberg<br />
2003) with Matlab TM ,themetricM 1 can be found. The calculations were per<strong>for</strong>med with the SeDuMi<br />
(Sturm 2001) solver, <strong>and</strong> it can be verified in Matlab TM that M 1 is a positive definite, symmetric matrix<br />
M 1 = M1<br />
T > 0 that fulfills equation (3.42). Since M 1 ∈ R 15×15 ,M 1 is not stated due to lack of space,<br />
however it can be mentioned that <strong>for</strong> the given parameters, the resulting calculations gave<br />
max{eig(A T M 1 + M 1 A)} = −1.0396 × 10 −4 (3.48)<br />
min{eig(A T M 1 + M 1 A)} = −1.2649 (3.49)<br />
¯σ(M 1 ) = 4.1771 (maximum singular value) (3.50)<br />
σ(M 1 ) = 0.007195 (minimum singular value) (3.51)<br />
which clearly satisfies the contraction condition. Thus, based on these calculations we conclude that<br />
the observer of (Fossen & Str<strong>and</strong> 1999) is globally contracting <strong>for</strong> the given set of parameters. In order to<br />
visualize that the observer is contracting with respect to a metric M 1 6= I, we can simulate the observer<br />
<strong>for</strong> two different initial conditions, <strong>and</strong> plot the Euclidean norm of the difference of the states:<br />
where<br />
kˆx 1 (t) − ˆx 2 (t)k , ˆx 1 (0) = ˆx 10 , ˆx 2 (0) = ˆx 20 (3.52)<br />
ˆx 1 =ˆx 2 =<br />
h<br />
ˆξT<br />
Figure 3.1 shows the incremental state norm with the initial conditions<br />
ˆη T ˆbT ˆν T i T<br />
(3.53)<br />
ˆx 10 = £ 0 1×3 0 1×3 0 1×3 0 1×3<br />
¤ T<br />
(3.54)<br />
ˆx 20 = £ 0 1×3 0 1×3 0 1×3<br />
£ −1 01×2<br />
¤¤ T<br />
(3.55)<br />
from a simulation in Matlab TM without environmental disturbances. The only difference in the initial<br />
condition is the <strong>for</strong>ward velocity which is estimated to be û 20 = −1 m/s in one observer <strong>and</strong> zero in the<br />
other. The input to the ship model (with initial conditions ˆx 10 ) is a constant <strong>for</strong>ce of 100kN in <strong>for</strong>ward<br />
direction, that is τ =[1× 10 5 , 0, 0] T . The observer gains were chosen as stated above. From figure 3.1<br />
it can be seen that the curve has an overshoot., The reason <strong>for</strong> this is summarized in theorem 2.2 in<br />
(Jouffroy & Lottin 2002):
Incremental state norm<br />
3.1. A CONTRACTION-BASED OBSERVER DESIGN 21<br />
4<br />
3.5<br />
3<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
0 50 100 150 200 250 300<br />
time [s]<br />
Figure 3.1: Incremental state norm kˆx 1 (t) − ˆx 2 (t)k of the observer with initial conditions ˆx 10 <strong>and</strong> ˆx 20<br />
Theorem 3.2 If the system ẋ = f(x, t) is globally contracting with respect to a constant Θ, then it is<br />
also UGES in the incremental sense, i.e. ∃ k, b > 0 such that ∀t ≥ 0, ∀ x r0 ,x p0 ∈ R n ,<br />
kx r − x p k ≤ k kx r0 − x p0 k e −bt (3.56)<br />
where x r =(x r0 ,t), x p =(x p0 ,t) <strong>and</strong> k•k denotes the Euclidean norm.<br />
Thus, the observer is not contracting with respect to M 1 = I, because this would correspond to a<br />
curve bounded by an exponential which starting point is the norm of the initial value of the difference<br />
kx 1 (0) − x 2 (0)k. The overshoot is bounded by the minimum <strong>and</strong> maximum singular value of M 1 .Also<br />
note that kx 1 (t) − x 2 (t)k is converging quite slowly to zero. This is due to the choice of observer gains.<br />
In this case, the choice of K 2 <strong>and</strong> K 4 will have significant influence on the convergence rate, but both<br />
gains are quite low. The reason <strong>for</strong> this is that K 2 is used to determine the cut-off frequency of the<br />
notch filter ω c >ω 0 , <strong>and</strong> the choice of K 4 is based on the tuning rule (Fossen & Str<strong>and</strong> 1999, section 5)<br />
1/T bi ¿ K 3i /K 4i
22 OBSERVER DESIGN<br />
where F 1 ,F 2 < 0 <strong>for</strong> Ṁ =0. The feedback <strong>for</strong>m is very attractive because the cross-terms are<br />
cancelled, <strong>and</strong> this <strong>for</strong>m is there<strong>for</strong>e used in Backstepping techniques etc. In (Jouffroy & Lottin 2002),<br />
the feedback <strong>for</strong>m was used to show that the observer design in (Fossen & Grøvlen 1998) could be<br />
per<strong>for</strong>med using contraction theory. By per<strong>for</strong>ming the same approach as in (Jouffroy & Lottin 2002)<br />
<strong>for</strong> the observer of (Fossen & Str<strong>and</strong> 1999), the resulting conditions are given by<br />
A T 11M 11 + M 11 A 11 < 0 (3.59)<br />
A T 22 M 22 + M 22 A 22 < 0 (3.60)<br />
M11A T 12 + A T 21M 22 = 0 (3.61)<br />
where M 11 = M11 T > 0, M 22 = M22 T > 0 is to be found <strong>and</strong><br />
A 11 =<br />
A 21 =<br />
¸<br />
·Aw + K 1 C w K 1<br />
·0 0<br />
, A<br />
K 2 C w K 12 =<br />
2¸<br />
0 I<br />
·<br />
¸<br />
−1<br />
K 3 C w K 3<br />
·−T<br />
M −1 K 4 C w M −1 ,A<br />
K 22 =<br />
b<br />
0<br />
4¸<br />
M −1 −M −1 D<br />
(3.62)<br />
(3.63)<br />
That is, if equations (3.59)-(3.61) are fulfilled, the observer (3.13)-(3.17) is contracting with respect<br />
to M 11 <strong>and</strong> M 22 <strong>and</strong> has the feedback <strong>for</strong>m. When comparing the general condition (equation (3.42))<br />
with the conditions <strong>for</strong> the system to have the feedback <strong>for</strong>m (equations (3.59)-(3.61)), it is seen that the<br />
conditions <strong>for</strong> the observer to have the feedback <strong>for</strong>m is much stricter. This can be seen by the equality<br />
constraint (3.61), which means that the equations can no longer be solved as a LMI (the search <strong>for</strong> M 11<br />
<strong>and</strong> M 22 must be per<strong>for</strong>med with semidefinite programming), <strong>and</strong> there<strong>for</strong>e the choice of M 11 <strong>and</strong> M 22<br />
is severely limited as opposed to the case where there are no equality constraint.<br />
Equations (3.59)-(3.61) were calculated with Yalmip (Løfberg 2003) in Matlab TM using the SeDuMi<br />
(Sturm 2001) solver <strong>for</strong> the given set of parameters, however no solution could be found.<br />
3.1.6 Bias model<br />
From a physical point of view, one should use ḃ =0+w w in the model instead of the low-pass filtered<br />
ḃ = −T −1<br />
b<br />
b + w w , which means that the bias is modelled as integration of white noise (r<strong>and</strong>om walk).<br />
When calculating equation (3.42) <strong>for</strong> T b =0with Yalmip (Løfberg 2003) in Matlab TM using the SeDuMi<br />
(Sturm 2001) solver <strong>for</strong> the given set of parameters, the following results were obtained:<br />
max{eig(A T M 1 + M 1 A)} = −2.1948 × 10 −12 (3.64)<br />
min{eig(A T M 1 + M 1 A)} = −0.8622 (3.65)<br />
¯σ(M 1 ) = 3.0373 (maximum singular value) (3.66)<br />
σ(M 1 ) = 0.0054476 (minimum singular value) (3.67)<br />
Hence, the observer is also globally contracting (which from Theorem 3.2 implies UGES) <strong>for</strong> T b =0.<br />
Also note that ¯σ(M 1 ) is less in this case than when using T b = diag{1000, 1000, 1000} as above, which<br />
means that the overshoot as illustrated in figure 3.1 is less.
3.2. A CONTRACTION-BASED OBSERVER DESIGN WITH<br />
ACCELERATION MEASUREMENTS 23<br />
3.2 A contraction-based observer design with acceleration measurements<br />
In this section, the simplified observer of (Lindegaard 2003), which is based on position <strong>and</strong> acceleration<br />
measurements, is analysed in the framework of contraction theory, <strong>and</strong> it is shown that this observer is<br />
globally contracting with respect to a metric M a . The model of which the observer is based, neglecting<br />
the white noise terms <strong>and</strong> without mooring <strong>for</strong>ces (G =0), is given by<br />
ṗ w = A pw p w , ∈ R 6 (3.68)<br />
˙η = R(ψ)ν, ∈ R 3 (3.69)<br />
ḃ = −T −1<br />
b<br />
b, ∈ R 3 (3.70)<br />
˙ν w = A νw ν w , ∈ R nνw (3.71)<br />
ȧ w = A aw a w , ∈ R naw (3.72)<br />
˙ν = −M −1 Dν + M −1 τ + M −1 R T (ψ)b + K a a f , ∈ R 3 (3.73)<br />
ȧ f = −T −1<br />
f<br />
a f , a f (0) = 0 (3.74)<br />
y 1 = η + C pw p w , ∈ R n y1<br />
(3.75)<br />
y 2 = Υ 2 ν + C νw ν w , ∈ R n y2<br />
(3.76)<br />
y 3 = Υ 3 ˙ν + C aw a w , ∈ R n y3<br />
(3.77)<br />
where η =[x, y, ψ] T is the vector of the NED position (x, y) <strong>and</strong> heading (ψ). The yaw angle rotation<br />
matrix is defined as<br />
⎡<br />
⎤<br />
cos(ψ) − sin(ψ) 0<br />
R(y 3 )=R(ψ) = ⎣sin(ψ) cos(ψ) 0⎦ (3.78)<br />
0 0 1<br />
Υ 2 <strong>and</strong> Υ 3 are projections isolating the components of the low frequency (LF) model that are actually<br />
measured.<br />
Remark: Note that equation (3.74) is added to the model as opposed to (Lindegaard 2003). This<br />
means that the model belongs to a bigger class of systems than the model of (Lindegaard 2003), however<br />
<strong>for</strong> the initial condition a f (0) = 0, the models are identical. This relies on the concept of general<br />
systems, which is described in (Jouffroy 2003b). The reason <strong>for</strong> adding equation (3.74) to the model, is<br />
to assure that the observer model is a particular solution of the observer, <strong>and</strong> thus global contraction of<br />
the observer will imply exponential convergence of the estimates to the actual system trajectories.<br />
Also note that the acceleration measurement (equation (3.77)) is a simplification which is only valid<br />
<strong>for</strong> small angular rates (Lindegaard 2003, chapter 4.4, p.52).<br />
Further, the following assumptions are made (low speed application)<br />
M = M T > 0, Ṁ =0, D > 0 (3.79)<br />
The measurements can be written compactly as<br />
⎡<br />
y = ⎣ y ⎤<br />
1<br />
y 2<br />
⎦ = C y (ψ)x + D y τ (3.80)<br />
y 3<br />
where x =[p T w,η T ,b T ,ν T w,a T w,ν T ] <strong>and</strong>
24 OBSERVER DESIGN<br />
⎡<br />
C y (ψ) = ⎣ C ⎤<br />
pw I 0 0 0 0<br />
0 0 0 C νw 0 Υ 2<br />
⎦ (3.81)<br />
0 0 Υ 3 M −1 R T (ψ) 0 C aw −Υ 3 M −1 D<br />
D y = £ ¤<br />
0 0 M −T Υ T T<br />
3<br />
(3.82)<br />
The simplified observer is given by:<br />
˙ˆp w = A pw ˆp w + K 11 (y 1 − ŷ 1 ) (3.83)<br />
·<br />
ˆη = R(ψ)ˆν + K 21 (y 1 − ŷ 1 ) (3.84)<br />
·<br />
ˆb = −T<br />
−1<br />
b<br />
ˆb + K31 (y 1 − ŷ 1 ) (3.85)<br />
·<br />
ˆν w = A νwˆν w + K 42 (y 2 − ŷ 2 ) (3.86)<br />
·<br />
â w = A aw â w + K 53 (y 3 − ŷ 3 ) (3.87)<br />
·<br />
ˆν = −M −1 Dˆν + M −1 τ + M −1 R T (ψ)ˆb +<br />
R T (ψ)K 61 (y 1 − ŷ 1 )+K 62 (y 2 − ŷ 2 )+K a a f (3.88)<br />
ȧ f = −T −1<br />
f<br />
a f + T −1<br />
f<br />
(y 3 − ŷ 3 ) (3.89)<br />
ŷ 1 = ˆη + C pw ˆp w (3.90)<br />
ŷ 2 = Υ 2ˆν + C νwˆν w (3.91)<br />
ŷ 3 = Υ 3ˆ˙ν + C aw â w (3.92)<br />
Note the introduction of a low-pass filter in equation (3.89). The observer is based on a priori<br />
knowledge of the sea state, which means that the parameters of the wave models are assumed to be<br />
known. This means that the observer gains can be tuned according to the peak wave frequency ω 0 to<br />
give a notch filter effect which removes 1st order wave components from the feedback-loop. The reader<br />
is referred to (Lindegaard 2003) <strong>for</strong> the observer tuning rules.<br />
3.2.1 Simplified observer in compact <strong>for</strong>m<br />
Given the following assumption<br />
Assumption A2 The bias time constant matrix T b ,<strong>and</strong>each3 × 3 sub-block of A pw ,K 11 ,K 21 <strong>and</strong><br />
K 31 commutes with the rotation matrix R(ψ) (Property 1).<br />
the observer can be compactly written as<br />
˙ẑ = T T z (ψ)A z T z (ψ)ẑ + B τ τ + K(ψ)y (3.93)<br />
where ẑ =[ˆp T w, ˆη T , ˆb T , ˆν T w, â T w, ˆν T ,a T f ]T ∈ R nz , y as given in equation (3.80) <strong>and</strong><br />
T z (ψ) =diag{R T (ψ),R T (ψ),R T (ψ),R T (ψ),I 6+nνw +n aw<br />
} (3.94)
3.2. A CONTRACTION-BASED OBSERVER DESIGN WITH<br />
ACCELERATION MEASUREMENTS 25<br />
B τ = £ 0 0 0 0 0 M −1 0 ¤ T<br />
⎡<br />
⎤<br />
K 11 0 0<br />
K 21 0 0<br />
K 31 0 0<br />
K(ψ) =<br />
0 K 42 0<br />
⎢<br />
0 0 K 53<br />
⎥<br />
⎣K 61 R(ψ) K 62 0 ⎦<br />
0 0 T −1<br />
f<br />
(3.95)<br />
(3.96)<br />
· ¸<br />
A0 K f<br />
A z =<br />
T −1<br />
f<br />
C 3 −T −1<br />
(3.97)<br />
f<br />
C 3 = £ 0 0 Υ 3 M −1 0 C aw −Υ 3 M −1 D ¤ (3.98)<br />
K f = £ ¤<br />
0 0 0 0 0 Ka<br />
T T<br />
(3.99)<br />
A 0 =<br />
·A11 A 12<br />
A 21 A 22¸<br />
(3.100)<br />
⎡<br />
⎤<br />
A pw − K 11 C pw −K 11 0<br />
A 11 = ⎣ −K 21 C pw −K 21 0 ⎦ (3.101)<br />
−K 31 C pw −K 31 −T −1<br />
b<br />
⎡<br />
A 12 = ⎣ 0 0 0 ⎤<br />
0 0 I⎦ (3.102)<br />
0 0 0<br />
⎡<br />
⎤<br />
0 0 0<br />
A 21 = ⎣ 0 0 −K 53 Υ 3 M −1 ⎦ (3.103)<br />
−K 61 C pw −K 61 M −1<br />
⎡<br />
A 22 = ⎣ A ⎤<br />
νw − K 42 C νw 0 −K 42 Υ 2<br />
0 A aw − K 53 C aw K 53 Υ 3 M −1 D ⎦ (3.104)<br />
−K 62 C νw 0 −M −1 D − K 62 Υ 2<br />
3.2.2 Simplified observer in the framework of contraction<br />
The differential dynamics of (3.93) is given by<br />
δ ˙ẑ = Tz T (ψ)A z T z (ψ)δẑ = Jδẑ (3.105)<br />
Thus, <strong>for</strong> the observer to be contracting with respect to the metric M a = I, J must be u.n.d., that is<br />
J T + J = Tz T (ψ)A T z T z (ψ)+Tz T (ψ)A z T z (ψ) < 0 (3.106)<br />
However, since A z < 0 ⇒ Tz T (ψ)A z T z (ψ) < 0, the above condition is equal to<br />
A T z + A z < 0 (3.107)<br />
When inspecting A z it is seen from equation (3.11) <strong>and</strong> (3.12) (C pw = C w ), that the upper left element<br />
(A w − K 11 C pw ) has zeros in the upper left corner <strong>for</strong> any K 11 , which from Sylvester’s criterion imply
26 OBSERVER DESIGN<br />
that A z canonlybenegativesemidefinite. Hence, the above condition is not fulfilled. Thus, we have to<br />
look <strong>for</strong> a metric M a 6= I. We there<strong>for</strong>e introduce the following differential coordinate trans<strong>for</strong>mation<br />
δˆϑ = Θ a δẑ (3.108)<br />
where Θ a is a constant matrix. This leads to the new differential dynamics<br />
·<br />
δˆϑ = Θ a A z Θ −1<br />
a δˆϑ (3.109)<br />
Contraction requires the new Jacobian to be u.n.d.<br />
which can be rewritten as<br />
where M a = Θ T a Θ a > 0.<br />
Θ a A z Θ −1<br />
a < 0 (3.110)<br />
A T z M a + M a A z < 0 (3.111)<br />
Limitation on the angular rate<br />
The above calculations assume that ˙ψ =0. As noted previously, the acceleration measurements (equation<br />
(3.77)) are a simplification of the real measurements. The low-frequency (LF) linear dynamics that are<br />
being measured is not ˙ν as claimed in (3.77), since ¨η 6= ˙ν when the Earth-fixed frame is considered as<br />
being the inertial frame. More specifically, considering the LF dynamics<br />
y 3,LF =¨η = ˙ψSR(ψ)ν + R(ψ)˙ν (3.112)<br />
where S is a skew symmetric matrix<br />
⎡<br />
S = ⎣ 0 −1 0 ⎤<br />
1 0 0⎦ (3.113)<br />
0 0 0<br />
This means that (3.77) is approximately correct <strong>for</strong> small angular rates (Lindegaard 2003, chapter<br />
4.4, p.52). However, <strong>for</strong> ˙ψ 6= 0, we must ensure that the mapping ˆξ = T z (ψ)ẑ (Lindegaard 2003, chapter<br />
4.4, p.55) is stable. More precisely, we must ensure that this mapping is contracting:<br />
.<br />
·<br />
δˆξ = Tz (ψ)δ ẑ ·<br />
+ T ˙ z (ψ)δẑ (3.114)<br />
= T z (ψ)Tz T (ψ)A z T z (ψ)δẑ + ˙ψS z T z (ψ)δẑ (3.115)<br />
= (A z + ˙ψS z )δˆξ = ∂ ˆf<br />
∂ˆξ δˆξ (3.116)<br />
which is contracting if A z + ˙ψS z is u.n.d.. S z is a skew symmetric matrix which appears when the<br />
rotation T z (ψ) is differentiated:<br />
˙ T z (ψ) = d dt (T z(ψ)) = ˙ψS z T z (ψ) = ˙ψT z (ψ)S z , (3.117)<br />
S z = diag{S T ,S T ,S T ,S T , 0 nz −12} (3.118)<br />
where S is given by (3.113). Thus, we must ensure that ˙ψ is bounded: −r max ≤ ˙ψ ≤ r max .
3.3. GAIN-SCHEDULED WAVE FILTERING 27<br />
3.2.3 Contraction theorem <strong>for</strong> the simplified observer<br />
To verify that the observer estimate ẑ converges to the actual system trajectory z, we compare the<br />
observer model (equation (3.68)-(3.74)) with the observer (equation (3.83)-(3.89)). It is seen that <strong>for</strong><br />
ẑ = z which implies that ŷ = y, the systems are identical. That is, the observer model is a particular<br />
solution of the observer. Thus, from Theorem 2.2 we conclude that if ∂ ˆf is u.n.d (<strong>for</strong> the general case<br />
∂ˆξ<br />
˙ψ 6= 0), all trajectories in the state space converge exponentially to the same trajectory. Hence, ẑ<br />
converges exponentially to z if ∂ ˆf is u.n.d., <strong>and</strong> leads to the following theorem:<br />
∂ˆξ<br />
Theorem 3.3 Contraction of the simplified observer<br />
The simplified observer (3.93) which is based on position <strong>and</strong> acceleration measurements, is globally<br />
contracting <strong>and</strong> the estimation error converges exponentially to zero if, given the assumption A2, <strong>and</strong><br />
<strong>for</strong> an explicitly given maximum angular rate ˙ψ = r max , there exists a metric M a = Ma<br />
T > 0 such that<br />
M a A z + A T z M a < r max (M a S z + Sz T M a ) (3.119)<br />
M a A z + A T z M a < −r max (M a S z + Sz T M a ) (3.120)<br />
where A z is given in equation (3.97) <strong>and</strong> S z in equation.(3.118).<br />
The proof follows directly from the above deduction.<br />
Remark: The LMI in the above theorem is identical to the LMI of theorem 4.2 in (Lindegaard 2003),<br />
<strong>and</strong> merely adds the fact that <strong>for</strong> the given conditions the observer is also globally contracting.<br />
3.3 Gain-scheduled wave filtering<br />
In this section a new design method to automatically adjust the estimation of the LF motion to the<br />
slowly-varying wave model parameters, <strong>for</strong> the observer of (Fossen & Str<strong>and</strong> 1999), is presented. One<br />
possible method is suggested in (Str<strong>and</strong> & Fossen 1999), however this design has two main drawbacks:<br />
Firstly, only the wave model parameters (not the observer gains) are adapted. This means that a priori<br />
knowledge of the sea state is required to choose observer gains, such that a notch filtering effect is<br />
achieved to remove 1st order wave components. Secondly, the observer tuning can be quite difficult.<br />
This is due to the stability analysis which requires one LMI (<strong>for</strong> a given set of observer gains) with two<br />
corresponding equality constraints to be fulfilled. Since there exists no tuning rules to ensure that these<br />
equations are fulfilled, there are two possible ways to tune the observer:<br />
1. Trial <strong>and</strong> error: Choose a set of observer gains, <strong>and</strong> then check if the stability conditions are<br />
fulfilled. However, since there is no evident choice <strong>for</strong> the observer gains, this may take a lot of<br />
time.<br />
2. Solve the stability constraints using an advanced computer algorithm. The constraints have the<br />
<strong>for</strong>m (Str<strong>and</strong> & Fossen 1999, section 4.3)<br />
A T (K)P + PA(K) < 0 (3.121)<br />
B1 T P = C 1 (K) (3.122)<br />
B2 T P = C 2 (3.123)
28 OBSERVER DESIGN<br />
where K is the set of observer gains to be computed, given that there exists a matrix P = P T > 0<br />
such that the above equations are fulfilled. This problem may be solved using computer algorithms<br />
<strong>for</strong> BMIs (bilinear matrix inequalities) with semi-definite constraints. Evidently, the drawback of this<br />
approach is the complexity of the problem. Besides, the computed observer gains will have no physical<br />
meaning.<br />
Due to these problems, a new approach is suggested in which the wave model parameters are measured<br />
on-line. This simplifies the design considerably, because the parameters are not estimated. There<strong>for</strong>e, it is<br />
not necessary to require the system to be persistently exciting (PE) to guarantee parameter convergence.<br />
By doing so, it will be shown that both the wave model parameters <strong>and</strong> the observer gains can be<br />
adjusted on-line to the present sea state. This means that all the properties of the observer of (Fossen<br />
& Str<strong>and</strong> 1999) will be sustained, <strong>and</strong> that no observer tuning is required. The stability proof <strong>for</strong> the<br />
overall system is done with contraction theory using LMIs <strong>and</strong> parameter dependent Lyapunov functions.<br />
3.3.1 <strong>Observer</strong> model <strong>for</strong> gain-scheduled wave filtering<br />
First we state the observer model of (Fossen & Str<strong>and</strong> 1999) when ω 0 isassumedtobeanunknown<br />
parameter. Neglecting the white noise terms, the model is given by<br />
˙ξ = A w (ω 0 )ξ (3.124)<br />
˙η = R(ψ)ν (3.125)<br />
ḃ = −T −1<br />
b<br />
b (3.126)<br />
M ˙ν + Dν = τ + R T (ψ)b (3.127)<br />
y = η + C w ξ (3.128)<br />
And the corresponding observer of (Fossen & Str<strong>and</strong> 1999) where the wave peak frequency ω 0 is<br />
measured on-line is given by<br />
·<br />
ˆξ = Aw (¯ω 0 )ˆξ + K 1 (¯ω 0 )(y − ŷ) (3.129)<br />
·<br />
ˆη = R(ψ)ˆν + K 2 (¯ω 0 )(y − ŷ) (3.130)<br />
·<br />
ˆb = −T<br />
−1<br />
b<br />
ˆb + K3 (y − ŷ) (3.131)<br />
M ˆν ·<br />
+ Dˆν = τ + R T (ψ)ˆb + R T (ψ)K 4 (y − ŷ) (3.132)<br />
ŷ = ˆη + C wˆξ (3.133)<br />
where ¯ω 0 is the measured wave peak frequency, ˆη =[ˆx, ŷ, ˆψ] T is the vector of the NED position (x,y)<br />
<strong>and</strong> heading (ψ) <strong>and</strong><br />
· ¸ 0 I<br />
A w (¯ω 0 )=<br />
(3.134)<br />
−Ω −Λ<br />
where<br />
Ω = diag(¯ω 2 01 , ¯ω2 02 , ¯ω2 03 ) ( measured dominating wave frequency)<br />
Λ = diag(2ζ 1 ¯ω 01 , 2ζ 2 ¯ω 02 , 2ζ 3¯ω 03 )<br />
The design method relies on the following assumptions
3.3. GAIN-SCHEDULED WAVE FILTERING 29<br />
Assumption B1<br />
• ω 0i is the only unknown parameter in the wave model. For st<strong>and</strong>ard wave spectra such as JON-<br />
SWAP, the damping parameter ζ i is approximately constant <strong>for</strong> a wide range of ω 0 . Hence, if the<br />
sea state corresponds to such a wave spectrum, this is a good assumption.<br />
• ˙ω 0i =0(slowly varying)<br />
• ¯ω 0i is calculated from the position measurements using st<strong>and</strong>ard digital signal processing techniques.<br />
Since ω 0i is slowly varying, it will be sufficient to update ¯ω 0i every T minutes (e.q.<br />
T=15). It is assumed that the measured dominating wave frequency ¯ω 0 converges to true value<br />
ω 0 :¯ω 0 → ω 0<br />
• 0 < ¯ω 0min ≤ ¯ω 0 ≤ ¯ω 0max < ∞<br />
3.3.2 <strong>Observer</strong> with gain-scheduled wave filtering in compact <strong>for</strong>m<br />
By per<strong>for</strong>ming the same procedure as in section 3.1.1 <strong>and</strong> 3.1.3, <strong>and</strong> given the following assumption<br />
Assumption A3 The bias time constant matrix T b , the observer gains K 2 (¯ω 0 ) <strong>and</strong> K 3 <strong>and</strong> each<br />
3 × 3 sub-block of A w (ω 0 ),<strong>and</strong> K 1 (¯ω 0 ) commutes with the rotation matrix (Property 1).<br />
the observer in equation (3.129) to (3.133) can be compactly written as<br />
·<br />
ˆx = T T (ψ)A(¯ω 0 )T (ψ)ˆx + Bτ + K y (¯ω 0 )y (3.135)<br />
where ˆx =[ˆξ T , ˆη T , ˆb T , ˆν T ] T , T (ψ) =diag{R T (ψ),R T (ψ),R T (ψ),I 3x3 },y= η + C w ξ <strong>and</strong><br />
A(¯ω 0 ) =<br />
⎡<br />
⎤<br />
A w (¯ω 0 ) − K 1 (¯ω 0 )C w −K 1 (¯ω 0 ) 0 0<br />
⎢ −K 2 (¯ω 0 )C w −K 2 (¯ω 0 ) 0 I<br />
⎥<br />
⎣ −K 3 C w −K 3 −T −1<br />
b<br />
0 ⎦ (3.136)<br />
−M −1 K 4 C w −M −1 K 4 M −1 −M −1 D<br />
K y (¯ω 0 ) = [K T 1 (¯ω 0 ),K T 2 (¯ω 0 ),K T 3 ,K T 4 R(ψ)M −1 ] T (3.137)<br />
The differential dynamics of the observer can there<strong>for</strong>e be written as<br />
δ ˆx ·<br />
= T T (ψ)A(¯ω 0 )T (ψ)δˆx = J(¯ω 0 )δˆx (3.138)<br />
Hence, it is required that J(¯ω 0 ) is u.n.d. which corresponds to<br />
J T (¯ω 0 )+J(¯ω 0 )=T T (ψ)A T (¯ω 0 )T (ψ)+T T (ψ)A(¯ω 0 )T (ψ) < 0 (3.139)<br />
However, since A(¯ω 0 ) < 0 ⇒ T T (ψ)A T (¯ω 0 )T (ψ) < 0 the above condition is equal to<br />
A T (¯ω 0 )+A(¯ω 0 ) < 0 (3.140)<br />
That is, the rotation matrices can be removed from the analysis. Instead of (3.138) we there<strong>for</strong>e<br />
consider the linear system<br />
δ ˆx ·<br />
= A(¯ω 0 )δˆx (3.141)<br />
Hence, it must be proven that A(¯ω 0 ) fulfills property (3.140) <strong>for</strong> 0 ≤ ¯ω 0min < ¯ω 0 ≤ ¯ω 0max < ∞.
30 OBSERVER DESIGN<br />
3.3.3 Stability of LPV systems<br />
Linear parameter dependent (LPV) systems are linear systems where the system matrices depend on<br />
an unknown parameter, <strong>and</strong> affine LPV systems are linear systems where the system matrices depend<br />
affinely on the unknown parameter By considering ¯w 0 <strong>and</strong> ¯w 0 2 as two different parameters which are<br />
measured, the differential dynamics (3.141) can be rewritten as an autonomous, affine LPV system. We<br />
there<strong>for</strong>e need to use some tools <strong>for</strong> LPV systems. Consider the linear system defined by<br />
ẋ = A(δ)x (3.142)<br />
where the state matrix A(δ) is a function of a real valued parameter vector δ =col(δ 1 ,δ 2 , ..., δ k )<br />
∈ R k . A sufficient condition <strong>for</strong> x ∗ =0to be an asymptotically stable equilibrium point of (3.142) is the<br />
existence of a quadratic Lyapunov function<br />
with K = K T > 0 such that<br />
V (x) =x T Kx (3.143)<br />
dV (x, t)<br />
˙V = < 0 (3.144)<br />
dt<br />
along all trajectories of x of (3.142) that originate in a neighborhood of the equilibrium x ∗ =0.<br />
Definition 3.1 The system (3.142) is said to be quadratically stable <strong>for</strong> perturbations ∆ if there<br />
exists a matrix K = K T such that<br />
A(δ(t)) T K + KA(δ(t)) < 0 (3.145)<br />
<strong>for</strong> all perturbations δ ∈ ∆ (Weil<strong>and</strong> & Scherer 2000).<br />
The function ’quadstab’ inMatlab TM canbeusedtofind a parameter dependent Lyapunov function<br />
which fulfills Definition 3.1. The main disadvantage in searching <strong>for</strong> one quadratic Lyapunov function<br />
<strong>for</strong> a class of parameter dependent systems is the conservatism of the test to prove stability of a class<br />
of models. Indeed, the test of quadratic stability does not discriminate between systems that have slow<br />
time-varying parameters <strong>and</strong> systems whose dynamical characteristics quickly vary in time. To reduce<br />
conservatism of the quadratic stability test, parameter dependent Lyapunov functions will be considered<br />
instead.<br />
Definition 3.2 The system (3.142) is called affinely quadratically stable if there exists matrices<br />
K 0 = K0 T , ...., K k = Kk<br />
T such that<br />
K(δ) =K T (δ) :=K 0 + δ 1 K 1 + ... + δ k K k > 0 (3.146)<br />
<strong>for</strong> all perturbations δ ∈ ∆.<br />
A(δ) T K(δ)+K(δ)A(δ)+ dK(δ)<br />
dt<br />
< 0 (3.147)<br />
Definition 3.2 is a modification of the definition of affine quadratic stability used in (Weil<strong>and</strong> &<br />
Scherer 2000), since it is required that K(δ) is symmetric. In Matlab TM , the function ’pdlstab’ is<br />
designed to find parameter dependent Lyapunov functions of the <strong>for</strong>m given in Definition 3.2.
3.3. GAIN-SCHEDULED WAVE FILTERING 31<br />
3.3.4 Contraction theorem <strong>for</strong> observer with gain-scheduled wave filtering<br />
In our case equation (3.147) reduces to A(δ) T K(δ)+K(δ)A(δ) < 0, since the parameters are assumed to<br />
be time-invariant (slowly varying). Thus, if this requirement is fulfilled, the proposed observer structure<br />
will be contracting.<br />
Now it must be ensured that the observer estimate ˆx converges to the actual system trajectory x. By<br />
comparing the observer model (equation (3.124)-(3.128)) with the observer (equation (3.129)-(3.133)),<br />
it is seen that <strong>for</strong> ˆx = x which implies that ŷ = y, the systems are identical. That is, the observer model<br />
is a particular solution of the observer. From Theorem 2.2, we there<strong>for</strong>e conclude that if ∂ ˆf<br />
∂ ˆx<br />
is u.n.d,<br />
all trajectories in the state space converge exponentially to the same trajectory. Hence, ˆx converges<br />
exponentially to x if ∂ ˆf<br />
∂ ˆx<br />
is u.n.d This leads to the following theorem:<br />
Theorem 3.4 Contracting observer with gain-scheduled wave filtering based on position<br />
<strong>and</strong> heading measurements The observer in equation (3.129)-(3.133) is globally contracting <strong>and</strong> the<br />
observer error converges exponentially to zero if there exists a metric M(¯ω 0 )=M T (¯ω 0 ) > 0 such that<br />
A(¯ω 0 ) T M(¯ω 0 )+M(¯ω 0 )A(¯ω 0 ) < 0 (3.148)<br />
given the assumptions B1 <strong>and</strong> A3, <strong>and</strong>whereA(¯ω 0 ) is given in (3.136).<br />
The proof follows directly from the above deduction.<br />
Note that the M(¯ω 0 ) corresponds to a parameter dependent metric used in contraction theory. To<br />
verify that Theorem 3.4 can be fulfilled, we rewrite A(¯ω 0 ) as<br />
where<br />
A(¯ω 0 )=A 0 + A 1¯ω 0 + A 2 ¯ω 2 0 (3.149)<br />
A 0 =<br />
A 011 =<br />
A 012 =<br />
⎡<br />
⎤<br />
A 011 A 012 0 6×3 0 6×3<br />
⎢ 0 3×6 0 3×3 0 3×3 I 3×3<br />
⎥<br />
⎣ −K 3 −K 3 −T −1<br />
b<br />
0 3×3<br />
⎦ (3.150)<br />
−M −1 K 4 C w −M −1 K 4 M −1 −M −1 D<br />
¸<br />
·03×3 (1 + 2(ζ d − ζ)k)I 3×3<br />
(3.151)<br />
0 3×3 0 3×3<br />
¸<br />
·2(ζd − ζ)kI 3×3<br />
(3.152)<br />
0 3×3<br />
A 1 =<br />
A 111 =<br />
A 112 =<br />
⎡<br />
⎤<br />
A 111 A 112 0 6×3 0 6×3<br />
⎢−kI 3×3 C w −kI 3×3 0 3×3 0 3×3<br />
⎥<br />
⎣ 0 3×6 0 3×3 0 3×3 0 3×3<br />
⎦ (3.153)<br />
0 3×6 0 3×3 0 3×3 0 3×3<br />
·03×3 0 3×3<br />
(3.154)<br />
0 3×3 −2ζ d I 3×3¸<br />
·<br />
0 3×3<br />
(3.155)<br />
−2(ζ d − ζ)I 3×3¸
32 OBSERVER DESIGN<br />
A 2 =<br />
A 211 =<br />
⎡<br />
⎤<br />
A 211 0 6×3 0 6×3 0 6×3<br />
⎢0 3×6 0 3×3 0 3×3 0 3×3<br />
⎥<br />
⎣0 3×6 0 3×3 0 3×3 0 3×3<br />
⎦ (3.156)<br />
0 3×6 0 3×3 0 3×3 0 3×3<br />
·03×3 0 (3.157)<br />
−I 0 3×3¸<br />
where ζ d is the desired damping ratio (typically 1) <strong>and</strong> ω c = kω 0 ,k>1, is the cut-off frequency<br />
of the notch filter. By using the LMI Toolbox in Matlab TM (see ’pdlstab’), a parameter dependent<br />
Lyapunov function<br />
M(¯ω 0 )=M 0 + M 1 ¯ω 0 + M 2¯ω 2 0 (3.158)<br />
which satisfies equation (3.149) can be found. Since M 0 ,M 1 ,M 2 ∈ R 15×15 the matrices are not<br />
stated due to lack of space. Calculations show that the conditions are easily satisfied <strong>for</strong> the bounds:<br />
¯ω 0min =0.01 rad/s <strong>and</strong> ¯ω 0max = 100 rad/s , which practically cover every possible sea state, <strong>for</strong> the<br />
choice of T b ,K 3 <strong>and</strong> K 4 stated in (Fossen & Str<strong>and</strong> 1999) with ω c =1.22ω 0 <strong>and</strong> ζ d =1<strong>for</strong> the same<br />
supply vessel which is also found in (Matlab GNC Toolbox 2003).<br />
In other words, this means that all the vital properties of the observer which are<br />
• wave filtering capabilities: The observer estimates the wave frequency components η WF<br />
these frequencies can be removed from the feedback loop<br />
so that<br />
• notch filtering: The choice of K 1 <strong>and</strong> K 2 (see Fossen & Str<strong>and</strong> 1999) are done such that the 1st<br />
order wave components (frequencies around the dominating wave frequency ω 0 )arenotchfiltered.<br />
• exponential converges to zero of the estimation error<br />
• velocity <strong>and</strong> bias estimation<br />
remain intact as the observer adapts to the changing sea state, <strong>and</strong> there is no need <strong>for</strong> observer<br />
tuning (K 3 <strong>and</strong> K 4 are simply chosen so that 1/T bi ¿ K 3i /K 4i
3.4. GAIN-SCHEDULED WAVE FILTERING WITH ACCELERATION<br />
MEASUREMENTS 33<br />
1. High-pass filter the position <strong>and</strong> heading measurements to remove the vessel drift<br />
2. Sample <strong>and</strong> buffer a time series of the position <strong>and</strong> heading measurements<br />
3. Calculate the PDS <strong>and</strong> identify the peak frequency<br />
4. Use a rate limiter to assure that the assumption ˙ω 0 =0is maintained<br />
In the observer the same ¯ω 0 is used in all degrees of freedom. Also, the median of the estimated peak<br />
frequencies should be used in case of loss of position measurements. Figure 3.2 shows how this can be done<br />
in Simulink TM in one degree of freedom. The blocks are found in the DSP (Digital Signal Processing)<br />
Toolbox in Simulink TM . The power spectrum estimation method used here is the parametric method<br />
of Burg, which has several advantages compared to nonparametric methods. Parametric methods is<br />
recommended since they give better estimates <strong>for</strong> shorter finite-length data records. For more in<strong>for</strong>mation<br />
on the Burg method <strong>and</strong> digital signal processing, the reader is referred to (Proakis & Manolakis 1996).<br />
Figure 3.2: Measurement of ω 0 inonedegreeoffreedom<br />
3.4 Gain-scheduled wave filtering with acceleration measurements<br />
In this section, the result of section 3.3 is extended to the simplified observer of (Lindegaard 2003). Since<br />
the observer of (Fossen & Str<strong>and</strong> 1999) <strong>and</strong> the simplified observer of (Lindegaard 2003) have the same<br />
<strong>for</strong>m, the procedure is identical.<br />
3.4.1 Simplified observer with gain-scheduled wave filtering in compact <strong>for</strong>m<br />
The observer model is given by
34 OBSERVER DESIGN<br />
ṗ w = A pw (¯ω 0 )p w , ∈ R 6 (3.159)<br />
˙η = R(ψ)ν, ∈ R 3 (3.160)<br />
ḃ = −T −1<br />
b<br />
b, ∈ R 3 (3.161)<br />
˙ν w = A νw (¯ω 0 )ν w , ∈ R n νw<br />
(3.162)<br />
ȧ w = A aw (¯ω 0 )a w , ∈ R n aw<br />
(3.163)<br />
˙ν = −M −1 Dν + M −1 τ + M −1 R T (ψ)b + K a a f , ∈ R 3 (3.164)<br />
ȧ f = −T −1<br />
f<br />
(¯ω 0 )a f , a f (0) = 0 (3.165)<br />
y 1 = η + C pw p w , ∈ R n y1<br />
(3.166)<br />
y 2 = Υ 2 ν + C νw ν w , ∈ R n y2<br />
(3.167)<br />
y 3 = Υ 3 ˙ν + C aw a w , ∈ R n y3<br />
(3.168)<br />
<strong>and</strong> given the following assumption<br />
Assumption B4 The bias time constant matrix T b ,<strong>and</strong>each3×3 sub-block of A pw (¯ω 0 ),K 11 (¯ω 0 ),K 21 (¯ω 0 )<br />
<strong>and</strong> K 31 commutes with the rotation matrix R(ψ)<br />
the observer can be written compactly as<br />
·<br />
ẑ = T T z (ψ)A z (¯ω 0 )T z (ψ)ẑ + B τ τ + K(ψ, ¯ω 0 )y (3.169)<br />
where ẑ =[ˆp T w, ˆη T , ˆb T , ˆν T w, â T w, ˆν T ,a T f ]T ∈ R nz , y as given in equation (3.80) <strong>and</strong><br />
T z (ψ) =diag{R T (ψ),R T (ψ),R T (ψ),R T (ψ),I 6+nνw+n aw<br />
} (3.170)<br />
B τ = £ 0 0 0 0 0 M −1 0 ¤ T<br />
⎡<br />
⎤<br />
K 11 (¯ω 0 ) 0 0<br />
K 21 (¯ω 0 ) 0 0<br />
K 31 0 0<br />
K(ψ, ¯ω 0 ) =<br />
0 K 42 (¯ω 0 ) 0<br />
⎢<br />
0 0 K 53<br />
⎥<br />
⎣K 61 R(ψ) K 62 (¯ω 0 ) 0 ⎦<br />
0 0 T −1<br />
f<br />
(¯ω 0 )<br />
(3.171)<br />
(3.172)<br />
· ¸<br />
A0 (¯ω 0 ) K f<br />
A z (¯ω 0 ) =<br />
T −1<br />
f<br />
(¯ω 0 )C 3 −T −1<br />
(3.173)<br />
f<br />
(¯ω 0 )<br />
C 3 = £ 0 0 Υ 3 M −1 0 C aw −Υ 3 M −1 D ¤ (3.174)<br />
K f = £ ¤<br />
0 0 0 0 0 Ka<br />
T T<br />
(3.175)<br />
¸<br />
·A11 (¯ω<br />
A 0 (¯ω 0 )= 0 ) A 12<br />
A 21 A 22 (¯ω 0 )<br />
(3.176)<br />
⎡<br />
A pw (¯ω 0 ) − K 11 (¯ω 0 )C pw −K 11 (¯ω 0 ) 0<br />
⎤<br />
A 11 (¯ω 0 )= ⎣ −K 21 (¯ω 0 )C pw −K 21 (¯ω 0 ) 0 ⎦ (3.177)<br />
−K 31 C pw −K 31 −T −1<br />
b
3.4. GAIN-SCHEDULED WAVE FILTERING WITH ACCELERATION<br />
MEASUREMENTS 35<br />
⎡<br />
A 12 = ⎣ 0 0 0 ⎤<br />
0 0 I⎦ (3.178)<br />
0 0 0<br />
⎡<br />
⎤<br />
0 0 0<br />
A 21 = ⎣ 0 0 −K 53 Υ 3 M −1 ⎦ (3.179)<br />
−K 61 C pw −K 61 M −1<br />
⎡<br />
A 22 (¯ω 0 )= ⎣ A ⎤<br />
νw(¯ω 0 ) − K 42 (¯ω 0 )C νw 0 −K 42 (¯ω 0 )Υ 2<br />
0 A aw (¯ω 0 ) − K 53 C aw K 53 Υ 3 M −1 D ⎦ (3.180)<br />
−K 62 (¯ω 0 )C νw 0 −M −1 D − K 62 (¯ω 0 )Υ 2<br />
3.4.2 Contraction theorem <strong>for</strong> simplified observer with gain-scheduled wave<br />
filtering <strong>and</strong> acceleration measurements<br />
Theorem 3.5 Contracting observer with gain-scheduled wave filtering based on position,<br />
heading <strong>and</strong> acceleration measurements. The observer in equation (3.169) is globally contracting<br />
<strong>and</strong> the estimation error converges exponentially to zero if, given the assumptions B1 <strong>and</strong> B4, <strong>and</strong><strong>for</strong><br />
an explicitly given maximum angular rate ˙ψ = r max , there exists a metric M a (¯ω 0 )=Ma T (¯ω 0 ) > 0 such<br />
that<br />
M a (¯ω 0 )A z (¯ω 0 )+A T z (¯ω 0 )M a (¯ω 0 ) 0 such that the generalized Jacobian is<br />
u.n.d.:<br />
∂ ˆf(¯ω<br />
T<br />
0 )<br />
M(¯ω 0 )+M(¯ω 0 ) ∂ ˆf(¯ω 0 )<br />
< 0<br />
∂ˆξ<br />
∂ˆξ<br />
∀ˆξ,∀t ≥ 0 (3.186)<br />
Inserting ˙ψ = ±r max this corresponds to the two equations
36 OBSERVER DESIGN<br />
which can be rewritten as<br />
M(¯ω 0 )(A z (¯ω 0 )+r max S z )+(A z (¯ω 0 )+r max S z ) T M(¯ω 0 ) < 0 (3.187)<br />
M(¯ω 0 )(A z (¯ω 0 ) − r max S z )+(A z (¯ω 0 ) − r max S z ) T M(¯ω 0 ) < 0 (3.188)<br />
M(¯ω 0 )A z (¯ω 0 )+A T z (¯ω 0 )M(¯ω 0 ) < −r max (M(¯ω 0 )S z + Sz T M(¯ω 0 )) (3.189)<br />
M(¯ω 0 )A z (¯ω 0 )+A T z (¯ω 0 )M(¯ω 0 )
Chapter 4<br />
<strong>Control</strong>ler design<br />
In order to take advantage of the observers from the previous chapter, the control law must be implemented<br />
using the estimated states instead of the true one, due to the absence of required measurements,<br />
<strong>and</strong> because of the wave filtering. Hence, it must be shown that such a combination yields stability of<br />
the closed loop.<br />
In (Panteley & Loria 1998), a separation principle <strong>for</strong> nonlinear time-varying systems in cascades<br />
was established, <strong>and</strong> in (Loria et al. 2000), this separation principle was used to prove UGAS of the<br />
closed loop <strong>for</strong> a PD-controller with bias feed-<strong>for</strong>ward using the observer of (Fossen & Str<strong>and</strong> 1999).<br />
This separation principle is also referred to in (Lindegaard 2003), to argue that a PID controller with<br />
acceleration feedback can be implemented using the estimates from the observer in section 3.2.<br />
Likewise, the observers with gain-scheduled wave filtering from section 3.3 <strong>and</strong> 3.4 can be used with<br />
the corresponding controllers as their static wave filtering counterparts, using the separation principle of<br />
(Panteley & Loria 1998) or (Loria & Morales 2002), since the observers with gain-scheduled wave filtering<br />
are UGES. However, in contraction theory there exists a simpler <strong>and</strong> more powerful separation principle,<br />
which is used in this chapter to prove UGES of the closed loop when the controller is implemented using<br />
the state estimates.<br />
4.1 A contraction based nonlinear separation principle<br />
The following separation principle is cited from (Lohmiller & Slotine March 2000): Consider a plant<br />
dynamics in terms of an explicit state vector z<br />
combined with the observer<br />
ż = f(z, t)+G(z, t)u(ẑ,t) (4.1)<br />
·<br />
ẑ = f(ẑ, t) − [e(ẑ) − e(z)] + G(z, t)u(ẑ,t) (4.2)<br />
where ẑ is the state estimate, <strong>and</strong> u(ẑ,t) is the control input. Letting ˜z =ẑ − z, the Lyapunov-like<br />
analysis<br />
Z<br />
d<br />
∂(f − e)<br />
dt (˜zT ˜z) =2˜z T (z − λ˜z)dλ˜z (4.3)<br />
∂z<br />
then shows that the convergence rate of ẑ to z is specified by ∂(f −e)/∂z. For bounded G, this system<br />
is a hierarchy, <strong>and</strong> thus the convergence rate of the plant dynamics is given by ∂(f +Gu)/∂z. This result<br />
may be viewed as an extension of the st<strong>and</strong>ard linear separation principle in Luenberger (1979).<br />
37
38 CONTROLLER DESIGN<br />
Figure 4.1: Block diagram showing the control allocation block in a feedback control system<br />
4.2 <strong>Control</strong> allocation<br />
In this thesis algorithms <strong>for</strong> control allocation is not considered. In all the equations given here, the<br />
control <strong>for</strong>ces <strong>and</strong> moments are collected in the generalized control <strong>for</strong>ce vector τ. However, <strong>for</strong> implementation,<br />
the generalized <strong>for</strong>ces must be allocated to the actuators of the ship with an appropriate<br />
algorithm. For more in<strong>for</strong>mation on control allocation, the reader is referred to the work of Tor. A.<br />
Johansen (Johansen 2003), <strong>and</strong> (Fossen 2002) <strong>and</strong> references therein.<br />
Let C A (z, t) represent the control allocation algorithm. See figure 4.1. When comparing equation<br />
(4.2) with the observers from chapter 3, it is seen that the function G(z,t) is given by.<br />
G(z, t) =M −1 C −1<br />
A u (4.4)<br />
Hence, <strong>for</strong> any appropriate control allocation algorithm C A (z,t), G(z,t) will be bounded, <strong>and</strong> consequently<br />
the observer-feedback control structure described by (4.1) <strong>and</strong> (4.2) is a hierarchy.<br />
4.3 <strong>Observer</strong>-feedback control<br />
In this section, it is shown that a PID-controller implemented with the state estimates from the observer<br />
with gain-scheduled wave filtering in section 3.3, <strong>and</strong> that a PID-controller with acceleration feedback<br />
implemented with the state estimates from the observer with gain-scheduled wave filtering in section<br />
3.4, yield an overall globally contracting (<strong>and</strong> consequently UGES) DP system.<br />
Note that the observers from section 3.1 <strong>and</strong> 3.2 are particular solutions of their gain-scheduled<br />
counterparts, <strong>and</strong> there<strong>for</strong>e the theorems given here are also valid <strong>for</strong> the observers with static wave<br />
filtering. In the static case, simply disregard that ω 0 is a slowly varying parameter, <strong>and</strong> modify the<br />
theorems thereafter.<br />
For convenience, let us restate the ship model of which the controller design is based:<br />
˙η = R(ψ)ν (4.5)<br />
M ˙ν + Dν = τ (4.6)<br />
4.3.1 <strong>Observer</strong>-feedback control with gain-scheduled wave filtering<br />
Consider the following control law:<br />
˙ξ = η (4.7)<br />
˙ξ d = η d (4.8)<br />
τ = −K i R T (ψ)(ξ − ξ d ) − K d ν − K p R T (ψ)(η − η d ) (4.9)
4.3. OBSERVER-FEEDBACK CONTROL 39<br />
where η d (t) is the desired position <strong>and</strong> heading. Thus, if<br />
⎡ ⎤<br />
˙ξ<br />
⎣ ˙η ⎦ =<br />
˙ν<br />
⎡<br />
⎤ ⎡<br />
0 3×3 I 3×3 0 3×3<br />
⎣ 0 3×3 0 3×3 R(ψ) ⎦ ⎣ ξ ⎤<br />
η⎦ + τ d (4.10)<br />
−M −1 K i R T (ψ) −M −1 K p R T (ψ) −M −1 (D + K d ) ν<br />
τ d = £ 0 0 (R T (K i z d + K p η d )) T ¤ T<br />
which can be compactly written as<br />
where x =[ξ T ,η T ,ν T ] T <strong>and</strong><br />
(4.11)<br />
ẋ = T T (ψ)A τ T (ψ)x + τ d (4.12)<br />
T (ψ) =diag{R T (ψ),R T (ψ),I 3×3 } (4.13)<br />
⎡<br />
A τ = ⎣ 0 ⎤<br />
3×3 I 3×3 0 3×3<br />
0 3×3 0 3×3 I 3×3<br />
⎦ (4.14)<br />
−M −1 K i −M −1 K p −M −1 (D + K d )<br />
is contracting, the hierarchy of the PID controller implemented with the state estimates<br />
˙ˆξ = ˆη (4.15)<br />
˙ξ d = η d (4.16)<br />
τ = −K i R T (ψ)(ˆξ − ξ d ) − K dˆν − K p R T (ψ)(ˆη − η d ) (4.17)<br />
from the observer (3.135), will be contracting.<br />
Theorem 4.1 <strong>Observer</strong>-feedback control with gain-scheduled wave filtering based on position<br />
<strong>and</strong> heading measurements. The hierarchy of the observer (3.135) with gain-scheduled wave filtering<br />
<strong>and</strong> the PID controller (4.17) is globally contracting if there exists a metric M(¯ω 0 )=M T (¯ω 0 ) > 0 such<br />
that<br />
A(¯ω 0 ) T M(¯ω 0 )+M(¯ω 0 )A(¯ω 0 ) < 0 (4.18)<br />
<strong>and</strong> a metric M τ = M T τ<br />
> 0 such that<br />
A T τ M τ + M τ A τ < 0 (4.19)<br />
given the assumptions B1 <strong>and</strong> A3, <strong>and</strong>whereA(¯ω 0 ) is given in (3.136) <strong>and</strong> A τ is given in (4.14).<br />
The proof follows directly from the separation principle.<br />
4.3.2 <strong>Observer</strong>-feedback control with gain-scheduled wave filtering <strong>and</strong> acceleration<br />
feedback<br />
Suppose that y a ∈ R ny3 is the measured accelerations in the body-frame <strong>and</strong> that Π ∈ R ny3×3 is<br />
the projection extracting the available acceleration measurements y a = Π ˙ν. Let the control law be<br />
(Lindegaard 2003, chapter 5.4, p.75)
40 CONTROLLER DESIGN<br />
ȧ f_τ = A f a f_τ + B f (y a − Π{(r − r d )S T R T (ψ − ψ d )ν d + R T (ψ − ψ d )˙ν d }) ∈ R n y3<br />
(4.20)<br />
τ = τ PID − K a a f_τ (4.21)<br />
where a f_τ is the filtered acceleration error <strong>and</strong> τ PID is to be determined shortly. At low frequencies<br />
a f_τ ≈ y a − Π{(r − r d )S T R T (ψ − ψ d )ν d + R T (ψ − ψ d )˙ν d } (4.22)<br />
which means that the acceleration term K a a f_τ can be regarded as a change in the system’s mass.<br />
This can be seen by inserting (4.21) with (4.22) into the ship model, which results in<br />
˙η = R(ψ)ν (4.23)<br />
(M + K a Π)˙ν + Dν = τ PID − K a Π{(r − r d )S T R T (ψ − ψ d )ν d + R T (ψ − ψ d )˙ν d } (4.24)<br />
Now, let the PID controller be given by<br />
˙ξ = η (4.25)<br />
˙ξ d = η d (4.26)<br />
τ PID = −K i R T (ψ)(ξ − ξ d ) − K p R T (ψ)(η − η d ) − K d (ν − R T (ψ − ψ d )ν d )+τ rff (4.27)<br />
where the reference feed-<strong>for</strong>ward is given by<br />
τ rff = DR T (ψ − ψ d )ν d + M{(r − r d )S T R T (ψ − ψ d )ν d + R T (ψ − ψ d )˙ν d } (4.28)<br />
Thus, if<br />
ẋ τa = Tτa(ψ)A T τa T τa (ψ)x τa + τ ad (4.29)<br />
where<br />
x τa =<br />
h<br />
i T<br />
ξ T η T ν T a T f_τ (4.30)<br />
T τa (ψ) = diag{R T (ψ),R T (ψ),I 3+ny3 } (4.31)<br />
⎡<br />
⎤<br />
0 I 0 0<br />
A τa = ⎢ 0 0 I 0<br />
⎥<br />
⎣ −M −1 K i −M −1 K p −M −1 (D + K p ) −M −1 K a<br />
⎦ (4.32)<br />
−B f ΠM −1 K i −B f ΠM −1 K p −B f ΠM −1 (D + K d ) A f − B f ΠM −1 K a<br />
⎡<br />
⎤<br />
0<br />
τ ad = ⎢<br />
0<br />
⎥<br />
⎣ M −1 (K i R T (ψ)ξ d + K p R T (ψ)η d + K d R T (ψ − ψ d )ν d + τ rff ) ⎦ (4.33)<br />
B f ΠM −1 (K i R T (ψ)ξ d + K p R T (ψ)η d + K d R T (ψ − ψ d )ν d + τ rff )<br />
is contracting, the hierarchy of the control law (4.21) implemented with the state estimates
4.3. OBSERVER-FEEDBACK CONTROL 41<br />
˙ˆξ = ˆη (4.34)<br />
˙ξ d = η d (4.35)<br />
´<br />
ȧ f_τ = −A f a f_τ + B f Π<br />
³ˆ˙ν − {(ˆr − r d )S T R T (ˆψ − ψ d )ν d + R T (ˆψ − ψ d )˙ν d } ∈ R n y3<br />
(4.36)<br />
τ = −K i R T (ψ)(ˆξ − ξ d ) − K p R T (ψ)(ˆη − η d ) − K d (ˆν − R T (ψ − ψ d )ν d ) − K a a f_τ + τ rff (4.37)<br />
from the observer (3.169), will be contracting.<br />
Theorem 4.2 <strong>Observer</strong>-feedback control with gain-scheduled wave filtering <strong>and</strong> acceleration<br />
feedback The hierarchy of the observer (3.169) with gain-scheduled wave filtering <strong>and</strong> the PID controller<br />
(4.27) with acceleration feedback is globally contracting if there exists a metric M a (¯ω 0 )=M T a (¯ω 0 ) > 0<br />
such that<br />
M a (¯ω 0 )A z (¯ω 0 )+A T z (¯ω 0 )M a (¯ω 0 ) 0 such that<br />
A T τaM τa + M τa A τa < 0 (4.40)<br />
given the assumptions B1 <strong>and</strong> B4, whereA z (¯ω 0 ) is stated in equation (3.173), S z in equation.(3.118)<br />
<strong>and</strong> A τa in equation (4.32).<br />
The proof follows directly from the separation principle.
42 CONTROLLER DESIGN
Chapter 5<br />
Simulation results<br />
Case study: A model of a 80m supply vessel with two main propellers <strong>and</strong> three thrusters (one aft <strong>and</strong> two<br />
in the bow) is used in MCSim to demonstrate the per<strong>for</strong>mance of the DP system with gain-scheduled<br />
wave filtering. MCSim is a Simulink TM -model design to test ships when exposed to environmental<br />
disturbances. For details regarding the configuration of the vessel model <strong>and</strong> MCSim, thereaderis<br />
referred to (Smogeli 2003).<br />
The simulation scenario is illustrated in figure 5.0.1.<br />
Figure 5.0.1: Simulation scenario<br />
The scenario is the following:<br />
1. Station-keeping at position (x 0 ,y 0 ) with heading ψ 0 =45 ◦<br />
43
44 SIMULATION RESULTS<br />
2. Change of position to (x 1 ,y 1 ) <strong>and</strong> then change of heading to ψ 1 =0 ◦ ,wherex 1 − x 0 = y 1 − y 0 =<br />
20m.<br />
3. Station-keeping at position (x 1 ,y 1 ) with heading ψ 1 =0 ◦<br />
The following features are included in the simulations:<br />
• Waves: The waves are generated from the JONSWAP wave spectrum, <strong>and</strong> 20 frequency components<br />
are used in the simulations. The significant wave height H s is constant in every simulation.<br />
• Wind: The wind <strong>for</strong>ce is generated from the NORSOK wind spectrum based on the expectation<br />
value of H s , <strong>and</strong> 20 frequency components are used in the gust realization. The maximum variation<br />
in the wind direction is ±5 ◦ .<br />
• Wave elevation <strong>and</strong> wave induced velocity calculations<br />
• Cross coupling loss <strong>for</strong> ducted/open propeller, <strong>and</strong> transverse loss <strong>for</strong> tunnel thruster<br />
• Thruster control: Hybrid power/torque controller with loss estimation (Smogeli, Sørensen & Fossen<br />
2004)<br />
• Coriolis-centripetal <strong>for</strong>ces<br />
No measurement noise is however included in the simulations, which means that the measurements<br />
are simply the sum of the WF motion <strong>and</strong> the LF motion. In the simulations, the ship model to be<br />
controlled <strong>and</strong> the observer ship model have the same initial conditions.<br />
The PID-controller used in all simulations is tuned to yield a critically damped closed-loop system<br />
with natural frequency of ω n =0.8 rad/s. Details regarding the vessel control model <strong>and</strong> the PID<br />
controller are given in Appendix B, <strong>and</strong> the observer data is given in Appendix A. The scenario is<br />
simulated in moderate sea state (significant wave height H s =1.4m ) <strong>and</strong> very rough sea state (significant<br />
wave height H s =5m ), with <strong>and</strong> without acceleration feedback. Note that when using the method<br />
described in section 3.3.5 <strong>for</strong> measuring ω 0 , an initial condition ω 0_init 6=0is needed until the first<br />
position <strong>and</strong> heading time series is buffered <strong>and</strong> analysed. For the sake of demonstration, the initial<br />
condition chosen here is ω 0_init =0.38 rad/s, which corresponds to H s =15m in the JONSWAP wave<br />
spectrum. That is, the wave filter is initially tuned <strong>for</strong> Bau<strong>for</strong>t <strong>for</strong>ce 12 with hurricane wind.<br />
5.1 <strong>Observer</strong>-feedback control with gain-scheduled wave filtering<br />
5.1.1 Moderate sea state
Y E<br />
[m]<br />
X E<br />
[m]<br />
5.1. OBSERVER-FEEDBACK CONTROL WITH GAIN-SCHEDULED WAVE<br />
FILTERING 45<br />
25<br />
Measured position X E<br />
(t) (solid) <strong>and</strong> desired (dashed)<br />
20<br />
15<br />
10<br />
5<br />
0<br />
-5<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.1.1: Measured <strong>and</strong> desired position X E (t), H s =1.4m, PID controller<br />
25<br />
Measured position Y E<br />
(t) (solid) <strong>and</strong> desired (dashed)<br />
20<br />
15<br />
10<br />
5<br />
0<br />
-5<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.1.2: Measured <strong>and</strong> desired position Y E (t), H s =1.4m, PID controller
X E<br />
[m]<br />
Course [deg]<br />
46 SIMULATION RESULTS<br />
60<br />
Measured course (solid) <strong>and</strong> desired (dashed)<br />
50<br />
40<br />
30<br />
20<br />
10<br />
0<br />
-10<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.1.3: Measured <strong>and</strong> desired course, H s =1.4m, PID controller<br />
25<br />
Measured position (solid) <strong>and</strong> desired (dashed)<br />
20<br />
15<br />
10<br />
5<br />
0<br />
-5<br />
-5 0 5 10 15 20 25<br />
Y [m] E<br />
Figure 5.1.1.4: Measured position (X E (t),Y E (t)), H s =1.4m, PID controller
y(1)-y(1)-hat [m]<br />
5.1. OBSERVER-FEEDBACK CONTROL WITH GAIN-SCHEDULED WAVE<br />
FILTERING 47<br />
0.8<br />
Measured ω 0<br />
(t)<br />
0.75<br />
0.7<br />
0.65<br />
Measured ω 0<br />
0.6<br />
0.55<br />
0.5<br />
0.45<br />
0.4<br />
0.35<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.1.5: Measured ω 0 (t) in rad/s, H s =1.4m, PID controller<br />
0.1<br />
Estimation error in X E<br />
-direction<br />
0<br />
-0.1<br />
-0.2<br />
-0.3<br />
-0.4<br />
-0.5<br />
-0.6<br />
-0.7<br />
-0.8<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.1.6: Estimation error: y(1) − ŷ(1), H s =1.4m, PID controller
y(3)-y(3)-hat [deg]<br />
y(2)-y(2)-hat [m]<br />
48 SIMULATION RESULTS<br />
1<br />
Estimation error in Y E<br />
-direction<br />
0.8<br />
0.6<br />
0.4<br />
0.2<br />
0<br />
-0.2<br />
-0.4<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.1.7: Estimation error: y(2) − ŷ(2), H s =1.4m, PID controller<br />
2<br />
Course estimation error<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.1.8: Course estimation error: y(3) − ŷ(3), H s =1.4m, PID controller<br />
5.1.2 Very rough sea state
Y E<br />
[m]<br />
X E<br />
[m]<br />
5.1. OBSERVER-FEEDBACK CONTROL WITH GAIN-SCHEDULED WAVE<br />
FILTERING 49<br />
25<br />
Measured position X E<br />
(t) (solid) <strong>and</strong> desired (dashed)<br />
20<br />
15<br />
10<br />
5<br />
0<br />
-5<br />
-10<br />
-15<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.2.1: Measured <strong>and</strong> desired position X E (t), H s =5m, PID controller<br />
30<br />
Measured position Y E<br />
(t) (solid) <strong>and</strong> desired (dashed)<br />
25<br />
20<br />
15<br />
10<br />
5<br />
0<br />
-5<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.2.2: Measured <strong>and</strong> desired position Y E (t), H s =5m, PID controller
X E<br />
[m]<br />
Course [deg]<br />
50 SIMULATION RESULTS<br />
70<br />
Measured course (solid) <strong>and</strong> desired (dashed)<br />
60<br />
50<br />
40<br />
30<br />
20<br />
10<br />
0<br />
-10<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.2.3: Measured <strong>and</strong> desired course H s =5m, PID controller<br />
25<br />
Measured position (solid) <strong>and</strong> desired (dashed)<br />
20<br />
15<br />
10<br />
5<br />
0<br />
-5<br />
-10<br />
-15<br />
-5 0 5 10 15 20 25 30<br />
Figure 5.1.2.4: Measured position (X E (t),Y E (t)), H s =5m, PID controller<br />
Y E<br />
[m]
y(1)-y(1)-hat [m]<br />
5.1. OBSERVER-FEEDBACK CONTROL WITH GAIN-SCHEDULED WAVE<br />
FILTERING 51<br />
0.7<br />
Measured ω 0<br />
(t)<br />
0.65<br />
0.6<br />
Measured ω 0<br />
0.55<br />
0.5<br />
0.45<br />
0.4<br />
0.35<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.2.5: Measured ω 0 (t) in rad/s, H s =5m, PID controller<br />
0.5<br />
Estimation error in X E<br />
-direction<br />
0<br />
-0.5<br />
-1<br />
-1.5<br />
-2<br />
-2.5<br />
-3<br />
-3.5<br />
-4<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.2.6: Estimation error: y(1) − ŷ(1), H s =5m, PID controller
y(3)-y(3)-hat [deg]<br />
y(2)-y(2)-hat [m]<br />
52 SIMULATION RESULTS<br />
2.5<br />
Estimation error in Y E<br />
-direction<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.2.7: Estimation error: y(2) − ŷ(2), H s =5m, PID controller<br />
7<br />
Course estimation error<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
-1<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1.2.8: Course estimation error: y(3) − ŷ(3), H s =5m, PID controller
Y E<br />
[m]<br />
X E<br />
[m]<br />
5.2. OBSERVER-FEEDBACK CONTROL WITH GAIN-SCHEDULED WAVE<br />
FILTERING AND ACCELERATION FEEDBACK 53<br />
5.2 <strong>Observer</strong>-feedback control with gain-scheduled wave filtering<br />
<strong>and</strong> acceleration feedback<br />
5.2.1 Moderate sea state<br />
25<br />
Measured position X E<br />
(t) (solid) <strong>and</strong> desired (dashed)<br />
20<br />
15<br />
10<br />
5<br />
0<br />
-5<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.2.1.1: Measured <strong>and</strong> desired position X E (t), H s =1.4m, PID controller with AFB<br />
25<br />
Measured position Y E<br />
(t) (solid) <strong>and</strong> desired (dashed)<br />
20<br />
15<br />
10<br />
5<br />
0<br />
-5<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.2.1.2: Measured <strong>and</strong> desired position Y E (t), H s =1.4m, PID controller with AFB
X E<br />
[m]<br />
Course [deg]<br />
54 SIMULATION RESULTS<br />
50<br />
Measured course (solid) <strong>and</strong> desired (dashed)<br />
40<br />
30<br />
20<br />
10<br />
0<br />
-10<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.2.1.3: Measured <strong>and</strong> desired course , H s =1.4m, PID controller with AFB<br />
25<br />
Measured position (solid) <strong>and</strong> desired (dashed)<br />
20<br />
15<br />
10<br />
5<br />
0<br />
-5<br />
-5 0 5 10 15 20 25<br />
Y [m] E<br />
Figure 5.2.1.4: Measured position (X E (t),Y E (t)), H s =1.4m, PID controller with AFB
y(1)-y(1)-hat [m]<br />
5.2. OBSERVER-FEEDBACK CONTROL WITH GAIN-SCHEDULED WAVE<br />
FILTERING AND ACCELERATION FEEDBACK 55<br />
0.8<br />
Measured ω 0<br />
(t)<br />
0.75<br />
0.7<br />
0.65<br />
Measured ω 0<br />
0.6<br />
0.55<br />
0.5<br />
0.45<br />
0.4<br />
0.35<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.2.1.5: Measured ω 0 (t) in rad/s, H s =1.4m, PID controller with AFB<br />
0.08<br />
Estimation error in X E<br />
-direction<br />
0.06<br />
0.04<br />
0.02<br />
0<br />
-0.02<br />
-0.04<br />
-0.06<br />
-0.08<br />
-0.1<br />
-0.12<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.2.1.6: Estimation error: y(1) − ŷ(1), H s =1.4m, PID controller with AFB
y(3)-y(3)-hat [deg]<br />
y(2)-y(2)-hat [m]<br />
56 SIMULATION RESULTS<br />
0.4<br />
Estimation error in Y E<br />
-direction<br />
0.3<br />
0.2<br />
0.1<br />
0<br />
-0.1<br />
-0.2<br />
-0.3<br />
-0.4<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.2.1.7: Estimation error: y(2) − ŷ(2), H s =1.4m, PID controller with AFB<br />
0.6<br />
Course estimation error<br />
0.4<br />
0.2<br />
0<br />
-0.2<br />
-0.4<br />
-0.6<br />
-0.8<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.2.1.8: Course estimation error: y(3) − ŷ(3), H s =1.4m, PID controller with AFB<br />
5.2.2 Very rough sea state
Y E<br />
[m]<br />
X E<br />
[m]<br />
5.2. OBSERVER-FEEDBACK CONTROL WITH GAIN-SCHEDULED WAVE<br />
FILTERING AND ACCELERATION FEEDBACK 57<br />
25<br />
Measured position X E<br />
(t) (solid) <strong>and</strong> desired (dashed)<br />
20<br />
15<br />
10<br />
5<br />
0<br />
-5<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.2.2.1: Measured <strong>and</strong> desired position X E (t), H s =5m, PID controller with AFB<br />
25<br />
Measured position Y E<br />
(t) (solid) <strong>and</strong> desired (dashed)<br />
20<br />
15<br />
10<br />
5<br />
0<br />
-5<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.2.2.2: Measured <strong>and</strong> desired position Y E (t), H s =5m, PID controller with AFB
X E<br />
[m]<br />
Course [deg]<br />
58 SIMULATION RESULTS<br />
50<br />
Measured course (solid) <strong>and</strong> desired (dashed)<br />
40<br />
30<br />
20<br />
10<br />
0<br />
-10<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.2.2.3: Measured <strong>and</strong> desired course, H s =5m, PID controller with AFB<br />
25<br />
Measured position (solid) <strong>and</strong> desired (dashed)<br />
20<br />
15<br />
10<br />
5<br />
0<br />
-5<br />
-5 0 5 10 15 20 25<br />
Y [m] E<br />
Figure 5.2.2.4: Measured position (X E (t),Y E (t)), H s =5m, PID controller with AFB
y(1)-y(1)-hat [m]<br />
Measured ω 0<br />
[rad/s]<br />
5.2. OBSERVER-FEEDBACK CONTROL WITH GAIN-SCHEDULED WAVE<br />
FILTERING AND ACCELERATION FEEDBACK 59<br />
0.6<br />
Measured ω 0<br />
(t)<br />
0.55<br />
0.5<br />
0.45<br />
0.4<br />
0.35<br />
0.3<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.2.2.5: Measured ω 0 (t) in rad/s, H s =5m, PID controller with AFB<br />
0.3<br />
Estimation error in X E<br />
-direction<br />
0.2<br />
0.1<br />
0<br />
-0.1<br />
-0.2<br />
-0.3<br />
-0.4<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.2.2.6: Estimation error: y(1) − ŷ(1), H s =5m, PID controller with AFB
y(3)-y(3)-hat [deg]<br />
y(2)-y(2)-hat [m]<br />
60 SIMULATION RESULTS<br />
0.8<br />
Estimation error in Y E<br />
-direction<br />
0.6<br />
0.4<br />
0.2<br />
0<br />
-0.2<br />
-0.4<br />
-0.6<br />
-0.8<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.1: Figure 5.2.2.7: Estimation error: y(2) − ŷ(2), H s =5m, PID controller with AFB<br />
2<br />
Course estimation error<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
0 500 1000 1500 2000 2500<br />
time in seconds<br />
Figure 5.2.2.8: Course estimation error: y(3) − ŷ(3), H s =5m, PID controller with AFB<br />
5.3 Concluding remarks<br />
Note that after approximately 800s, the observers are updated with the first measurement of ω 0 , <strong>and</strong><br />
the per<strong>for</strong>mance of the observer without acceleration measurements then improves noticeably. On the
5.3. CONCLUDING REMARKS 61<br />
other h<strong>and</strong>, the observer with acceleration measurements is robust against the badly tuned wave filter,<br />
<strong>and</strong> can compensate <strong>for</strong> this due to the available acceleration measurements. The acceleration feedback<br />
is very effective, <strong>and</strong> clearly results in better per<strong>for</strong>mance of the DP system.<br />
Also note that the variance of the position in X E -direction is bigger after that the course is changed<br />
to ψ =0 ◦ . The reason <strong>for</strong> this is not established, but the reason may be that the hydrodynamic damping<br />
of the vessel in X E -direction is less when the vessel is parallel with the mean wave direction, facing the<br />
waves, as opposed to when the vessel course is 45 ◦ relative to the mean wave direction.
62 SIMULATION RESULTS
Chapter 6<br />
Conclusion<br />
A robust control system <strong>for</strong> marine surface vessels in changing weather conditions has been designed <strong>and</strong><br />
analysed. The resulting DP system consists of an observer with gain-scheduled wave filtering <strong>and</strong> a PID<br />
controller. Extensions of this design to include acceleration feedback is also established. By means of<br />
contraction theory it is shown that resulting DP system is globally contracting, <strong>and</strong> consequently UGES.<br />
Theper<strong>for</strong>manceoftheDPsystemisdemonstrated in computer simulations <strong>for</strong> different environmental<br />
disturbances.<br />
In extreme seas with high wave heights <strong>and</strong>/or long wave lengths, the assumption of producing control<br />
action from the LF motion signals only, may not be so evident, as the WF motions (due to long wave<br />
lengths <strong>and</strong> thereby low frequency) will enter the control b<strong>and</strong>width of the DP system. This is outlined<br />
in (Sørensen, Str<strong>and</strong> & Nyberg 2002). Thus, in extreme seas, one should consider to apply a different<br />
control strategy to improve the per<strong>for</strong>mance of the DP system, <strong>and</strong> is subject <strong>for</strong> ongoing research.<br />
63
64 CONCLUSION
Appendix A<br />
<strong>Observer</strong> data<br />
In the observers, a second order wave model was used <strong>for</strong> position, <strong>and</strong> fourth order wave models were<br />
used <strong>for</strong> velocity <strong>and</strong> acceleration. Only the linear acceleration was measured. The wave model matrices<br />
are given by<br />
<strong>and</strong><br />
A w (¯ω 0 ) = A pw (¯ω 0 )=A 0 pw + A 1 pw ¯ω 0 + A 2 pw ¯ω 2 0 (A.1)<br />
·03×3<br />
A 0 I<br />
pw =<br />
3×3<br />
(A.2)<br />
0 3×3 0 3×3¸<br />
·03×3<br />
A 1 0<br />
pw =<br />
3×3<br />
(A.3)<br />
0 3×3 −2ζI 3×3¸<br />
·<br />
A 2 03×3 0<br />
pw =<br />
(A.4)<br />
−I 3×3 0 3×3¸<br />
A νw (¯ω 0 ) = A aw (¯ω 0 )=A 0 νw + A 1 νw¯ω 0 + A 2 νw¯ω 2 0 (A.5)<br />
⎡<br />
⎤<br />
0 3×3 I 3×3 0 3×3 0 3×3<br />
A 0 νw = ⎢0 3×3 0 3×3 0 3×3 I 3×3<br />
⎥<br />
⎣0 3×3 0 3×3 0 3×3 I 3×3<br />
⎦<br />
(A.6)<br />
0 3×3 0 3×3 0 3×3 0 3×3<br />
¸<br />
·A1<br />
A 1 νw = pw 0 6×6<br />
0 6×6 A 1 (A.7)<br />
pw<br />
¸<br />
·A2<br />
A 2 νw = pw 0 6×6<br />
0 6×6 A 2 (A.8)<br />
pw<br />
<strong>and</strong><br />
C w = C pw = £ ¤<br />
0 3×3 I 3×3<br />
C νw = £ ¤<br />
I 3×3 0 3×9<br />
C aw = £ ¤<br />
I 2×2 0 2×10<br />
(A.9)<br />
(A.10)<br />
(A.11)<br />
Further<br />
65
66 OBSERVER DATA<br />
⎡<br />
M = 10 9 ⎣ 0.0070 0 0 ⎤<br />
0 0.0110 −0.0130⎦<br />
(A.12)<br />
0 −0.0130 3.1930<br />
⎡<br />
D = ⎣ 200000 0 0 ⎤<br />
0 100000 −700000⎦<br />
(A.13)<br />
0 −700000 63900000<br />
T b = 0 3×3 (A.14)<br />
K 1 (¯ω 0 ) =<br />
¸ ·<br />
·−2(ζd − ζ)kI<br />
K 11 (¯ω 0 )=<br />
3×3 0<br />
+ 3×3<br />
¯ω<br />
0 3×3 2(ζ d − ζ)I 0<br />
3×3¸<br />
(A.15)<br />
K 2 (¯ω 0 ) = K 21 (¯ω 0 )=K 62 (¯ω 0 )=kI 3×3 ¯ω 0 (A.16)<br />
T −1<br />
f<br />
= kI 2×2¯ω 0 (only linear acceleration measured) (A.17)<br />
K 4 = K 61 = diag{0.1, 0.1, 0.01} (A.18)<br />
K 3 = K 31 =0.05K 4 (A.19)<br />
¸<br />
·diag{δ, δ}<br />
K 53 =<br />
, δ =10 (A.20)<br />
0 10×2<br />
where<br />
K 42 (¯ω 0 ) = K42 1 ¯ω 0 + K42¯ω 2 2 0 + K42 3 ¯ω 3 0 (A.21)<br />
⎡ ⎤<br />
2(δ − 1)β<br />
K42 1 = ⎢ 0 3×3<br />
⎥<br />
⎣ 0 3×3<br />
⎦<br />
(A.22)<br />
⎡<br />
⎢−4β ⎣<br />
⎡<br />
0 3×3<br />
⎤<br />
0 3×3<br />
δ +3β 2 + β 2 δ 2 +2βδk − 2βk<br />
⎥<br />
−2β 2 δ + β 2 + β 2 δ 2 ⎦<br />
0 3×3<br />
0 3×3<br />
⎤<br />
K42 2 =<br />
(A.23)<br />
K42 3 =<br />
⎢<br />
0 3×3<br />
⎥<br />
⎣<br />
0 3×3<br />
⎦<br />
(A.24)<br />
2β 3 δ − β 3 − β 3 δ 2 − 2β 2 δk + β 2 k + β 2 δ 2 k<br />
<strong>and</strong><br />
β = 2ζI 3×3 (A.25)<br />
ζ = 0.1 (A.26)<br />
ω c = kω 0 (cut-off frequency in notch filter) (A.27)<br />
k = 1.1 (A.28)<br />
For measuring ω 0 (see figure 3.2), the following parameters were used in the simulations
67<br />
• second order highpass, butterworth filter, with passb<strong>and</strong> edge at 0.2 rad/s, implemented in statespace<br />
<strong>for</strong>m in the DSP Blockset in Simulink TM<br />
• sampling frequency: 10Hz<br />
• buffer size: 8192<br />
• Burg Method of fourth order with FFT length of 8192<br />
• rate limiter with slew rate ±0.01<br />
• ω 0 was measured from the position <strong>and</strong> heading measurements, <strong>and</strong> the median was selected
68 OBSERVER DATA
Appendix B<br />
<strong>Control</strong>ler data<br />
The following matrices were used <strong>for</strong> the PID controller design:<br />
⎡<br />
M PID =10 9 × ⎣ 0.0067 0 0 ⎤<br />
0 0.0113 0 ⎦<br />
0 0 3.1931<br />
⎡<br />
D PID = ⎣ 167105 0 0 ⎤<br />
0 141660 0 ⎦<br />
0 0 63862540<br />
(B.1)<br />
(B.2)<br />
where the PID gains were tuned to yield a critically damped closed-loop system with natural frequency<br />
ω n =0.8rad/s<br />
(B.3)<br />
⎡<br />
K p =10 8 × ⎣ 0.0117 0 0 ⎤<br />
0 0.0199 0 ⎦<br />
0 0 3.1515<br />
⎡<br />
K d =10 9 × ⎣ 0.0110 0 0 ⎤<br />
0 0.0188 0 ⎦<br />
0 0 3.9487<br />
(B.4)<br />
(B.5)<br />
K i =0.1ω n K p<br />
(B.6)<br />
The virtually added mass using acceleration feedback was chosen as<br />
⎡<br />
⎤<br />
M(1, 1)0.7 0<br />
K a = ⎣ 0 M(1, 1)0.7⎦<br />
0 0<br />
(B.7)<br />
And the filter gains were chose as<br />
69
70 CONTROLLER DATA<br />
m 11 = M(1, 1) (B.8)<br />
m 22 = M(2, 2) (B.9)<br />
d 11 = D(1, 1) (B.10)<br />
d 22 = D(2, 2) (B.11)<br />
µ<br />
m11<br />
Tf_pid = 0.001min , m <br />
22<br />
(B.12)<br />
d 11 d 22<br />
½<br />
¾<br />
−1<br />
B f = diag<br />
Tf_pid , −1<br />
(B.13)<br />
Tf_pid<br />
A f = −B f (B.14)
References<br />
Fossen, T. & Grøvlen, Å. (1998), ‘<strong>Nonlinear</strong> output feedback control of dynamically positioned ships using<br />
vectorial observer backstepping’, IEEE Transactions on <strong>Control</strong> Systems Technology 6(1), 121—<br />
128.<br />
Fossen, T. I. (2002), Marine <strong>Control</strong> Systems, MarineCybernetics.<br />
Fossen, T. I. & Str<strong>and</strong>, J. P. (1999), ‘Passive nonlinear observer design <strong>for</strong> ships using lyapunov methods:<br />
Full-scale experiments with a supply vessel’, Automatica 35, 3—16.<br />
Grøvlen, Å. & Fossen, T. I. (1996), ‘<strong>Nonlinear</strong> control of dynamic positioned ships using only position<br />
feedback: An observer backstepping approach’, Proceedings IEEE Conference on Decission <strong>and</strong><br />
<strong>Control</strong> (CDC), Kobe, Japan .<br />
Johansen, T. A. (2003), ‘Opmimizing nonlinear control allocation’, Submitted<br />
<strong>for</strong> publication . The publications of T. A. Johansen are available at<br />
www.itk.ntnu.no/ansatte/Johansen_Tor.Arne/public.html.<br />
Jouffroy, J. (2002), Stability <strong>and</strong> <strong>Nonlinear</strong> Systems: Reflections on Contraction Analysis (in French),<br />
PhD thesis, Université de Savoie, Annecy, France.<br />
CESOS internal note. Author available at jouf-<br />
Jouffroy, J. (2003a), The ancestors of contraction.<br />
froy@marin.ntnu.no.<br />
Jouffroy, J. (2003b), A note on a meaning of contraction analysis. CESOS internal note. Author available<br />
at jouffroy@marin.ntnu.no.<br />
Jouffroy, J. & Lottin, J. (2002a), ‘On the use of contraction theory <strong>for</strong> the design of nonlinear observers<br />
<strong>for</strong> ocean vehicles’, Proceedings of the American <strong>Control</strong> Conference, Anchorage, Alaska. .<br />
Jouffroy, J. & Lottin, J. (October 2002b), ‘A remark on "nonlinear output feedback control of underwater<br />
vehicle propellers using feedback <strong>for</strong>m estimated axial flow velocity"’, IEEE Journal of Oceanic<br />
Engineering pp. 873—875.<br />
Lindegaard, K. P. (2003), ‘Acceleration feedback in dynamic positioning’, Ph.D. Thesis .<br />
www.itk.ntnu.no/ansatte/Fossen_Thor/PhD/drstud.htm.<br />
Errata at<br />
Løfberg, J. (2003), ‘YALMIP’, http://www.control.isy.liu.se/ johanl/yalmip.html. Interface to a number<br />
of semi-definite solvers <strong>for</strong> use with Matlab.<br />
Lohmiller, W. & Slotine, J.-J. E. (1998), ‘On contraction analysis <strong>for</strong> non-linear systems’, Automatica<br />
34, 683—696.<br />
Lohmiller, W. & Slotine, J.-J. E. (March 2000), ‘<strong>Nonlinear</strong> process control using contraction theory’,<br />
AIChE 46(3), 588—596.<br />
71
72 REFERENCES<br />
Loria, A., Fossen, T. I. & Panteley, E. (2000), ‘A separation principle <strong>for</strong> dynamic positioning of ships:<br />
Theoretical <strong>and</strong> experimental results’, IEEE Transactions on <strong>Control</strong> Systems Technology 8, 332—<br />
343.<br />
Loria, A. & Morales, J. L. (2002), ‘A cascades approach to a nonlinear separation principle’, Proceedings<br />
of the 41st IEEE Conference on Decision <strong>and</strong> <strong>Control</strong>, Las Vegas, Nevada USA pp. 695—700.<br />
Matlab GNC Toolbox (2003), Marinecybernetics: http://www.marinecybernetics.com/software.htm.<br />
Panteley, E. & Loria, A. (1998), ‘On global uni<strong>for</strong>m asymptotic stability of nonlinear time-varying<br />
systems in cascade’, Systems <strong>and</strong> <strong>Control</strong> Letters 33, 131—138.<br />
Proakis, J. G. & Manolakis, D. G. (1996), Digital Signal Processing, Principles, Algorithms, <strong>and</strong> Applications,<br />
3rd edn, Prentice-Hall, Inc.<br />
Slotine, J.-J. E. (2003), ‘Modular stability tools <strong>for</strong> distributed computation <strong>and</strong> control’, Int. J. of<br />
Adaptive <strong>Control</strong> <strong>and</strong> Signal Processing 17(6), 397—416.<br />
Smogeli, Ø. N. (2003), ‘MCSim’. CESOS Simulink vessel simulator. Author Available at<br />
Oyvind.Smogeli@marin.Ntnu.No.<br />
Smogeli, Ø. N., Sørensen, A. J. & Fossen, T. I. (2004), ‘<strong>Design</strong> of a hybrid power/torque thruster<br />
controller with loss estimation’, CAMS (To appear) .<br />
Sontag, E. D. (1989), ‘Smooth stabilization implies coprime factorization’, IEEE Transactions on Automatic<br />
<strong>Control</strong> 34(4), 435—443.<br />
Sørensen, A. J., Str<strong>and</strong>, J. P. & Nyberg, H. (2002), ‘<strong>Dynamic</strong> positioning of ships <strong>and</strong> floaters in extreme<br />
seas’, IEEE pp. 1849—1854.<br />
Str<strong>and</strong>, J. P. (1999), <strong>Nonlinear</strong> Position <strong>Control</strong> Systems <strong>Design</strong> <strong>for</strong> Marine Vessels, PhD thesis, Norwegian<br />
University of Science <strong>and</strong> Technology.<br />
Str<strong>and</strong>, J. P. & Fossen, T. I. (1999), ‘<strong>Nonlinear</strong> passive observer design <strong>for</strong> ships with adaptive wave filtering’,<br />
New Directions in <strong>Nonlinear</strong> <strong>Observer</strong> <strong>Design</strong>" (H. Nijmeijer <strong>and</strong> T. I. Fossen, Eds.),Springer-<br />
Verlag London Ltd pp. 113—134.<br />
Sturm, J. F. (2001), ‘SeDuMi’, http://fewcal.kub.nl/sturm/software/sedumi.html. Matlab toolbox <strong>for</strong><br />
solving optimization problems over symmetric cones.<br />
Vik, B. & Fossen, T. I. (December 2002), ‘<strong>Nonlinear</strong> observers <strong>for</strong> integration of satellite <strong>and</strong> inertial<br />
navigation systems: Experimental results’, SubmittedtoAutomatica.<br />
Weil<strong>and</strong>, S. & Scherer, C. (2000), Linear Matrix Inequalities in <strong>Control</strong>, Siep Weil<strong>and</strong>,<br />
Department of Electrical Engineering, Eindhoven University of Technology:<br />
http://www.er.ele.tue.nl/SWeil<strong>and</strong>/LMI.HTM.