Вы находитесь на странице: 1из 182

Control of Nonlinear Systems

Nonlinear Control N. Marchand

Nicolas Marchand
References Outline Introduction
Linear/Nonlinear The X4 example

CNRS Associate researcher

Nicolas.Marchand@grenoble-inp.fr Control Systems Department, gipsa-lab


Grenoble, France

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Master PSPI 2009-2010


Nonlinear Control Master PSPI 2009-2010 1 / 174

Observers N. Marchand (gipsa-lab)

References
Nonlinear systems Khalil - Prentice-Hall, 2002
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Probably the best book to start with nonlinear control

Nonlinear systems S. Sastry - Springer Verlag, 1999


Good general book, a bit harder than Khalils

Mathematical Control Theory - E.D. Sontag - Springer, 1998


Mathematically oriented,
Can be downloaded at: http: // www. math. rutgers. edu/ ~ sontag/ FTP_ DIR/ sontag_ mathematical_ control_ theory_ springer98. pdf

Constructive nonlinear control - Sepulchre et al. - Springer, 1997 More


focused on passivity and recursive approaches

Linear approaches
Antiwindup Linearization Gain scheduling

Nonlinear control systems - A. Isidori - Springer Verlag, 1995


A reference for geometric approach

Applied Nonlinear control - J.J. Slotine and W. Li - Prentice-Hall, 1991


An interesting reference in particular for sliding mode

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Research on Gain Scheduling - W.J. Rugh and J.S. Shamma Automatica, 36 (10):14011425, 2000 Survey of gain scheduling analysis and design - D.J. Leith and W.E. Leithead - Int. Journal of Control, 73:10011025, 1999
Surveys on Gain Scheduling,
The second reference can be downloaded at: http: // citeseer. ist. psu. edu/ leith99survey. html

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 2 / 174

Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 3 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 4 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

Introduction
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Some preliminary vocable and denitions What is control ? A very short review of the linear case (properties, design of control laws, etc.) Why nonlinear control ? Formulation of a nonlinear control problem (model, representation, closed-loop stability, etc.)? Some strange possible behaviors of nonlinear systems Example : The X4 helicopter

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 5 / 174

Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 6 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

Some preliminary vocable


Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

We consider a dynamical system:


System u(t) x(t) y (t)

Linear approaches
Antiwindup Linearization Gain scheduling

where:
y is the output: represents what is visible from outside the system x is the state of the system: characterizes the state of the system u is the control input: makes the system move

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 7 / 174

The 4 steps to control a system


Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

yd
k (x )

Controller

x ^
Observer
1

Linear approaches
Antiwindup Linearization Gain scheduling

Modelization
To get a mathematical representation of the system Dierent kind of model are useful. Often:
a simple model to build the control law a sharp model to check the control law and the observer

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Design the state reconstruction: in order to reconstruct the variables needed for control Design the control and test it Close the loop on the real system
Nonlinear Control Master PSPI 2009-2010 8 / 174

3 4

Observers

N. Marchand (gipsa-lab)

Linear dynamical systems


Some properties of linear system (1/2)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Denition: Systems such that if y1 and y2 are the outputs corresponding to u1 and u2 , then R: y1 + y2 is the output corresponding to u1 + u2 Representation near the operating point:
Transfer function: y (s ) = h(s )u (s ) State space representation: = Ax + Bu x y = Cx (+Du )

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

The model can be obtained


physical modelization (eventually coupled with identication) identication (black box approach)

Observers N. Marchand (gipsa-lab)

both give h(s ) or (A, B , C , D ) and hence the model.


Nonlinear Control Master PSPI 2009-2010 9 / 174

Linear dynamical systems


Some properties of linear system (2/2)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

= Ax + Bu x y = Cx (+Du ) Nice properties:


Unique and constant equilibrium Controllability (resp. observability) directly given by rank(B , AB , . . . , An1 B ) (resp. rank(C , CA, . . . , CAn1 )) Stability directly given by the poles of h(s ) or the eigenvalues of A (asymptotically stable < 0) Local properties = global properties (like stability, stabilizability, etc.) The time behavior is independent of the initial condition Frequency analysis is easy Control is easy: simply take u = Kx with K such that = Ax + BKx will (eig(A + BK )) < 0, the closed-loop system x be asymptotically stable

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

Mathematical tool: linear algebra This is a caricature of the reality (of course problems due to uncertainties, delays, noise, etc.)
Nonlinear Control

Master PSPI 2009-2010 10 / 174

Why nonlinear control ?


Why nonlinear control if linear control is so easy ?
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

All physical systems are nonlinear because of


Actuators saturations Viscosity (proportional to speed2 ) Sine or cosine functions in robotics Chemical kinetic in exp(temperature) Friction or hysteresis phenomena ...

Linear approaches
Antiwindup Linearization Gain scheduling

More and more the performance specication requires nonlinear control (eg. automotive) More and more controlled systems are deeply nonlinear (eg. -nano systems where hysteresis phenomena, friction, discontinuous behavior) Nonlinear control is sometimes necessary (oscillators, cyclic systems, . . . )
Nonlinear Control Master PSPI 2009-2010 11 / 174

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

Nonlinear dynamical systems


How to get a model ?
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Representation:
State space representation:
ODE Ordinary dierential equation:

In this course, only:


(t ) x y (t ) = = f (x (t ), u (t )) h(x (t ), u (t ))

Linear approaches
Antiwindup Linearization Gain scheduling

PDE Partial dierential equation (trac, ow, etc.): 0 0 = =


x ,... ) (t ), f ( g (x (t ), x u (t )) x h(y (t ), x (t ), u (t ))

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

. . . Algebraic dierential equations (implicit), hybrid (with discrete or event based equations), etc.

The model can be obtained


physical modelization and then nonlinear identication of the parameters (identiability problems)

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 12 / 174

Nonlinear dynamical systems


Open-loop control versus closed-loop control ?
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

yd
k (x ) Controller

u
States: x

x ^
Observer

Linear approaches
Antiwindup Linearization Gain scheduling

Open-loop control
nd u (t ) such that limt y (t ) yd (t ) = 0 Widely used for path planning problems (robotics)

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Closed-loop control
nd u (x ) such that limt y (t ) yd (t ) = 0 Better because closed loop control can stabilize systems and is robust w.r.t. perturbation.

In this course
Only closed-loop control problems are treated
Nonlinear Control Master PSPI 2009-2010 13 / 174

Observers

N. Marchand (gipsa-lab)

Nonlinear dynamical systems


Aim of control ?
Nonlinear Control N. Marchand

xd
k (x )

u
States: x

References Outline Introduction


Linear/Nonlinear The X4 example

Controller

x ^
Observer

Tracking problem
nd u (x ) such that limt x (t ) xd (t ) = 0

Linear approaches
Antiwindup Linearization Gain scheduling

Stabilization problem
nd u (x ) such that limt x (t ) xd (t ) = 0 for xd (t ) = constant

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Null stabilization problem


nd u (x ) such that limt x (t ) xd (t ) = 0 for xd (t ) = 0 In any cases, a null stabilization problem of z (t ) = y (t ) yd (t )

In this course
Only the stabilization problem will be treated.
Nonlinear Control Master PSPI 2009-2010 14 / 174

Observers N. Marchand (gipsa-lab)

Some strange behaviors of nonlinear systems


The undersea vehicle
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Simplied model of the undersea vehicle (in one direction): (t ) = v |v | + u v Step answer:
1.5

Linear approaches
Antiwindup Linearization Gain scheduling

u (s ) = u (s ) =

2 s 1 s

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

No proportionality between the input and the output

0.5

u (s ) =
0 0 1 2 3 4 5 6 7 8 9 10

1 100s

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 15 / 174

Some strange behaviors of nonlinear systems


The Van der Pol oscillator (1/2)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Van der Pol oscillator 1 = x2 x 2 = x1 h(x1 )x2 x


2 with h(x1 ) = 1 + x1

Oscillations: tunes the limit cycle


6 5 4 3 2 6

Linear approaches
Antiwindup Linearization Gain scheduling

= 1, x (0) = (5, 5) = 0.1, x (0) = (5, 5)

5 4 3 2

= 1, x (0) = (5, 5) = 0.1, x (0) = (5, 5)

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

1 0 1 2 3

x2

1 0 1 2 3

10

20

time

30

40

50

4 4

x1

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 16 / 174

Some strange behaviors of nonlinear systems


The Van der Pol oscillator (2/2)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
6 5 4 3 2

Oscillations: stable limit cycles, fast dynamics


6

= 1, x (0) = (0, 1) = 1, x (0) = (5, 5)

5 4 3 2

= 1, x (0) = (0, 1) = 1, x (0) = (5, 5)

1 0 1 2 3 6 5 30

x2

1 0 1 2 3 3

Linear approaches
Antiwindup Linearization Gain scheduling

10

20

time 4
3 2

40

50

x1

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

1 0 1 2 3

= 1, x (0) = (0, 1) = 1, x (0) = (5, 5)


0 0.1 0.2

time

0.3

0.4

0.5

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 17 / 174

Some strange behaviors of nonlinear systems 2. Representation of non linear systems


The tunnel diode (1/2)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

The tunnel diode model dVC + iR dt

Example: the tunnel-d

= iL diL dt

E RiL = VC + L iR It gives: = h(vR )

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

1 (t ) = x 2 (t ) = x

1 (h(x1 ) + x2 ) C 1 (x1 Rx2 + u ) L

with x1 = vC , x2 = iL and u = E

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 18 / 174

Some strange behaviors of nonlinear systems


The tunnel diode (2/2)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
1.2 1 1.4

The tunnel diode behavior: bifurcation with: 2 + 229.62v 3 226.31v 4 + 83.72v 5 iR = 17.76vR 103.79vR R R R
1.3

x (0) = (0, 1.23) x (0) = (0, 1.24)

1.2 1.1 1 0.9

x (0) = (0, 1.23) x (0) = (0, 1.24)

Linear approaches
Antiwindup Linearization Gain scheduling

0.8

0.6

x2

0.8 0.7 0.6 0.5

0.4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization
0.2

0.4 0 0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1

time

x1

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 19 / 174

Some strange behaviors of nonlinear systems


The car parking
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

The car parking simplied model 1 = u1 x 2 = u2 x 3 = x2 u1 x System with a misleading simplicity

Linear approaches
Antiwindup Linearization Gain scheduling

Theorem (Brockett (83))


There is no (u1 (x ), u2 (x )) continuous w.r.t. x such that x is asymptotically stable

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

manoeuvres discontinuous control time-varying control

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 20 / 174

Marchand and Alamir (2003)

In practice:

Nonlinear dynamical systems


Everything is possible
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

= f (x , u ) x y = h (x , u ) Everything is possible:
Equilibrium can be unique, multiple, innite or even not exist Controllability (resp. observability) are very hard to prove (it is often even not checked) Stability may be hard to prove Local properties = global properties (like stability, stabilizability, etc.) The time behavior is depends upon the initial condition Frequency analysis is almost impossible No systematic approach for building a control law: to each problem corresponds it unique solution

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Mathematical tool: Lyapunov and dierential tools

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 21 / 174

Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 22 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

The X4 helicopter
How it works ?
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Principe de fonctionnement 4 xed rotors with controlled rotation speed si 4 moteurs


s3 s4

Linear approaches
Antiwindup Linearization Gain scheduling

s2 s1

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 23 / 174

The X4 helicopter
How it works ?
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Principe de fonctionnement 4 xed rotors with controlled rotation speed si 4 moteurs 4 generated forces prop. Fi 4 forces

F3 F4

F2 F1

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 23 / 174

The X4 helicopter
How it works ?
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Principe de fonctionnement 4 xed rotors with controlled rotation speed si 4 moteurs 4 generated forces prop. Fi 4 forces 4 counter-rotating 4 couplestorques prop. i
3 4 2 1

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 23 / 174

The X4 helicopter
How it works ?
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Principe de fonctionnement 4 xed rotors with controlled rotation speed si 4 moteurs 4 generated forces prop. Fi 4 forces 4 counter-rotating 4 couplestorques prop. i Contrle : generated with a Roll movement Roulis : dissymmetry between left and right forces: F2 1 r = l (F4 F2 ) l )

F4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 23 / 174

The X4 helicopter
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Principe de fonctionnement 4 xed rotors with controlled rotation speed si 4 moteurs 4 generated forces prop. Fi 4 forces F3 4 counter-rotating 4 couplestorques prop. i Contrle : generated with a Roll movement Roulis : dissymmetry between left and right Tangage : forces: 1 r = l (F4 F2 ) l ) Pitch movement generated with a F1 dissymmetry between front and rear forces: p = l ( F1 F3 )

How it works ?

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 23 / 174

The X4 helicopter
How it works ?
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Principe de fonctionnement 4 xed rotors with controlled rotation speed si 4 moteurs 4 generated forces prop. Fi 4 forces 4 counter-rotating 4 couplestorques prop. i Contrle : generated with a Roll movement Roulis : dissymmetry between left and right Tangage : 3 forces: Lacet : r = l (F4 F2 ) Pitch movement generated with a dissymmetry between front and rear 2 forces: p = l ( F1 F3 ) Yaw movement generated with a dissymmetry between front/rear and left/right torques: y = 1 + 3 2 4
Nonlinear Control

Observers N. Marchand (gipsa-lab) Master PSPI 2009-2010 23 / 174

The X4 helicopter
Building a model (1/3)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Electrical motor: A 2nd order system with friction and saturation usually approximated by a 1rst order system: i s =
2 km 1 km si load + satU i (Ui ) Jr R Jr Jr R

i {1, 2, 3, 4} (1)

Linear approaches
Antiwindup Linearization Gain scheduling

si : rotation speed Ui : voltage applied to the motor; real control variable load : motor load: load = kgearbox |si | si with drag coecient

Aerodynamical forces and torques: Very complex models exist

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 24 / 174

The X4 helicopter
Building a model (1/3)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Electrical motor: A 2nd order system with friction and saturation usually approximated by a 1rst order system: i s =
2 km 1 km si load + satU i (Ui ) Jr R Jr Jr R

i {1, 2, 3, 4} (1)

Linear approaches
Antiwindup Linearization Gain scheduling

si : rotation speed Ui : voltage applied to the motor; real control variable load : motor load: load = kgearbox |si | si with drag coecient

Aerodynamical forces and torques: Very complex models exist but overcomplicated for control, better use the simplied model: Fi r p y = = = = bsi2 2 s 2) lb (s4 2 2 s 2) lb (s1 3 2 + s 2 s 2 s 2) (s1 3 2 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

i {1, 2, 3, 4}

(2)

b : thrust coecient, : drag coecient


Nonlinear Control Master PSPI 2009-2010 24 / 174

Observers N. Marchand (gipsa-lab)

The X4 helicopter
Building a model (2/3)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

t3 Two frames
a xed frame E (e1 , e2 , e3 ) a frame attached to the X4 T (t1 , t2 , t3 )

t2 t1 e2 e1

Frame change
a rotation matrix R from T to E

e3

Linear approaches
Antiwindup Linearization Gain scheduling

State variables:
Cartesian coordinates (in E )
position p velocity v

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Attitude coordinates:
angular velocity in the moving frame T either: Euler angles three successive rotations about t3 , t1 and t3 of angles angles , and giving R or: Quaternion representation (q0 , q ) = (cos /2, u sin /2) represent a rotation of angle about u

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 25 / 174

The X4 helicopter
Building a model (3/3)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Cartesian coordinates: = v p = mg e3 + R ( mv Attitude:


Euler angles formalism: R J = = R J + tot
0 with = 3 2 3 0 1 2 1 0

Fi (si )t3 )

(3)

Linear approaches
Antiwindup Linearization Gain scheduling

(4)

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

is the skew symmetric tensor associated to Quaternion formalism: = 1 ()q q 2 () = = 1 ( q ) with 2 (q ) = J = J + tot

T q T I33 q0 + q 0

(5)

where tot =
i

Ir t3 si +pert

Observers N. Marchand (gipsa-lab)

gyroscopic torque
Nonlinear Control

r (s2 , s4 ) + p ( s 1 , s 3 ) y (s1 , s2 , s3 , s4 )
Master PSPI 2009-2010 26 / 174

The X4 helicopter
Review of the nonlinearities
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

2 kgearbox i = Jkrm s |si | si + Jkrm i (Ui ) R si Jr R satU p = v 0 = mg e3 + R mv 0 i F i ( si ) R = R 0 r ( s 2 , s 4 ) 0 + = J p (s1 , s3 ) J i Ir y ( s 1 , s 2 , s 3 , s 4 ) i si In red: the nonlinearities In blue: where the control variables act

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 27 / 174

The X4 helicopter
Identication of the parameters
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Electrical motor:
For small very close to a linear Winter 2004-2005 CoaX input steps, the system behaves rst order system Lorsquon bouge laxe, lhlice rpond la perturbation dune manire similaire aux hlices Hence, use linear identication tools Proxflyer ce qui nous promet de bons rsultats sur le CoaX. Malheureusement nous navons pas i is found U on the data-sheet ofsur the motorcontrarotatif (damage avoidance) pu tester le comportement du systme avec les deux hlices le systme nayant
pas deux hlices disposition avant le montage final.
Autonomous Systems Laboratory

Aerodynamical parameters: b and

b and measured with specic test beds, 5.5.2 Mcanisme de contra rotation avec hlices blanches
Nous avons fait tourner le module muni dhlices blanches sur une balance pour avoir quelques chiffres quant la qualit du systme. Les hlices blanches ne sont pas les plus optimise pour notre application, mais elle donne dj des informations utiles pour la suite du projet. Les rsultats sont reprsents dans un tableau et des graphiques plus loin.

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Figure 36 : Hlices blanches

Figure 35 : Ban de test utilis

Observers

Pour tester les hlices ou les moteurs, nous utilisons, en temps normal, un ban de test spcialement conu cet effet. La force de pousse est transmise la balance via un levier (voir N. Marchand (gipsa-lab ) Nonlinear Control Master PSPI 2009-2010 28 / 174

The X4 helicopter
Identication of the parameters
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Electrical motor:
For small input steps, the system behaves very close to a linear rst order system Hence, use linear identication tools i is found on the data-sheet of the motor (damage avoidance) U

Aerodynamical parameters: b and


b and measured with specic test beds, depends upon temperature, distance from ground, etc.

Linear approaches
Antiwindup Linearization Gain scheduling

Mechanical parameters:
l m J Ir length of an arm of the helicopter, easy to measure total mass of the helicopter, easy to measure body inertia, hard to have precisely rotor inertia, hard to have precisely

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 28 / 174

The X4 helicopter
Values of the parameters
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Motor parameters:
parameter km Jr R kgearbox i U description motor constant rotor inertia motor resistance gearbox ratio maximal voltage value 4.3 103 3.4 105 0.67 2.7 103 12 unit N.m/A J.g.m2 V

Aerodynamical parameters:
parameter b description thrust coecient drag coecient value 3.8 106 2.9 105

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Body parameters:
parameter J m l g description inertia matrix mass of the UAV radius of the UAV gravity value 14.6 103 0 0 0 7.8 103 0 0 0 7.8 103 0.458 22.5 9.81 unit kg.m2 kg cm m/s2

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 29 / 174

The X4 helicopter
Open-loop behavior with roll initial speed
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 30 / 174

The X4 helicopter
Open-loop behavior with pitch initial speed
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 31 / 174

The X4 helicopter
Open-loop behavior with yaw initial speed
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 32 / 174

The X4 helicopter
Open-loop behavior with roll and yaw initial speed
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 33 / 174

The X4 helicopter
Open-loop behavior with pitch and yaw initial speed
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 34 / 174

Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 35 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 36 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

Linear systems with saturated inputs


Impact of input saturations on the control of the X4s rotors (1/4)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

We go back to the X4 example and focus on the rotors: i = s


2 km 1 km si load + satU i (Ui ) Jr R Jr Jr R

Linear approaches
Antiwindup Linearization Gain scheduling

If one wants to act on the X4 with desired forces Fid , it is necessary to be able to set the rotors speeds si to sid with sid = 1 d F b i

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

A usual way to control the electrical motor consist in


taking load as un unknown load i neglecting the voltage limitations U

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 37 / 174

Linear systems with saturated inputs


Impact of input saturations on the control of the X4s rotors (2/4)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

The so obtained system is linear si (s ) Ui (s ) =


1 km R + Jkr 2 s m

G 1 + s

Dene a PI controller for it: C (s ) = Kp + Taking Ki = is:


1 CL G

Linear approaches
Antiwindup Linearization Gain scheduling

Ki s

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

and Kp = Ki , the closed loop system si ( s ) Ui (s ) 1 1 + CL s

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 38 / 174

Linear systems with saturated inputs


Impact of input saturations on the control of the X4s rotors (3/4)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
600

Make a step that compensates the weight, that is such d that sid = mg i Fi = mg 4b so that Taking CL = 50 ms, one gets with saturations

400

Linear approaches
Antiwindup Linearization Gain scheduling

si

200

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

80 60 40

Ui

20 0 20 0 1 2 3 4 5

Observers N. Marchand (gipsa-lab) Nonlinear Control

time
Master PSPI 2009-2010 39 / 174

Linear systems with saturated inputs


Saturation may cause instability
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Pulse Generator

The result could be worse:


7s+5 s Control Saturation 1 s-1 Transfer Fcn

For u [1.2, 1.2], the closed-loop behavior is:


4 3.5 3 2.5 2 1.5 1

Linear approaches
Antiwindup Linearization Gain scheduling

with saturation without saturation

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

0.5 0 0.5 1 0 1 2 3 4 5

Saturations may lead to instability especially in the presence of integrators in the loop

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 40 / 174

Linear systems with saturated inputs


6. Linear systems with a nonlinearity

Key idea of the anti-windup scheme

Nonlinear Control N. Marchand References Outline Introduction


Linear/Nonlinear The X4 example

Consider a linear system with a PID controller:


PID controller Linear system

Linear approaches
Antiwindup Linearization Gain scheduling

Kd Kp KI

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

1/s

The instability comes from the integration of the error Key idea: soften the integral eect when the control is saturated

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 41 / 174

Linear systems with saturated inputs


6. Linear systems with a nonlinearity

PID controller with anti-windup


Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Structure of the PID controller with anti-windup:


Anti Windup PID controller Linear system

Kd Kp KI

Linear approaches
Antiwindup Linearization Gain scheduling

1/s Ks

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

, that is if u is not saturated, then the PID If u = u controller with anti-windup is identical to the classical PID controller ), Ks tunes the reduction of the If u is saturated (u = u integral eect of the PID
Nonlinear Control Master PSPI 2009-2010 42 / 174

Linear systems with saturated inputs


General controller with anti-windup
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Structure of the general dynamic controller: D F e G


+ +

Linear approaches
Antiwindup Linearization Gain scheduling

1 s

+ +

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

with dynamics given by: c x u = Fxc + Ge = Cxc + De

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 43 / 174

Linear systems with saturated inputs


General controller with anti-windup
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Anti-windup structure of the general dynamic controller: D


F KC

e
G KD

+ +

1 s

C K

+ +

Linear approaches
Antiwindup Linearization Gain scheduling

with dynamics given by: c x = Fxc + Ge + K (u Cxc De ) = (F KC )xc + (G KD )e + Ku

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Choice of the antiwindup parameters


Take K such that (F KC ) is stable and |max (F KC )| > |max (F )|
Nonlinear Control Master PSPI 2009-2010 44 / 174

Observers N. Marchand (gipsa-lab)

Linear systems with saturated inputs


A short Lyapunov explanation of the behavior
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Consider a stable closed loop linear system: it is globally asymptotically stable. A saturation on the input may:
transform the global stability into local stability. In this case, the aim of the anti-windup is to increase the radius of attraction of the closed loop system keep the global stability property. In this case, the aim of the anti-windup is to renders the saturated system closer to its unsaturated equivalent

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

However, there is no formal proof of stability of anti-windup strategies

Other approaches for saturated inputs


Optimal control Nested saturation function (under development)
Nonlinear Control Master PSPI 2009-2010 45 / 174

Observers N. Marchand (gipsa-lab)

Linear systems with saturated inputs


Back to the unstable case
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Pulse Generator

The unstable case:


7s+5 s Control Saturation 1 s-1 Transfer Fcn

The closed-loop behavior is:


4 3.5 3 2.5 2

Linear approaches
Antiwindup Linearization Gain scheduling

with saturation with saturation and anti-windup

without saturation
1 0.5 0 0.5 1 0 1 2

1.5

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

However, nothing is magic and divergent behavior may occur because of the level of the step input

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 46 / 174

Linear systems with saturated inputs


Impact of input saturations on the control of the X4s rotors (4/4)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
600

Make a step that compensates the weight, that is such d that sid = mg i Fi = mg 4b so that Taking CL = 50 ms, one gets with anti-windup

400

Linear approaches
Antiwindup Linearization Gain scheduling

si

200

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

80 60 40

Ui

20 0 20 0 1 2 3 4 5

Observers N. Marchand (gipsa-lab) Nonlinear Control

time
Master PSPI 2009-2010 47 / 174

Nonlinear Control N. Marchand References Outline Introduction


Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 48 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

Linearization of nonlinear systems


Impact of the load on the control of the X4s rotors
Nonlinear Control N. Marchand References
600

Make a step that compensates the weight, that is such that sid = that = mg Taking CL = 50 ms, one gets with load
d i Fi

mg 4b

so

Outline Introduction
Linear/Nonlinear The X4 example
400

si

200

Linear approaches
Antiwindup Linearization Gain scheduling

20 10 0

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Ui
10 20

time

Observers N. Marchand (gipsa-lab)

The PI controller seems badly tuned: for t > 1.3 s , the control is not saturated but the convergence is very slow. Whats wrong ?
Nonlinear Control Master PSPI 2009-2010 49 / 174

Linearization of nonlinear systems


Impact of the load on the control of the X4s rotors
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Back to the rotor dynamical equation: i = s


2 kgearbox km km si |si | si + satU i (Ui ) Jr R Jr Jr R

Linear approaches
Antiwindup Linearization Gain scheduling

Taking load as unknown implies that the PI control law was tuned for: i = s
2 km km si + satU i (Ui ) Jr R Jr R

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Implicitly, the second order terms were neglected Unfortunately, these two systems behave similarly i si is 1 small, which is not the case for sid = mg 4b 544 rad s
Nonlinear Control Master PSPI 2009-2010 50 / 174

Observers N. Marchand (gipsa-lab)

Linearization of nonlinear systems


Linearization at the origin
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linearization at the origin


Take a nonlinear system x y = f (x , u ) = h (x , u )

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

with f (0, 0) = 0. Then, near the origin, it can be approximated by its linear Taylor expansion at the rst order: f f = x x+ u x u (x =0,u=0) (x =0,u =0) y h(0, 0) =
A B

h x

h x+ u (x =0,u =0)
C

u
(x =0,u =0) D

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 51 / 174

Linearization of nonlinear systems


Linearization at a point
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linearization at a point
Take a nonlinear system x y = f (x , u ) = h (x , u )

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

then, near the equilibrium point (x0 , u0 ), it can be approximated by its linear Taylor expansion at the rst order: f f x = (x x0 ) + (u u0 ) x (x0 ,u0 ) u (x0 ,u0 ) x x u y h(x0 , u0 ) =
A B

h x

(x x0 ) +
(x0 ,u0 ) C x

h u

(u u0 )
(x0 ,u0 ) D u

= x x0 and u = u u0 which is linear in the variables x

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 52 / 174

Linearization of nonlinear systems


Some properties of the linearization
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Controllability properties
Take a nonlinear system = f (x , u ) x and its linearization at (x0 , u0 ): = Ax + Bu x (7) (6)

Linear approaches
Antiwindup Linearization Gain scheduling

If (7) is controllable then (6) is locally controllable Nothing can be concluded if (7) is uncontrollable

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Example
The car is controllable but not its linearization 1 = u1 1 x x 1 0 x 2 = u2 2 = 0 1 u1 u2 x linearization at the origin 3 = x2 u1 3 x x 0 0
Nonlinear Control Master PSPI 2009-2010 53 / 174

Observers

N. Marchand (gipsa-lab)

Linearization of nonlinear systems


Some properties of the linearization
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Stability properties
Take a nonlinear system = f (x , u ) x and its linearization at (x0 , u0 ): = Ax + Bu x = k (x ) so that: Assume that one can build a feedback law u (9) is asymptotically stable ( < 0): then (8) is locally ) asymptotically stable with u = u0 + k (x (9) is unstable ( > 0): then (8) is locally unstable with ) u = u0 + k (x Nothing can be concluded if (9) is simply stable ( 0) (9) (8)

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 54 / 174

Linearization of nonlinear systems


Impact of the load on the control of the X4s rotors
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Back to the rotor dynamical equation: i = s


2 kgearbox km km si |si | si + satU i (Ui ) Jr R Jr Jr R

Dene Uid , the constant control that keeps the steady state speed: Uid = km sid + Rkgearbox d d si si km

Linear approaches
Antiwindup Linearization Gain scheduling

The linearization of the rotor dynamics near sid gives: i = s with:


2 2kgearbox d km + si Jr R Jr

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

si +

km i ) satU i (U Jr R

i = Ui U d U i si = si sid i ) = U sat i (U

Observers N. Marchand (gipsa-lab)

i U i U i U

i , +U i ] if Ui [U i if Ui U i if Ui U
Master PSPI 2009-2010 55 / 174

Nonlinear Control

Linearization of nonlinear systems


Impact of the load on the control of the X4s rotors
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
600

Make a step that compensates the weight, that is such that d sid = mg i Fi = mg 4b so that Taking CL = 50 ms and a PI controller tuned at sid on the system with load, one has:

400

Linear approaches
Antiwindup Linearization Gain scheduling

si

200

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

20 10 0

Ui
10 20 0 1 2 3 4 5

time
Nonlinear Control Master PSPI 2009-2010 56 / 174

Observers N. Marchand (gipsa-lab)

Nonlinear Control N. Marchand References Outline Introduction


Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 57 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

Towards gain scheduling


Impact of a change in the steady state speed of the X4s rotors
Nonlinear Control N. Marchand References
400

Take again CL = 50 ms and a PI controller tuned at sid Make speed steps of dierent level
600

Outline Introduction
Linear/Nonlinear The X4 example
200

si

0 200

Linear approaches
Antiwindup Linearization Gain scheduling

10

20 10 0

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Ui
10 20 0 2 4 6 8 10

time

The controller is well tuned near sid but not very good a large range of use
Nonlinear Control Master PSPI 2009-2010 58 / 174

Observers N. Marchand (gipsa-lab)

Towards gain scheduling


Local linearization may be inadequate for large excursion
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

The result could be worse: Take the inverted pendulum

1 ()

m+M ml cos ml cos I + ml 2

mgl sin 2 sin k y u + ml

where
I is the inertia of the pendulum () = (I + ml 2 )(m + M ) m2 l 2 cos2

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

Linearize it near the upper position y, y ): k = 0 and x = (, , 1 0 1 0 x 2 x 2 = 3 0 0 x 3 0 0 0 4 x 1 3 0 0


Nonlinear Control

( = 0) with m = M = I = g = 1, 0 0 x1 x2 1 0 + 3 u 1 x3 0 2 x4 0 3
Master PSPI 2009-2010 59 / 174

Towards gain scheduling


Local linearization may be inadequate for large excursion
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Build a linear feedback law that places the poles at -1 Starting from (0) = /5, it converges, from (0) = 1.1 /5, it diverges
15 15

Inverted pendulum

Linearization of the inverted pendulum Initial condition: x (0) = (/5, 0, 0, 0)

Linear approaches
Antiwindup Linearization Gain scheduling

10

10

x (0) = (1.1/5, 0, 0, 0)

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

10

15

10

15

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 60 / 174

Towards gain scheduling


Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

For some systems, the radius of attraction of a stabilized linearization may be very small (less than one degree on the double inverted pendulum for instance) Linearization is not suitable for large range of use of the closed-loop system For other systems, the controller must be very nely tuned in order to meet performance requirements (e.g. automotive with more and more restrictive pollution standards) Linearization is not suitable for high accuracy closed loop systems Either for stability reasons or performance reasons, it may be necessary to tune the controller at more than one operating point

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 61 / 174

Towards gain scheduling


Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Gain scheduling uses the idea of using a collection of linearization of a nonlinear system at dierent operating points

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 62 / 174

Gain scheduling
Take a nonlinear system
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

= f (x , u )

Dene a family of equilibrium points s = (xeq , ueq ) such that f (xeq , ueq ) = 0

Linear approaches
Antiwindup Linearization Gain scheduling

At each point s , linearize the system assuming s is constant: = A(s )x + B (s )u x = x xeq and u = u ueq with x At each point s , dene a feedback law: u = ueq (s ) K (s )(x xeq (s )) with (Eig(A(s ) B (s )K (s ))) < 0
Nonlinear Control Master PSPI 2009-2010 63 / 174

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

Gain scheduling
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

The controller is then obtained by changing s in the a priori dened collection of points The change of s can be done discontinuously or continuously by interpolation

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 64 / 174

Gain scheduling
Drawbacks of gain scheduling :
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

 Convergence only if s varies slowly  The performance within a linearization area may be poor  The mapping may be prohibitive if the number of states is large  The stability issues are not clear

Recent evolution of gain scheduling:


Dynamic gain scheduling: improve the transition between the dierent controllers, limits the importance of the slow motion of s LPV: Linear parameter varying methods considers the nonlinear system as x = A((x ))x + B ((x ))u

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

and, under some conditions, uses LMI to build a feedback. Improves the performance within a linearization area.

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 65 / 174

Gain scheduling
Handling changes in the steady state speed of the X4s rotors
Nonlinear Control N. Marchand References
400

Take again CL = 50 ms and a PI controller tuned at si Make speed steps of dierent level
600

Outline
200

Introduction
Linear/Nonlinear The X4 example

si

0 200

Linear approaches
Antiwindup Linearization Gain scheduling
20 10 0

10

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Ui
10 20 0 2 4 6 8 10

time

The rotors are now well controlled

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 66 / 174

Stability
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 67 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

Stability
Consider the autonomous nonlinear system:
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

= f (x , u (x )) = g (x )

(10)

Stability
System (10) is said to be stable at the origin i: R > 0, r (R ) > 0 such that x0 B (r (R )), x (t ; x0 ), solution of (10) with x0 as initial condition, remains in B (R ) for all t > 0.

Linear approaches
Antiwindup Linearization Gain scheduling

Attractivity
The origin is said to be attractive i: limt x (t ; x0 ) = 0.

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Asymptotic stability
System (10) is said to be asymptotically stable at the origin i it is stable and attractive
Nonlinear Control Master PSPI 2009-2010 68 / 174

Observers

N. Marchand (gipsa-lab)

Stability
Graphical interpretation
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

A For nonlinear systems: Attractivity


Nonlinear Control

For linear systems: Attractivity Stability Stability Stability and attractivity : properties hard to check ?

Observers N. Marchand (gipsa-lab) Master PSPI 2009-2010 69 / 174

Stability
Using the linearization
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Asymptotic stability and local linearizaton


= g (x ) and its linearization at the origin Consider x g = x x . Then: x
x =0

Linear approaches
Antiwindup Linearization Gain scheduling

Linearization with eig< 0 asymptotically stable Linearization with eig> 0 unstable

Nonlinear system is locally Nonlinear system is locally

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Linearization with eig= 0: nothing can be concluded on the nonlinear system (may be stable or unstable) Only local conclusions

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 70 / 174

Stability
Lyapunov theory: Lyapunov functions
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Aleksandr Mikhailovich Lyapunov


Markovs school friend, Chebyshevs student
Master Thesis : On the stability of ellipsoidal forms of equilibrium of a rotating liquid in 1884 Phd Thesis : The general problem of the stability of motion in 1892

6 June 1857 - 3 Nov 1918

Linear approaches
Antiwindup Linearization Gain scheduling

Denition: Lyapunov function


Let V : Rn R be a continuous function such that:
1

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

(denite) V (x ) = 0 x = 0 (positive) x , V (x ) 0 (radially unbounded) lim


x V (x )

2 3

= +

Lyapunov functions are energies


Nonlinear Control Master PSPI 2009-2010 71 / 174

Observers N. Marchand (gipsa-lab)

Markovs school friend, Chebyshevs student


Master Thesis : On the stability of ellipsoidal forms of equilibrium of a rotating liquid in 1884 Phd Thesis : The general problem of the stability of motion in 1892

Stability

June Lyapunov 1857 - 3 Nov 1918 Lyapunov 6 theory: theorem


Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Aleksandr Mikhailovich Lyapunov


Markovs school friend, Chebyshevs student
Master Thesis : On the stability of ellipsoidal forms of equilibrium of a rotating liquid in 1884 Phd Thesis : The general problem of the stability of motion in 1892

6 June 1857 - 3 Nov 1918

Linear approaches
Antiwindup Linearization Gain scheduling

Theorem: (First) Lyapunov theorem


If a Lyapunov function V : Rn R+ s.t. (strictly decreasing) V (x (t )) is strictly decreasing for all x (0) = 0

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

then the origin is asymptotically stable. If a Lyapunov function V : Rn R+ s.t. (decreasing) V (x (t )) is decreasing then the origin is stable.
Nonlinear Control Master PSPI 2009-2010 72 / 174

Observers

N. Marchand (gipsa-lab)

Stability
Lyapunov theorem: a graphical interpretation
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 73 / 174

Stability
Stability and robustness
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Stability holds robustness: = V g (x ) < 0 = g (x ) stable V x x V (g (x ) + (x )) < 0 x = g (x ) + (x ) stable x

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 74 / 174

Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 75 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

The X4 helicopter
The control problems
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

i s p mv R J

= = v = = =

2 km Jr R s i

kgearbox Jr

|si | si +

mg e3 + R R J

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Attitude control problem 0 r (s2 , s4 ) 0 + p (s1 , s3 ) i Ir y ( s 1 , s 2 , s 3 , s 4 ) i si

0 0 i F i ( si )

Position control problem

km Jr R

satU i (Ui )

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 76 / 174

Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 77 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

Control Lyapunov functions


Characterizing property (1/3)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Control Lyapunov functions (CLF) where introduced in the 80s CLF are for controllability and control what Lyapunov functions are for stability Lyapunov: a tool for stability analysis of autonomous systems
Take 1 x 2 x Take the Lyapunov function V (x ) = 3 2 2 x + x1 x2 + x2 2 1 = = x2 x1 x2

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Along the trajectories of the system: (x (t )) V = V (x ).f (x ) = x


2

Observers N. Marchand (gipsa-lab)

hence, V 0 and the system is asymptotically stable


Nonlinear Control Master PSPI 2009-2010 78 / 174

Control Lyapunov functions


Characterizing property (2/3)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Control Lyapunov Functions: a tool for stabilization of controlled systems


Take now the controlled system 1 x 2 x = = x2 x1 + u

Linear approaches
Antiwindup Linearization Gain scheduling

Take the Lyapunov function V (x ) = 3 2 2 x + x1 x2 + x2 2 1

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Along the trajectories of the system: (x (t ), u (t )) V = V ( x ) .f ( x , u ) 2 2 = x1 + x1 x2 + x2 + (x1 + 2x2 )u

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 79 / 174

Control Lyapunov functions


Characterizing property (3/3)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Control Lyapunov Functions: a tool for stabilization of controlled systems


Along the trajectories of the system: (x (t ), u (t )) V = V ( x ) .f ( x , u ) 2 2 = x1 + x1 x2 + x2 + (x1 + 2x2 )u

Linear approaches
Antiwindup Linearization Gain scheduling

hence
if x1 + 2x2 = 0, there exists u such that V otherwise (if x1 + 2x2 = 0) (x (t ), u (t )) V =
2 2 2 2 4x2 2x2 + x2 = 5x2

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

which is negative unless x2 = 0 = 1 x : V 2 1

In conclusion: characterizing property of CLF


(x (t ), u (t )) < 0 For any x = 0, there exists u such that V
Nonlinear Control Master PSPI 2009-2010 80 / 174

Observers N. Marchand (gipsa-lab)

Control Lyapunov functions


Formal denitions
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Denition: Lyapunov function


A continuous function V : Rn R0 is called a Lyapunov function if
1

[positive deniteness] V (x ) 0 for all x and V (0) = 0 if and only if x = 0 [radially unbounded] limx V (x ) = + [positive deniteness] V (x ) 0 for all x and V (0) = 0 if and only if x = 0 [proper] for each a 0, the set {x |V (x ) a} is compact (, K ) ( x ) V (x ) ( x ) x Rn

Linear approaches
Antiwindup Linearization Gain scheduling

or:
1

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

or, alternatively:

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 81 / 174

Control Lyapunov functions


Formal denitions
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Denition: Control Lyapunov Function


A dierentiable control Lyapunov function denotes a dierentiable Lyapunov function being innitesimally decreasing, meaning that there exists a positive continuous denite function W : Rn R0 and such that:
m x Rn u R

Linear approaches
Antiwindup Linearization Gain scheduling

sup min V (x )f (x , u ) + W (x ) 0

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Roughly speaking a CLF is a Lyapunov function that one can force to decrease Extensions to nonsmooth CLF exist and are necessary for the class of system that can not be stabilized by means of smooth static feedback
Nonlinear Control Master PSPI 2009-2010 82 / 174

Observers N. Marchand (gipsa-lab)

Control Lyapunov functions


Control ane systems
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Denition: Directional Lie derivative


For any f and g with values in appropriate sets, the Lie derivative of g along f is dened by: Lf g (x ) := g (x ) f (x ) Iteratively, one denes:
k 1 Lk g (x ) f g (x ) := Lf Lf

Theorem
= g0 ( x ) + Consider a control ane system x f (0) = 0. Assume that the set
m i =1 ui gi (x )

Linear approaches
Antiwindup Linearization Gain scheduling

with f smooth and

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

S = x |Lf V (x ) = 0 and Lk f Lgi V (x ) = 0 for all k N, i {1, . . . , m} then, the feedback k (x ) := (V (x ) G (x ))T = Lg1 V (x ) globally asymptotically stabilizes the system at the origin. Lgm V (x )
T

= {0}

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 83 / 174

Control Lyapunov functions


Control ane systems
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Theorem: Sontags universal formula (1989)


= g0 ( x ) + m Consider a control ane system x i =1 ui gi (x ) with f smooth and f (0) = 0. Assume that there exists a dierentiable CLF, then the feedback ki (x ) = bi (x )(a(x ), (x )) (= 0 for x = 0)

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

a(x ) := V (x )f (x ) and bi (x ) := V (x )gi (x ) for i = 1, . . . , m B (x ) = b1 (x ) b2 (x ) and (x ) = B (x ) 2 q : R R is any real analytic function with q (0) = 0 and bq (b ) > 0 for any b>0 is the real analytic function: a+ a2 +bq (b ) if b = 0 b ( a , b ) = 0 if b = 0 is such that k (0) = 0, k smooth on Rn \0 and
x Rn

sup V (x )f (x , k (x )) + W (x ) 0

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 84 / 174

Control Lyapunov functions


Control ane systems
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Denition: Small control property


A CLF V is said to satises the small control property if for any , there is some so that:
x B() u B()

sup

min V (x )f (x , u ) + W (x ) 0

Linear approaches
Antiwindup Linearization Gain scheduling

The small control property implicitly means that if is small (hence the control), the system can still be controlled as long as it is suciently close to the origin

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Theorem: Sontags universal formula (1989)


= g0 (x ) + i = 1m ui gi (x ) Consider an control-ane system x with f smooth and f (0) = 0. Assume that there exists a dierentiable CLF, then the previous feedback k with q (b ) = b is smooth on Rn \0 and continuous at the origin
Nonlinear Control Master PSPI 2009-2010 85 / 174

Observers N. Marchand (gipsa-lab)

Control Lyapunov functions


Robustness issues
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Model = f (x , u ) x u = k (x )

Real system = f (x , u )+ x u = k (x +)

Denition: Robustness w.r.t. model errors


A feedback law k : Rn Rm is said to be robust with respect to model errors if limt x (t ) B (r ()) with lim0 r () = 0 (x (t ) denotes the solution of = f (x , k (x )) + ) x

Linear approaches
Antiwindup Linearization Gain scheduling

Denition: Robustness w.r.t. measurement errors


A feedback law k : Rn Rm is said to be robust with respect to measurement errors if limt x (t ) B (r ()) with lim0 r () = 0 (x (t ) denotes the solution = f (x , k (x + ))) of x

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Theorem: Smooth CLF = robust stability (1999)


The existence of a feedback law robust to measurement errors and model errors is equivalent to the existence of a smooth CLF

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 86 / 174

Control Lyapunov functions


Conclusion
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

A CLF is a theoretical tool, not a magical tool A CLF is not a constructive tool Finding a stabilizing control law and nding a CLF are at best the same problems. In all other cases, nding a stabilizing control law is easier than nding a CLF Even if one can nd a CLF for a system, the universal formula often gives a feedback with poor performances However, this is an important eld of research in the control system theory community that proved important theoretical results, for instance the equivalence between asymptotic controllability and stabilizability of nonlinear systems (1997)

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 87 / 174

Other structural tools


Passivity
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Denition: Passivity
A system = f (x , u ) x y = h(x , u )

is said to be passive if there exists some function S (x ) 0 with S (0) = 0 such that
T

Linear approaches
Antiwindup Linearization Gain scheduling

S (x (T )) S (x (0))

u T ()y ()d
0

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

Roughly speaking, S (x (0)) (called the storage function) denotes the largest amount of energy which can be extracted from the system given the initial condition x (0). Passivity eases the design of control law and is a powerful tool for interconnected systems Important literature
Nonlinear Control Master PSPI 2009-2010 88 / 174

Other structural tools


Input-to-State Stability (ISS)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Class K A continuous function : R0 R0 is said in K if it is strictly increasing and (0) = 0 Class KL A continuous function : R0 R0 R0 is said in KL if (, s ) K for each xed s and (r , ) is decreasing for each xed r and lims (r , s ) = 0

Denition: Input-to-State Stability


A system = f (x , u ) x is said to be input-to-state stable if there exists functions KL and K such that for each bounded u () and each x (0), the solution x (t ) exists and is bounded by: x (t ) ( x (0) , t ) + ( sup u () )
0t

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

Roughly speaking, ISS characterizes a relation between the norm of the state and the energy injected in the system: the system can not diverge in nite time with a bounded control ISS eases the design of control law Important literature
Nonlinear Control Master PSPI 2009-2010 89 / 174

Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 90 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

Sliding mode control


An introducing example
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Take again the linear system 1 = x2 x 2 = x1 + u x Assume u is forced to remain in [1, 1]


In practical applications, u is always constrained in an interval [u , u ]. We will see later on how to handle it. To begin, we take the above simplied constraint.

Linear approaches
Antiwindup Linearization Gain scheduling

Take the CLF 3 2 2 + x1 x2 + x2 = xT V (x ) = x1 2


3 2 1 2 1 2

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Goal
Find u in [1, 1] that makes V decrease as fast as possible
Nonlinear Control Master PSPI 2009-2010 91 / 174

Observers N. Marchand (gipsa-lab)

Sliding mode control


An introducing example
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

: Making V decrease as fast as possible is equivalent to minimizing V u = Argmin V


u [1,1] 2 2 2 2 x1 = Argmin 1 x2 2 + x2 1 + 2x2 2 )u 1 + x1 2 + (x1 u [1,1]

= sign(x1 + 2x2 )

can not be changed

minimal for u = sign(x1 +2x2 )

Simulating the closed loop system with initial condition x (0) = (2, 3), it gives:
2

Linear approaches
Antiwindup Linearization Gain scheduling

x2 x1
0 2 4 6 8 10

Stability
1.5

Nonlinear approaches
CLF Sliding mode Geometric control Recursive techniques X4 stabilization

1 0.5 0 0.5 1 1.5 0 2 4 6 8 10

Why does it work ?

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 92 / 174

Sliding mode control


An introducing example
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Dene (x ) = x1 + 2x2 . The set {S (x ) = {x |(x ) = 0}} {|x1 | 0.6, |x2 | 0.3} is attractive:
S = {x

|x

2x

0}

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

x1

x2

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 93 / 174

Sliding mode control


An introducing example
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Dene (x ) = x1 + 2x2 . The set {S (x ) = {x |(x ) = 0}} {|x1 | 0.6, |x2 | 0.3} is attractive:
S = {x

|x

2x

0}

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

<0 SS >0 SS

>0 SS <0 SS

x1

x2

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 93 / 174

Sliding mode control


An introducing example
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

The set {S (x ) = {x |(x ) = 0}} {|x1 | 0.6, |x2 | 0.3} is attractive Once the set is joined, the control is such that x remains on S (x ), that is: (x ) = 0 = x 1 + 2x 2 = x2 x1 + u S Hence, on S (x ), u = sign(x1 + 2x2 ) has the same inuence on the system as the control ueq = x1 x2 On S (x ), the system behaves like: 1 = x2 x 2 = x1 + u = x2 x x2 and hence also x1 clearly exponentially go to zero without leaving {S (x ) = {x |x1 + 2x2 = 0}} {|x1 | 0.6, |x2 | 0.3}

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 94 / 174

Sliding mode control


Principle of sliding mode control
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Principle: Dene a sliding surface S (x ) = {x |(x ) = 0} A stabilizing sliding mode control is a control law
discontinuous in on S (x ) that insures the attractivity of S (x ) such that, on the surface S (x ), the states slides to the origin

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Main characteristic of sliding mode control:  Robust control law  Discontinuities may damage actuators (ltered versions exist)

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 95 / 174

Sliding mode control


Notion of sliding surface and equivalent control
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

With a sliding mode control, the system takes the form: = x f + (x ) f (x ) if (x ) > 0 if (x ) < 0

f + (x ) (x ) > 0 fn+ (x ) fn (x ) f (x )

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

(x ) = 0

(x ) < 0

What happens for (x ) = 0 ? = f + (x ) + (1 )f (x ) The solution on (x ) = 0 is the solution of x where satises fn+ (x ) + (1 )fn (x ) = 0 for the normal projections of f + and f

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 96 / 174

Sliding mode control


A sliding mode control for a class of ane systems
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Theorem: Sliding mode control for a class of nonlinear systems


Take the nonlinear system: 1 f1 (x ) + g1 (x )u x x x1 2 = = f (x ) + g (x )u . . . . . . n xn1 x Choose the control law u= p T f (x ) T sign((x )) T p g (x ) p g (x )

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

with > 0, (x ) = p T x and p T = p1 pn is a stable polynomial (all roots have strictly negative real parts) Then the origin of the closed loop system is asymptotically stable
Nonlinear Control Master PSPI 2009-2010 97 / 174

Sliding mode control


Sliding mode control for some ane systems: proof of convergence
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Proof: Take the Lyapunov function 1 V (x ) = x T pp T x 2


(x ) Note that V (x ) = 2 Along the trajectories of the system, one has:
2

Linear approaches
Antiwindup Linearization Gain scheduling

(x ) = T (x ) (x ) = x T p p T f (x ) + p T g (x )u V with the chosen control, it gives: (x ) = (x ) sign((x )) = |(x )| V x tends to S = {x |(x ) = 0} tunes how fast the system converges to S = {x |(x ) = 0}

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 98 / 174

Sliding mode control


Sliding mode control for some ane systems: proof of convergence
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

On S , the system is such that (x ) = 0 = p1 x1 + + pn1 xn1 + pn xn But: n xn1 = x n1 = xn xn2 = x . . .


(2)

Linear approaches
Antiwindup Linearization Gain scheduling

2 = = xn x1 = x That can be written with zi = xni +1 in the 0 1 0 0 0 1 . .. = z . . . 0 p3 2 p p1 p1

(n1)

form: .. . .. . 0 0 . . . 0 z 1 pn p1

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

Hence, x asymptotically goes to the origin


Nonlinear Control

Master PSPI 2009-2010 99 / 174

Sliding mode control


Sliding mode control for some ane systems: time to switch
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Consider an initial point x0 such that (x0 ) > 0. Since (x ) = (x ) sign((x )) (x ) it follows that as long as (x ) > 0 (x ) = Hence, the instant of the rst switch is ts = (x0 ) <

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Moreover, ts 0 as

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 100 / 174

Sliding mode control


Robustness issues
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Assume that one knows only a model ^ (x ) + g =f x ^ (x )u of the true system = f (x ) + g (x )u x The time derivative of the Lyapunov function is:
T ^g T )p pT g ^f (x ) = (x ) p (f g V sign((x )) pT g ^ pT g ^

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

<0 If sign(p T g ) = sign(p T g ^ ) and > 0 suciently large, V The closed-loop system is robust against model errors

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 101 / 174

Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 102 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

State and output linearization


Introducing examples
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Consider nonlinear the system 1 = 2x1 + ax2 + sin(x1 ) x 2 = x2 cos(x1 ) + u cos(2x1 ) x Take the new set of state variables z1 = x1 z2 = ax1 + sin(x1 ) The state equations become: 1 = 2z1 + z2 z 2 = 2z1 cos(z1 ) + cos(z1 ) sin(z1 ) + au cos(2z1 ) z The nonlinearities can then be canceled taking the new control v : u = 1 (v cos(z1 ) sin(z1 ) + 2z1 cos(z1 )) a cos(2z1 )
Nonlinear Control Master PSPI 2009-2010 103 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

x1 = z1 (z1 ) x2 = z2 sin a

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

State and output linearization


Introducing examples
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

The system then becomes linear: z = 2 1 0 z+ v 0 0 1

Taking v = 2z2 places the poles of the closed-loop in {2, 2} Hence, limt z = 0 Looking back to the transformation: x1 = z1 z2 sin(z1 ) x2 = a one also have limt x = 0 In the original coordinates, the control writes: u= 1 [2ax2 2 sin(x2 )cos(x1 ) sin(x1 )+2x1 cos(x1 )] a cos(2x1 )
Nonlinear Control Master PSPI 2009-2010 104 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

State and output linearization


Introducing examples
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Consider nonlinear the system 1 = sin(x2 ) + (x2 + 1)x3 x


5 2 = x1 x + x3 2 3 = x1 x +u

Linear approaches
Antiwindup Linearization Gain scheduling

Take x1 as output: y = x1 When not imposed, the choice of the appropriate output is often delicate Compute the rst time derivative of y : =x 1 = sin(x2 ) + (x2 + 1)x3 y Compute the second time derivative of y :
5 2 = (x2 + 1)u + (x1 y + x3 )(x3 + cos(x2 )) + (x2 + 1)x1 m(x )

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Taking u =

v m(x ) x2 +1

gives the linear system:

=v y

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 105 / 174

State and output linearization


Introducing examples
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

 Potential problem if x2 = 1 that Here again, take the linear feedback v = y + 2y places the poles of the closed loop system in {1, 1} asymptotically converges to the origin Hence, y and y The state of the system is of dimension 3. Only two variables have been brought to the origin, what about the third one ? Write the system with the new coordinates , x3 ): (z1 , z2 , z3 ) = (y , y Linearized sub-system: Internal dynamics: 1 = z2 z 2 = v z
2 + u (z ) 3 = z1 z

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 106 / 174

State and output linearization


Introducing examples
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

One has to check that the internal dynamics is stable. For this, we = 0 (which happens asymptotically): assume that y = y
0 0 0 5 z1 0 2 +z3 )(z3 + cos x2 ) + (x2 + 1)z1 ) x2 + 1

3 = z

2 z1 +

v ((

Linear approaches
Antiwindup Linearization Gain scheduling

z3 (z3 + cos x2 ) x2 + 1

3 z3 (z3 + 1) z3 : the internal If x2 and z3 are small enough, z dynamics is locally asymptotically stable The approach can be applied if and only if the internal dynamics is stable If the internal dynamics is unstable, the system is called non-minimum phase
Change the input Use additional inputs to stabilize the internal dynamics Other approach in the literature like approximate linearization
Nonlinear Control Master PSPI 2009-2010 107 / 174

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

State and output linearization


Introduction
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Consider again nonlinear systems ane in the control: = f (x ) + g (x )u x y = h (x ) The linearization approach tries to nd
a feedback control law u = (x ) + (x )v and a change of variable z = T (x )

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

that transforms the nonlinear systems into:

Input-State linearization
= Az + Bv z  No systematic approach

Input-Output linearization
y (r ) = v  Systematic approach

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 108 / 174

State and output linearization


The SISO case
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Take

= f (x ) + g (x )u x y = h (x )

The time derivative of y is then given by: h (f (x ) + g (x )u ) = Lf h(x ) + Lg h(x )u x If Lg h(x ) = 0, the control is = y u= 1 (Lf h(x ) + v ) Lg h(x )

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

=v yielding y Otherwise (that is Lg h(x ) 0), dierentiate once more: = y Lf h (f (x ) + g (x )u ) = L2 f h(x ) + Lg Lf h(x )u x
Nonlinear Control Master PSPI 2009-2010 109 / 174

Observers N. Marchand (gipsa-lab)

State and output linearization


The SISO case
Nonlinear Control N. Marchand

If Lg Lf h(x ) = 0, the control is u= 1 (L2 f h (x ) + v ) Lg Lf h(x )

References Outline Introduction


Linear/Nonlinear The X4 example

=v yielding to y ...

Linear approaches
Antiwindup Linearization Gain scheduling

Denition: Relative degree


There exists an integer r n such that Lg Lif h(x ) 0 for all 1 i {1, . . . , r 2} and Lg Lr h(x ) = 0 that is called the relative degree of f the system The control law u= 1
1 Lg Lr h (x ) f

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

(Lr f h (x ) + v )

Observers N. Marchand (gipsa-lab)

yields the linear system y (r ) = v


Nonlinear Control Master PSPI 2009-2010 110 / 174

State and output linearization


The MIMO case
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Take

= f (x ) + g1 (x )u1 + g2 (x )u2 x y1 = h1 (x ) y2 = h2 (x )

The relative degree {r1 , r2 } is then given by: Lg1 Lif1 h1 (x ) = Lg2 Lif1 h1 (x ) = 0 Lg1 Lif1 h2 (x ) = Lg2 Lif1 h2 (x ) = 0 i < r1 i < r2

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Assume that the Input-Output decoupling condition is satised, that is: rank
1 1 1 1 Lg1 Lr h1 (x ) Lg2 Lr h1 (x ) f f r2 1 r2 1 Lg1 Lf h2 (x ) Lg2 Lf h2 (x )

=2

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 111 / 174

State and output linearization


The MIMO case
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

One has: 1 = Lf h1 (x ) + Lg1 h1 (x ) u1 + Lg2 h1 (x ) u2 y


=0 =0

1 = L2 y f h1 (x ) + Lg1 Lf h1 (x ) u1 + Lg2 Lf h1 (x ) u2
=0 =0

. . . y1 1
(r ) r1 1 1 1 1 = Lr h1 (x ) u1 + Lg2 Lr h1 (x ) u2 f f h1 (x ) + Lg1 Lf either =0 or =0

Linear approaches
Antiwindup Linearization Gain scheduling

Make the same for y2 : 2 = Lf h2 (x ) + Lg1 h2 (x ) u1 + Lg2 h2 (x ) u2 y


=0 =0

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

2 = L2 y f h2 (x ) + Lg1 Lf h2 (x ) u1 + Lg2 Lf h2 (x ) u2
=0 =0

. . . y2 2
(r ) r2 1 2 2 1 = Lr h2 (x ) u1 + Lg2 Lr h2 (x ) u2 f h2 (x ) + Lg1 Lf f either =0 or =0

Observers N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 112 / 174

State and output linearization


The MIMO case
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Hence, one has: y1 1 (r ) y2 2


(r )

r1 1 1 1 1 h1 (x ) Lg2 Lr h1 (x ) Lr f f h1 (x ) + Lg1 Lf r2 r2 1 r2 1 Lf h2 (x ) Lg1 Lf h2 (x ) Lg2 Lf h2 (x ) b (x ) A(x )

u1 u2
u

Thanks to the decoupling condition, one can take: u = A(x )1 b (x ) + A(x )1 v which gives two chains of integrators: y1 1 = v1
(r )

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

y2 2 = v2

(r )

This approach can be extended to any output and input sizes

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 113 / 174

State and output linearization


A block diagram representation
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linearization techniques can be interpreted as:

Linear approaches
Antiwindup Linearization Gain scheduling

Linear control Linearizing feedback

Nonlinear system

Linear loop

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 114 / 174

State and output linearization


The general case
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

The internal dynamics or zero-dynamics is then of dimension n r ; its stability has to be checked For linear systems r =number of poles-number of zeros This approach took a rapid development in the 80s Maybe the only general approach for nonlinear system with predictive control Can be extended to MIMO systems with a decoupling condition Many extensions in particular with the notion of atness Power tool for path generation Non robust approach since it is based on coordinate changes that can be sti The control may take too large values Kills nonlinearities even if they are good

      

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 115 / 174

Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 116 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

Backstepping
Main results
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Theorem: backstepping design


= f (, v ) with f (0, 0) = 0 can asymptotically be stabilized with Assume that the system v = k (). Let V denote a C 1 Lyapunov function (denite, positive and radially V unbounded) such that f (, k ()) < 0 for all = 0. Then, the system = f (, ) = h(, ) + u with h(0, 0) = 0 is also asymptotically stabilizable with the control: u (, ) = h(, ) + with
1

Linear approaches
Antiwindup Linearization Gain scheduling

k V f (, ) + k () G (, k ())

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

G (, ) =
0

f (, k () + )d

The Lyapunov function W (, ) = V () + 1 k () 2


2

Observers

is then strictly decreasing for any (, ) = (0, 0)


Nonlinear Control Master PSPI 2009-2010 117 / 174

N. Marchand (gipsa-lab)

Backstepping
Main results
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

The theorem can recursively be applied to


1 2 = = = . . . = = f (, 1 ) a1 (, 1 ) + b1 (, 1 )2 a2 (, 1 , 2 ) + b2 (, 1 , 2 )3

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

n 1 n

an1 (, 1 , 2 , . . . , n2 ) + bn1 (, 1 , 2 , . . . , n2 )n1 an (, 1 , 2 , . . . , n1 ) + bn (, 1 , 2 , . . . , n1 )u

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 118 / 174

Forwarding
Strict-feedforward systems
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Consider the class of strict-feedforward systems: 1 = x2 + f1 (x2 , x3 , . . . , xn , u ) x 2 = x3 + f2 (x3 , . . . , xn , u ) x . . . n1 = xn + fn1 (xn , u ) x n = u x Strict-feedforward systems are in general no feedback linearizable Backstepping is not applicable

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 119 / 174

Forwarding
Forwarding procedure
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

n = un . At step 0: Begin with stabilizing the system x 2 Take e.g. un = xn and the corresponding Lyapunov function Vn = 1 2 xn At step 1: Augment the control law un1 (xn1 , xn ) = un (xn ) + vn1 (xn1 , xn ) such that un1 stabilizes the cascade n1 = xn + fn1 (xn , un1 ) x n = un1 x At step k: Augment the control law unk (xnk , . . . , xn ) = unk +1 (xnk +1 , . . . , xn ) + vnk (xnk , . . . , xn ) such that unk stabilizes the cascade nk = xnk +1 + fnk (xnk +1 , . . . , xn , unk ) . . .

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

n1 = xn + fn1 (xn , unk ) x n = unk x

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 120 / 174

Forwarding
Forwarding procedure
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

The control law unk always exists for all k {1, . . . , n 1} 1 2 Vk = Vk +1 + xk + 2

The Lyapunov function at step k can be given by: xk ()fk (xk +1 (), . . . , xn ())d
0

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

To avoid computations of the integrals, low-gain control can be used. It gave rise to an important litterature on bounded feedback control (Teel (91), Sussmann et al. (94)) Various extensions for more general system exist but are still based on the same recursive construction Forwarding can be interpreted with passivity, ISS or optimal control
Nonlinear Control Master PSPI 2009-2010 121 / 174

Observers N. Marchand (gipsa-lab)

Backstepping/Forwarding
An interpretation of the names
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 122 / 174

Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 123 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

The X4 helicopter
X4 position stabilization
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

The aim is now to apply nonlinear control techniques to the stabilization problem of an X4 helicopter at a point Input-Ouput Linearization techniques can not be applied since the system is non minimum phase The backstepping approach is inspired from
S. Bouabdallah and R. Siegwart, Backstepping and sliding-mode techniques applied to an indoor micro quadrotor, at the EPFL (Lausanne, Switzerland) presented at the International Conference on Robotics and Automation 2005 (ICRA05, Barcelonna, Spain)

Linear approaches
Antiwindup Linearization Gain scheduling

The PVTOL control strategy comes from


A. Hably, F. Kendoul, N. Marchand and P. Castillo, Positive Systems, chapter: "Further results on global stabilization of the PVTOL aircraft", pp 303-310, Springer Verlag , 2006

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

The saturated control law is taken in:


N. Marchand and A. Hably, "Nonlinear stabilization of multiple integrators with bounded controls", Automatica, vol. 2147-2152, 2005. 41, no. 12, pp

Observers N. Marchand (gipsa-lab)

Revealing example of what often happens in nonlinear: a solution comes from the combination of dierent methods
Nonlinear Control Master PSPI 2009-2010 124 / 174

The X4 helicopter
A two steps approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

i s p mv R J

= = v = = =

2 km Jr R s i

kgearbox Jr

|si | si +

mg e3 + R R J

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Attitude control problem 0 r (s2 , s4 ) 0 + p (s1 , s3 ) i Ir y ( s 1 , s 2 , s 3 , s 4 ) i si

0 0 i F i ( si )

Position control problem

km Jr R

satU i (Ui )

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 125 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

The aim of this rst step is to be able to bring (, , ) to any desired conguration (d , d , d ) Attitude equations (with an appropriate choice of Euler angles): 1 = x2 x x 2 = a1 x4 x6 + b1 r 3 = x4 x 4 = a2 x2 x6 + b2 p x = x6 x 5 6 = a3 x2 x4 + b3 y x , , , ), a1 = J2 J3 , a2 = J3 J1 , with (x1 , . . . , x6 ) = (, , J1 J2 J2 1 1 1 a3 = J1J , b = , b = and b = 1 2 3 J1 J2 J3 3 The system would be trivial to control if (x2 , x4 , x6 ) was the control instead of (r , p , y ) This is precisely the philosophy of backstepping
Nonlinear Control Master PSPI 2009-2010 126 / 174

Observers N. Marchand (gipsa-lab)

The X4 helicopter: attitude stabilization


Recall of backstepping main result
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Theorem: backstepping design


= f (, v ) with f (0, 0) = 0 can asymptotically be stabilized with Assume that the system v = k (). Let V denote a C 1 Lyapunov function (denite, positive and radially V unbounded) such that f (, k ()) < 0 for all = 0. Then, the system = f (, ) = h(, ) + u with h(0, 0) = 0 is also asymptotically stabilizable with the control: u (, ) = h(, ) + with
1

Linear approaches
Antiwindup Linearization Gain scheduling

k V f (, ) + k () G (, k ())

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

G (, ) =
0

f (, k () + )d

The Lyapunov function W (, ) = V () + 1 k () 2


2

Observers

is then strictly decreasing for any (, ) = (0, 0)


Nonlinear Control Master PSPI 2009-2010 127 / 174

N. Marchand (gipsa-lab)

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Dene rst the tracking error: z1 = x1 x1d z2 = x3 x3d z3 = x5 x5d It gives the subsystem 1 z 2 z 3 z

= d = d = d

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

1d = x2 x 3d = x4 x 5d = x6 x

where, at this step, (x2 , x4 , x6 ) is the control vector


2 Take rst V1 = 1 2 z1 .

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 128 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Along the trajectories of the system, the Lyapunov function gives: 1 = z1 (x2 x 1d ) V 1d 1 z1 with Hence taking as ctive control x2 = x 1 > 0 insures the decrease of V1 : 1 = 1 z 2 V 1 x1 will asymptotically converge to x1d ... unfortunately x2 is not the control and we have to build thanks to backstepping approach the r that will force x2 to make x1 converge to x1d For this, dene the tracking error for x2 : 1d 1 z1 ) z2 = x2 (x
input of subsystem in z1 we would like to put

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control

Master PSPI 2009-2010 129 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

One has 2 = a1 x4 x6 + b1 r x 1d + 1 x2 1 x 1d z
2 x 1 1 z

Recall we have to build the r that will force x2 to make x1 converge to x1d . For this, we use the formula of the backstepping theorem:

Theorem: backstepping design


. . . u (, ) = h(, ) + V k f (, ) + k () G (, k ()) . . .
T

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

with in our case: = z1 = z2 1d + 1 x2 1 x 1d h = a1 x4 x6 x


Nonlinear Control

Observers N. Marchand (gipsa-lab)

1d 1 z1 k = x 1d f = x2 x 2 V = 1 z 2 1
Master PSPI 2009-2010 130 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand

Or more simply, we construct it: W (z1 , z2 ) = V (z1 ) + 1 1d 1 z1 ) x2 ( x 2


2

References Outline Introduction


Linear/Nonlinear The X4 example

1 2 2 = (z1 + z2 ) 2

Along the trajectories of the system: = z1 (x2 x 1d ) + z2 a1 x4 x6 + b1 r x 1d + 1 x2 1 x 1d W v b1 r gives: 1d + 1 x2 1 x 1d = a1 x4 x6 + b1 r x 1d 1 x2 + 1 x 1d = v a1 x4 x6 + x = z1 (x2 x 1d ) + z2 v W


control

Linear approaches
Antiwindup Linearization Gain scheduling

Taking v as new control variable:

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 131 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Trying to write 1d x2 x = 1d + 1 z1 ) 1 z1 +? (x2 x


ideal case
dierence between real and ideal cases

1d + 1 z1 = 1 z1 + x2 x
z2

Linear approaches
Antiwindup Linearization Gain scheduling

Hence, it gives:
= 1 z 2 + z1 z2 +z2 v W 1
can be compensated with v

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Taking: v = z1 2 z2 where 2 > 0 in order to insure = 1 z 2 2 z 2 < 0 W 1 2 Repeating this for and gives the wanted control law
Nonlinear Control Master PSPI 2009-2010 132 / 174

Observers N. Marchand (gipsa-lab)

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Attitude stabilization
The control law given by 1d 1d 1 x2 + 1 x b1 r = z1 2 z2 a1 x4 x6 + x 3d 3d 3 x4 + 3 x b2 p = z3 4 z4 a2 x2 x6 + x 5d 5 x6 + 5 x 5d b3 y = z5 6 z6 a3 x2 x4 + x 1d + 1 z1 , z3 = x3 x3d , with z1 = x1 x1d , z2 = x2 x 3d + 3 z3 , z5 = x5 x5d and z6 = x6 x 5d + 5 z5 z4 = x4 x asymptotically stabilizes (x1 , x3 , x5 ) to their desired position (x1d , x3d , x5d ) This kind of approach appeared in the literature in the last 90s Now better approach based on forwarding are appearing taking into account practical saturation of the control torques
Nonlinear Control Master PSPI 2009-2010 133 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Simulations: apply successive steps of 45 in roll, pitch and yaw


60 40 20 0 20 0 10 20 30 40 50 60 70

Linear approaches
Antiwindup Linearization Gain scheduling

60 40 20 0 20 60 40 20 0 20 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 134 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
60 40 20 0 20 60 40 20 0 20 60 40 20 0 20 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0.5 1 0 1 2 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0 0 10 20 30 40 50 60 70 1 0.5 0 10 20 30 40 50 60 70 0 1

Adjusting the s: with i = 0.2

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Roll, pitch and yaw answers

r , p and y controls

 Too many oscillations

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 135 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
60 40 20 0 20 60 40 20 0 20 60 40 20 0 2 0 20 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 2 2 0 10 20 30 40 50 60 70 0 0 10 20 30 40 50 60 70 5 2 0 10 20 30 40 50 60 70 0 5

Adjusting the s: with i = 2

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Roll, pitch and yaw answers

r , p and y controls

 Seems to be a good choice

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 136 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References
60 100 0 100 50 0 50 50 0 50

Adjusting the s: with i = 10


40 20 0 20 60 40 20 0 20 60 40 20 0 20 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70

Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Roll, pitch and yaw answers

r , p and y controls

 The controls are too large, may be two fast to consider the rotors as instantaneous

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 137 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

Successive steps of 45 in roll, pitch and yaw with i = 2


Nonlinear Control Master PSPI 2009-2010 138 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

The saturation of the possible control torques r , p , y may be problematic On the X4 system, the maximum speed of the rotors is given by the solution of:
2 km smax + kgearbox Rsmax2 km U = 0

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

which gives: smax = 604 rad.s1 The maximum roll and pitch torques are when one rotor is at rest, the other one at is maximum speed (we assume that the rotation is in only one direction):
2 rmax ,p = lbsmax = 0.31 N.m

The maximum yaw torque is obtained when two opposite rotors turn at the smax the two others are at rest:
max 2 y = 2smax = 21.2 N.m
Nonlinear Control Master PSPI 2009-2010 139 / 174

Observers N. Marchand (gipsa-lab)

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Adapt the parameters to the saturation:


Take larger 5,6 than the 1,...,4 Take small enough i to fulll the saturation constraint

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 140 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
60 40 20 0 20 60 40 20 0 20 60 40 20 0 50 0 20 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0.5 50 0 10 20 30 40 50 60 70 0 0 10 20 30 40 50 60 70 1 0.5 0 10 20 30 40 50 60 70 0 1

Adjusting the s: with 1,...,4 = 0.4 and 5,6 = 8

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Roll, pitch and yaw answers

r , p and y controls

 The controls are still too large

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 141 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
60 40 20 0 20 60 40 20 0 20 60 40 20 0 50 0 20 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0.5 50 0 10 20 30 40 50 60 70 0 0 10 20 30 40 50 60 70 1 0.5 0 10 20 30 40 50 60 70 0 1

Adjusting the s: with 1,...,4 = 0.2 and 5,6 = 8

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Roll, pitch and yaw answers

r , p and y controls

 Oscillations are now present

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 142 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline
60 0.5 0 0.5 0.5 0 0.5 50 0 50

Taking 1,...,4 = 0.2 and 5,6 = 8 and applying it on the system with saturations, it gives:
40 20 0 20 60 40 20 0 20 60 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70

Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

40 20 0 20 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70

Roll, pitch and yaw answers

r , p and y controls

 Seems to work

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 143 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

The control law with the saturated system


Nonlinear Control Master PSPI 2009-2010 144 / 174

The X4 helicopter: position control


Simplication of the problem
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

First use the attitude control to adjust the X4 in the right direction:

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 145 / 174

The X4 helicopter: position control


Simplication of the problem
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

There exists a relation between (, , ) and (, , ) (a rotation about the yaw axis) Use the attitude control to drive and keep and to the origin Take now the system in the plane:

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 146 / 174

The X4 helicopter: position control


Simplication of the problem
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

This problem is referred in the literature as the PVTOL aircraft stabilization problem (Planar Vertical Take O and Landing aircraft) The generic equations are: = sin()u x = cos()u 1 y = v
u y v

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

where -1 represent the normalized gravity, v represents the equivalent control torque.

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 147 / 174

The X4 helicopter: position control


A saturation based control
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Dene z (z1 , z2 , z3 , z4 , z5 , z6 )T The system becomes:

)T , y, y , , (x , x

Linear approaches
Antiwindup Linearization Gain scheduling

Translational part: 1 = z2 z Rotational part: 2 = u sin(z5 ) 5 = z6 z z 3 = z4 6 = v z z 4 = u cos(z5 ) 1 z d such that: The idea is to use v to drive z5 to z5 z5d with <
1 2

arctan(

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

r1 ) r2 + 1

(tuning parameter) and () = max(min(, 1), 1): r1 = (z2 ) 2 (z1 + z2 ) r2 = (z4 ) 2 (z3 + z4 )

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 148 / 174

The X4 helicopter: position control


A saturation based control
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

When z5 reaches z5d and applying the thrust control input u u=


2 + (r + 1)2 r1 2

Linear approaches
Antiwindup Linearization Gain scheduling

the translational subsystem takes the form of two independent second order chain of integrators z1 = z2 z3 = z4 z2 = r1 z4 = r2 If we could prove that r1 = (z2 ) 2 (z1 + z2 ) r2 = (z4 ) 2 (z3 + z4 ) insures (z1 , z2 , z3 , z4 ) 0 Then, it will follow that once (z1 , z2 , z3 , z4 ) = 0, z5d = 0 and 5d = z6d = 0 hence also (z5 , z6 ) 0 z
Nonlinear Control Master PSPI 2009-2010 149 / 174

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

The X4 helicopter: position control


A saturation based control
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Remain two problems: Prove that r1 = (z2 ) 2 (z1 + z2 ) r2 = (z4 ) 2 (z3 + z4 ) brings (z1 , z2 , z3 , z4 ) to zero 5d = z6d ) Build a control so that (z5 , z6 ) tends to (z5d , z

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 150 / 174

The X4 helicopter: position control


A saturated control law for linear systems
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

An integrator chain is dened by:


0 . . . . = . x . . . . 1 .. . 0 1 .. . ...
=:A

0 ...

... .. . .. . .. . ...

0 0 . . . . . . u . x + . 0 . 0 1 1 0
=:B

(11)

Linear approaches
Antiwindup Linearization Gain scheduling

Problem: stabilizing (11) with uu u is a positive constant and u

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 151 / 174

The X4 helicopter: position control


A saturated control law for linear systems
Nonlinear Control N. Marchand References

First compute
n i =1

( + i ) = p0 + p1 + + pn1 n1 + n T T Tx with

Outline Introduction
Linear/Nonlinear The X4 example

Apply the coordinate change y :=


n i i =1
n n1

Linear approaches
Antiwindup Linearization Gain scheduling

Tn2 T1

= B = (A + pn1 I )B = (A2 + pn1 A + pn2 I )B . . . = (An1 + pn1 An2 + + p1 I )B

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

The system becomes normalized in


0 n1 n2 . . . 0 0 n2 . . . . .. .. . . . . 0 . . . ... 0 0 ... ... 0 . . y . 0
1 . . . . . v . . . . 1

Observers N. Marchand (gipsa-lab)

with

n i i =1

n i i =1
Master PSPI 2009-2010 152 / 174

Nonlinear Control

The X4 helicopter: position control


A saturated control law for linear systems
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Theorem: An ecient saturated control


Let (n) denote the only root of n 2 + 1 = 0 in ]0, 1[. Then for all with 0 < < (n), u= u
n

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

n i i =1 i =1

ni +1 sat1 (yi )

globally asymptotically stabilizes the integrator chain.

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 153 / 174

The X4 helicopter: position control


A saturated control law for linear systems
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Sketch of the proof:


2 Assume that |yn | > 1 and take Vn := 1 2 yn Then

n = yn sat1 (yn ) yn 2 sat1 (yn1 ) + + n sat1 (y1 ) V


= ||<2 ++n

Linear approaches
Antiwindup Linearization Gain scheduling

So V is decreasing if > 2 + + n 1 2 + n > 0 < ( n ) yn joins [1, 1] in nite time and remains there During that time, yn1 to y1 can not blow up Repeating this scheme for yn1 to y1 gives y B (1) after some time In B (1), the system is linear and stable GAS

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

The construction of this feedback law is based on feedforward

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 154 / 174

The X4 helicopter: position control


A saturation based control
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Remain two problems: Prove that r1 = (z2 ) 2 (z1 + z2 ) r2 = (z4 ) 2 (z3 + z4 ) brings (z1 , z2 , z3 , z4 ) to zero direct application of the saturated control law 5d = z6d ) Build a control so that (z5 , z6 ) tends to (z5d , z take: 5d ) (z6 z 5d ) 2 ((z5 z5d ) + (z6 z 5d )) v = (z that work applying the saturated control law on the 5d variables z5 z5d and z6 z
Nonlinear Control Master PSPI 2009-2010 155 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

The X4 helicopter
Second step: position control
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab)

(, , , x , y , z ) = ( pi , pi , pi , 5, 5, 5) 2 2 4 , , x ,y ,z ) = (0, 0, 0, 1, 2, 0) (,
Nonlinear Control Master PSPI 2009-2010 156 / 174

The X4 helicopter
Second step: position control
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Zoom on the 10 rst seconds with a snapshot every second


Initial conditions: (, , , x , y , z ) = ( pi , pi , pi , 5, 5, 5) 2 2 4 , , x ,y ,z ) = (0, 0, 0, 1, 2, 0) (,
Nonlinear Control Master PSPI 2009-2010 157 / 174

Observers N. Marchand (gipsa-lab)

Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 158 / 174

Linear approaches
Antiwindup Linearization Gain scheduling

3 4

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers

N. Marchand (gipsa-lab)

Nonlinear observers
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

yd
k (x )

Controller

x ^
Observer
1

Linear approaches
Antiwindup Linearization Gain scheduling

Modelization
To get a mathematical representation of the system Dierent kind of model are useful. Often:
a simple model to build the control law a sharp model to check the control law and the observer

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Design the state reconstruction: in order to reconstruct the variables needed for control Design the control and test it Close the loop
Nonlinear Control Master PSPI 2009-2010 159 / 174

Observers N. Marchand (gipsa-lab)

Nonlinear Control N. Marchand References Outline Introduction


Linear/Nonlinear The X4 example

Linear systems: Simple observer (t ) = Ax (t ) + Bu (t ) x y (t ) = Cx (t )


Observability given by rank(C , CA, . . . , CAn1 ) Once the observability has been checked, dene the observer: (t ) = Ax x ^ ^ + Bu (t ) + L(^ y (t ) y (t )) y ^ (t ) = C x ^ (t ) with L such that (eig(A + LC )) < 0. Then x ^ tends to x asymptotically with a speed related to eig(A + LC )

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 160 / 174

Nonlinear Control N. Marchand References Outline Introduction


Linear/Nonlinear The X4 example

Linear systems (cntd.):


convergence of the observer Dene the error e (t ) := x ^(t ) x (t ). Then: (t ) = Ae (t ) + L(^ e y (t ) y (t )) = (A + KC )e (t ) Hence, if (eig(A + LC )) < 0, limt x ^ (t ) = x (t ) Separation principle: the controller and the observer can be designed separately, if each are stable, their association will be stable

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 161 / 174

Linear systems (cntd.): Kalman lter


Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

(t ) = Ax x ^ ^(t ) + Bu (t ) + L(^ y (t ) y (t )) y ^ (t ) = C x ^ (t )
The way to chose L proposed by Kalman is: AP + PAT PC T W 1 CP + V + P = 0 W = WT > 0 L = PC T W 1 with > 2 A or V = V T > 0. enables to tunes the speed of convergence of the observer The observer can also be computed as L = S 1 C T W 1 where AT S + SA C T W 1 C + SVS + S = 0

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 162 / 174

Time-varying linear systems:


Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

(t ) = A(t )x (t ) + B (t )u (t ) x y (t ) = C (t )x (t ) Kalman lter: = A(t )^ x ^ x (t ) + B (t )u (t ) + L(t )(^ y (t ) y (t )) y ^ (t ) = C (t )^ x (t ) with: = AP + PAT PC T W 1 CP + V + P P


T P (0) = P0 = P0 >0

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

W = WT > 0 L = PC T W 1 > 2 A or V = V T > 0 enables to tunes the speed of convergence of the observer
Nonlinear Control Master PSPI 2009-2010 163 / 174

Observers N. Marchand (gipsa-lab)

The observer can also be computed as L = S 1 C T W 1 where


Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

= AT S + SA C T W 1 C + SVS + S S
T S (0) = S0 = S0 >0

The observer is optimal in the sense that it minimizes


t 0

Linear approaches
Antiwindup Linearization Gain scheduling

[C ()z () y ()]T W 1 [C ()z () y ()] + [B ()u ()]T V 1 [B ()u ()] d +


1 (x0 x ^0 )T P0 (x0 x ^0 )

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

The observer is also optimal for


x is aected by a white noise wx of variance V y is aected by a white noise wy of variance W wx and wy are uncorrelated
Nonlinear Control Master PSPI 2009-2010 164 / 174

Observers N. Marchand (gipsa-lab)

Nonlinear systems:
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

(t ) = f (x (t ), u (t )) x y (t ) = h(x (t )) Observability
Linked with the notion that for two trajectories of the system x1 and x2 dened on [0, t ], we must have
t

Linear approaches
Antiwindup Linearization Gain scheduling

h(x1 ()) h(x2 ()) d > 0 if x1 = x2


0

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Linked with the input: = x 0 0 u x 0 y= 1 0 x

is observable for any u (t ) = 0 but not for u (t ) = 0

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 165 / 174

Extended Kalman lter (EKF):


Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

= f (x (t ), u (t )) L(t )(^ x ^ y (t ) y (t )) y ^ (t ) = h(^ x (t )) with = AP + PAT PC T W 1 CP + V + P P


T P (0) = P0 = P0 >0

Linear approaches
Antiwindup Linearization Gain scheduling

W = WT > 0 L = PC T W 1 > 2 A or V = V T > 0 h f (^ x (t ), u (t )) C = (^ x (t )) A= x x No guarantee of convergence (except for specic structure conditions)

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 166 / 174

Luenberger-Like observers
For a system of the form:
Nonlinear Control N. Marchand

(t ) = Ax (t ) + (Cx (t ), u ) x y (t ) = Cx (t ) with (A, C ) observable, if A KC is stable, an observer is:

References Outline Introduction


Linear/Nonlinear The X4 example

(t ) = Ax x ^ ^(t ) + (y (t ), u (t )) K (C x ^(t ) y (t )) For a system of the form: (t ) = A0 x (t ) + (x (t ), u (t )) x y (t ) = C0 x (t ) with (A0 , C0 ) are in canonical form, if A0 K0 C0 is stable, suciently large, global lipschitz and i (x , u ) = 0 for j i + 1 xj an observer is: (t ) = A0 x x ^ ^(t ) + (^ x (t ), u (t )) diag(, 2 , . . . , n )K0 (C0 x ^(t ) y (t ))

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 167 / 174

Kalman-Like observers
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

For a system of the form: (t ) = A(u (t ))x (t ) + B (u (t )) x y (t ) = Cx (t ) an observer is: (t ) = A(u (t ))^ x ^ x (t ) + B (u (t )) K (t )(C x ^(t ) y (t )) with = A(u (t ))P + PAT (u (t )) PC T W 1 CP + V + P P
T P (0) = P0 = P0 > 0, W = W T > 0

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

> 2 A(u (t )) L = PC T W 1

or V = V T > 0

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 168 / 174

Kalman-Like observers (cntd.)


For a system of the form:
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

(t ) = A0 (u (t ), y (t ))x (t ) + (x (t ), u (t )) x y (t ) = C0 x (t ) with: 0 0 1 a12 (u , y ) .. . 0 bounded an1n (u , y ) 0

A0 (u , y )

Linear approaches
Antiwindup Linearization Gain scheduling

C0 i (x , u ) xj

= =

0 for j i + 1

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

an observer is: = A(u , y )^ x ^ x + (^ x , u ) diag(, 2 , . . . , n )K0 (t )(C0 x ^ y) with = A(u (t ))P + PAT (u (t )) PC T W 1 CP + P P
T P (0) = P0 = P0 > 0, W = W T > 0

> 2 A(u (t )) L = PC T W 1

and large enough

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 169 / 174

Nonlinear Control N. Marchand References Outline Introduction


Linear/Nonlinear The X4 example

Not mentionned: Optimal observers (robust, very ecient and easy to tune but costly) Based on something like:
t1

Linear approaches
Antiwindup Linearization Gain scheduling

x ^ = Arg min
x () t0

h(x ()) y ()) d

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Sliding mode observers

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 170 / 174

Observers
Application to the attitude estimation
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Application: attitude estimation


9 sensors:
3 triax accelerometers 3 triax gyrometers 3 triax magnetometers

The accelerometers give: bacc = C (q )( a


acceleration

+ g ) + acc
gravity noise

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

2 where C (q ) = (q0 q T q )I3 + 2(q q T q0 q ) is called the Rodrigues matrix, that is the rotation from the xed frame to the mobile one. The magnetometers give:

bmag = C (q )hmag + mag


noise

Observers N. Marchand (gipsa-lab)

where hmag are the coordinates of the magnetic eld in the xed frame.
Nonlinear Control Master PSPI 2009-2010 171 / 174

Observers
Application to the attitude estimation
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

The gyrometers give: bgyr = + gyr1 + gyr1


noise bias

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

where hmag are the coordinates of the magnetic eld in the xed frame. The bias drift is the main error and it deteriorates the accuracy of the rate gyros on the low frequency band. We take: bgyr = + gyr1 + gyr1 1 = gyr1 + gyr2 gyr1
noise

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 172 / 174

Observers
Application to the attitude estimation
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

Nonlinear observer for attitude estimation


An observer of the attitude can be: = 1 (bgyr q ^ ^ gyr1 + K1 )^ q 2 = T 1 ^ ^ K2 where T is a diagonal matrix of time constant, Ki are positive denite matrices, is given by: = qe sign(qe0 ) where qe = (qe0 , qe ) is the quaternion error between the estimate q ^ and a direct projection obtained with bmag and bacc

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 173 / 174

Application to the estimation = qeattitude sign(qe ) o


Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example

1 qe = q Observers (t) qms (t) = [qe0 qe ]T

(28) (29)

Block diagram of the observer

It is possible to demonstrate that the error model for (25) and T T (26) has the equilibrium state [qe b ] = [1 0 0 0 0 0 0]T and is exponentially stable [19].

Fig.

Eule chan rate obse

Linear approaches
Antiwindup Linearization Gain scheduling

Stability Nonlinear approaches


CLF Sliding mode Geometric control Recursive techniques X4 stabilization

Fig. 3.

Block diagram showing the attitude estimation

Observers N. Marchand (gipsa-lab)

The complet schema of the attitude observer is given in Fig. 3. Remark 2: suppose that the rigid body Master has a slow angular Nonlinear Control PSPI 2009-2010 174 / 174

Вам также может понравиться