Observer Based Path Following for Underactuated Marine
Vessels in the Presence of Ocean Currents:
A Local Approach
With proofs∗

arXiv:1704.00573v1 [cs.SY] 31 Mar 2017

M. Maghenem

†

D.J.W. Belleter

‡§

C. Paliotta

†‡

K.Y. Pettersen

†‡

Abstract
In this article a solution to the problem of following a curved path in the presence of a constant
unknown ocean current disturbance is presented. The path is parametrised by a path variable that is
used to propagate a path-tangential reference frame. The update law for the path variable is chosen
such that the motion of the path-tangential frame ensures that the vessel remains on the normal
of the path-tangential reference frame. As shown in the seminal work [20] such a parametrisation
is only possible locally. A tube is defined in which the aforementioned parametrisation is valid and
the path-following problem is solved within this tube. The size of the tube is proportional to the
maximum curvature of the path. It is shown that within this tube, the closed-loop system of the
proposed controller, guidance law, and the ocean current observer provides exponential stability
of the path-following error dynamics. The sway velocity dynamics are analysed taking into account
couplings previously overlooked in the literature, and is shown to remain bounded. Simulation results
are presented.

1

Introduction

In this work we consider path following of an underactuated marine vessel. The problem of path following
for underactuated marine vessels has its parallel in the field of mobile robotics. Therefore, a solution for
2D path following for underactuated marine vessels based on the tools developed in [20] and [15] was
proposed in Encarnaçao et al. [9], where the path parametrization is used to define the path-following
problem and a solution is presented using a nonlinear controller. An observer is used to incorporate the
effects of the unknown, but constant ocean current. Part of the state is shown to be stable and the zero
dynamics are analysed and shown to be well behaved. However, this is done under the assumption that
the total speed is constant. This requires active control of the forward velocity to cancel the effect of the
sideways velocity induced by turning. Moreover, the parametrisation from Micaelli and Samson [15] is
only valid locally, making the path-following result valid locally. Another local result based on the same
parametrisation is obtained in Do and Pan [8]. In this work a practical stability result is shown for the
path-following states of an underactuated surface vessel in the presence of an environmental disturbance.
However, in [8] there is a problem with the bound of the practical stability result and the error cannot
be made arbitrary small. Moreover, a simplified model with diagonal system matrices is used and the
interconnection between the total velocity and the sideways velocity is not taken into account in the
analysis of the zero dynamics.
In Lapierre and Soetanto [13] the path parametrisation is used to solve the path-following problem
globally. This is done using another result, first described for the control of mobile robots in Soetanto
∗ The material presented in this paper has been accepted for publication in the proceedings of the IFAC World Congress
2017, Toulouse, France.
† University Paris-Saclay, Orsay, France. mohamed.maghenem@l2s.centralesupelec.fr
‡ Centre
for Autonomous Marine Operations and Systems (NTNU AMOS), Department of Engineering Cybernetics,
Norwegian University of Science and Technology,
NO7491 Trondheim,
Norway
{dennis.belleter,claudio.paliotta,kristin.y.pettersen}@itk.ntnu.no
§ D.J.W. Belleter, C. Paliotta, and K.Y. Pettersen were supported by the Research Council of Norway through its
Centers of Excellence funding scheme, project No. 223254 AMOS.

1

et al. [21]. In particular, it is achieved by adapting the parametrisation of the path in order to avoid
singularities in the parametrisation of the path. The work in [13] does not consider environmental
disturbances, however. It focuses on stabilisation of the path-following states but does not analyse the
zero dynamics. A similar approach is taken in Børhaug and Pettersen [3] in which the frame is propagated
differently. In Børhaug and Pettersen [3] a look-ahead based steering law is used to guide the vehicle
to the path. Stability of the path-following errors is shown using cascaded systems theory, and the zero
dynamics are analysed and shown to be well behaved. To take into account ocean currents, the work
in Børhaug and Pettersen [3] is extended in Børhaug et al. [4] by adding integral action to the steering
laws. However, the results in Børhaug et al. [4] are only valid for straight-line path following. The work
in Børhaug et al. [4] was revisited in Caharija et al. [6] for surface vessels using a relative velocity model.
Experimental results were added in Caharija et al. [7].
To address curved paths, the work of Børhaug and Pettersen [3] is extended with an ocean current
observer in Moe et al. [16]. However, in Moe et al. [16] the zero dynamics are not analysed and the suggested input signals contain the unknown ocean current. Another line-of-sight (LOS) guidance approach
for path following is presented in Fossen et al. [10], which is used to follow a path made of straight-line
sections connecting way points. These concepts are further developed to circles in Breivik and Fossen [5]
where the vessel is regulated to the tangent of its projection on the circle. These works do not consider
environmental disturbances.
This paper considers path-following of underactuated marine vessels in the presence of constant
ocean currents, for general paths. A line-of-sight guidance law, an ocean current observer, and a local
parametrisation of the path are used. Compared to Do and Pan [8], in this work the parametrisation is
adapted to include the effect of the unknown ocean currents and a complete analysis of the sway velocity
dynamics are given, taking into account the coupling between the total velocity and the sway velocity.
Moreover, the mass and damping matrix are allowed to be non-diagonal and we avoid the problems
with the practical stability result. Due to the locality of the parametrisation it can only be used in a
certain tube around the path whose size depends on the maximum curvature of the path. When in this
tube, it is shown that the closed-loop system of the controllers and the ocean current observer provides
exponential stability of the path-following error dynamics.
The article is organized as follows: in Section 2 the vessel model and the problem definition are
presented. The path parametrisation is introduced in Section 3. Section 4 presents the ocean current
observer, the guidance law, and controllers. The closed-loop system is then formulated and analysed in
Section 5. A simulation case study is presented in Section 6 and conclusions are given in Section 7.

2

Vessel Model

In this section we consider the model which can be used to describe an autonomous surface vessel or
an autonomous underwater vehicle moving in a plane. Recall, that the model can be represented in
component form as
ẋ = ur cos(ψ) − vr sin(ψ) + Vx ,

(1a)

ẏ = ur sin(ψ) + vr cos(ψ) + Vy ,

(1b)

ψ̇ = r,

(1c)

u̇r = Fur (vr , r) −

d11
m11 ur

+ τu ,

(1d)

v̇r = X(ur )r + Y (ur )vr ,

(1e)

ṙ = Fr (ur , vr , r) + τr ,

(1f)

The functions X(ur ), Y (ur ), Fu , and Fr are given by
1
(m22 vr + m23 r)r,
m11
d33 m23 − d23 m33
m2 − m11 m33
ur +
,
X(ur ) , 23
m22 m33 − m223
m22 m33 − m223
(m22 − m11 )m23
d22 m33 − d32 m23
Y (ur ) ,
ur −
,
m22 m33 − m223
m22 m33 − m223

Fur (vr , r) ,

2

(2a)
(2b)
(2c)

Fr (ur , vr , r) ,

m23 d22 − m22 (d32 + (m22 − m11 )ur )
vr
m22 m33 − m223
m23 (d23 + m11 ur ) − m22 (d33 + m23 ur )
r.
+
m22 m33 − m223

(2d)

Note that the functions X(ur ) and Y (ur ) are linear functions of the velocity. The kinematic variables
are illustrated in Figure 1. The ocean current satisfies the following assumption.
Assumption 1. The ocean current is assumed to be constant and irrotational with respect to
q the inertial
T
frame, i.e. V c , [Vx , Vy , 0] . Furthermore, it is bounded by Vmax > 0 such that kV c k = Vx2 + Vy2 ≤
Vmax .
Moreover, for the considered range of values of the desired surge velocity urd the following assumption
holds.
Assumption 2. It is assumed that Y (ur ) satisfies Y (ur ) ≤ −Ymin < 0, ∀ur ∈ [−Vmax , urd ], i.e. Y (ur )
is negative for the range of desired velocities considered.
Remark 1. Assumptions 2 is satisfied for commercial vessels by design, since the converse would imply
an undamped or nominally unstable vessel in sway.
Additionally we assume that the following assumption holds
Assumption 3. It is assumed that 2Vmax < urd (t) ∀t, i.e. the desired relative velocity of the vessel is
larger than the maximum value of the ocean current.
Assumption 3 assures that the vessel has enough propulsion power to overcome the ocean current
affecting it. The factor two in Assumption 3 adds some extra conservativeness to bound the solutions of
the ocean current observer, this is discussed further in Section 7.

Figure 1: Definition of the ship’s kinematic variables.

3

Problem definition

The goal is to follow a smooth path P , parametrised by a path variable θ, by appropriately controlling
the ship’s surge velocity and yaw rate. For an underactuated vessel,
p path following can be achieved by
positioning the vessel on the path with the total velocity ut , u2r + vr2 (see Figure 1) tangential to
the path. To express the path-following error we propagate a path-tangential frame along P such that
3

the vessel will be on the normal of the path-tangential frame at all time. This is illustrated in Figure
2. The preceding implies that the progression of the path-tangential frame is controlled such that the
path-following error takes the form:
 


 

cos(γp (θ)) sin(γp (θ)) x − xP (θ)
xb/p
0
=
=
,
(3)
yb/p
− sin(γp (θ)) cos(γp (θ)) y − yP (θ)
yb/p
where γ(θ) is the angle of the path with respect to the X-axis, xb/p is the deviation from the normal in
tangential direction, and yb/p is the deviation from the tangent in normal direction. The time derivative
of the angle γ(θ) is given by γ̇(θ) = κ(θ)θ̇ where κ(θ) is the curvature of P at θ. The goal is to regulate
xb/p and yb/p to zero.

3.1

Locally valid parametrisation

The error in the tangential direction xb/p will be kept at zero by the choice of the update law for the
path variable θ, i.e. the vehicle is kept on the normal. It is well known that such a parametrisation will
only be unique locally [20]. In particular, such a unique expression exists when the vehicle is closer to
the path than the inverse of the maximum curvature of the path, i.e. when yb/p < 1/κmax where κmax
is the maximum curvature of the path. Note that this is equivalent to being closer than the radius of
the smallest inscribed circle of the path. To design such a parametrisation we first consider the error
dynamics of the vessel with respect to the path frame, which is given by:
ẋb/p = −θ̇(1 − κ(θ)yb/p ) + ut cos(χ − γp (θ)) + VT ,
ẏb/p = ut sin(χ − γp (θ)) + VN − κ(θ)θ̇xb/p ,

(4a)
(4b)

where χ , ψ + β is the course angle (see Figure 1) and VT , Vx cos(γp (θ)) + Vy sin(γp (θ)) and VN ,
Vy cos(γp (θ)) − Vx sin(γp (θ)) are the ocean current component in the tangential direction and normal
direction of the path-tangential reference frame, respectively. Consequently, if the path variable θ is
updated according to
ut cos (χ − γp (θ)) + VT
,
(5)
θ̇ =
1 − κ(θ)yb/p
the vessel stays on the normal when it starts on the normal. In particular, substitution of (5) in (4a)
results in ẋb/p = 0. To make sure that the update law (5) is well defined the following condition should
be satisfied
Condition 1. To have a well defined update law for the path variable θ it should hold that 1−κ(θ)yb/p 6= 0
for all time.
Note that Condition 1 implies that the update law is well defined within the tube of radius yb/p <
1/κmax which results in the parametrisation being only locally valid.
The update law (5) depends on the current component VT . However, since the current is assumed
unknown we have to replace VT by its estimate V̂T , V̂x cos(γ(θ)) + V̂y sin(γ(θ)). Consequently, the last
equality of (3) does not hold until the current is estimated correctly. Therefore, (3) takes the form

 


xb/p
cos(γ(θ)) sin(γ(θ)) x − xP (θ)
=
.
(6)
yb/p
− sin(γ(θ)) cos(γ(θ)) y − yP (θ)
To force (6) to become equal to (3) once the ocean current is estimated correctly we augment (5) to be
θ̇ =

ut cos (χ − γp (θ)) + V̂T + kδ xb/p
,
1 − κ(θ)yb/p

(7)

such that the path-tangential reference frame propagates based on an estimate of the ocean current and
has a restoring term to drive xb/p to zero. Hence, substituting (7) in (4a) gives
ẋb/p = −kδ xb/p + ṼT ,
4

(8)

Figure 2: Definition of the path.
which shows that if the estimate of the current has converged the restoring term kδ xb/p remains to drive
xb/p to zero after which the vessel remains on the normal of the path-tangential frame.
The dynamics of the error along the normal are given by
ẏb/p = ut sin(χ − γp (θ)) + VN − xb/p κ(θ)θ̇.

(9)

In the next section a guidance law is chosen to stabilise the origin of the dynamics (8)-(9) and achieve
the goal of path following.
Note that since the path parametrisation is only local, we can only utilise it within a tube around the
path with radius 1/κmax . To achieve global results this tube needs to be made attractive and invariant,
such that the vehicle first converges to the tube after which the unique parametrisation to achieve pathfollowing can be used. The disadvantage of this is that a two-step approach is needed to solve the
path-following problem, which complicates the analysis. There is, however, also a big advantage to this
approach, since extra design freedom is available when making the tube attractive. This allows one
to design the approach behaviour and convergence when far from the path, while for a global one-step
approach this is in general not possible to do independently of the behaviour close to the path. Hence, for
the one-step approach the global behaviour will be a compromise between the desired behaviour far away
from the path and the desired behaviour close to the path. For the two-step approach, the behaviour
far away from the path and close to the path can be optimised independently. This, for instance, allows
strategies where the vehicle moves along the normal of the path to reach the path as fast as possible.
Moreover, in cluttered environments this allows the vessel to converge to the path along a clearly defined
approach path, after which it can switch to the guidance strategy that allows it to follow the desired
path P .

4

Controller, Observer, and Guidance

In this section we design the two control laws τu and τr , and the ocean current estimator that are used
to achieve path-following. In the first subsection we present the velocity control law τu . The second
subsection presents the ocean current estimator. The third subsection first presents the guidance to be
used within the tube.

5

4.1

Surge velocity control

The velocity control law is a feedback-linearising P-controller that is used to drive the relative surge
velocity to a desired urd and is given by
τu = −Fur (vr , r) + u̇rd +

d11
urd − ku (ur − urd ),
m11

(10)

where ku > 0 is a constant controller gain. It is straightforward to verify that (10) ensures global
exponential tracking of the desired velocity. In particular, when (10) is substituted in (1d) we obtain
ũ˙ r = −ku (ur − urd ) = −ku ũr ,

(11)

where ũr , ur − urd . Consequently, the velocity error dynamics are described by a stable linear systems,
which assures exponential tracking of the desired velocity urd .

4.2

Ocean current estimator

This subsection presents the ocean current estimator introduced in [1]. This observer provides the
estimate of the ocean current needed to implement (7) and the guidance law developed in the next
subsection. Rather than estimating the time-varying current components in the path frame VT and VN
the observer is used to estimate the constant ocean current components in the inertial frame Vx and Vy .
The observer from [1] is based on the kinematic equations of the vehicle, i.e. (1a) and (1b), and requires
measurements of the vehicle’s x and y position in the inertial frame. The observer is formulated as
x̂˙ = ur cos(ψ) − vr sin(ψ) + V̂x + kx1 x̃
ŷ˙ = ur sin(ψ) + vr cos(ψ) + V̂y + ky ỹ
1

˙
V̂x = kx2 x̃
˙
V̂y = ky2 ỹ

(12a)
(12b)
(12c)
(12d)

where x̃ , x − x̂ and ỹ = y − ŷ are the positional errors and kx1 , kx2 , ky1 , and ky2 are constant positive
gains. Consequently, the estimation error dynamics are given by
  
 
x̃˙
x̃
−kx1
0
1 0
 ỹ˙  


−ky1 0 1  ỹ 
   0
.
(13)
˙ =
−kx2
0
0 0 Ṽx 
Ṽx 
0
−ky2 0 0
Ṽy
Ṽ˙ y
which is a linear system with negative eigenvalues. Hence, the observer error dynamics are globally exponentially stable at the origin. Note that this implies that also V̂T and V̂N go to VT and VN respectively
with exponential convergence since it holds that
V̂T = V̂x cos(γ(θ)) + V̂y sin(γ(θ)),

(14a)

V̂N = −V̂x sin(γ(θ)) + V̂y cos(γ(θ)).

(14b)

For implementation of the controllers it is desired that kV̂N (t)k < urd (t) ∀t. To achieve this we
first choose the initial conditions of the estimator as [x̂(t0 ), ŷ(t0 ), V̂x (t0 ), V̂y (t0 )]T = [x(t0 ), y(t0 ), 0, 0]T .
Consequently, the initial estimation error is given by [x̃(t0 ), ỹ(t0 ), Ṽx (t0 ), Ṽy (t0 )]T = [0, 0, Vx , Vy ]T , which
has a norm smaller than or equal to Vmax according to Assumption 1. Now consider the function
W (t) = x̃2 + ỹ 2 +

1 2
1 2
Ṽ +
Ṽ ,
kx2 x
ky2 y

(15)

which has the following time derivative
Ẇ (t) = −2kx1 x̃2 − 2ky1 ỹ 2 ≤ 0.
6

(16)

This implies that W (t) ≤ kW (t0 )k. From our choice of initial conditions we know that
kW (t0 )k =

1 2
1
1 2
V +
V ≤
V2 .
kx2 x
ky2 y
min(kx2 , ky2 ) max

(17)

Moreover, it is straightforward to verify
1
kṼ c (t)k2 ≤ W (t).
max(kx2 , ky2 )

(18)

Combining the observations given above we obtain
1
1
kṼ c (t)k2 ≤
V2 .
max(kx2 , ky2 )
min(kx2 , ky2 ) max

(19)

Consequently, we obtain
s
kṼ c (t)k ≤

max(kx2 , ky2 )
Vmax <
min(kx2 , ky2 )

s

max(kx2 , ky2 )
urd (t), ∀t,
min(kx2 , ky2 )

(20)

which implies that if the gains are chosen as kx2 = ky2 we have
kV̂N k ≤ 2Vmax ≤ urd (t), ∀t.

(21)

Hence, kV̂N k < urd (t), ∀t if 2Vmax < urd (t), ∀t.

Remark 2. The bound 2Vmax < urd , ∀t, is only required when deriving the bound on the solutions of the
observer. In particular, it is required to guarantee that kV̂N k < urd (t), ∀t. For the rest of the analysis it
suffices that Vmax < urd , ∀t. Therefore, if the more conservative bound 2Vmax < urd , ∀t, is not satisfied
the observer can be changed to an observer that allows explicit bounds on the estimate V̂N , e.g. the
observer developed Narendra and Annaswamy [17], rather than an observer that only provides a bound
on the error Ṽ c as is the case here. For practical purposes the estimate can also be saturated such that
kV̂N k < urd , ∀t, which is the approach taken in Moe et al. [16]. However, in the theoretical analysis of
the yaw controller we use derivatives of V̂N which will be discontinuous when saturation is applied.

4.3

Guidance

This subsection presents the guidance that is used in combination with the local parametrisation. Since,
the chosen parametrisation is only valid in a tube around the path, the proposed guidance is designed
for operation in the tube. Inside the tube we propose the following guidance law




yb/p + g
vr
ψd = γ(θ) − atan
− atan
.
(22)
urd
∆
The guidance law consists of three terms. The first term is a feedforward of the angle of the path with
respect to the inertial frame. The second part is the desired side-slip angle, i.e. the angle between the
surge velocity and the total speed when ur ≡ urd . This side-slip angle is used to make the vehicle’s total
speed tangential to the path when the sway velocity is non-zero. The third term is a line-of-sight (LOS)
term that is intended to steer the vessel to the path, where g is a term dependent on the ocean current.
The choice of g provides extra design freedom to compensate for the component of the ocean current
along the normal axis VN . To analyse the effect of this guidance law and to design g we consider the
error dynamics along the normal (9). To do this we substitute (22) in (9) and obtain


ẏb/p = utd sin ψd + ψ̃ + βd − γp (θ) + VN − xb/p κ(θ)θ̇ + ũr sin(ψ − γp (θ))
(23a)
= −utd p

yb/p + g

(yb/p + g)2 + ∆2

+ VN + G1 (ψ̃, ũr , xb/p , ψd , yb/p , utd , γ̇p (θ))

7

(23b)

where G1 (·) is a perturbing term given by



h
i
yb/p + g
+ ũr sin(ψ − γp (θ))
G1 (·) = utd 1 − cos(ψ̃) sin arctan
∆



yb/p + g
+ utd cos arctan
sin(ψ̃) − xb/p γ̇p (θ)
∆
and utd ,

p

(24)

u2rd + vr2 is the desired total velocity. Note that G1 (·) satisfies
G1 (0, 0, 0, ψd , yb/p , utd , γ̇p (θ)) = 0

(25a)

kG1 (ψ̃, ũr , xb/p , ψd , yb/p , utd , γ̇p (θ))k ≤ ζ(γ̇p (θ), utd )k(ψ̃, ũ, xb/p )k,

(25b)

where ζ(γ̇p (θ), utd ) > 0, which shows that G1 (·) is zero when the perturbing variables are zero and that
it has maximal linear growth in the perturbing variables.
To compensate for the ocean current component VN the variable g is now chosen to satisfy the equality
g
= V̂N .
utd p 2
∆ + (yb/p + g)2

(26)

which is a choice inspired by [16]. In order for g to satisfy the equality above, g should be the solution
of the following second order equality
(u2td − V̂N2 )
| {z }



−a

2

g
V̂N

2
+2 yb/p V̂N
= ∆2 + yb/p
| {z }
| {z }
c

hence we choose g to be
g = V̂N

b+



g



V̂N

,

(27)

b

√

b2 − ac
,
−a

which has the same sign as V̂N and is well defined for (u2rd − V̂N2 ) > 0. Moreover, since
q
p
2 u2
b2 − ac = ∆2 (u2td − V̂N2 ) + yb/p
td

(28)

(29)

solutions are real for (u2rd − V̂N2 ) > 0.
Consequently if we substitute this choice for g in (23) we obtain
ẏb/p = −utd p

yb/p
(yb/p + g)2 + ∆2

+ ṼN + G1 (ψ̃, ũ, xb/p , ψd , yb/p , utd , γ̇p (θ)).

(30)

The desired yaw rate can be found by taking the time derivative of (22) resulting in
ψ̇d = κ(θ)θ̇ +

∆(ẏb/p + ġ)
v̇r urd − u̇rd vr
+ 2
,
2
2
urd + vr
∆ + (yb/p + g)2

(31)

where v̇r as given in (1e), ẏb/p in (30), and ġ is given by
˙ b+
ġ = V̂N

√

b2 − ac ∂g
∂g
∂g
+
ȧ +
ḃ +
ċ,
−a
∂a
∂b
∂c

(32)

where
√
b + b2 − ac
∂g
c
+ V̂N
= V̂N √
,
∂a
a2
2a b2 − ac
˙
ȧ = 2V̂N V̂N − 2urd u̇rd − 2vr [X(ur )r + Y (ur )vr ] ,
√
∂g
b + b2 − ac
,
= V̂N √
∂b
a b2 − ac
8

(33a)
(33b)
(33c)

˙
ḃ = 2V̂N ẏb/p + 2V̂N yb/p ,

1
∂g
,
= V̂N √
2
∂c
2 b − ac

ċ = 2yb/p ẏb/p .

(33d)

Note that ẏb/p appears a number of times in the expression for ψ̇d and that ẏb/p depends on ṼN .
Consequently, ψ̇d depends on an unknown variable and cannot be used to control the yaw rate. This
was not considered in [16] where the proposed controller contained both ψ̇d and ψ̈d .
˙
Moreover, since ψ̇d contains v̇r , which depends on r = ψ̇, the yaw rate error ψ̃ , ψ̇ − ψ̇d grows with
ψ̇ which leads to a necessary condition for a well defined yaw rate error. The yaw rate error dynamics
are given by
"
#
∆
∂g
X(ur )urd
˙
−
ψ̃ = r 1 + 2
(2vr X(ur ))
2
urd + vr2
∆2 + yb/p + g ∂a
Y (ur )vr urd − u̇rd vr
u2rd + vr2
√
∆
˙ b + b2 − ac
V̂
+
2 N
−a
∆2 + yb/p + g


∆
∂g
˙
+
2V̂N V̂N − 2urd u̇rd − 2vr Y (ur )vr
2
∆2 + yb/p + g ∂a

∆
∂g  ˙
+
2V̂N yb/p
2
∆2 + yb/p + g ∂b


∆ẏb/p
∂g 
∂g
2yb/p +
+ 1+
2V̂N
2
2
∂c
∂b
∆ + yb/p + g
− κ(θ)θ̇ +

(34)

which leads to the following necessary condition for a well defined yaw rate, i.e. existence of the yaw
controller,
Condition 2. To have a well defined yaw controller it should hold that
Cr , 1 +

X(ur )urd
∂g 2vr X(ur )∆
−
 6= 0.
u2rd + vr2
∂a ∆2 + yb/p + g 2

(35)

for all time after entering the tube.
Remark 3. The condition above can be verified for any positive velocity, for the vehicles considered in
this thesis. Note that for most vessels this condition is verifiable since standard ship design practices will
result in similar properties of the function X(ur ). Besides having a lower bound greater then zero Cr is
also upper-bounded since the term between brackets can be verified to be bounded in its arguments.
Since ψ̇d depends on the unknown signal ṼN we cannot take ψ̇d = rd . To define an expression for rd
without requiring the knowledge of ṼN we use (34) to define
"
!
ut cos(ψ + β − γp (θ)) + kδ xb/p + V̂T
1
rd , −
κ(θ)
Cr
1 − κ(θ)yb/p
"
√
Y (ur )vr urd − u̇rd vr
∆
˙ b + b2 − ac
+
+
2 V̂N
u2rd + vr2
−a
∆2 + yb/p + g
(36)




∂g
∂g
˙
˙
+
2V̂N V̂N − 2urd u̇rd − 2vr Y (ur )vr +
2V̂N yb/p
∂a
∂b
!##


−utd yb/p
∂g
∂g
p
+ 1+
2yb/p +
2V̂N
+ G1 (·)
∂c
∂b
∆2 + (yb/p + g)2
which results in the following yaw angle error dynamics


∂g
∂g 
∆ṼN
˙
ψ̃ = Cr r̃ + 1 +
2yb/p +
2V̂N
2
2
∂c
∂b
∆ + yb/p + g
9

(37)

where r̃ , r − rd is the yaw rate error. From (37) it can be seen that choosing rd as in (36) results in
yaw angle error dynamics that have a term dependent on the yaw rate error r̃ and a perturbing term
that vanishes when the estimation error ṼN goes to zero.
To add acceleration feedforward to the yaw rate controller, the derivative of rd needs to be calculated.
However, when we analyse the dependencies of rd we obtain
rd =rd (h, yb/p , xb/p , ψ̃, x̃, ỹ),

(38)

where h = [θ, vr , ur , urd , u̇rd , V̂T , V̂N ]T is introduced for the sake of brevity and represents all the variables
whose derivatives do not contain ṼN or ṼT . Consequently, the acceleration feedforward cannot be taken
as ṙd since using (38), (8), and (9) it is straightforward to verify this signal contains the unknowns ṼT
and ṼN . Therefore we define the yaw rate controller in terms of only known signals as:
!
yb/p
∂rd
∂rd
ḣ +
−utd p 2
+ G1 (·)
τr = − F (ur , vr , r) +
∂hT
∂yb/p
∆ + (yb/p + g)2
(39)
 ∂rd
∂rd
∂rd
∂rd
+
−kδ xb/p +
Cr r̃ −
kx x̃ −
ky ỹ − k1 r̃ − k2 ψ̃
∂xb/p
∂ x̃
∂ ỹ
∂ ψ̃
Using (39) in (1f) we then obtain the yaw rate error dynamics


∆ṼN
∂rd
∂g
∂g 
r̃˙ = − k1 r̃ − k2 Cr ψ̃ −
1+
2V̂N
2yb/p +
2
∂c
∂b
∂ ψ̃
∆2 + yb/p + g
∂rd
∂rd
∂rd
∂rd
ṼN −
ṼT +
Ṽx +
Ṽy
−
∂yb/p
∂xb/p
∂ x̃
∂ ỹ

(40)

which has a term depending on the yaw angle error, a term depending on the yaw rate error, and
perturbing terms depending on the unknown ocean current estimation error.
Remark 4. It is straightforward to verify that all the terms in (31) are smooth fractionals that are bounded
with respect to (yb/p , xb/p , x̃, ỹ, ψ̃) or are periodic functions with linear arguments and consequently
the partial derivatives (39) and (40) are all bounded. This is something that is used when showing
closed-loop stability in the next section.

5

Closed-Loop Analysis

In this section we analyse the closed-loop system of the model (1) with controllers (10) and (39) and
observer (12) when the frame propagates with (7) along the path P . To show that path following is
achieved we have to show that the following error dynamics converge to zero
ẋb/p = − kδ xb/p + ṼT
yb/p
ẏb/p = − utd p 2
+ G1 (·) + ṼN
∆ + (yb/p + g)2


∂g
∂g 
∆ṼN
˙
ψ̃ = Cr r̃ + 1 +
2yb/p +
2V̂N
2
2
∂c
∂b
∆ + yb/p + g
∂rd
∂rd
∂rd
∂rd
ṼN −
ṼT +
r̃˙ = − k1 r̃ − k2 Cr ψ̃ −
Ṽx +
Ṽy
∂yb/p
∂xb/p
∂ x̃
∂ ỹ


∂rd
∂g
∂g 
∆ṼN
1+
−
2yb/p +
2V̂N
2
2
∂c
∂b
∂ ψ̃
∆ + yb/p + g


˙ũ = − ku + d11 ũ
m11

10

(41a)
(41b)
(41c)

(41d)

(41e)

The system (41) has the following perturbed form:

 

−kδ xb/p
ẋb/p
yb/p

 ẏb/p  
−utd √∆2 +(yb/p +g)2 + G1 (·)




˙
˙


X̃ ,  ψ̃  = 
+
Cr r̃


 r̃˙  

−k1 r̃ − k2 Cr ψ̃
˙ũ
−k3 ũ

ṼT

Ṽ

h
N i

∂g
∂g
∆ṼN

1
+
2y
+
2
b/p
∂c
∂b 2V̂N

∆2 +(yb/p +g )



i
h
 ∂rd ṼT
∂g
∆ṼN
d
− ∂p
1 + ∂g
− ∂r
∂c 2yb/p + ∂b 2V̂N ∆2 +(yb/p +g )2 −
∂ ψ̃

b/p
ṼN
0









∂rd

Ṽ
c
˜
∂ pb/p


(42)

where pb/p , [xb/p , yb/p ]T and all the perturbing terms disappear as the current estimates converge to
zero. In particular, we cannot apply our desired control action whilst the current estimates have not
converged yet, since the current cannot be compensated for until it is estimated correctly.
The full closed-loop system of the model (1) with controllers (10) and (39) and observer (12) is given
by

y
 

−utd √ 2 b/p
+ G1 (·)
ẏb/p
∆ +(yb/p +g)2


X̃˙ 1 ,  ψ̃˙  = 
+
Cr r̃
˙r̃
−k1 r̃ − k2 Cr ψ̃


Ṽ
N i
h
∂g
∆ṼN


1 + ∂g
2


∂c 2yb/p + ∂b 2V̂N
∆2 +(yb/p +g )
(43a)




h
i


ṼT
∂g
∂g
∂rd
∂rd
∂rd
∆ṼN
− ∂p
− ∂ ψ̃ 1 + ∂c 2yb/p + ∂b 2V̂N
2 − ∂ p̃ Ṽ c
b/p
∆2 +(yb/p +g )
ṼN
 


ẋb/p
−kδ xb/p + ṼT
 x̃˙  
−kx x̃ − Ṽx 



 ỹ˙  



−ky ỹ − Ṽy 

(43b)
X̃˙ 2 ,  ˙  = 

 Ṽx  
−kx1 x̃

 ˙  

 Ṽy  
−ky1 ỹ
−ku ũ
ũ˙
v̇r = X(urd + ũ)rd (h, yb/p , xb/p , ψ̃, x̃, ỹ) + X(urd + ũ)r̃ + Y (urd + ũ)vr

(43c)

Before starting with the stability analysis of (43), we first establish GES of (43b) by using the
following lemma.
Lemma 1. The system (43b) is GES.
Proof. Note that (43b) is a cascaded system of the form
ẋb/p = −kδ xb/p + ṼT ,
  

x̃˙
−kx x̃ − Ṽx
 ỹ˙  
   −ky ỹ − Ṽy 

˙  
Ṽx  =  −kx1 x̃ 
.
˙  
−ky1 ỹ 
Ṽy 
−ku ũ
ũ˙

(44a)

(44b)

The nominal dynamics of (44) are given by ẋb/p = −kδ xb/p from (44a), which is a stable linear system
and thus GES. The perturbing dynamics are given by (44b) and where shown to be GES in Section 4
of the paper. The interconnection term is the term ṼT from (44a). The growth of the interconnection
11

term can be bounded by kṼT k ≤ k[Ṽx , Ṽy ]T k, which satisfies the condition for the interconnection term
from Panteley and Lorıa [18, Theorem 2]. Note that it is trivial to shown the nominal dynamics admit
the quadratic Lyapunov function Vxb/p = 1/2x2b/p . Consequently, all the conditions of Panteley and
Lorıa [18, Theorem 2] and Lorı́a and Panteley [14, Proposition 2.3] are satisfied. Therefore, the cascaded
system (44) is GES, which implies that (43b) is GES.
Note that although we show that the system (43b) is GES, the dynamics of xb/p are only defined in
the tube to avoid the singularity in the parametrisation. Hence, the stability result is only valid in the
tube.
The first step in the stability analysis of (43) is to assure that the closed-loop system is forward complete and that the sway velocity vr remains bounded. Therefore, under the assumption that Condition
1-2 are satisfied, i.e. 1 − κ(θ)yb/p 6= 0 and Cr 6= 0, we take the following three steps:
1. First, we prove that the trajectories of the closed-loop system are forward complete.
2. Then, we derive a necessary condition such that vr is locally bounded with respect to (X̃1 , X̃2 ).
3. Finally, we establish that for a sufficiently big value of ∆, vr is locally bounded only with respect
to X̃2 .
The above three steps are taken by formulation and proving three lemmas. For the sake of brevity
in the main body of this paper the proofs of the following lemmas are replaced by a sketch of each proof
in the main body. The full proofs are reported to the Appendix.
Lemma 2 (Forward completeness). The trajectories of the global closed-loop system (43) are forward
complete.
The proof of this lemma is given in the Appendix. The general idea is as follows. Forward completeness for (43b) is evident since this part of the closed-loop system consists of GES error dynamics.
Using the forward completeness and in fact boundedness of (43b) we can show forward completeness
˙
˙ Hence, forward completeness of (43) depends on forward completeness of ẏb/p . To
of (43c), ψ̃, and r̃.
show forward completeness of ẏb/p , we consider the yb/p dynamics with X̃2 , ψ̃, r̃, and vr as input, which
allows us to claim forward completeness of ẏb/p . Consequently, all the states of the closed-loop system
are forward complete and hence the closed-loop system (43) is forward complete
Lemma 3 (Boundedness near (X̃1 , X̃2 ) = 0). The system (43c) is bounded near (X̃1 , X̃2 ) = 0 if and
only if the curvature of P satisfies the following condition:
κmax , max |κ(θ)| <
θ∈P

Ymin
.
Xmax

(45)

The proof of this lemma is given in the Appendix. A sketch of the proof is as follows. The sway
velocity dynamics (43c) are analysed using a quadratic Lyapunov function V = 1/2vr2 . It can be shown
that the derivative of this Lyapunov function satisfies the conditions for boundedness when the solutions
are on or close to the manifold where (X̃1 , X̃2 ) = 0. Consequently, (43c) satisfies the conditions of
boundedness near (X̃1 , X̃2 ) = 0 as long as (45) is satisfied.
In Lemma 3 we show boundedness of vr for small values of (X̃1 , X̃2 ) to derive the bound on the
curvature. However, locality with respect to X̃1 , i.e. the path-following errors and yaw angle and yaw
rate errors, is not desired and in the next lemma boundedness independent of X̃1 is shown under an
extra condition on the look-ahead distance ∆.
Lemma 4 (Boundedness near X̃2 = 0). If the following additional assumption is satisfied:


1
∃ σ > 0 s.t. 1 − κ(θ)yb/p ≥ σ > 0 ∧
Ymin − Xmax κmax
>0
σ

(46)

the system (43c) is bounded only near X̃2 = 0 if we have
4Xmax

∆> 
Ymin − Xmax κmax σ1
Ymin
κmax < σ
Xmax
12

(47)
(48)

Remark 5. The size of σ can be calculated by using the following tuning procedure.
1. Start by calculating the absolute bound on the curvature from Lemma 3. This is a bound that is
necessary for feasibility of the trajectories.
2. Now choose a positive ∆ and using the maximum curvature of the path, solve (47) to obtain a
possible value for σ.
3. Using the value for σ obtained in the previous step and the maximum value of the curvature we
can use the inequality 1 − κ(θ)yb/p ≥ σ from (46) to calculate the size of the tube as
tube
=
yb/p

1−σ
.
κmax

(49)

tube
If initial conditions are within the tube yb/p
, and are chosen such that the transient caused by the
unknown current does not force the vessel out of the tube. Then the sway velocity is bounded for all
time. Note that the choice of ∆ in step two given above determines how large the tube will be. More
specifically, a larger choice for ∆ will result in a smaller value for σ which will lead to a larger tube in step
three. However, due to the nature of the guidance a larger ∆ will mean slower steering and consequently
slower convergence to the path.

The proof of Lemma 4 is given in the Appendix, the general idea is given as follows. The proof follows
along the same lines of that of Lemma 3 but solutions are considered close to the manifold X̃2 = 0 rather
than (X̃1 , X̃2 ) = 0. It is shown that boundedness can still be shown if (47) is satisfied additionally to
the conditions of Lemma 3.
Theorem 1. Consider a θ-parametrised path denoted by P (θ) , (xp (θ), yp (θ)). Then under Conditions
1-2 and the conditions of Lemma 2-4, the system (1) with control laws (10) and (39) and observer (12)
follows the path P , while maintaining vr , τr and τu bounded. In particular, the origin of the system
(43a)-(43b) is exponentially stable in the tube.
Proof. From the fact that the origin of (43b) is GES, the fact that the closed-loop system (43) is forward
complete according to Lemma 2, and the fact that solutions of (43c) are locally bounded near X̃2 = 0
according to Lemma 4, we can conclude that there is a finite time T > t after which solutions of (43b)
will be sufficiently close to X̃2 = 0 to guarantee boundedness of vr . Having established that vr is bounded
we first analyse the cascade
h ˙i h
i
Cr r̃
ψ̃ =
+
−k1 r̃−k2 Cr ψ̃
r̃˙


G2 (·)
∂r
∂rd
∂r
(50a)
Ṽ
− d G2 (·)− ∂p d [ṼT ,ṼN ]T +
∂[x̃,ỹ]T c
∂ ψ̃
b/p
 ẋ  

b/p






x̃˙
ỹ˙
Ṽ˙

x

Ṽ˙ y
ũ˙

−kδ xb/p +ṼT

 
 
=


−kx x̃−Ṽx
−ky ỹ−Ṽy
−kx1 x̃
−ky1 ỹ
−ku ũ





(50b)

The perturbing system (50b) is GES as shown in Lemma 1. The interconnection term, i.e. the second
and third term in (50a), satisfies the linear growth criteria from [19, Theorem 2]. More specifically, it
has an upperbound that does not grow with ψ̃ and r̃ since all the partial derivatives of rd and g can be
bounded by constants. The nominal dynamics, i.e. the first matrix in (50a), can be analysed with the
following quadratic Lyapunov function V(r̃,ψ̃) = 12 r̃2 + 21 k2 ψ̃ 2 ,whose derivative along the solutions of the
nominal system is given by
V̇(r̃,ψ̃) = −k1 r̃2 − k2 Cr ψ̃r̃ + k2 Cr r̃ψ̃ = −k2 r̃2 ≤ 0

(51)

which implies that r̃ and ψ̃ are bounded. The derivative of (51) is given by
V̈(r̃,ψ̃) = −2k12 r̃2 − 2k1 k2 Cr ψ̃r̃
13

(52)

which is bounded since r̃ and ψ̃ are bounded. This implies that (51) is a uniformly continuous function.
Consequently, from Barbalat’s lemma (Khalil [12, Lemma 8.2]) we have that
lim V̇(r̃,ψ̃) = lim −k1 r̃2 = 0 ⇒

t→∞

t→∞

lim r̃ = 0.

t→∞

(53)

Since Cr is persistently exciting, which follows from the fact that Cr is upper bounded and lower bounded
by positive constants, it follows from the expression of the nominal dynamics that
lim r̃ = 0 ⇒

t→∞

lim ψ̃ = 0.

t→∞

(54)

This implies that the system is globally asymptotically stable. Consequently, from the above it follows
that the cascade (50) is GES [19, Theorem 2].
We now consider the following dynamics
ẏb/p = −utd √

yb/p
∆2 +(yb/p +g)2

+ ṼN + G1 (·).

(55)

Note that we can view the systems (50) and (55) as a cascaded system where the nominal dynamics are
formed by the first term of (55), the interconnection term is given by the second and third terms of (55),
and the perturbing dynamics are given by (50). As we have just shown, the perturbing dynamics are
GES. Using the bound on G1 (·) from (25) it is straightforward to verify that the interconnection term
satisfies the conditions of [19, Theorem 2]. We now consider the following Lyapunov function for the
2
nominal system Vyb/p = 1/2yb/p
, whose derivative along the solutions of the nominal system is given by
V̇yb/p = −utd √

2
yb/p

∆2 +(yb/p +g)2

≤ 0,

(56)

which implies that the nominal system is GAS. Moreover, since it is straightforward to verify that
V̇yb/p ≤ αVyb/p for some constant α dependent on the initial conditions, it follows from the comparison
lemma (Khalil [12, Lemma 3.4]) that the nominal dynamics are also LES. Consequently, the cascaded
system satisfies the conditions of Panteley and Lorıa [18, Theorem 2] and Panteley et al. [19, Lemma 8],
and therefore the cascaded system is GAS and LES. This implies that the origin of the error dynamics,
i.e. (X̃1 , X̃2 ) = (0, 0), is globally asymptotically stable and locally exponentially stable. However, since
the parametrisation is only valid locally we can only claim exponential stability in the tube.

6

Case Study

This section presents a case study to verify the theoretical results presented in this paper. The case
study under consideration is following of a circular path using the model of an underactuated surface
vessel from Fredriksen and Pettersen [11]. The ocean current components are given by Vx = −1 [m/s]
and Vy = 1.2 [m/s] and consequently Vmax ≈ 1.562 [m/s]. The desired relative surge velocity is chosen
to be constant and set to urd = 5 [m/s] such that Assumption 3 is verified. Using the ship’s model
parameters from Fredriksen and Pettersen [11] and the expressions (2c) and (2d) it is straightforward to
see that the curvature bound from Lemma 3 is given by κmax < (Ymin )/(Xmax ) ≈ 0.1333. The observer
is initialised as suggested in Subsection 4.2 and the observer gains are selected as kx1 = ky1 = 1 and
kx1 = ky1 = 0.1. The controller gains are selected as kur = 0.1 for the surge velocity controller and
k1 = 1000 and k2 = 400 for the yaw rate controller.
In this case study the vessel is required to follow a circle with a radius of 400 [m] that is centred
around the origin. Consequently, the curvature of the path is given by κp = 1/400 = 0.0025. To choose
the parameters of the guidance law we will now follow the tuning procedure lined out in Remark 5. In
the first step we verify that the feasibility constraint on the curvature is satisfied for the path under
consideration, which is clearly the case since κp < (Ymin )/(Xmax ) ≈ 0.133. In the second step we fix our
∆ as ∆ = 40 [m], which results in σ ≈ 0.0268. In the third step we use the value for σ to calculate the
tube
size of the tube as yb/p
≈ 369.983 [m]. Note that this is only slightly smaller then the size of the tube
where the parametrisation is valid, i.e. 400 [m]. To stay within this tube we choose the initial conditions
as
[ur (t0 ), vr (t0 ), r(t0 ), x(t0 ), y(t0 ), ψ(t0 )]T = [0, 0, 0, 700, 10, π/2]T .
(57)
14

The resulting trajectory for the vessel can be seen in Figure 3. The blue dashed line is the trajectory
of the vessel and the red circle is the reference path. The yellow vessels represent the orientation of the
vessel at certain instances. From the plot in Figure 3 it can be seen that the vessel converges to the
circle and starts to follow the path. Moreover, it can be seen from the yellow vessels that the orientation
of the ship is not tangential to the circle which is necessary to compensate for the ocean current.

400
300
200

y [m]

100
0

−100
−200
−300
−400
−400

−200

0

200

x [m]

400

600

Figure 3: Path of the vessel in the x − y-plane. The dashed blue line is the trajectory of the path and
the red line is the reference. The yellow ships denote the orientation of the vessel at certain times.
The path-following errors can be seen in the top plot of Figure 4 which confirm that the path-following
errors converge to zero. A detail of the steady-state is given to show the reduction of the error. Moreover,
note that because of the choice of parametrisation the error in tangential direction xb/p is zero throughout
the motion except from a very small transient at the beginning caused by the transient of the observer.
The estimates obtained from the ocean current observer can be seen in the second plot from the top in
Figure 4. From this plot it can be seen that the estimates converge exponentially with no overshoot. This
underlines the conservativeness of the bound from Assumption 3 that is required for the error bound for
the observer as explained in Subsection 4.2. The third plot in Figure 4 depicts the yaw rate and the
sway velocity induced by the motion. It can be seen that these do not converge to zero but converge to
a periodic motion. Note that for circular motion in the absence of current the yaw rate would converge
to zero. However, when current is present the vessel needs to change its turning rate depending on if
it goes with or against the current. The relative surge velocity is given in the fourth plot from the top
in Figure 4 and shows that the surge velocity converges exponentially to the desired value. This plot is
especially interesting in combination with the plot of the magnitude of Cr given at the bottom of Figure
4. From this plot it can clearly be seen that Condition 2 is verified both in steady-state and during the
transient of the velocity controller.

7

Conclusion

This paper considered curved-path following for underactuated marine vessels in the presence of constant
ocean currents. In this approach the path is parametrised by a path variable with a update law that
is designed to keep the vessel on the normal of a path-tangential reference frame. This assures the
path-following error is defined as the shortest distance to the path. However, the disadvantage is that
this type of update law has a singularity which only allows for local results. The vessel is steered using
15

0
0.01
0
−0.01
−200
500
−300
0
2
−100

V̂c [m/s]

Error [m]

100

500

1500

Time [s]

1000

1500

1

V̂x
V̂y

0
−1

r [rad/s] vr [m/s]

1000

xb/p
yb/p

0

500

1

Time [s]

1000

1500

vr
r

0.5
0
−0.5

0

500

Time [s]

1000

1500

0

500

Time [s]

1000

1500

0

500

1000

1500

ur [m/s]

6
4
2
0
1.2

Cr

1
0.8
0.6
0.4

Time [s]

Figure 4: Path following errros plotted agains time (top), current estimates against time (second), sway
velocity and yaw rate against time (third), surge velocity against time (fourth), and size of Cr over time
(bottom).

16

a line-of-sight guidance law, which to compensate for the unknown ocean currents is aided by an ocean
current observer. The closed-loop system with the controllers and observer was analysed. This was done
by first showing boundedness of the underactuated sway velocity dynamics under certain conditions. It
was then shown that if these conditions are satisfied and the sway velocity is bounded the path-following
errors are exponentially stable within the tube. Due to the singularity the feasibility of this problem
depends on the initial conditions, the curvature of the path, and the magnitude of the ocean current.
More specifically, the size of the tube in which the parametrisation is well defined was shown to be a
function of the maximal curvature of the path. This implies that the combination of curvature and ocean
current should be such that a suitable set of initial conditions exists for which the transient of the ocean
current observer does not take the vessel out of the tube.

Appendix
Proof of Lemma 2
Consider the following part of the global closed-loop system:
" # 

˙
Cr r̃
ψ̃ =
−k1 r̃ − k2 Cr ψ̃
r̃˙

i
h

∂g
∆ṼN
1 + ∂g
2
∂c 2yb/p + ∂b 2V̂N
2+ y
∆
(
b/p +g )

 
h
i
+
ṼT
∂g
∂rd
∆ṼN
d
1 + ∂g
− ∂r
− ∂p
∂c 2yb/p + ∂b 2V̂N ∆2 +(yb/p +g )2 −
∂ ψ̃
b/p
ṼN
|
{z


∂rd
∂ p̃b/p Ṽ c

R(h,yb/p ,xb/p ,ψ̃,x̃,ỹ)

v̇r = X(urd + ũ)rd (h, yb/p , xb/p , ψ̃, x̃, ỹ) + X(urd + ũ)r̃ + Y (urd + ũ)vr




(58a)

}
(58b)

From the boundedness of the vector [X̃2T , κ(θ), urd , u̇rd , VT , VN ]T we know that [X̃2T , κ(θ), urd , u̇rd , VT , VN ]T ≤
β0 , and from the expression for rd in the paper we can conclude the existence of positive functions ard (·),
brd (·), aR (·), and bR (·) which are all continuous in their arguments and are such that such the following
inequalities hold:
|rd (·)| ≤ ard (∆, β0 ) |vr | + brd (∆, β0 )

(59)

kR(·)k ≤ aR (∆, β0 ) |vr | + bR (∆, β0 )

(60)

and,

Then taking the following Lyapunov function candidate:

1
V1 (ψ̃, r̃, vr ) =
k2 ψ̃ 2 + r̃2 + vr2
2

(61)

whose time derivative along the solutions of (58) is
V̇1 (·) = k2 Cr r̃ψ̃ − k1 r̃2 − k2 Cr r̃ψ̃ + [ψ̃ r̃]R(·) + Y (urd + ũ)vr2
+ X(urd + ũ)r̃vr + X(urd + ũ)rd (·)vr

(62)

Using Young’s inequality we note that
V̇1 (·) ≤ k1 r̃2 + ψ̃ 2 + r̃2 + R2 (·) + Y (urd + ũ)vr2


+ |X(urd + β0 )| r̃2 + vr2 + |X(urd + β0 )| rd2 (·) + vr2

(63)

≤αV + β, α ≥ 0, β ≥ 0

Note that since the differential inequality (63) is scaler we can invoke the comparison lemma (Khalil [12,
Lemma 3.4]). From the comparison lemma we know that the solutions of differential inequality (63) are
bounded by the solutions of the linear system:
ẋ = αx + β
17

(64)

which has solutions

kx(t0 )kα + β α(t−t0 ) β
e
−
α
α
Hence, from the comparison lemma we have that
x(t) =

V1 (·) ≤

kV1 (t0 )kα + β α(t−t0 ) β
e
−
α
α

(65)

(66)

which shows the solutions of V1 (·) are defined up to tmax = ∞ and consequently from (61) it follows that
the solutions of ψ̃, r̃, and vr must be defined up to tmax = ∞. Hence, the solutions of (58) satisfy the
definition of forward completeness (Angeli and Sontag [2]) and we can conclude forward completeness of
trajectories of (58).
The forward completeness of trajectories of the global closed-loop system now depends on forward
completeness of ẏb/p from (43a). We can conclude forward completeness of ẏb/p by considering the
Lyapunov function
1 2
.
(67)
V2 = yb/p
2
The time derivative of (67) is given by
V̇2 = yb/p ẏb/p
≤ −utd p

yb/p
∆2

+ (yb/p + g)2

+ (G1 (·) + ṼN )yb/p

(68)

≤ (G1 (·) + ṼN )yb/p
where using the bound on G1 (·) from the paper and Young’s inequality we obtain

1 2
ζ (γ̇p (θ), utd )k[ψ̃, r̃, xb/p ]T k2 + ṼN2
2
≤ V2 + σ2 (vr , ψ̃, r̃, ṼN , ṼT , xb/p )

V̇2 ≤ V2 +

(69)
(70)

with σ2 (·) ∈ K∞ . Consequently, if we view the arguments of σ2 (·) as input to the yb/p dynamics, then
(69) satisfies Angeli and Sontag [2, Corollary 2.11] and hence ẋb/p and ẏb/p are forward complete. Note
that the arguments of σ2 (·) are all forward complete and therefore fit the definition of an input signal
given in Angeli and Sontag [2]. We have now shown forward completeness of (43a) and (43c) and since
(43b) is GES is is trivially forward complete. We can therefore claim forward completeness of the entire
closed-loop system (43) and the proof of Lemma 2 is complete.

Proof of Lemma 3
Recall the sway velocity dynamics (43c):
v̇r = X(ũ + urd )(rd + r̃) + Y (urd + ũ)vr , Y (urd ) < 0
Consider the following Lyapunov function candidate:
V3 (vr ) =

1 2
v
2 r

(71)

The derivative of (71) along the solutions of (43c) is given by
V̇3 = vr v̇r = vr X(urd + ũ)rd + X(urd + ũ)vr r̃ + Y (urd + ũ)vr2
≤ X(urd )rd vr + ax ũrd vr + X(urd )vr r̃ + ax ũvr r̃ + ay ũvr2 + Y (urd )vr2

(72)

where we used the fact that:
Y (ur ) = ay ur + by

(73)

X(ur ) = ax ur + bx

(74)

18

The term rd vr can be bounded as a function of vr as follows
"
!
ut cos(ψ + β − γp (θ)) + kδ xb/p + V̂T
vr
rd vr = −
κ(θ)
Cr
1 − κ(θ)yb/p
"
√
Y (ur )vr urd − u̇rd vr
∆
˙ b + b2 − ac
+
+
2 V̂N
u2rd + vr2
−a
∆2 + yb/p + g




∂g
∂g
˙
˙
2V̂N V̂N − 2urd u̇rd − 2vr Y (ur )vr +
2V̂N yb/p
+
∂a
∂b
!##


−u
y
∂g
∂g
td b/p
p
+ 1+
+ G1 (·)
2yb/p +
2V̂N
∂c
∂b
∆2 + (yb/p + g)2
≤

(75)

1
1
+ F2 (X̃1 , X̃2 , ∆, VT , VN , urd )vr2
|κ(θ)| vr2
Cr
1 − κ(θ)yb/p

+ F1 (X̃1 , X̃2 , ∆, VT , VN , urd )vr


2∆vr
∂g
1
urd
−
−
Y (ur )vr2
Cr u2rd + vr2
∆2 + (yb/p + g)2 ∂a
where F1,2 (·) are continuous functions in their arguments with:
F2 (0, 0, ∆, VT , VN , urd ) = 0.

(76)

When substituting (75) in (72) we obtain
C ∗ −C

V̇3 ≤ X(urd )F2 (X̃1 , X̃2 , ∆, VT , VN , urd )vr2 + Crr C ∗r (|X(urd )κ(θ)| − |Y (urd )|) vr2
r




yb/p
1
− |Y (urd )| + ay ũ vr2
+ ∗ |X(urd )| |κ(θ)| 1 +
Cr
1 − κ(θ)yb/p


+ X(urd )F1 (X̃1 , X̃2 , ∆, VT , VN , urd ) + ax ũ(rd + r̃) + X(urd )r̃ vr

(77)

where Cr∗ (vr , yb/p , ∆, VN , urd ) = Cr (vr , yb/p , ∆, V̂N = VN , ur = urd ). When substituting (75) in (72) we
have used the fact that


1
2∆vr
∂g
Cr − 1
urd
− 2
X(ur )Y (ur )vr2 =
Y (ur )vr2 .
(78)
2
2
2
Cr urd + vr
∆ + (yb/p + g) ∂a
Cr
Remark 6. Note that Cr∗ (vr , yb/p , ∆, VN , urd ) can be found independently of yb/p and xb/p since the terms
in Cr are bounded with respect to these variables.
Consequently, on the manifold where (X̃1 , X̃2 ) = 0 we have
V̇3 ≤

1
(Xmax |κ(θ)| − Ymin ) vr2 + X(urd )F1 (0, 0, ∆, VT , VN , urd )|vr |
Cr∗

(79)

which is bounded as long as
Xmax |κ(θ)| − Ymin < 0.

(80)

Hence, satisfaction of (80) renders the quadratic term in (79) negative and since the quadratic term is
dominant for sufficiently large vr , (79) is negative definite for sufficiently large vr . If V̇3 is negative for
sufficiently large vr this implies that V3 decreases for sufficiently large vr . Since V3 = 1/2vr2 , a decrease
in V3 implies a decrease in vr2 and by extension in vr . Therefore, vr cannot increase above a certain value
and vr is bounded near the manifold where (X̃1 , X̃2 ) = 0.
Consequently, close to the manifold where (X̃1 , X̃2 ) = 0 the sufficient and necessary condition for
local boundedness of (43c) is the following:
Xmax |κ(θ)| − Ymin < 0.
which is satisfied if and only if the condition in Lemma 3 is satisfied.
19

(81)

Proof of Lemma 4
Recall the sway velocity dynamics (43c):
v̇r = X(ũ + urd )(rd + r̃) + Y (urd + ũ)vr , Y (urd ) < 0
Consider the following Lyapunov function candidate:
1 2
v
2 r
The derivative of (82) along the solutions of (43c) is given by

(82)

V3 (vr ) =

V̇3 = vr v̇r = vr X(urd + ũ)rd + X(urd + ũ)vr r̃ + Y (urd + ũ)vr2
≤ X(urd )rd vr + ax ũrd vr + X(urd )vr r̃ + ax ũvr r̃ + ay ũvr2 + Y (urd )vr2

(83)

where we used the fact that:
Y (ur ) = ay ur + by

(84)

X(ur ) = ax ur + bx

(85)

The term rd vr is given by:
"
kδ xb/p + V̂T
ut cos(ψ + β − γp (θ))
1
+ κ(θ)
vr κ(θ)
rd vr = −
Cr
1 − κ(θ)yb/p
1 − κ(θ)yb/p
√

∆ b + b2 − ac
+
2 (−kx1 x̃ sin(γp (θ)) + ky1 ỹ cos(γp (θ)))
a∆2 + a yb/p + g
!
√

kδ xb/p − V̂T
∆κ(θ)V̂T b + b2 − ac
ut cos(ψ + β − γp (θ))
+
+
2
1 − κ(θ)yb/p
1 − κ(θ)yb/p
a∆2 + a yb/p + g
+

∂g
∆ ∂a
2V̂N

∆2 + yb/p + g

2 (kx1 x̃ sin(γp (θ)) − ky1 ỹ cos(γp (θ)))

∂g
2V̂N V̂T
∆κ(θ) ∂a
−
2
∆2 + yb/p + g

−
+
−
−
+
+
−

∂g
∆ ∂a

∆2

+ yb/p + g
∆ ∂g
∂b 2yb/p

∆2 + yb/p + g

kδ xb/p + V̂T
ut cos(ψ + β − γp (θ))
+
1 − κ(θ)yb/p
1 − κ(θ)yb/p

2 (2urd u̇rd − 2vr Y (ur )vr ) +

!

Y (ur )vr urd − u̇rd vr
u2rd + vr2

(86)

2 (kx1 x̃ sin(γp (θ)) − ky1 ỹ cos(γp (θ)))

∆κ(θ) ∂g
kδ xb/p + V̂T
ut cos(ψ + β − γp (θ))
∂b 2yb/p V̂T
+
2
1 − κ(θ)yb/p
1 − κ(θ)yb/p
∆2 + yb/p + g
yb/p
φ(·)utd p 2
+ φ(·)ũ sin(ψ − γp )
∆ + (yb/p + g)2



h
i
yb/p + g
φ(·) 1 − cos(ψ̃) utd sin arctan
∆



yb/p + g
φ(·) cos arctan
sin(ψ̃)utd
∆
!#
kδ xb/p + V̂T
ut cos(ψ + β − γp (θ))
2φ(·)xb/p κ(θ)
+
1 − κ(θ)yb/p
1 − κ(θ)yb/p

!

where the function φ(yb/p , vr , urd , V̂N , ∆) is bounded by a constant with respect to vr and defined as
φ(·) ,

2∆yb/p
∆2
|

+ yb/p + g
{z
φ1 (·)

2

∂g
∆
2∆V̂N
∂g
+
 +

∂c ∆2 + yb/p + g 2 ∆2 + yb/p + g 2 ∂b
} |
{z
} |
{z
}
φ2 (·)

20

φ3 (·)

(87)

We can rewrite rd vr to obtain

ut cos(ψ + β − γp (θ))
1
vr κ(θ)
rd vr = −
Cr
1 − κ(θ)yb/p
yb/p + g
− φ2 (·)utd p 2
+ φ2 (·)V̂N
∆ + (yb/p + g)2



h
i
yb/p + g
+ φ2 (·) 1 − cos(ψ̃) utd sin arctan
∆




yb/p + g
1
+ φ2 (·) cos arctan
sin(ψ̃)utd −
vr Φ1 (·)
∆
Cr


2∆vr
∂g
1
urd
− 2
−
Y (ur )vr2
2
2
2
Cr urd + vr
∆ + (yb/p + g) ∂a

(88)

where Φ1 (·) collects terms that are bounded with respect to vr and terms that grow linearly with vr but
vanish when X̃2 = 0. The function Φ1 (·) is defined as
kδ xb/p − V̂T
u̇rd vr
2urd u̇rd ∆
∂g
− 2
+
2
2
1 − κ(θ)yb/p
urd + vr2
∂a
∆ + yb/p + g
√

∆ b + b2 − ac
+
2 (−kx1 x̃ sin(γp (θ)) + ky1 ỹ cos(γp (θ)))
a∆2 + a yb/p + g
!
√

kδ xb/p + V̂T
∆κ(θ)V̂T b + b2 − ac
ut cos(ψ + β − γp (θ))
+
+
2
1 − κ(θ)yb/p
1 − κ(θ)yb/p
a∆2 + a yb/p + g

Φ1 (·) , κ(θ)

+

∂g
∆ ∂a
2V̂N

∆2 + yb/p + g

2 (kx1 x̃ sin(γp (θ)) − ky1 ỹ cos(γp (θ)))

∂g
∆ ∂a
2κ(θ)V̂N V̂T
−
2
2
∆ + yb/p + g

+

∆ ∂g
∂b 2yb/p
∆2 + yb/p + g

kδ xb/p + V̂T
ut cos(ψ + β − γp (θ))
+
1 − κ(θ)yb/p
1 − κ(θ)yb/p

!

(89)

2 (kx1 x̃ sin(γp (θ)) − ky1 ỹ cos(γp (θ)))

∆ ∂g 2yb/p κ(θ)V̂T
− ∂b
2
∆2 + yb/p + g

kδ xb/p + V̂T
ut cos(ψ + β − γp (θ))
+
1 − κ(θ)yb/p
1 − κ(θ)yb/p
yb/p
− (φ1 (·) + φ3 (·)) utd p 2
+ φ(·)ũ sin(ψ − γp )
∆ + (yb/p + g)2



h
i
yb/p + g
+ (φ1 (·) + φ3 (·)) 1 − cos(ψ̃) utd sin arctan
∆



yb/p + g
+ (φ1 (·) + φ3 (·)) cos arctan
sin(ψ̃)utd
∆
!
kδ xb/p + V̂T
ut cos(ψ + β − γp (θ))
− 2φ(·)xb/p κ(θ)
+
1 − κ(θ)yb/p
1 − κ(θ)yb/p

21

!

We now introduce Cr∗ (·) as defined in the proof of Lemma 3, so we can rewrite rd vr to obtain:

κ(θ)ut cos(ψ + β − γp (θ))
1
−
rd vr = − ∗ vr
Cr
1 − κ(θ)yb/p
yb/p + g
φ2 (·)utd p 2
+
∆ + (yb/p + g)2



h
i
yb/p + g
φ2 (·) 1 − cos(ψ̃) utd sin arctan
+
∆




yb/p + g
1
φ2 (·) cos arctan
sin(ψ̃)utd −
vr Φ2 (·)
∆
Cr


1
2∆vr
∂g
urd
−
−
Y (ur )vr2
Cr u2rd + vr2
∆2 + (yb/p + g)2 ∂a

(90)

where Φ2 (·) collects terms that are bounded with respect to vr and terms that grow linearly with vr but
vanish when X̃2 = 0. The function Φ2 (·) is defined as




h
i
yb/p + g
C ∗ − Cr
Φ2 (·) , Φ1 (·) + r ∗
φ2 (·) 1 − cos(ψ̃) utd sin arctan
Cr
∆

φ2 (·)utd yb/p + g
κ(θ)ut cos(ψ + β − γp (θ))
−p 2
+
1 − κ(θ)yb/p
∆ + (yb/p + g)2
(91)



yb/p + g
+ φ2 (·) cos arctan
sin(ψ̃)utd
∆



∂g
urd
2∆vr
Y
(u
)v
−
−
r r + φ2 (·)V̂N
u2rd + vr2
∆2 + (yb/p + g)2 ∂a
Considering the above we derive the following upper bound for rd vr :


1
|κ(θ)| ut
1
+ 4 |φ2 (·)| utd −
rd vr ≤ ∗ vr
vr Φ2 (·)
Cr
1 − κ(θ)yb/p
Cr


urd
∂g
2∆vr
1
Y (ur )vr2
−
−
Cr u2rd + vr2
∆2 + (yb/p + g)2 ∂a
Using the fact that: ut ≤ |ur | + |vr |, we obtain:


vr |κ(θ)| (|ur | + |vr |)
vr
rd vr ≤ ∗
+ 4 |φ2 (·)| |urd | + 4 |φ2 (·)| |vr | −
Φ2 (·)
Cr
1 − κ(θ)yb/p
Cr


2∆vr
∂g
1
urd
− 2
Y (ur )vr2
−
Cr u2rd + vr2
∆ + (yb/p + g)2 ∂a
1
|κ(θ)| vr2
1
≤ ∗
+ 4 ∗ |φ2 (·)| vr2 + Φ3 (·)
Cr 1 − κ(θ)yb/p
Cr


urd
∂g
1
2∆vr
Y (ur )vr2
−
−
Cr u2rd + vr2
∆2 + (yb/p + g)2 ∂a

(92)
(93)

(94)

where Φ3 collects the terms that grow linear in vr and terms that grow quadratically in vr but vanish
when X̃2 = 0. The function Φ3 is defined as
Φ3 (·) ,

1 |κ(θ)| |vr ur |
1
1
+ ∗ |vr urd | |φ2 (·)| −
vr Φ2 (·)
∗
Cr 1 − κ(θ)yb/p
Cr
Cr

(95)

Observing the definition of Φ3 (·) one can easily conclude the existence of three continuous positive
functions F0,2 (X̃1 , X̃2 , urd , u̇rd , VT , VN , ∆) which are bounded since the vector [X̃2T , urd , u̇rd , VT , VN , ∆]T
is bounded, and where
F2 (X̃1 , X̃2 = 0, urd , u̇rd , VT , VN , ∆) = 0,
22

such that:
Φ3 (·) ≤ F2 (·)vr2 + F1 (·)vr + F0 (·)

(96)

Consequently, when we substitute (94) in (83) obtain:


|κ(θ)| vr2
1
1
2
+ 4 ∗ |φ2 (·)| vr + Φ3 (·)
V̇3 = vr v̇r ≤ |X(urd )|
Cr∗ 1 − κ(θ)yb/p
Cr

+ ax ũrd vr + X(urd )vr r̃ + ax ũvr r̃ + ay ũvr2 + Y (urd )vr2


1
2∆vr
∂g
urd
− 2
X(urd Y (urd )vr2
−
Cr u2rd + vr2
∆ + (yb/p + g)2 ∂a


Xmax κmax
1
+ 4Xmax |φ2 (·)| − Ymin vr2
≤ ∗
Cr 1 − κ(θ)yb/p

(97)

+ |X(urd )| |Φ3 (·)| + ax ũrd vr + X(urd )vr r̃ + ax ũvr r̃ + ay ũvr2

To have boundedness of vr for small values of X̃2 we have to satisfy the following inequality:
Xmax κmax
+ 4Xmax |φ2 (·)| − Ymin < 0
1 − κ(θ)yb/p
such that the quadratic term in (97) is negative. Using (46) we need to choose ∆, such that:


Ymin − Xmax κmax σ1
|φ2 (·)| <
> 0,
4Xmax

(98)

(99)

4Xmax
such that (98) holds. Consequently, near the
[Ymin −Xmax κmax σ1 ]
manifold X̃2 = 0 it holds that (97) is negative definite for sufficiently large vr . If V̇3 is negative for
sufficiently large vr this implies that V3 decreases for sufficiently large vr . Since V3 = 1/2vr2 , a decrease
in V3 implies a decrease in vr2 and by extension in vr . Consequently, vr cannot increase above a certain
value and vr is bounded near X̃2 = 0.

since |φ2 (·)| ≤

1
∆,

we can take ∆ >

References
[1] A. P. Aguiar and A. M. Pascoal. Dynamic positioning and way-point tracking of underactuated
AUVs in the presence of ocean currents. International Journal of Control, 80(7):1092–1108, 2007.
[2] D. Angeli and E. D. Sontag. Forward completeness, unboundedness observability, and their lyapunov
characterizations. Systems & Control Letters, 38(4):209–217, 1999.
[3] E. Børhaug and K. Y. Pettersen. Los path following for underactuated underwater vehicle. Proceedings of the 7th IFAC Conference on Manoeuvering and Control of Marine Craft MCMC, Lisbon,
Portugal, 2006.
[4] E. Børhaug, A. Pavlov, and K. Y. Pettersen. Integral LOS control for path following of underactuated
marine surface vessels in the presence of ocean currents. In Proceedings of the 47th IEEE Conference
on Decision and Control, pages 4984–4991, 2008.
[5] M. Breivik and T. I. Fossen. Path following of straight lines and circles for marine surface vessels.
Proc. of the 6th IFAC Control Applications in Marine Systems, 2004.
[6] W. Caharija, M. Candeloro, K. Y. Pettersen, and A. J. Sørensen. Relative velocity control and
integral los for path following of underactuated surface vessels. In Proceedings of the 9th IFAC
Conference on Manoeuvring and Control of Marine Craft, 2012.
[7] W. Caharija, K. Y. Pettersen, M. Bibuli, P. Calado, E. Zereik, J. Braga, J. T. Gravdahl, A. J.
Sørensen, M. Milovanović, and G. Bruzzone. Integral line-of-sight guidance and control of underactuated marine vehicles: Theory, simulations and experiments. IEEE Transactions on Control
Systems Technology, 24(5):1623–1642, 2016.
23

[8] K. D. Do and J. Pan. State-and output-feedback robust path-following controllers for underactuated
ships using serret–frenet frame. Ocean Engineering, 31(5):587–613, 2004.
[9] P. Encarnaçao, A. Pascoal, and M. Arcak. Path following for marine vehicles in the presence of
unknown currents. In Proceedings of SYROCO 6th IFAC Symposium on Robot Control, pages 469–
474, 2000.
[10] T.I. Fossen, M. Breivik, and R. Skjetne. Line-of-sight paht following of underactuated marine craft.
In Proceedings of the 6th IFAC Conference on Manoeuvering and Control of Marine Craft, pages
244–249, 2003.
[11] E. Fredriksen and K. Y. Pettersen. Global κ-exponential way-point manoeuvering of ships. In
Proceeding of the 43rd IEEE Conference on Decision and Control (CDC), volume 5, pages 5360–
5367. IEEE, 2004.
[12] H. Khalil. Nonlinear Systems. Prentice Hall, 2002.
[13] L. Lapierre and D. Soetanto. Nonlinear path-following control of an AUV. Ocean Engineering, 34
(11):1734–1744, 2007.
[14] A. Lorı́a and E. Panteley. Cascaded nonlinear time-varying systems: Analysis and design. In
Advanced topics in control systems theory, pages 23–64. Springer, 2004.
[15] A. Micaelli and C. Samson. Trajectory tracking for unicycle-type and two-steering-wheels mobile
robots. PhD thesis, INRIA, 1993.
[16] S. Moe, W. Caharija, K. Y. Pettersen, and I. Schjølberg. Path following of underactuated marine
surface vessels in the presence of unknown ocean currents. In American Control Conference, pages
3856–3861. IEEE, 2014.
[17] K. Narendra and A. Annaswamy. A new adaptive law for robust adaptation without persistent
excitation. IEEE Transactions on Automatic control, 32(2):134–145, 1987.
[18] E. Panteley and A. Lorıa. On global uniform asymptotic stability of nonlinear time-varying systems
in cascade. Systems & Control Letters, 33(2):131–138, 1998.
[19] E. Panteley, E. Lefeber, A. Lorıa, and H. Nijmeijer. Exponential tracking control of a mobile car
using a cascaded approach. In Proceedings of the IFAC workshop on motion control, pages 221–226.
Grenoble, France Grenoble, France, 1998.
[20] C. Samson. Path following and time-varying feedback stabilization of a wheeled mobile robot. In
Proceedings of the International Conference on Control, Automation, Robotics and Vision, 1992.
[21] D. Soetanto, L. Lapierre, and A. Pascoal. Adaptive, non-singular path-following control of dynamic
wheeled robots. In 42nd IEEE Conference on Decision and Control, volume 2, pages 1765–1770.
IEEE, 2003.

24

