nonlinear maneuvering and control of ships
TRANSCRIPT
Nonlinear Maneuvering and Control of ShipsRoger Skjetne and Thor I. Fossen
Department of Engineering Cybernetics, Norwegian University of Science and Technology
N-7491 Trondheim, Norway. E-mail: [email protected], [email protected]
Abstract—We address the problem of maneuvering ships onto curvesor paths in the plane. To do this, we introduce the Serret-Frenet equa-tions and show how these fit the scope for control design with 3 degrees-of-freedom (DOF) hydrodynamic ship models in the loop. The Davidson& Schiff linear parametrically varying (LPV) ship model is used in the de-sign, and we show how we can manipulate this by introducing accelerationfeedback and by moving the body-frame freely. This simplifies the controldesign in such a way that we do not have to deal with zero-dynamics. In-stead we use a 3-step backstepping design and theory for interconnectingsubsystems. Real data from a 175m container ship is used in a computersimulation to validate the design. Copyright c°2001 MTS/IEEEKeywords—Ship maneuvering; Serret-Frenet frame; Plane kinematics;
Backstepping; Small-gain; Acceleration feedback.
I. INTRODUCTION
THE research area of ship maneuvering and control is afield of high interest, and the developments in the last
decade in nonlinear control theory [1] greatly extends the pos-sibilities. While ship dynamics is accurately described by com-plex nonlinear hydrodynamic models, the state-of-the-art mod-els for control purposes are still simple linear models developeddecades ago. Examples are the linear steering model of David-son and Schiff [2] or the course-keeping models of Nomoto [3].The contribution in [4] exploits the simplicity of these models,and this illustrates the need for simplicity in practical applica-tions. More recently, ship models have appeared which writ-ten in the Euler-Lagrange form show clear connections withpassive and dissipative properties of the physical system. Itwould be advantageous to exploit such properties in control de-sign since an overall passive system is very robust. See [5] fora comprehensive treatise on the older models and the newerEuler-Lagrange type of models.The problem we will address in this paper is nonlinear con-
trol of ships to predefined paths in the plane. Typically, a pathis made up of waypoints with straight lines between them, andthen the control system should regulate the cross-track error tozero and at the same time keep the heading towards the nextwaypoint [6]. What makes such a control design nontrivial isthat we have to control two degrees-of-freedom by only usingone actuator, namely the rudder. We will relax the requirementof waypoints and straight lines and rather develop a nonlinearcontroller that keeps the ship on any feasible path or curve inthe plane. Within the notion of feasibility we put both geo-graphical concerns as well as dynamic properties of the ships,e.g. its minimum turning radius. Also note that a system thatmanages to follow a smooth reference curve is more desirablesince a smooth path is most likely to be the optimal feasibledynamic path between two points with respect to time and fuelconsumption.
Supported by the Norwegian Research Council through the Strategic Univer-sity Program on Marine Cybernetics
At this point we are not concerned with the dynamic modelof the ship. However, we will only consider models that rep-resent the ship dynamics in terms of surge u, sway v and yaw-rate r, and therefore we will use the linear model of Davidsonand Schiff [2] in the design. This paper is the initial work ofa comprehensive study of ship maneuvering, where we hope toobtain good knowledge for controlling complex hydrodynamicship models.Recent developments in path control have been made by [7]
where they address the problem of following straight lines.Todo this they redefine the output to a combination between thecross-track error and the heading angle. The result is a rela-tive degree 2 system which is controlled by input-output lin-earization and robustly by sliding-mode control. Path controlto straight lines, i.e. way-point tracking, has also been exploredin [6] which shows a development in the output-redefinition.However, they use a very simplified dynamic model. Latelythere is the work of [8] and [9] where they use a Serret-Frenetframe to represent the cross-track error and heading error. Theadvantage with this frame is that you move beyond straightlines and rather view the path as general smooth curves in theplane. In the last reference, they follow the same design proce-dure as we will do in this paper, but they use different dynami-cal models.In our contribution, we will explore the Serret-Frenet frame.
We will exploit the output redefinition introduced in [6]; how-ever, with a different control strategy. Instead of using feedbacklinearization on a relative degree 2 problem where you get theproblem of stabilizing a degree 2 zero-dynamics, we use a 3-step backstepping design and show through interconnection ofsubsystems and a small-gain argument that the overall plant isstable. To get to the result, we will manipulate the dynamicalmodel by moving the body-frame and, if necessary, introducingacceleration feedback.
A. Notation
• |·| is the absolute value of a scalar, |·|p is the p-norm of avector, and ||δ|| denotes ess. sup {|δ(t)| , t ≥ 0} for any mea-surable signal δ : [0,∞]→ <m.• It will be clear from the context if a quantity is a scalar orvector. However, the notation z1,2,...,p means [z1, z2, ..., zp]> .• Differentiation w.r.t. time is denoted x = dx
dt .• IOS stands for Input-Output Stable, LAS means LocalAsymptotic Stability, L-ISS means Locally Input-to-StateStable, L-ISpS is the practical equavialent, L-IOpS is LocallyInput-to-Output practical Stable (see [10] and [11] for details).• We use class-K and class-KL functions as defined in [10], butnote that we only define them locally.• Kinematics involves the use of several geometrical frames. In
MTS 0-933957-28-9 1
this paper we denote the earth fixed inertial frame as {E}, body-fixed frame as {B}, and the Serret-Frenet frame {SF}. Quanti-ties have corresponding subscripts or superscripts.• For vectors we will use the notations given in [12]; let ηna,bdenote the position vector from the origin of frame {a} to theorigin of frame {b} decomposed in frame {n}, let νna,b denotethe linear velocity of frame {b} w.r.t. frame {a} decomposedin frame {n}, and let ωna,b be the angular velocity of frame {b}w.r.t. frame {a} decomposed in frame {n}.
II. KINEMATICS
In this section we will look into some simple concepts ofcurve theory [13] and how this leads to the well-known Serret-Frenet equations. Then we will develop the necessary error sig-nals applicable for control design which therefore constitutesthe kinematic equations.
A. Curve theory
Given a desired curve C(xd,yd) with xd = xd(θ) andyd = yd(θ) where θ is an independent parametrization vari-able, see figure (1), let rd(θ, t) =
£xd(θ(t)) yd(θ(t))
¤T be
Fig. 1. Illustrates a curveC (θ) with a point represented by θ and its positionvector rd (θ) and its unit tangent and normal vectors T (θ) andN (θ) .
the position vector of a point on the curve at time t. Conse-quently, rd (t) , t ≥ 0 will be the time-evolution of a positionvector with motion restricted to the curve C. We assume thatrd (θ) is a regular parametric representation of the curve, i.e.rd ∈ C1 and drd
dθ 6= 0 in an interval θ ∈ I. The velocity vec-tor is given by vd(t) = rd(t), and we can now express thearclength s of the curve as s = |vd| or
s =
Z θ
θ0
¯drd
dθ
¯dθ =
Z θ
θ0
sµdxd
dθ
¶2+
µdyd
dθ
¶2dθ
Consequently, either of the variables θ or s can be used touniquely represent the curve. The expression for the unit tan-gent vector is now given by T (t) = vd(t)
|vd(t)| =vd(t)s , or using
the arclength, T (s) = drdds .
Remark 1: s is a natural parameter, and rd (s) is a nat-ural representation of the curve. This is seen since s (θ) =R θθ0
¯drddθ
¯dθ which implies that dsdθ =
¯drddθ
¯ → ¯drdds
¯= 1.
The unit tangent vector can then also be expressed by T (s) =drdds =
drd / dθ|drd / dθ| .
In the forthcomming we will use s as our parametriza-tion variable. Let ψSF (s) be the angle between the axis xeand T (s). Since T = [Tx Ty]
T we get that ψSF (s) =tan−1
³Ty(s)Tx(s)
´which conversely gives
T =
·cos(ψSF )sin(ψSF )
¸It is interesting to see what the turning rate of T w.r.t. s is, i.e.dTds .We find that
dT
ds=
dT
dψSF
dψSFds
=
· − sin(ψSF )cos(ψSF )
¸dψSFds
and note that¯dTds
¯=¯dψSFds
¯. We define the curvature vec-
tor K (s) := dT (s)ds and the corresponding quantity, curvature,
|κ (s)| := |K (s)| =¯dψSFds
¯, the angular scalar rate of change
w.r.t. arclength s. Notice that T>¡dTds
¢= 0 which means that
the tangent and curvature vectors are orthogonal. Let ρ be somenormalization factor. We can then define the unit principal nor-mal vector to be N(s) = ρK (s) which is perpendicular to thetangent, and we see that |ρ|
¯dψSFds
¯= 1 so ρ = ds
dψSF= 1
κ .
Remark 2: A point on the curve where κ (s) = 0 we calla point of inflection. At this point the curvature vector van-ishes. Notice also that K (s) = κ (s)N (s) ; hence, if Nand K are in the same direction, then κ (s) = |K (s)| , oth-erwise, κ (s) = − |K (s)| . Since N>N = 1, we also get thatκ (s) = K> (s)N (s) .
B. The Serret-Frenet equationsWe are now ready to state the Serret-Frenet formulas for
curves in the plane. Since dψSF = κ (s) ds,we first get ψSF =κ (s) s. Moreover, we already have dT (s)
ds = κ (s)N(s). Theunit principal normal is given as
N =
· − sin (ψSF )cos (ψSF )
¸Then dN(s)
ds=
dN
dψSF
dψSFds
= κ (s)
· − cos (ψSF )− sin (ψSF )
¸Summarizing, this gives dT
ds= κN (1)
dN
ds= −κT (2)
ψSF = κs (3)
C. Serret-Frenet for control designWe will now look into the ship kinematic equations. Figure
(2) shows a hypothetical scenario with all the involved framesand position vectors. Let the ship be located at ηEE,B = η =
[x, y]> and with heading ψ as the usual jaw angle between {B}and {E}. Define the ship heading in {SF} as ψ := ψ−ψSF , i.e.the rotational angle of {B} in {SF}. We denote a 2× 2 rotationmatrix as
2
Fig. 2. Illustrates a setup with the inertial frame {E}, a curve C, a ship withframe {B} located at η and its projection onto the curve represented by theframe {SF} and the position vector ηSF . The cross-track error is e2.
R2 (x) =
·cosx − sinxsinx cosx
¸and the corresponding 3× 3 rotation matrix as
R3 (x) =
·R2 (x) 00 1
¸Let the origin of {SF} always be the closest point on the curvefrom the body-fixed origin. Then the ship is located at the posi-tion ηSFSF,B = [0 e2]
> in the {SF} frame, i.e. it is always locatedon the normal vector N with cross-track error e2. We then getthe relationship
νSFE,B = R2¡ψ¢νBE,B = νSFE,SF+ν
SFSF,B+ω
SFE,SF×ηSFSF,B (4)
where νBE,B = [u v]T , νSFE,SF = [s 0]> , νSFSF,B = [0 e2]>,
and
ωSFE,SF × ηSFSF,B =
·0 −ψSF
ψSF 0
¸ ·oe2
¸We also have that ωSFSF,B = ωSFE,B − ωSFE,SF or
˙ψ = ψ − ψSF = r − ψSF (5)
Using the Serret-Frenet equation (3) and defining the state vec-tor σ0 = [s e2 ψ]>, the kinematics can now be written as
F (e2,κ) σ0= R3¡ψ¢ν3 (6)
where ν3 = [u v r]> ∈ {B} represent the ship velocities insurge u and sway v, and yaw rate r, and
F (e2,κ) =
1− e2κ 0 00 1 0κ 0 1
(7)
Definition 1: Let the minimum possible turning radius of agiven ship be denoted by R∗. This quantity is obtained in turn-ing trials of a ship, and it is an important restriction in path
generation. Correspondingly, we define κ∗ = 1/R∗ as the up-per bound on the curvature of the path.Remark 3: Notice that F is singular for e2 = 1
κ , which hasthe physical interpretation that if you are located at the centerof the osculating circle1, then the projected point on the curvewill move infinitely fast. It is the task of the guidance system toprovide the controller with all the signals corresponding to thecurve. In this context, we should be aware that the projectionalgorithm within the guidance system is only well-defined ifwe stay within the distance |e2| <
¯1κ
¯at all times. As a result,
we will restrict the motion of e2 by e2 < (1− λ1)R∗ in the
forthcomming.
III. SHIP DYNAMICSFrom above we have that the body-frame is represented by
the velocities ν3 = [u v r]>. The 3DOF simplified equations
can according to [5] be written in compact form as
M3ν3 +C3 (ν3) ν3 +D3 (ν3) ν3 = τ3 (8)
where M3 is the system inertia matrix, C3 (ν3) is a matrix ofcoriolis and centripetal terms, D3 (ν3) is the nonlinear systemdamping matrix, and τ3 is an input of generalized forces andmoments. The thrust force generated by the propellers will un-der the assumption of port-starboard symmetry only enter thesurge mode, and consequently we can assume that surge is de-coupled from the sway and yaw modes.When moving on the path, at steady state, we wish that u↔
s, e2 ≈ 0, ψ ≈ 0, and v, r are bounded. We make the followingassumptions:(A1) An independent control system ensures that the ship keepsa nearly constant surge speed u ≈ u0 >> 1m / s .(A2) The sway velocity will be bounded by the surge velocity,i.e. ∃ 0 < k1 << 1 s.t. |v| < k1u.(A3) The resulting 2DOF maneuvering model can accuratelybe described by a LPV model.As a result, we will in this paper only consider the simplifed
2DOF maneuvering equations given by Davidson and Schiff[2]:
M ν +N (u0) ν = bδR (9)
where δR is the rudder angle used as control input and ν =[v r]> correspond to a body-frame {B} located with origin atthe center of the ship. Expanded, (9) is written·
m− Yv mxg − Yrmxg −Nv Iz −Nr
¸·vr
¸+· −Yv mu0 − Yr
−Nv mxgu0 −Nr¸ ·
vr
¸=
· −Yδ−Nδ
¸δR
and the entries of the matrices correspond to the (1950) Societyof Naval Architects and Marine Engineers (SNAME) notation.This system can, of course, be represented in the traditionallinear form ν = Aν +BδR.We will in the following use nondimensional coefficients
which has the advantage of giving an explicit relationship to the1Every point on the curve has an associated tangent circle with radius ρ =
1/κ. This circle is called the osculating circle.
3
total speed of the ship U =√u2 + v2 and the ship length L.
Nondimensional coefficients are the standard way of expressingthe hydrodynamic quantities for ships, since they are indepen-dent of ship speed and length, and can therefore be obtainedfrom scaled ship experimental models. In this form, it can beshown that the A-matrix and B-vector can be written
A =
·a11 a12a21 a22
¸=U
L
·a011 La0121La
021 a022
¸B =
·b1b2
¸=U2
L
·b011Lb
02
¸where the prime (·)0 indicates nondimensionality.A. Acceleration feedbackSome recent results [14] show how we can use acceleration
feedback to shape the dynamics before we do the control de-sign. In scalar form we can write the dynamical equations asfollows
v =U
La011v + Ua
012r +
U2
Lb01δR + χv (10)
r =U
L2a021v +
U
La022r +
U2
L2b02δR + χr (11)
where χv and χr is our acceleration feedback terms. Definethem as follows
χv = −av v (12)χr = −ar r (13)
which then gives the new LPV system
ν =U
L
"a011
(1+av)L
a012(1+av)
1L
a021(1+ar)
a022(1+ar)
#ν +
U2
L
"b01
(1+av)1L
b02(1+ar)
#δR
(14)
B. Translating the body-frameA useful trick for manipulating a rigid-body dynamics is to
translate the body frame within the body-domain. Let the orig-inal body-frame be given by {Bo} and the new body-frame by{Bn}. Let the origin of {Bn} be located a distance lx on thex-axis of {Bo} . If ηo3, νo3 are the original 3DOF position andvelocity vectors, and ηn3 , νn3 is the new vectors, then they arerelated by the following equation
ηn3 = ηo3 + lxR3 (ψ) ε1
where ε1 =£1 0 0
¤>. This gives
ηn3 = ηo3 + lxR3 (ψ) ε1 = R3 (ψ) νo3 + lxR3 (ψ)S(r
o)ε1
where
S (x) =
0 −x 0x 0 00 0 0
Since νo3 = R> (ψ) η
o3 and νn3 = R> (ψ) η
n3 we get
νn3 = νo3 + lxroS (1) ε1 = νo3 + lxr
oε2
where ε2 =£0 1 0
¤>.In scalar form this becomes
un = uo
vn = vo + lxro
rn = ro
which give rise to the following linear transformation νn3 =Tνo3, where
T :=
·1 00 T2
¸, and T2 :=
·1 lx0 1
¸For our 2DOF system, we then get
νn = T2νo = Anν
n +BnδR (15)
whereAn = T2AoT−12 andBn = T2Bo.With nondimensionalcoefficients, we get
An = T2AT−12
=U
L
"a011+a021
lxL L
³a012+(a022−a011) lxL−a021 l
2x
L2
´1La
021 a022−a021 lxL
#and Bn = T2B =
U2
L
·b01 + b02
lxL
1Lb
02
¸C. The general dynamical modelIncorporating both acceleration feedback and translation of
the body-frame, we finally obtain the general dynamical LPVmodel of a ship. Transforming with ν = νn = T2νo, we get
ν =U
L
·a11 La121L a21 a22
¸ν +
U2
L
·b11L b2
¸δR (16)
wherea11 =
a0111 + av
+a0211 + ar
lxL
a12 =a0121 + av
+
µa0221 + ar
− a0111 + av
¶lxL− a0211 + ar
l2xL2
a21 =a0211 + ar
a22 =a0221 + ar
− a0211 + ar
lxL
b1 =b01
1 + av+
b021 + ar
lxL
b2 =b02
1 + ar
In this resulting model, we can use lx, av and ar to shape theA-matrix and B-vector to obtain desirable distribution of theelements. We will exploit these extra degrees of freedom in ourlater design.Remark 4: The acceleration feedback term χv should come
from an acceleration measurement (an accelerometer) at theorigin of the original body-frame. However, since it is a rigid-body, the location in general makes no difference since mea-surements from all locations within the ship are related by sta-tic maps. Likewise for the χr term, but since the yaw rate is thesame in both body-frame locations, this makes no difference.
4
IV. PATH FOLLOWINGGiven the kinematic model (6) and the general dynamical
model (16) we aim at designing a LAS controller that regulatese2 and ψ to zero, and keeps all other states bounded.First we need to reduce the kinematics (6) into a suitable
2DOF maneuvering problem. In fact, we wish to only look atthe statesX =
£e2 ψ v r
¤>. Rewriting (6), we get
σ0 = F−10 (e2,κ)R
¡ψ¢ν3 (17)
Let ξ =£e2 ψ
¤> s.t. σ0 = £ s ξ>¤> and define P2 :=·
0 1 00 0 1
¸and P3 :=
·0P2
¸. Then P 23 = P3 and P>3 =
P3, i.e. P3 is a valid linear projection. We then have that ξ =P2σ0 and
ξ = P2σ0 = P2F−1 (κ, ξ)R
¡ψ¢ν3
=
"sin¡ψ¢
−κ cos(ψ)1−e2κ
cos¡ψ¢0
κ sin(ψ)1−e2κ 1
# uvr
(18)
and we want to regulate ξ → 0. In scalar form, the 2 DOF is
e2 = u sin¡ψ¢+ v cos
¡ψ¢
(19)˙ψ =
−κ1− e2κ
£u cos
¡ψ¢− v sin ¡ψ¢¤+ r (20)
v =U
La11v + Ua12r +
U2
Lb1δR (21)
r =U
L2a21v +
U
La22r +
U2
L2b2δR (22)
This model is a generalization of the model used in [6] wherethe heading and cross-track error is controlled onto a straight-line path. Set κ = 0, e2 = y, ψ = ψ and b1 = 0 and then wehave recovered the same equations. Elaborating more on thatdesign, Pettersen and Lefeber derive a scalar output map basedon the behavior of a helmsman steering a ship onto a straightline path. They claim that”a good helmsman will use the ship course angle ψ, rather
than making the ship glide sideways,..., and the helmsman willchoose the magnitude of ψ dependent on the distance from thestraight-line, i.e. dependent on y.”Therefore they suggest a desired yaw angle ψd = ρ (y)
where ρ : < → £−π2 ,
π2
¤, ρ (0) = 0, and yρ (y) < 0. Map-
ping into£−π
2 ,π2
¤ensures that the ship keeps the heading in
the direction of the desired motion. One such function ρ isρ (y) = − arctan (y/ε) where ε is a constant used to shape theship entry onto the straight-line path. From this, they choosethe output z = ψ − ρ (y) , and obtains the ”helmsman” behav-ior if this output is zero. We will exploit this output redefinitionin our design; though, not with output feedback linearizationwhich gives a zero-dynamics of order 2, but rather by using a3-step backstepping design.Notice that the system in (19)-(22) is not in strict feedback
form, which means that traditional backstepping schemes arenot directly applicable. However, we will show a way aroundthis problem, and to do that we will first divide the system intotwo subsystems, and look at them independently.
A. Subsystem 1For the equation (21) view δ1 = r as an input. The next
proposition is valid if the following assumption hold(A4) The term a11 < 0 for ar = 0 and −1 < av < ∞, andlx > 0.Proposition 1: The system (21) with inputs δR and δ1 = r
and output yv = v can be made independent of the input δRand IOS w.r.t. δ1 with bound
|yv(t)| ≤ β1(|v(0)| , t) + γ1(||δ1||) (23)
where β1 ∈ KL and linear gain γ1 < (1− µ1) ||δ1||, 0 <µ1 < 1.
Proof: Pick the the distance lx = −L (1+ar)(1+av)b01b02> 0.
Then b1 = 0.Next, with that choice for lx, pick the accelerationfeedback termav = a
∗v = −
a012(b02)2 − a022b01b02 + a011b01b02 − a021(b01)2b02 (a012b02 − a022b01)
> −1
with ar = 0. Then a12 = 0. Since the solution of av is contin-uous in its arguments, there exist a neighborhood around a∗v s.t.a12 is small. It can be shown using practical ship model datathat (A4) holds with these choices of lx and av. The ISS-gain isnow bounded by
γ1 < L|a12||a11| ||δ1|| ≤ (1− µ1) ||δ1||
The right-hand inequality allows for small perturbations of a∗12.
Remark 5: Another solution is to pick ar to cancel a12 withav = 0. However, since equipment for measuring angular ac-celeration is void, we will not use acceleration feedback fromr.Remark 6: Ideally, we would pick av to cancel a12 exactly,
but since the gain is multiplied byL >> 1, it is very sensitive toparametric uncertainties. We therefore show that it is sufficientwith a12 ≈ 0 which gives a small gain γ1.B. Subsystem 2For the equations (19), (20) and (22) we will use backstep-
ping to design a suitable control law for δR. View δ2 = v as abounded disturbance input satisfying (A2).
B.1 First Step:Let z1 = e2 and z2 = ψ−α1. The first recursive step results
in the following:Proposition 2: For the system
z1 = u sin (α1) cos (z2) + u sin (z2) cos (α1) + cos¡ψ¢δ2
the virtual control α1 = − arctan¡z1ε
¢, ε > 0, with z2 = 0,
renders the origin of z1 L-ISS, and LAS with δ2 = 0.Proof: According to (A2) define
Dδ := {δ ∈ <| |δ| < k1u} s.t. δ2 ∈ Dδ. LetΠ1 = {z1 ∈ <| |z1| < z∗1 = (1− λ1)R
∗} . With the Lya-punov function V1 = 1
2c1z21 we get
V1 ≤ − 1c1uz1 sin(arctan(z1/ε)) +
1
c1|z1| |δ2(t)|
5
LetD1 = {z1 ∈ Π1| z1 ≤ ε tan(arcsin(k1))} andB1,t =
nz1 ∈ Π1| V1(z1, t) ≥ 0
o⊂ D1. Then V1 > 0, ∀z1 ∈
Π1/ {0} , and V1 < 0, ∀ |z1| ∈ Π1/B1,t, δ2 ∈ Dδ. D1 is alocally attractive set since V1 < 0 on the boundary, and it canbe made arbitrarily small by picking ε small enough.Remark 7: As ε → 0 then sin
¡arctan
¡z1ε
¢¢ → sgn (z1) .
In this case we would obtain V1 ≤ − 1c1(1− k1)u |z1| in the
proof above.
B.2 Second Step:Let z3 = r − α2. From the previous step we have, with
z2 6= 0,z1 = −u sin (arctan (z1/ε)) cos (z2)
+u sin (z2) cos (α1) + cos¡ψ¢δ2 (24)
V1 = − 1c1uz1 sin (arctan (z1/ε)) cos (z2)
+1
c1uz1 sin(z2) cos (α1) +
1
c1z1 cos
¡ψ¢δ2 (25)
Then the next recursive step is given by:Proposition 3: For the system (24) and
z2 =−κ
1− z1κ£u cos
¡ψ¢− v sin ¡ψ¢¤+ α2 + z3 − α1
the virtual control
α2 = −Kpz2 − c2c1uz1 cos (α1)
+κ
1− z1κ£u cos
¡ψ¢− v sin ¡ψ¢¤+ α1
withKp > 0, and z3 = 0, renders the origin of (z1, z2) L-ISpS,and LAS with δ2 = 0.
Proof: LetΠ2 = Π1∪©z2 ∈ <| z2 < z∗2 = (1− λ2)
π2
ª.
With the Lyapunov function V2 = V1 + 2c2sin2( z22 ) we get
V2 ≤ − 1c1uz1 sin (arctan (z1/ε)) cos (z2)
− 1c2Kpz2 sin (z2) +
1
c1|z1| |δ2(t)|
which shows LAS if δ2 = 0. Definer1 (x) := 2ε tan(arcsin(
xu cos(z∗2 )
)) and r∗1 = r1 (k1u) . Letd1 =
uc1[sin(arctan(r∗1/ε)) cos (z∗2)− k1] . For some d2 > 0,
small enough, let r2 = arcsin( c2d2Kp). Note that we should
choose d2 s.t. r2 << z∗2 . Then V2 > 0, ∀z1,2 ∈ Π2/ {0} ,and V2 < −d1 |z1|− d2 |z2| , ∀ |z1,2|2 > r1 (||δ2||) + r2. Thisshows L-ISpS. In fact, letB2,t =
nz1,2 ∈ Π2| V2(z1,2, t) ≥ 0
oand
D2 = infc
(z1,2 ∈ Π2| V2(z1,2) ≤ Cs.t. ∀ z1,2 ∈ sup
τB2,τ ⇒ V2(z1,2) < C
)
B2,t ⊂ D2. Then D2 is a locally attractive set, and its sizecorrespond to the L-ISpS nonlinear gain.
Remark 8: Note the restriction |z2| < π2 to avoid that
cos (z2) < 0. Physically, this assumption is interpreted asψ ∈ −sgn (e2) ∗ (0, π) , which means that the ship shouldbe pointing against the path. Close to the path, it can be relaxedsince the term z2 sin (z2) would dominate.
B.3 Last Step:Let z3 6= 0. From the previous step we have (24) and
z2 = −c2c1uz1 cos (α1)−Kpz2 + z3 (26)
V2 = − uc1z1 sin (arctan (z1/ε)) cos (z2)− Kp
c2z2 sin (z2)
+1
c1z1 cos(ψ)δ2 +
1
c2z3 sin(z2) (27)
This gives the result of the last step:Proposition 4: For the system (24), (26) and
z3 =U
L2a21v +
U
La22r +
U2
L2b2δR − α2
the control
δR =L2
U2b2
·−Kdz3 − c3
c2sin (z2)− U
L2a21v − U
La22r + α2
¸with Kd > 0, renders the origin of (z1, z2, z3) LAS with δ2 =0.With δ2 ∈ Dδ it is L-ISpS with bound
|z(t)|2 ≤ β2 (|z(0)| , t) + γ2 (||δ2||) + η2 (28)
where β2 ∈ KL, γ2 ∈ K, η2 ≥ 0. Moreover, the nonlineargain γ2 can be made arbitrarily small.
Proof: Let Π3 = Π2 ∪ {z3 ∈ <} . With the Lyapunovfunction V3 = V2 + 1
2c3z23 we get
V3 ≤ − uc1z1 sin (arctan (z1/ε)) cos (z2)− Kp
c2z2 sin (z2)
−Kdc3z23 +
1
c1|z1| |δ2(t)|
which shows LAS if δ2 = 0. For some d3 > 0, small enough,let r3 = c3d3
Kd. Then V3 > 0, ∀z1,2,3 ∈ Π3/ {0} , and
V3 < −d1 |z1| − d2 |z2| − d3 |z3| , ∀ |z1,2,3|2 > r1 (||δ2||) +r2 + r3. This shows L-ISpS. In fact, letB3,t =
nz1,2,3 ∈ Π3| V3 (z1,2,3, t) ≥ 0
oand
D3 = infc
(z1,2,3 ∈ Π3| V3(z1,2,3) ≤ Cs.t. ∀ z1,2,3 ∈ sup
τB3,τ ⇒ V3(z1,2,3) < C
)
B3,t ⊂ D3. In words, B3,t is the small time-varying blob w.r.t.δ2(t) s.t. V3 ≥ 0 andD3 is the smallest set with a V3 levelset asboundary s.t. it contains the worst-caseB3,t blob in its interior.Then D3 is a locally attractive set, and its size correspond tothe L-ISpS nonlinear gain.Let us now look at the region of cenvergence (ROC). We haveto look for the largest levelset of V3 contained in Π3. Usingthe coefficients c1, c2, c3 we can form the resulting elipsoids
6
somewhat arbitrarily in the three directions. The following pro-cedure is suggested: Pick c2 small. This gives the maximumlevelset C∗, by looking at V3 with z1 = z3 = 0.
C∗ =2
c2sin2
µz∗22
¶where z∗2 was defined in step 2. With z∗1 as defined in step 1and z2 = z3 = 0 we get c1 = 1
2C∗ z∗21 . Finally, we can choose
z∗3 . Since z3 = r − α2 we can e.g. assume that z3 is boundedby a multiple of u. Then c3 = 1
2C∗ z∗23 . This ensures a ROC
given by
Dz,ROC =©z ∈ <3| V3 (z) ≤ C∗
ªLet c = 1
4max(c1,c2,c3)and c = 1
2min(c1,c2,c3). Then
c |z|2 ≤ V3(z) ≤ c |z|2 .We now get that ∀ z(0) ∈ Dz,ROC andδ2 ∈ Dδ then the trajectories will converge to D3, i.e. ∃β2 ∈KL, γ2 ∈ K, η2 ≥ 0, defined on Π3 s.t. the trajectoriesare bounded by (28) where γ2 (x) =
pc/cr1 (x) and η2 =p
c/c(r2+r3).Recall that we canmake r1, r2 and r3 arbitrarilysmall by choosing ε, Kp andKd appropriately.The resulting closed-loop differential equation for z3 is given
byz3 = −Kdz3 − c3
c2sin (z2) (29)
Next, we will look at the input/output property of this system.Corollary 1: The system (24), (26) and (29) with output
yz = r = z3 + α2(z1, z2) is IOpS with bound
|yz(t)| ≤ β2 (|z(0)| , t) + γ2 (||δ2||) + η2 (30)
where β2 ∈ KL, γ2 ∈ K, η2 ≥ 0, defined on Π3, and γ2 canbe linearly bounded by γ2(x) < (1+µ2) ||δ2|| , 0 < µ2 << 1,∀ δ2 ∈ Dδ.
Proof: Doing the algebra, we get to the bound
|yz(t)| ≤q1 +K2
p + u2 |z|2 + |δ2|+
·1 +
κ∗
λ1(1 + k1)
¸u
Then substituting (28) we get
|yz(t)| ≤q1 +K2
p + u2β2 (|z(0)| , t)
+q1 +K2
p + u2γ2 (||δ2||) + ||δ2||
+
·1 +
κ∗
λ1(1 + k1)
¸u+
q1 +K2
p + u2η2
which gives the bounding functions in (30). Choosing
ε <µ2
2q1 +K2
p + u2pc/c tan (arcsin (k1/ cos(z∗2)))
will ensure the linear bound on γ2.
C. Interconnecting the subsystemsNow that we have proven IOpS for both subsystems, we have
to see what happens when we interconnect them.
Theorem 1: Let δ1 = yz = r and δ2 = yv = v. Then thetotal system given by (21), (24), (26), and (29) is LAS withtotal ROC being Dvz,ROC = Dδ ∪Dz,ROC .
Proof: When v(0) ∈ Dδ and z(0) ∈ Dz,ROC then theresults in Proposition 1 and Corollary 1 are valid. We look atthe bounds (23) and (30) after interconnection, and get
||yv(t)|| ≤ β1(|v(0)| , t) + γ1(||yz||)≤ β1(|v(0)| , t) + (1− µ1) (β2 (|z(0)| , t) + γ2 (||δ2||) + η2)
≤ β1(|v(0)| , t) + (1− µ1) β2 (|z(0)| , t)+ (1− µ1) (1 + µ2) ||yv||+ (1− µ1) η2
and
||yz(t)|| ≤ β2 (|z(0)| , t) + γ2 (||δ2||) + η2≤ β2 (|z(0)| , t) + (1 + µ2) (β1(|v(0)| , t) + γ1(||yz||)) + η2
≤ β2 (|z(0)| , t) + (1 + µ2)β1(|v(0)| , t)+ (1 + µ2) (1− µ1) ||yz||) + η2
Finally, design µ1 and µ2 s.t. (1 + µ2) (1− µ1) < µ < 1.
Fig. 3. Container ship. Courtesy: http://www.bremen-ports.de/gallery/pics
V. CASE STUDYWe will consider a container ship with data given in the new
Matlab R° GNC toolbox [15]. The ship length is L = 175m,and service speed is u0 = 10m / s . The nondimensional coef-ficients are a011 = −0.7072, a012 = −0.2860, a021 = −4.1078,a022 = −2.6619, b01 = −0.2081 and b02 = 1.5238. These dataare taken from a well documented containership and is foundin the command Lcontainer.m in the GNC toolbox. Let ar = 0.This gives av = −0.7334 and lx = 89.63m . Notice that thebody-frame with this lx is moved just ahead of the ship bow.This is not a problem since this can be taken into account bythe guidance system.A turning circle trial for this ship can be run using the Mat-
lab R° script ExTurnCircle.m, see figure (4), and this gives thedesign parameter: Steady turning radius : 695m .Therefore,we set the minimum radiusR∗ = 700m and κ∗ = 0.0014. The
7
0 200 400 600 800 1000 1200 1400 1600 1800 2000-1600
-1400
-1200
-1000
-800
-600
-400
-200
0
200
x-position
y-po
sitio
n
Turning circle
Fig. 4. The Matlab R° GNC command ExTurnCircle.m executes a turncircletrial on the containership to obtain important design parameters.
following simulation has been done with the initial condition£e2(0) ψ(0) v(0) r(0)
¤>= [1m, −5 ◦, 0.2m / s, 0.5 ◦ / s] ,
Kp = 0.1, Kd = u2
(10L)2 and ε = 0.8. With the choicesz∗1 = 642.9m, z∗2 = 0.45π and z∗3 = 0.5 we got the valuefor the largest levelset C∗ = 2.812 and c1 = 7.349 · 10−4,c2 = 0.300 and c3 = 0.0445. Then V3(z(0)) = 1.4076 < C∗.Moreover, k1 = 0.1 and v(0) = 0.2 < k1u0.
0 20 40 60 80 100 120 140 160-5
-4
-3
-2
-1
0
1
2
Time
e 2 and ψ
e 2 [m]
ψ [deg]
Fig. 5. Plot of the states e2 and ψ which are seen to converge close to zero.
0 20 40 60 80 100 120 140 160-0.5
0
0.5
1
1.5
2
2.5
Time
v and r
v [m/s]r [deg/s]
Fig. 6. Simulation plot of the states v and r. In simulation, v was decoupledfrom the rest of the system and is seen to exponentially converge to zero.
The simulation was done using Matlab R° and Simulink R°.Initially, the ship was controlled to follow a straight line withκ = 0. At t = 80 s the curvature was switched to κ = 0.001which explains the jump in r. A caveat in this simulation wasthat the rudder was assumed unrestricted. In real life it would
therefore be heavily saturated. However, if we redesign thecontroller by adding some extra variables to play with, or moreexact, let α1 = −∆ arctan(z1/ε) and Kzz3 = r − α2, thensimulation has shown that by playing with ∆ and Kz we canavoid saturation. This is the scope of future research.
VI. CONCLUSIONWehave in this paper addressed control design for maneuver-
ing ships onto curves in the plane. In that context, we have usedthe Serret-Frenet frame to identify the error signals, i.e. thecross-track error e2 and the yaw error ψ, corresponding to thecurve. We have briefly introduced some notions of curve theoryto illustrate how the equations appear. A good contribution isgiven in the manipulation of the dynamical equations by intro-ducing acceleration feedback and by moving the body-frame.Finally we have developed a controller for the path-followingproblem based on three steps of backstepping and interconnec-tion of subsystems. Simulations show that the controller workswell; however, a caveat is at this point heavy saturation of therudder.Future work will be to look into other design strategies, to re-
move saturation, to introduce environmental disturbances androbustify the design, and to include observers to estimate un-measured states. Moreover, a large amount of work lies in de-signing a well-working guidance system.
REFERENCES[1] Thor I. Fossen, “A Survey on Nonlinear Ship Control: From theory to
practice.,” in Proc. 5th IFAC Conf. Manoeuvering Control Marine Crafts,Aalborg, Denmark, Aug. 2000, International Federation of AutomaticControl, pp. 1–16.
[2] K. S. M. Davidson and L. I. Schiff, “Turning and Course Keeping Quali-ties,” Trans. Soc. of Nav. Architects Marine Eng., vol. 54, 1946.
[3] K. Nomoto, T. Taguchi, K. Honda, and S. Hirano, “On the SteeringQualities of Ships,” Technical report 4, Int. Shipbuilding Progress, 1957.
[4] T. Holzhüter, “LQG approach for the high-precision track control ofships,” IEE Proc.Control Theory Appl.
[5] Thor I. Fossen, Guidance and Control of Ocean Vehicles, John Wiley &Sons Ltd., England, 1994.
[6] K.Y. Pettersen and E. Lefeber, “Way-point tracking control of ships.,” Toappearn in Proc. 40th IEEE Conf. Decision & Control, Dec 2001.
[7] R. Zhang, Y. Chen, Z. Sun, F. Sun, and H. Xu, “Path Control of a SurfaceShip in RestrictedWaters Using SlidingMode,” in Proc. 37th IEEE Conf.Decision & Control, Tampa, Florida, USA, Dec 1998, pp. 3195–3200.
[8] P. Encarnaçao, A. Pascoal, and M. Arcak, “Path Following for Au-tonomous Marine Craft.,” in Proc. 5th IFAC Conf. Manoeuvering ControlMarine Crafts, Aalborg, Denmark, Aug. 2000, International Federationof Automatic Control, pp. 117–122.
[9] P. Encarnaçao and A. Pascoal, “3D Path Following for Autonomous Un-derwater Vehicle.,” in Proc. 39th IEEE Conf. Decision &Control, Sidney,Australia, Dec. 2000, Institute of Electrical and Electronics Engineers,pp. 2977–2982.
[10] Hassan K. Khalil, Nonlinear Systems, Prentice-Hall, Inc., New Jersey, 2edition, 1996.
[11] Z.-P. Jiang, A. R. Teel, and L. Praly, “Small-gain theorem for ISS systemsand applications,” Math. Control Signals Systems, vol. 7, no. 2, pp. 95–120, 1994.
[12] Olav Egeland and Jan Tommy Gravdahl, “Modeling and Simulation forControl.,” Lecture Notes 2001-1-X, Norw. Univ. Sci. & Tech., Trond-heim, Norway, Jan 2001.
[13] M. M. Lipschutz, Schaum’s outline of Theory and Problems of DIFFER-ENTIAL GEOMETRY, McGraw-Hill Book Company., New York, 1969.
[14] Thor I. Fossen, Karl-Petter Lindegaard, and Roger Skjetne, “Inertia shap-ing techniques for marine vessels using acceleration feedback,” Submit-ted to Proc. 15th IFAC World Congress Automatic Control, July 2002.
[15] Thor I. Fossen, “Matlab GNC Toolbox, Marine Cybernetics.,” Internet,August 1, 2001, <http://www.marinecybernetics.com>.
8