nonlinear maneuvering and control of ships

8
Nonlinear Maneuvering and Control of Ships Roger 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 curves or paths in the plane. To do this, we introduce the Serret-Frenet equa- tions and show how these t 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 acceleration feedback and by moving the body-frame freely. This simplies the control design 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 interconnecting subsystems. Real data from a 175 m container ship is used in a computer simulation to validate the design. Copyright c °2001 MTS/IEEE Keywords—Ship maneuvering; Serret-Frenet frame; Plane kinematics; Backstepping; Small-gain; Acceleration feedback. I. I NTRODUCTION T HE research area of ship maneuvering and control is a eld 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 developed decades 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 with passive and dissipative properties of the physical system. It would be advantageous to exploit such properties in control de- sign since an overall passive system is very robust. See [5] for a comprehensive treatise on the older models and the newer Euler-Lagrange type of models. The problem we will address in this paper is nonlinear con- trol of ships to predened paths in the plane. Typically, a path is made up of waypoints with straight lines between them, and then the control system should regulate the cross-track error to zero and at the same time keep the heading towards the next waypoint [6]. What makes such a control design nontrivial is that we have to control two degrees-of-freedom by only using one actuator, namely the rudder. We will relax the requirement of waypoints and straight lines and rather develop a nonlinear controller that keeps the ship on any feasible path or curve in the 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 that manages to follow a smooth reference curve is more desirable since a smooth path is most likely to be the optimal feasible dynamic path between two points with respect to time and fuel consumption. 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 model of 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 Davidson and Schiff [2] in the design. This paper is the initial work of a comprehensive study of ship maneuvering, where we hope to obtain good knowledge for controlling complex hydrodynamic ship models. Recent developments in path control have been made by [7] where they address the problem of following straight lines.To do this they redene the output to a combination between the cross-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 control to straight lines, i.e. way-point tracking, has also been explored in [6] which shows a development in the output-redenition. However, they use a very simplied dynamic model. Lately there is the work of [8] and [9] where they use a Serret-Frenet frame to represent the cross-track error and heading error. The advantage with this frame is that you move beyond straight lines and rather view the path as general smooth curves in the plane. 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 redenition introduced in [6]; how- ever, with a different control strategy. Instead of using feedback linearization on a relative degree 2 problem where you get the problem of stabilizing a degree 2 zero-dynamics, we use a 3- step backstepping design and show through interconnection of subsystems and a small-gain argument that the overall plant is stable. To get to the result, we will manipulate the dynamical model by moving the body-frame and, if necessary, introducing acceleration feedback. A. Notation |·| is the absolute value of a scalar, |·| p is the p-norm of a vector, 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 or vector. However, the notation z 1,2,...,p means [z 1 ,z 2 , ..., z p ] > . Differentiation w.r.t. time is denoted ˙ x = dx dt . IOS stands for I nput-Output Stable, LAS means Local Asymptotic Stability, L-ISS means Locally I nput-to-State Stable, L-ISpS is the practical equavialent, L-IOpS is Locally I nput-to-Output practical Stable (see [10] and [11] for details). We use class-K and class-KL functions as dened in [10], but note that we only dene them locally. Kinematics involves the use of several geometrical frames. In MTS 0-933957-28-9 1

Upload: ntnu-no

Post on 06-Nov-2023

0 views

Category:

Documents


0 download

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

Z θ

θ0

sµdxd

¶2+

µdyd

¶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