Robust adaptive path following of underactuated ships

3 downloads 0 Views 614KB Size Report
aDepartment of Mechanical and Materials Engineering, The University of Western Australia, ... Keywords: Path following; Parking; Point-to-point navigation; Underactuated ship; .... trol Samson (1995) on the path was proposed in Skjetne.
Available online at www.sciencedirect.com

Automatica 40 (2004) 929 – 944

www.elsevier.com/locate/automatica

Robust adaptive path following of underactuated ships K.D. Doa , Z.P. Jiangb;∗ , J. Pana a Department

of Mechanical and Materials Engineering, The University of Western Australia, Nedlands, WA 6907, Australia of Electrical and Computer Engineering, Polytechnic University, Brooklyn, NY 11201, USA

b Department

Received 11 March 2002; received in revised form 3 December 2003; accepted 18 January 2004

Abstract Robust path following is an issue of vital practical importance to the ship industry. In this paper, a nonlinear robust adaptive control strategy is developed to force an underactuated surface ship to follow a prede-ned path at a desired speed, despite the presence of environmental disturbances induced by wave, wind and ocean-current. The proposed controller is scalable and is designed using Lyapunov’s direct method and the popular backstepping and parameter projection techniques. Along the way of proving closed-loop stability, we obtain a new stability result for nonlinear cascade systems with non-vanishing uncertainties. Interestingly, it is shown in this paper that our developed control strategy is easily extendible to situations of practical importance such as parking and point-to-point navigation. Numerical simulations using the real data of a monohull ship are provided to illustrate the e7ectiveness of the proposed methodology for path following of underactuated ships. ? 2004 Elsevier Ltd. All rights reserved. Keywords: Path following; Parking; Point-to-point navigation; Underactuated ship; Cascade system; Nonlinear control; Robustness; Adaptation

1. Introduction Over the last few years, trajectory tracking and path following issues of underactuated surface ships have received a lot of attention from the control community. The former issue refers to the case where the vessel in question must track a reference trajectory generated by a suitable virtual vehicle while the later makes the vessel follow a given path, which is not necessarily generated by the suitable virtual model. A challenging problem with both issues is that only the yaw and surge are directly actuated while the sway axis is not actuated. This con-guration is by far most common among the marine surface vessels. Several authors have studied the tracking control problem in position and orientation of underactuated surface ships. An application of the recursive technique proposed in Jiang and Nijmeijer (1999) for the standard chain form systems was used in Pettersen and Nijmeijer (2001) to  This paper was not presented at any IFAC meeting. This was recommended for publication in revised form by Associate Editor Reza Katebi under the direction of Editor Mituhiko Araki. ∗ Corresponding author. Tel.: +1-718-260-3646; fax: +1-718-2603906. E-mail addresses: [email protected] (K.D. Do), [email protected] (Z.P. Jiang), [email protected] (J. Pan).

0005-1098/$ - see front matter ? 2004 Elsevier Ltd. All rights reserved. doi:10.1016/j.automatica.2004.01.021

provide a high gain based, local exponential tracking result. Based on a transformation of the ship tracking system into a skew-symmetric form, a global practical tracking controller was developed in Behal, Dawson, Xian, and Setlur (2001), Behal, Dawson, Dixon, and Fang (2002), and Olfati-Saber (2001). The dynamics of closed loop system is increased due to the controller designed to make the states of the transformed system track the auxiliary signals generated by some oscillator. By applying the cascaded approach, a global tracking result was obtained in Lefeber (2000). The stability analysis relies on the stability theory of linear time varying systems. Based on Lyapunov’s direct method and passivity approach, two tracking solutions were proposed in Jiang 2002 for an underactuated surface ship. It is noted that in Pettersen and Nijmeijer (2001), Lefeber (2000), Jiang 2002, the yaw velocity was required to be nonzero. This restrictive assumption implies that a straight line cannot be tracked. In Do, Jiang, and Pan (2002b), we obtained a solution to the problem of trajectory tracking without imposing the yaw velocity to be nonzero. In Do, Jiang, and Pan (2002a), a single controller was proposed to simultaneously solve stabilization and tracking for underactuated ships. Some related independent work includes Toussaint, Basar, and Bullo (2000a,b) on local H∞ tracking control and output rede-nition, and trajectory planning

930

K.D. Do et al. / Automatica 40 (2004) 929 – 944

approach (Sira-ramirez, 1999 and Toussaint, Basar, & Bullo, 2001). Due to high dependence on the reference model and complicated control laws of the trajectory tracking approach, several researchers have studied the path following problem, which is more suitable for practical implementation. The problem of path following for air and underwater vehicles was introduced in Kaminer, Pascoal, Hallberg, and Silvestre (1998) where some local results were obtained by using linearization techniques. In Wahl and Gilles (1999), a feedforward cancellation of simple vessel dynamics scheme followed by a LQR design was proposed to obtain local results on “track-keeping”. A fourth order ship model in Serret –Frenet frame was used in Encarnacao, Pacoal, and Arcak (2000) to develop a control strategy to track both straight line and circumference under the constant ocean-current disturbance. The ocean-current direction was assumed to be known. A path following controller was proposed in Aicardi et al. (2001) by using a polar-like kinematic model, which is inspired by the solution for mobile robot (Aicardi, Casalino, Bicchi, & Balestrino, 1995). However, the controller was designed at the kinematic level with an assumption of the constant ocean-current and its direction to be known to achieve an adjustable boundedness of the path following error. Since ocean vehicles do not have direct control over velocities, a static mapping implementation might result in an unstable closed loop system due to non vanishing environmental disturbances. Recently, a path following controller based on a transformation of the ship kinematics to Serret–Frenet frame, which is used for mobile robot control Samson (1995) on the path was proposed in Skjetne and Fossen (2001), where an acceleration feedback and linearization of ship dynamics were used. It is worth mentioning that in Egerstedt and Hu (2002) and Egerstedt, Hu, and Stotsky (2001), a simple control scheme was proposed to make mobile robots follow a speci-ed path. Since the underactuated surface ships have fewer numbers of actuators than the to-be-controlled degrees of freedom and are subject to nonintegrable acceleration constraints, their dynamic models are not transformable into a system without drifts. Therefore, the controller scheme proposed in recent work (Egerstedt & Hu, 2002, and Egerstedt et al., 2001) is not directly applicable. Recently, an output maneuvering controller was proposed in Skjetne, Fossen, and Kokotovic (2004) for a class of strict feedback nonlinear systems and applied to maneuver fully actuated ships. Our solution comes from an observation that long-distance navigation tasks are usually carried out by traveling via way-points. Often in practice, when traveling in open sea, the helmsman -rst looks at the weather map then uses a mouse to click on the path screen to generate way-points to avoid the vessel moving into the bad weather areas. A continuous reference path curve is then generated such that it goes via (almost) all of the way-points. It is reasonable in practice to steer a vessel such that it is in a tube of nonzero adjustable diameter centered on the reference path, and

moves along the path with a desired speed. Furthermore, it is unrealistic to assume that the environmental disturbances include only ocean-current with known direction and ship parameters are completely known. It is also more realistic to design the control laws at the torque level than at the velocity level. Motivated by the above considerations, this paper proposes a control law to steer an underactuated ship with unknown parameters along a given path under environmental disturbances induced by wave, wind and ocean-current. The controller synthesis is based on Lyapunov’s direct method and backstepping technique. The stability analysis is based on a technical lemma developed for a nonlinear cascade system with nonvanishing disturbances. A Lipschitz continuous projection algorithm is used to update the estimate of the unknown parameters to avoid parameter drift instability due to time-varying environmental disturbances. Since our proposed control method does not require the reference trajectory to be generated by a reference model, it is directly applicable to parking and point-to-point navigation. We also discuss the extension of our proposed controller to the case of unmeasured thruster dynamics. The rest of the paper is organized as follows. The problem formulation is presented in the next section. Section 3 devotes to the control design while stability analysis is given in Section 4. Parking and point-to-point navigation are considered in Section 5. Discussion of extending our proposed controller to unmeasured thruster dynamics is given in Section 6. Some numerical simulations are given in Section 7 to illustrate the e7ectiveness of the proposed controller. Section 8 concludes the paper. Notations. Let · be either a scalar, a vector or a matrix. The notation  ·  denotes the Euclidean norm when · is a vector or a matrix. | · | denotes the absolute value of · when · is a scalar. A continuous function  : R+ → R+ is of class K if it is increasing and vanishes at the origin. 2. Problem formulation The mathematical model of an underactuated ship moving in surge, sway and yaw is obtained from the motion equation of the ship moving in six degrees of freedom under disturbances induced by wave, wind and ocean current by neglecting motion in heave, pitch and roll. Furthermore it is assumed that the inertia, added mass and damping matrices are diagonal. This assumption holds when the vessels have three planes of symmetry, for which the axes of the body--xed reference frame are chosen to be parallel to the principal axis of the displaced Ouid, which are equal to the principal axis of the vessel. Most ships have port/starboard symmetry. Moreover, bottom/top symmetry is not required for horizontal motion. Ship fore/aft nonsymmetry implies that the o7-diagonal terms of the inertia and damping matrices are nonzero. However these terms are small compared

K.D. Do et al. / Automatica 40 (2004) 929 – 944

931

Fig. 2. General framework of ship path following.

Fig. 1. De-nition of surge, sway and yaw modes of motion (Fossen, 2002).

to the main diagonal terms. Control design under relaxation of these assumptions for fully actuated ships is trivially solvable while it is a challenging topic of future research for underactuated ships. For detailed development of the mathematical model of a surface ship moving in six degrees of freedom, the reader is referred to Fossen (2002). Under the aforementioned assumptions, the underactuated ship moving in surge, sway and yaw can be described as x˙ = u cos( ) − v sin( ); y˙ = u sin( ) + v cos( ); ˙ = r; u˙ =

3  m22 dui i−1 du vr − u− |u| u m11 m11 m11 i=2

+

1 1 u + wu (t); m11 m11 3

v˙ = −

 dvi m11 dv 1 ur − v− |v|i−1 v + wv (t); m22 m22 m22 m22 i=2

xe = xd − x;

3

 dri (m11 − m22 ) dr r˙ = uv − r− |r|i−1 r m33 m33 m11

e

i=2

1 1 r + wr (t); + m33 m33

disturbances induced by wave, wind and ocean-current with |wu (t)| 6 wu max ¡ ∞; |wv (t)| 6 wv max ¡ ∞ and |wr (t)| 6 wr max ¡ ∞. Finally, the available controls are the surge force u and the yaw moment r . The surface ships are equipped with a rudder and propeller(s) or water jet(s). The surge force is provided by the propellers or water jets. The yaw moment is generated by changing the rudder angle or the speed of each propeller or water jet. These facts imply that the path following control is carried out only when the surge speed is nonzero. Since the sway control force is not available in the sway dynamics, the ship model (1) is underactuated. In this paper, we consider a control objective of designing the surge force u and the yaw moment r to force the underactuated ship (1) to follow a speci-ed path , see Fig. 2. If we are able to drive the ship to follow closely a virtual ship that moves along the path with a desired speed u0 , then the control objective is ful-lled, i.e. the ship is in a tube of nonzero diameter centered on the reference path and moves along the speci-ed path at the speed u0 . Roughly speaking, the approach is to steer the ship such that it heads to the virtual and eliminates the distance between itself and the virtual ship. We de-ne the following variables to mathematically formulate the control objective:

=

ye = yd − y;  − d ; ze = xe2 + ye2 ;

(2)

where (1)

where x; y and are the surge displacement, sway displacement and yaw angle in the earth -xed frame, u; v and r denote surge, sway and yaw velocities, see Fig. 1. The positive constant terms mjj ; 1 6 j 6 3 denote the ship inertia including added mass. The positive constant terms du ; dv ; dr ; dui ; dvi , and dri ; i = 2; 3 represent the hydrodynamic damping in surge, sway and yaw. For simplicity, we ignore the higher nonlinear damping terms. The bounded time-varying terms, wu (t); wv (t) and wr (t), are the environmental

d

= arcsin(ye =ze ):

(3)

Control objective: Under Assumption 1, design the surge force u and the yaw moment r , to make the underactuated ship (1) follow the path  given by xd = xd (s);

yd = yd (s);

(4)

where s is the path parameter variable, such that lim ze (t) 6 ze ;

t→∞

with ze and

e

lim | e (t)| 6

t→∞

e

(5)

being arbitrarily small positive constants.

932

K.D. Do et al. / Automatica 40 (2004) 929 – 944

Assumption 1. (a) The reference path is regular, i.e. 0 ¡ Rmin 6 (@xd =@s)2 + (@yd =@s)2 6 Rmax ¡ ∞. (b) The minimum radius of the osculating circle of the path is larger than or equal to the minimum possible turning radius of the ship. Remark 1. • The path following objective is more stringent than those used in the past literature (Samson 1995; Skjetne & Fossen, 2001). One might refer the above objective to as path tracking. However we use the term “path following” since our approach is to make the real ship to follow the virtual one, see Fig. 1. • Assumption 1 ensures that the path is feasible for the ship to follow, see Section 4. • If the reference path is not regular, then we can often split it into regular pieces and consider each of them separately. This is the case of point-to-point navigation, which will be addressed in Section 5. • The path parameter, s, is not the arclength of the path in general. For example, a circle with radii of R centered at the origin can be described as xd =R cos(s); yd =R sin(s), see Oprea (1997) for more details. If one di7erentiates both sides of e = − d to get the ˙ e -dynamics, there will be discontinuity in the ˙ e -dynamics on the ye -axis. This discontinuity will cause diRculties in applying the backstepping technique. To get around this problem, we compute ˙ e -dynamics based on sin( e ) =

xe sin( ) − ye cos( ) ; ze

xe cos( ) + ye sin( ) cos( e ) = : ze

3

i=2

+

1 1 u + wu (t); m11 m11

dv m11 ur − v m22 m22

3  dvi i−1 1 |v| v + wv (t); − m22 m22 i=2

dr (m11 − m22 ) uv − r r˙ = m33 m33 3  dri i−1 1 1 − |r| r + r + wr (t): m11 m33 m33 i=2

It is noted that the ˙ e -dynamics is not de-ned at e = ±0:5. However, our controller will guarantee | e (t)| ¡ 0:5; ∀0 6 t ¡ ∞ for feasible initial conditions. Therefore, we will design the surge force u and the yaw moment r for (7) to yield the control objective. In Section 3, a procedure to design a stabilizer for the path following error system (5) is presented in detail. The structure of (7) suggests us to design the actual controls u and r in two stages. First, we design the virtual velocity controls for u; r and choose s˙ to ultimately stabilize ze and e at the origin. Based on the backstepping technique (Krstic, Kanellakopoulos, and Kokotovic, 1995), control u and r will then be designed. Since the ship parameters are unknown, an adaptation scheme is also introduced in this step to estimate their values used in the control laws. The nonzero lower bound of ze to guarantee the existence of d and the boundedness of the sway velocity, v, are analyzed in Section 4. 3. Control design

(6)

We now use (2) and (6) to transform (1) to   ye @yd xe @xd + s;˙ z˙e = − cos( e )u + sin( e )v + ze @s ze @s   sin( ) xe tan( e ) ˙e = r + − ze cos( e ) ze2   @xd × s˙ − u cos( ) + v sin( ) @s   cos( ) ye tan( e ) − + ze cos( e ) ze2   @yd × s˙ − u sin( ) − v cos( ) ; (7) @s  dui m22 du u˙ = vr − u− |u|i−1 u m11 m11 m11

v˙ = −

3.1. Step 1 The ze and e dynamics have three inputs that can be chosen to stabilize ze and e , namely s;˙ u and r. The input r should be designed to stabilize the e dynamics at the origin. Therefore, two inputs, s˙ and u, can be used to ultimately stabilize ze at the origin. We can either choose the input u or s˙ and then design the remaining input. If we -x s, ˙ then the virtual ship is allowed to move at a desired speed. The real ship will follow the virtual one on the path by the controller, and vice versa. In this paper we choose to -x s. ˙ This allows us to adjust the initial conditions in most cases without moving the ships, see Section 4. Since the transformed system (7) is not de-ned at ze = 0 and e = ±0:5, and we -rst assume in the following that ze (t) ¿ ze∗ ¿ 0 and | e (t)| ¡ 0:5; ∀0 6 t ¡ ∞. In Section 4, we will then show that there exist initial conditions such that this hypothesis holds. De-ne u˜ = u − ud ;

r˜ = r − rd ;

(8)

where ud and rd are the virtual controls of u and r, respectively. As discussed above, we choose the virtual controls

K.D. Do et al. / Automatica 40 (2004) 929 – 944

ud and rd , and s˙ as follows:   ye @yd xe @xd ud = k1 (ze − e ) + + ze @s ze @s ×

u0 (t; ze )

+ tan( e )v; (@xd =@s)2 + (@yd =@s)2   xe tan( e ) sin( ) − rd = −k2 e − ze cos( e ) ze2   @xd × s˙ − ud cos( ) + vsin( ) @s   ye tan( e ) cos( ) + + ze cos( e ) ze2   @yd × s˙ − ud sin( ) − v cos ( ) ; @s u0 (t; ze ) cos( e )

s˙ = 

(@xd =@s)2 + (@yd =@s)2

933

Substituting (8)–(11) into the -rst two equations of (7) results in

(9)

˜ z˙e = −k1 cos( e )(ze − e ) − cos( e )u;    xe tan( e ) sin( ) ˙ e = −k2 e + −cos( ) − ze cos( e ) ze2   cos( ) ye tan( e ) +sin( ) + u˜ + r: ˜ (13) ze cos( e ) ze2 3.2. Step 2

(10)

By noting that with ze (t) ¿ ze∗ ¿ 0 and | e (t)| ¡ 0:5, ∀0 6 t ¡ ∞, the virtual controls ud and rd are smooth functions of xe ; ye ; s; u0 ; and v, di7erentiating both sides of (8) with (9) and (10) yields 3  m22 dui i−1 du 1 ˙ u˜ = vr − u− |u| u + u m11 m11 m11 m11 i=2

;

(11)

where k1 ; k2 and e are positive constants to be selected later. u0 (t; ze ) = 0; ∀t ¿ t0 ¿ 0; ze ∈ R, is the speed of the virtual ship on the path. Indeed, one can choose this speed to be a constant. However, the time-varying speed and position path following dependence of the virtual ship on the path is more desirable, especially when the ship starts to follow the path. For example, one might choose u0 (t; ze ) = u0∗ (1 − 1 e−2 (t−t0 ) )e−3 ze :

(12)

u0∗

where

= 0; i ¿ 0; i = 1; 2; 3; 1 ¡ 1. The choice of u0 (t; ze ) in (12) has the following desired feature: when the path following error, ze , is large, the virtual ship will wait for the real one; when ze is small, the virtual ship will move along the path at the speed closed to u0∗ and the real one follows it within the speci-ed look ahead distance. This feature is suitable in practice because it avoids using a high gain control for large signal ze . Remark 2. • If one designs the virtual control ud without canceling the term sin( e )v in the ze -dynamics, then an assumption of the sway velocity being bounded is needed in advance in the stability analysis, i.e. assume stability to prove stability. • If the sway velocity is assumed to be bounded by the surge velocity as in Skjetne and Fossen (2001), the term sin ( e )v is not required to be canceled either. This controller can be similarly designed as the one in this paper. Lemma 1 in our present paper can be directly applied to the stability analysis. It is noted that the sway velocity does not require to be bounded by the surge velocity with a relatively small constant as in Skjetne and Fossen (2001).

1 @ud @ud @ud wu (t) − x˙e − y˙ e − s˙ m11 @xe @ye @s  m11 @ud ˙ @ud dv @ud − − u˙ 0 − ur − v − @ @u0 @v m22 m22

+

3  dvi − |v|i−1 v m22



@ud 1 wv (t); (14) @v m22 i=2 3  (m11 − m22 ) dri i−1 dr 1 r˜˙ = uv − r− |r| r + r m33 m33 m11 m33 −

i=2

1 @rd @rd @rd s˙ wr (t) − x˙e − y˙ e − m33 @xe @ye @s  @rd m11 @rd ˙ @rd dv − − − u˙ 0 − ur − v @ @u0 @v m22 m22

+

3  dvi i−1 − |v| v m22 i=2

 −

@rd 1 wv (t) @v m22

where for convenience of choosing u0 , the terms @ud =@xe , @ud =@ye , @rd =@xe and @rd =@ye do not include @u0 =@xe and @u0 =@ye , which are lumped into u˙ 0 . From (14), we choose the actual controls u and r without canceling useful nonlinear damping terms as  T ˆ u = − k3 u˜ − 1 f1 ( · ) − −cos( )  × 

xe tan( e ) sin( ) − ze cos( e ) ze2

 + sin( )

 cos( ) ye tan( e ) × + e ze cos( e ) ze2     ˆ32 ˆ31 u ˜  @u u ˜  @u d d − ˆ32 ; −ˆ31 tanh tanh !1 @v @v !2

934

K.D. Do et al. / Automatica 40 (2004) 929 – 944



r˜ˆ33 r = −k4 r˜ − ˆT2 f2 ( · ) − e − ˆ33 tanh !3



The operator, proj, is the Lipschitz continuous projection algorithm (Pomet & Praly, 1992; Do & DeBoer, 2000) applied in our case as follows:

  ˆ34 @r r ˜  @r d d −ˆ34 tanh ; @v @v !4 and the update laws as ˜ 1j ( · ); ˆ1j ) ˆ˙1j = "1j proj(uf ˆ˙2j = "2j proj(rf ˜ 2j ( · ); ˆ2j );

(15)

1 6 j 6 9;

(16)

where k3 ; k4 ; !i ; "1j ; "2j ; "3i ; 1 6 i 6 4; 1 6 j 6 9, are positive constants to be selected later, f1j ( · ) and f2j ( · ) are the jth elements of f1 ( · ) and f2 ( · ), respectively, with f1 ( · ) = vr − ud − |u|ud − u2 ud 

− rd

@ud |v|v @v

− |r|rd

@ud 2 |v| v @v

T ;

− r 2 rd

@rd ˙ @rd @rd @rd @rd s˙ + + − x˙e + y˙ e + u˙ 0 @xe @ye @s @ @u0

T @rd @rd @rd @rd 2 ur × v |v|v |v| v ; @v @v @v @v ˆij ; 1 6 i 6 3 is the jth element of ˆi , which of i with m211 1 = m22 du du2 du3 m11 m22 2 = (m11 − m22 ) dr dr2 dr3 m33 m11 wv max m22

wr max

2 −!M )=('2 +2'!M ); %!ˆ (!)=@%( ˆ !)=@ ˆ !, ˆ

   xe tan( e ) sin( ) − × −cos( ) ze cos( e ) ze2 cos( ) ye tan( e ) + ze cos( e ) ze2

 e

1 ˆT 1 T 1 ˆ 1 f1 ( · ) + 1 f1 ( · ) − 31 m11 m11 m11   1 @ud u˜ˆ31 + ×tanh wu (t) − ˆ32 !1 m11 @v −



3 = wu max

ˆ ¿ 0; if U(!) ˆ ¿ 0 and %!ˆ (!)$

i=2

+sin( )

(17) f2 ( · ) = uv

ˆ 6 0; if %(!) ˆ ¿ 0 and %!ˆ (!)$

where %(!)=( ˆ !ˆ ' is an arbitrarily small positive constant, !ˆ is an estimate of ! and |!| 6 !M . The projection algorithm is such that if !ˆ˙ = proj($; !) ˆ and !(t ˆ 0 ) 6 !M then ˆ (a) !(t) ˆ 6 !M + '; ∀0 6 t0 6 t ¡ ∞, (b) proj($; !) is Lipschitz continuous, (c) |proj ($; !)| ˆ 6 |$|, (d) !˜ proj($; !) ˆ ¿ !$ ˜ with !˜ = ! − !. ˆ Substituting (15) into (14) yields   3  k 1 d d 3 u ui i−1 u˜˙ = − u˜ − + + |u| m11 m11 m11 m11



@ud @ud @ud s˙ x˙e + y˙ e + @xe @ye @s  @ud ˙ @ud + u˙ 0 + @ @u0



@ud v @v

if %(!) ˆ 6 0;

(19) 2

ˆ˙33 = "33 proj(|r|; ˜ ˆ33 );     @rd  ˙ ˆ ˆ   ; 34 ; 34 = "34 proj r˜ @v 

@ud ur @v

 $    = $    (1 − %(!))$ ˆ

1 6 j 6 9;

ˆ˙31 = "31 proj(|u|; ˜ ˆ31 );     @ud  ˙ ˆ ˆ   ; 32 ; 32 = "32 proj u˜ @v 

×

proj($; !) ˆ



 @ud 1 @ud u˜ˆ32 − wv (t); ×tanh @v !2 @v m22   3  1 dri i−1 ˙r˜ = − k4 + dr − r˜ − |r| m33 m33 m11 m33 

e

i=2



1 ˆT 1 T  f2 ( · )  f2 ( · ) + m33 2 m33 2

is an estimate dv m11 m22 m11 m33 m22 T

m33 wv max m22

dv2 m11 m22 dv m33 m22 :

dv3 m11 m22

T

dv2 m33 m22

; dv3 m33 m22

T ;

(18)

K.D. Do et al. / Automatica 40 (2004) 929 – 944

  1 1 ˆ r˜ˆ33 + − wr (t) 33 tanh m33 !3 m33 

1 ˆ @rd @rd r˜ˆ34 − 34 tanh m33 @v @v !4



where 

@rd 1 − wv (t): @v m22 (20)

p1 =

935

−1 −1 max(0:5; 0:5m11 ; 0:5m33 ; 0:5"−1 1j ; 0:5"2j ; 0:5"3j )

0:5 min(1; m11 ; m33 )

1 = p1 X1∗ (t0 );  *1 =

;

 ,1 = ; 2

* : 0:5 min(1; m11 ; m33 )

(28)

4. Stability analysis 4.1. ( e ; u; ˜ r) ˜ -Subsystem To investigate stability of this subsystem, we consider the following Lyapunov function V1 =

1 2

2 e

3

+

m11 2 m33 2 1  ˜T −1 ˜ i )i i ; u˜ + r˜ + 2 2 2

(21)

i=1

Remark 3. It is important to note that, thanks to the use of the projection algorithm, by adjusting k3 ; k4 ; !i ; "1j , "2j ; "3i ; 1 6 i 6 4, 1 6 j 6 9, we can make *1 arbitrarily small. This observation plays a crucial role in the stability analysis of the ze -dynamics. 4.2. ze -Dynamics

where ˜i = i − ˆi and )i = diag("ij ). Di7erentiating both sides of (21) along (14)–(16) yields

4.2.1. Lower-bound of ze It can be seen from (13) and (27) that

V˙ 1 6 −k2

z˜˙e ¿ − k1 z˜e − (1 e−,1 (t−t0 ) + *1 );

2 e

− (k3 + du )u˜ 2 − (k4 + dr )r˜2

+0:2785

4 

!i :

(22)

i=1

3 ˜T −1 ˜ By subtracting and adding 12 i=1 i )i i to the right-hand side of (22), we arrive at V˙ 1 6 − V1 + *; where



 = min 1; 2k2 ; *=

3 1

2

(23)

2(k3 + du ) 2(k4 + dr ) ; m11 m33

˜Ti )i−1 ˜i + 0:2785

i=1

4 

!i :

(24)

p1 X1∗ (t0 ) −,1 (t−t0 ) (e ,1 − k 1

*1 (1 − e−k1 (t−t0 ) ): k1

(25)

p1 X1∗ (t0 ) −,1 (t−t0 ) (e ,1 − k 1

*1 (1 − e−k1 (t−t0 ) ) + e : k1

where X1 (t) = [ e (t) u(t) ˜ r(t)] ˜ T , X1∗ (t0 ) = [ e (t0 ) u(t ˜ 0) T T T T r(t ˜ 0 ) ˜ (t0 ) ˜ (t0 ) ˜ (t0 )] . Therefore we have 3

(27)

(31)

Therefore, the condition ze (t) ¿ ze∗ ¿ 0 holds when *1 p1 X1∗ (t0 ) ; ze (t0 ) ¿ − e : k1 , 1 − k1

(32)

4.2.2. Upper-bound of ze We rewrite the -rst equation of (13) as ˜ z˜˙e = −k1 z˜e − (cos( e ) − 1)k1 z˜e − cos( e )u:

(26)

(30)

Hence

,1 ¿ k1 ; e ¿ ze∗ +

which further yields   1 m11 m33 2 2 ; ; ||X1 (t)|| 6 ||X1∗ (t0 )|| min 2 2 2   1 m11 m33 1 1 1 * ; ; ; e−(t−t0 ) + ; ×max ; ; 2 2 2 2"1j 2"2j 2"3j 

X1 (t) 6 1 e−,1 (t−t0 ) + *1 ;

−e−k1 (t−t0 ) ) −

−e−k1 (t−t0 ) ) −

i=1

2

z˜e (t) ¿ z˜e (t0 )e−k1 (t−t0 ) +

;

From (23), it is direct to show that * V1 (t) 6 V1 (t0 )e−(t−t0 ) + ; 

1

where z˜e = ze − e , which, with ,1 = k1 , further yields

ze (t) ¿ (ze (t0 ) + e )e−k1 (t−t0 ) +



(29)

(33)

˜ r)-subsystem ˜ are in a cascade Since (33) and ( e ; u; form, one might think that stability results developed for cascade systems in Panteley and Loria (2001) can be applied. However, stability results in the aforementioned paper are developed for cascade systems without nonvanishing disturbances. In fact, nonvanishing disturbances may destroy stability of a cascade system that satis-es all conditions stated in the above paper. To illustrate this fact, we give the following

936

K.D. Do et al. / Automatica 40 (2004) 929 – 944

simple example:

with

x˙1 = −x1 + x1 x2 ;

a1 = c2−1 (c4 − 22 c3 !0 − 0:25'0−1 21 c3 !0 );

x˙2 = −x2 + d(t):

(34)

When there is no disturbance d(t), by applying stability results in Panteley and Loria (2001), the cascade system (34) is globally asymptotically stable at the origin. However, when the magnitude of bounded disturbance d(t) is larger than 1; x1 grows linearly unbounded although x2 is bounded. This fact results from the -rst equation being not globally input-to-state-stable (ISS) with respect to x2 as input (Sontag, 1989). Therefore, to analyze the stability of (33), we -rst present the following lemma. Lemma 1. Consider the following nonlinear system x˙ = f(t; x) + g(t; x; /(t));

(35)

where x ∈ Rn ; /(t) ∈ Rm , f(t; x) is piecewise continuous in t and locally Lipschitz in x. If there exist positive constants ci ; 1 6 i 6 4; 2j ; 1 6 j 6 2; ,0 ; !0 ; '0 ; c0 and a class-K function 0 such that the following conditions are satis:ed: C1. There exists a proper function V (t; x) satisfying     2 2  @V c1 x 6 V (t; x) 6 c2 x ;  (t; x) 6 c3 x; @x @V @V + f(t; x) 6 − c4 x2 + c0 : @t @x g(t; x; /(t)) 6 (21 + 22 x) ||/(t)|| : C3. /(t) globally exponentially converges to a ball centered at the origin ∀t ¿ t0 ¿ 0:

21 c3 !0 ¿ 0: 4'0

Then the solution x(t) of (35) globally K exponentially converges to a ball centered at the origin, i.e., x(t) 6 ((x(t0 ); /(t0 )))e−,(t−t0 ) + !; ∀t ¿ t0 ¿ 0;  where ! = a4 =c1 a1 and if a1 = ,0 ; (s)  = c1−1 ea2 (s)=,0 (c2 s2 + (a3 (s) + a−1 1 a2 (s)a4 )4);

∀t ¿ t0 ¿ 0; s ¿ 0: When c0 = 0 and !0 = 0, we have ! = 0 and system (35) is globally K-exponentially stable, see Sordalen and Egeland (1995) for de-nition of K-exponential stability. Note that a -nite value of the constant 4 exists for an arbitrarily small positive d. Proof. See Appendix A. We now apply Lemma 1 to system (33) by verifying all conditions C1–C4. Verifying condition C1: Take the following Lyapunov function V2 = 0:5ze2 :



c0 = 0;

c1 = c2 = 0:5;

c3 = 1;

c4 = k 1 :

(38)

Verifying condition C2: By noting that |(cos( e ) − ˜ 6 (k1 |z˜e | + 1)X1 (t), we have 1)k1 z˜e − cos( e )u| 22 = k 1 :

(39)

Verifying condition C3: This condition directly holds from (27). Verifying condition C4: From (38), (39) and (27), condition C4 becomes *1 ¿ 0: (40) k 1 − k1 * 1 − 4'0

(36)

|ze (t)| 6 2 ((X1∗ (t0 ); ze (t0 )))e−,2 (t−t0 ) + *2 ;

(41)

where 2 ; ,2 and *2 are calculated as in Lemma 1. 4.3. v-Dynamics From (9) and (10), the sway velocity dynamics can be rewritten as dv2 v˙ = 41 ( · )v + 42 ( · )v2 − |v|v m22 dv3 3 v + 43 ( · ); m22

c1−1 ea2 (s)=,0 (c2 s2 + (a1 a3 (s) + a2 (s)a4 )(a1 |a1 − ,0 |)−1 );

, = 0:5min(a1 ; |a1 − ,0 |);

(37)

It is direct to show that C1 holds with



, = 0:5(a1 − d); if a1 = ,0 ; (s) =

a4 = c0 + 21 c3 !0 '0 ; 0 ¡ d ¡ a1 ; 4 ¿ (t − t0 )e−d(t−t0 ) ;

From Remark 3 and noting that '0 is an arbitrarily positive constant, we can see that there always exists k1 such that (40) holds. All conditions of Lemma 1 have been veri-ed, we therefore have

C4. The following gain condition is satis:ed c4 − 22 c3 !0 −

a3 (s) = 0:2521 c3 0 (s);

21 = 1;

C2. The vector function g(t; x; /(t)) satis:es

/(t) 6 0 (/(t0 ))e−,0 (t−t0 ) + !0 ;

a2 (s) = c3 c1−1 (21 + 22 )0 (s);

(42)

K.D. Do et al. / Automatica 40 (2004) 929 – 944

937

where 41 ( · ) = −

dv m11 − ((a1 + a2 tan( e ))a3 m22 m22

+tan( e )(a2 a3 + a4 ) + r(a ˜ 3 + tan( e )) +u(a ˜ 1 + a2 tan( e ))); m11 (a1 + a2 tan( e )); m22 m11 43 ( · ) = − (a3 (a2 a3 + a4 ) + a3 r˜ m22

42 ( · ) = −

+u(a ˜ 2 a3 + a4 )) + with





1 wv (t) m22

(43) Fig. 3. Illustration of feasible initial conditions.



xe tan( e ) sin( ) − ze cos( e ) ze2   cos( ) ye tan( e ) +cos( ) + ; ze cos( e ) ze2   xe tan( e ) sin( ) a2 = cos( ) − ze cos( e ) ze2   cos( ) ye tan( e ) −sin( ) + ; ze cos( e ) ze2   ye @yd xe @xd a3 = k1 (ze − e ) + + ze @s ze @s

a1 = − sin( )

   

arguments are bounded as shown above. Therefore, we can ∗ pick 5 ¿ 0 such that dv3 =m22 − 4M 2 5 ¿ 5 ¿ 0, then, see Khalil (2002), (45) guarantees a -nite upper-bound of the sway velocity v. 4.4. Initial condition discussion We now discuss how to obtain the initial conditions such that | (t)| ¡ 0:5 and the last inequality of (32) holds. Noticing that 0:5 2 (t) 6 V1 (t), from (25), the condition | (t)| ¡ 0:5 can be rewritten as 2 e (t0 )

+ m11 u˜

2 (t

0)

+ m33

r˜2 (t

0)

+

3  i=1

×

(46)

On the other hand, the term

u0 (t; ze )

; (@xd =@s)2 + (@yd =@s)2    sin( ) xe tan( e ) @xd a4 = −k2 e + − − @s ze cos( e ) ze2   cos( ) @yd ye tan( e ) + : + @s ze cos( e ) ze2

3  i=1

To show that v is bounded, we take the following Lyapunov function V3 = 0:5v2 ;

* ˜Ti (t0 ))i−1 ˜i (t0 ) + ¡ 0:5: 

(44)

whose derivative along the solution of (42), for any 5 ¿ 0, satis-es   dv3 M ˙ − 42 5 v 4 V3 6 − m22   M 4M 2 + 43 v 2 + 4M + 4M + (45) 1 3 5; 45 where 4M i ; 1 6 i 6 3, are the upper-bounds of 4i ( · ). It is seen from (43) that 4M i exist and are -nite since their

* ˜Ti (t0 ))i−1 ˜i (t0 ) + 

can be made arbitrarily small. Noticing that xe (t0 ) = x(t0 ) − xd (s(t0 )); ye (t0 ) = y(t0 ) − yd (s(t0 )), it is seen that the initial value, s(t0 ), can be adjusted such that (46) holds if: (1) the ship heads to “almost” of the half-plane containing the initial part of the path to be followed, (2) the path satis-es Assumption 1, see Fig. 3, (3) the initial velocities u(t0 ); v(t0 ) and r(t0 ) are not too large, (4) and the design constants are chosen such that k1 is small, k2 is large. The angle 0 (see Fig. 3) should be increased if the initial velocities u(t0 ); v(t0 ) and r(t0 ) are large. Otherwise the ship might cross the edge-line of the plane in question, which might result in e = ±0:5. Similarly the last inequality of (32) is rewritten as  (x(t0 ) − xd (s(t0 )))2 + (y(t0 ) − yd (s(t0 )))2 ¿

p1 X1∗ (t0 ) − e : ,1 − k 1

(47)

938

K.D. Do et al. / Automatica 40 (2004) 929 – 944

Again s(t0 ) can be adjusted such that (47) holds. It is noted that if the above-mentioned conditions do not satisfy, one might generate an additional path segment such that it makes the above conditions hold and “smoothly” connects to the path to be followed. 5. Parking and point-to-point navigation 5.1. Parking Parking objective: Design the surge force u and the yaw moment r to park the underactuated ship (1) from the initial position and orientation, (x(t0 ); y(t0 ); (t0 )), to the desired parking position and orientation of (xp ; yp ; p ) under the following conditions:

Fig. 4. Illustration of ship parking problem.

(1) There exists a large enough positive constant $p such that (x(t0 ) − xp )2 + (y(t0 ) − yp )2 ¿ $p . (2) The ship heads to “almost” the half-plane of the desired parking orientation, see Section 4.4. (3) At the desired parking position and orientation, the environmental disturbances are negligible. The above conditions normally hold for the parking practice. However, if the -rst two conditions do not hold, one can apply the strategy in Section 4.4 to move the ship until they hold. Having formulated the parking problem as above, one might claim that the path following controller proposed in Section 3 can be applied by setting u0 equal to zero. However, this will result in a yaw angle, which may be very di7erent from the desired parking one, at the desired parking position, since our proposed path following controller is designed to drive ze to a small ball, not to zero due to the robust reason. To resolve this problem, we -rst generate a regular curve, p (xd ; yd ), which goes via the parking position and its tangent angle at the parking position is equal to the desired parking yaw angle, see Fig. 4. For simplicity of calculation, the curve can be taken as a straight line in almost all cases of the vessel initial conditions. Then the proposed path following controller can be used to make the vessel follow p (xd ; yd ). In this case, the velocity u0 should be chosen such that it is equal goes to zero when the virtual ship tends to the desired parking position, i.e., limzep →0 u0 = 0  with zep = (xd − xp )2 + (yd − yp )2 . A simple choice can be taken as u0 = u0∗ (1 − e−1 zep )e−2 ze ;

(48)

where i ¿ 0; i=1; 2. Special care should be taken to choose the initial values of (xd (t0 ); yd (t0 )), see Section 4, and the sign of u0 such that it results in a short parking time. Remark 4. Once at the desired parking position and orientation, if there are large environmental disturbances, there will be an oscillatory behavior in the yaw dynamics and the ship might diverge from its desired position. This phe-

Fig. 5. Illustration of point-to-point navigation.

nomenon is well known in the ship dynamic positioning (Strand, 1999; Aguiar & Pacoal, 2002; Pettersen & Fossen, 2000). However, for the parking practice, we here assume that the environmental disturbances are negligible since the parking place is usually in a harbor. 5.2. Point-to-point navigation As seen in Sections 2 and 3, the requirement of the reference path to be a regular curve might be too cumbersome in practice, since this curve has to go via desired points generated by the helmsman and its derivatives are needed in the path following controller. These restrictions motivate us to consider the point-to-point navigation problem as: Point-to-point navigation objective: Design the surge force u and the yaw moment r to make the underactuated ship (1) from the initial position and orientation, (x(t0 ); y(t0 ); (t0 )), go via desired points generated by a path planner. To solve this control objective, we -rst assume that the path planner generates desired points, which are feasible for the ship to be navigated through. We then apply the proposed path following controller in Section 3 to each regular curve segments connecting desired points in sequence, see Fig. 5. The regular curve segments can be straight line, arc or known regular curve ones. It is however noted that a fundamental di7erence between point-to-point navigation and the proposed smooth path following is that there are a -nite number of “picks”, equal to the number of points, in

K.D. Do et al. / Automatica 40 (2004) 929 – 944

939

the yaw angle error, e . This phenomenon is due to the path being non-smooth in the orientation at the points. 6. Unmeasured thruster dynamic extension The purpose of this section is to show that the controller proposed previously can be directly extended to a dynamic model of underactuated ships with unmeasured thruster dynamics, which has often been exclusive from earlier works. The hydraulic actuators are normally equipped with local controllers. The closed loop of the actuators with local controllers can be modeled as a multi-input multi-output linear model A7˙ = −7 + ;

(49)

where 7 is a vector of piston displacement of the hydraulic systems and  is a vector of commanded actuator inputs. A = diag(ai ) is a diagonal matrix of positive known actuator time constants (ai ¿ 0). Moreover ai can be considered as e7ective of time lag in a PI-controlled hydraulic system, that is kH (Hydraulic system); (50) Hh9 (9) = (1 + t1 9)(1 + t2 9) where 9 is the Laplace operator, t1 and t2 are the hydraulic system constants and kH is the hydraulic system gain. Furthermore kp (1 + ti 9) (PI-controller); (51) HPI (9) = ti 9 where ti is the integral time constant and kP is the proportional gain constant. Hence, the resulting closed loop transfer function is L(9) = Hh9 (9)HPI (9) which implies that  L(9) 1 (9) = ≈ ; (52)  1 + L(9) 1 + A9 where A is the e7ective time lag of the actuator closed-loop system. By neglecting the coupling terms, the moment vector  = [u r ]T relates to the vector of displacement of the hydraulic systems, 7, as  = ;7;

(53)

where ; is a diagonal matrix of positive known constants. From (52) and (53), we have ˙ = −A−1  + ;:

(54)

Now assuming that  is unmeasured, an exponential observer can be easily designed as follows: ˆ˙ = −A−1 ˆ + ;:

(55)

Obviously, (55) guarantees that the observer error ˜ =  − ˆ globally exponentially converges to zero. With this in mind and properties of the projection in Section 3, we can design a combined controller/observer with  as the control input by invoking a simple but lengthy application of one further “backstepping” step.

Fig. 6. A 38 m monohull ship. Courtesy http://www.austal.com/products.

7. Numerical simulations The e7ectiveness of the control law (13) is illustrated by simulating with a monohull ship having one propeller and one rudder, see Fig. 6. The propeller provides the surge force, and the rudder is used to generate the yaw moment. The ship has the length of 38 m, mass of 118 × 103 kg and other parameters calculated by using Marintek Ship Motion program version 3.18 as m11 = 120 × 103 ;

m22 = 177:9 × 103 ;

m33 = 636 × 105 ;

du = 215 × 102 ;

dv = 147 × 103 ;

dr = 802 × 104 ;

du2 = 0:2du ;

du3 = 0:1du ;

dv2 = 0:2dv ;

dv3 = 0:1dv ;

dr2 = 0:2dr ;

dr3 = 0:1dr :

These values are assumed to be of the real ships and are estimated on-line by the adaptation laws (16). We assume that these parameters Ouctuate around above values ± 15% to calculate the maximum and minimum values used in the choice of the design constants in (40). We assume that the environmental disturbances are wu =11×104 (1+rand( · )), wv =26×104 (1+rand( · )); wr =950×105 (1+rand( · )), where rand( · ) is random noise with magnitude of 1 and zero lower bound. This choice results in nonzero-mean disturbances. In practice, the environmental disturbances may be di7erent. We take the above disturbances for simplicity of generating. It should be noted that only boundaries of the environmental disturbances are needed in our proposed controller. In simulations, based on Section 4 the control parameters are taken as k1 = 1:5, k2 = 7:5, k3 = 6 × 105 , k4 = 3 × 108 , "1j = "2j = "3j = 2 × 107 , !i = 0:1, e = 0:95. The initial conditions are [x(0); y(0); (0); u(0); v(0); r(0); s] = [ − 200; −20; −0:4; 0; 0; 0; 0], and all initial values of parameter estimates are taken to be 70% of their assumed true ones. For the case of path following, the reference is (xd = s; yd = 200 tanh(0:02 s)) for the -rst 60 s, then followed by a circle with radius of 200, which is larger than the ship’s minimum turning radius of 155 m. The virtual ship velocity

940

K.D. Do et al. / Automatica 40 (2004) 929 – 944 200

y [m]

100

0

-100

-200

-200

0

200

400

600

800

x [m] 250

0.2 0.1

200 ψe [rad]

e

z [m]

0 150 100

-0.1 -0.2 -0.3

50 0

-0.4 0

50

-0.5 0

100

50

100 time [s]

time [s]

Fig. 7. Path following. Top: ship position and orientation in the (x; y) plane; Bottom left: position error ze ; Bottom right: orientation error

e.

7000 6000

u

τ [KN]

5000 4000 3000 2000 1000 0

0

20

40

60

80

100

120

140

80

100

120

140

time [s] 4

x 10

1

τr [KNm]

0.5 0 -0.5 -1 -1.5 0

20

40

60 time [s]

Fig. 8. Path following control e7orts: top: u (kN), bottom: r (kNm).

on the path is taken as u0 (t; ze ) = 15(1 − 0:8e−2t )e−0:5ze . The simulation results of the ship position and orientation, path following error ze , and path following orientation error e are plotted in Fig. 7. The control inputs u and r are plotted

in Fig. 8. For simple presentation, we plot some samples of parameter estimates in Fig. 9. It is seen that the projection algorithm clearly prevents instability in adaptation due to nonvanishing disturbances.

K.D. Do et al. / Automatica 40 (2004) 929 – 944

941

5

1.516

x 10

[kg]

1.515 1.514 1.513 1.512 -4.9

0 4 x 10

10

20

30

40

50

60

70

80

90

0 5 x 10

10

20

30

40

50

60

70

80

90

0

10

20

30

40

50

60

70

80

90

[kg]

-4.95 -5 -5.05 -5.1 1.9

[N]

1.8 1.7 1.6 1.5

time [s]

Fig. 9. Some parameter estimates: ˆ11 (top), ˆ21 (middle) and ˆ31 (bottom).

200 150

y [m]

100 50 0 -50 -100 -150 200

0

200

400

600

800

1000

x [m] 250

0.2 0.1

200

ψ [rad]

e

e

z [m]

0 150 100

-0.1 -0.2 -0.3

50 0

-0.4 0

20

40

60

80

time [s]

-0.5

0

20

40

60

80

time [s]

Fig. 10. Point-to-point navigation. Top: ship position and orientation in the (x; y) plane; Bottom left: position error ze ; Bottom right: orientation error

For the case of point-to-point navigation, we want the ship to go via points: ((0; 0); (175; 100); (450; 100); (635; 0)) then followed by a horizontal straight line. For simplicity, we use straight line segments to connect the above desired points. The virtual ship velocity is taken the same as for the case of path following. The simulation results of the ship position and orientation, path following error ze , and path following orientation error e are plotted in Fig. 10. The “picks” in the orientation error e is due to the nonsmooth reference path.

e.

For the case of parking, we assume that the parking position is at the origin and the parking orientation is p = =4 without environmental disturbances at the desired parking place. As discussed in Section 5, we choose u0 = 5(1 − e−0:2zep )e−0:2ze and a straight-line segment starting at (−20; −20) with a slope of 1. The simulation results are plotted in Fig. 11. It can be seen from these -gures that our proposed controller is able to force the underactuated ship in question to

942

K.D. Do et al. / Automatica 40 (2004) 929 – 944 20 10

y [m]

0 -10 -20 -30 -40 -200

-180

-160

-140

-120

-100

-80

-60

-40

-20

0

x [m] 200

0.1 0

ψe [rad]

e

z [m]

150

100

50

0

-0.1 -0.2 -0.3

0

20

40 time [s]

60

80

-0.4

0

20

40 time [s]

60

80

Fig. 11. Parking. Top: ship position and orientation in the (x; y) plane; Bottom left: position error ze ; Bottom right: orientation error

following prede-ned paths. The path following position error ze converges to a small nonzero value speci-ed by e and does not cross zero as expected in the control design. It can be seen from Figs. 7 and 10 that, under the nonvanishing environmental disturbances, the proposed controller forces the yaw angle to a small value. This value together with the ship forward speed prevents the ship from drifting away from the path. The high magnitude of controls results from the fact that we simulate the proposed controller on a real ship and environmental disturbances with large magnitude. Indeed, the magnitude of the control inputs, can be reduced by adjusting the control and adaptation gains. However, this will result in slow transient response. There is less noise in u than in r due to the high forward speed. In practice, the control r will not be as noisy as in Fig. 8 since the wave, wind and ocean-current disturbances are not completely random. . Finally, the transient response of e is much shorter than that of ze due to the control gains chosen such that k2 k1 to guarantee a nonzero lower bound of ze , see Section 4.

e.

several other practical systems such as mechanical systems with disturbances using the backstepping technique to design a controller. A Lipschitz continuous projection algorithm was used to update the estimate of the unknown parameters to avoid parameter drift instability due to time-varying environmental disturbances. An extension of our proposed controller to the case of unmeasured thruster dynamics was also discussed. Numerical simulations illustrated the e7ectiveness of the proposed control laws. We are working on an extension of our proposed methodology to saturated actuators and output feedback, i.e. only surge, sway and yaw displacements are available for feedback. Results on these topics will be reported elsewhere. Acknowledgements The authors would like to thank the Associate Editor and Reviewers for their constructive comments. Appendix A. Proof of Lemma 1

8. Conclusions We have presented a methodology to design a controller that is able to steer an underactuated ship with unknown parameters along a given path under environmental disturbances induced by wave, wind and ocean-current. A polar coordinate transformation was derived to interpret the path following error dynamics in a triangular form, to which Lyapunov’s direct method and backstepping technique can be applied. A new result on stability of nonlinear cascade systems with nonvanishing disturbances was developed to analyze the closed-loop system. This result can be used for

From conditions C1–C3, we have @V @V @V + f(t; x) + g(t; x; /(t)) V˙ = @t @x @x 6 −(c4 − 22 c3 !0 − 21 c3 !0 =4'0 )x2 +c3 x(21 + 22 x)0 (/(t0 ))e−,0 (t−t0 ) +21 c3 !0 '0 + c0 :

(A.1)

Upon application of the completing square, (A.1) can be rewritten as V˙ 6 − (a1 − a2 e−,0 (t−t0 ) )V + a3 e−,0 (t−t0 ) + a4 :

K.D. Do et al. / Automatica 40 (2004) 929 – 944

Now consider the di7erential equation