Sie sind auf Seite 1von 182

Control of Nonlinear Systems

Nonlinear
Control
N. Marchand

Nicolas Marchand
References
Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches

CNRS Associate researcher

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

Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Master PSPI 2009-2010

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 1 / 174

References
Nonlinear systems Khalil - Prentice-Hall, 2002
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

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

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

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

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
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 3 / 174

Outline
1

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
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 4 / 174

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Some preliminary vocable and definitions


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.)?

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Some strange possible behaviors of nonlinear systems


Example : The X4 helicopter

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 5 / 174

Outline
1

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
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 6 / 174

Some preliminary vocable


Nonlinear
Control
N. Marchand

We consider a dynamical system:

References

System

Outline

u(t)

Introduction

x(t)

y(t)

Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 7 / 174

The 4 steps to control a system


Nonlinear
Control

yd
k(x)

N. Marchand

Controller

References

x^

Outline
Introduction

Observer

Linear/Nonlinear
The X4 example

Linear
approaches

Stability

a simple model to build the control law


a sharp model to check the control law and the observer

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers

Modelization
To get a mathematical representation of the system
Different kind of model are useful. Often:

Antiwindup
Linearization
Gain scheduling

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

N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 8 / 174

Linear dynamical systems


Some properties of linear system (1/2)
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)

Definition: 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:

x = Ax + Bu
y = Cx(+Du)

The model can be obtained


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

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


Nonlinear Control

Master PSPI 2009-2010 9 / 174

Linear dynamical systems


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)

Some properties of linear system (2/2)



x = Ax + Bu
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
<(eig(A + BK )) < 0, the closed-loop system x = Ax + BKx will
be asymptotically stable

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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
...

More and more the performance specification 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, . . . )

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 11 / 174

Nonlinear dynamical systems


How to get a model ?
Nonlinear
Control

Representation:
State space representation:

N. Marchand

ODE Ordinary differential equation:


References
Outline

In this course, only:

x(t)
y (t)

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

=
=

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

PDE Partial differential equation (traffic, flow, etc.):


0
0

=
=

f (x,... )

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

. . . Algebraic differential equations (implicit), hybrid (with


discrete or event based equations), etc.

The model can be obtained


physical modelization and then nonlinear identification of
the parameters (identifiability 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

yd
k(x)

N. Marchand

States: x

Controller

References

x^

Outline
Introduction

Observer

Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

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

Stability

Closed-loop control

Nonlinear
approaches

find u(x) such that limt ky (t) yd (t)k = 0

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers

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

N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 13 / 174

Nonlinear dynamical systems


Aim of control ?
Nonlinear
Control

xd
k(x)

N. Marchand

States: x
Controller

References

x^

Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Observer

Tracking problem
find u(x) such that limt kx(t) xd (t)k = 0

Stabilization problem

Stability

find u(x) such that limt kx(t) xd (t)k = 0 for xd (t) = constant

Nonlinear
approaches

Null stabilization problem

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

find u(x) such that limt kx(t) xd (t)k = 0 for xd (t) = 0


In any cases, a null stabilization problem of z(t) = y (t) yd (t)

In this course

Observers
N. Marchand (gipsa-lab)

Only the stabilization problem will be treated.


Nonlinear Control

Master PSPI 2009-2010 14 / 174

Some strange behaviors of nonlinear systems


The undersea vehicle
Nonlinear
Control
N. Marchand

Simplified model of the undersea vehicle (in one


direction):

References

v (t) = v |v | + u

Outline
Introduction
Linear/Nonlinear
The X4 example

Step answer:
1.5

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

No proportionality
between the input
and the output

u(s) =

2
s

u(s) =

1
s

u(s) =

1
100s

0.5

10

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

Van der Pol oscillator



x 1 = x2
x 2 = x1 h(x1 )x2

N. Marchand
References
Outline

with h(x1 ) = 1 + x12

Introduction
Linear/Nonlinear
The X4 example

Oscillations: tunes the limit cycle

Linear
approaches

Antiwindup
Linearization
Gain scheduling

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

Stability

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

2
2

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

x2

1
0

0
1

2
3

3
0

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

Oscillations: stable limit cycles, fast dynamics


6

N. Marchand

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

References

Outline

3
2

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

x2

1
2

5
30

10

20

time 4

40

3
3

50

x1

Stability

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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

1
0
1

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

2
3

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

Example: the tunnel-d

The tunnel diode model

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

dVC
+ iR
dt

E RiL = VC + L
iR

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

= iL
diL
dt

= h(vR )

It gives:
x 1 (t) =
x 2 (t) =

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

The tunnel diode behavior: bifurcation


with:
iR = 17.76vR 103.79vR2 + 229.62vR3 226.31vR4 + 83.72vR5

N. Marchand
References
Outline

1.4

1.3

x(0) = (0, 1.23)


x(0) = (0, 1.24)

Introduction
1.2

Linear/Nonlinear
The X4 example

1.1
1

Linear
approaches
Antiwindup
Linearization
Gain scheduling

1
0.9

0.8

0.8

x2

0.6

0.7
0.6

0.4

Stability
Nonlinear
approaches

x(0) = (0, 1.23)


x(0) = (0, 1.24)

1.2

0.5
0.2
0.4
0

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

time

10

0.2

0.4

x1

0.6

0.8

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 19 / 174

Some strange behaviors of nonlinear systems


The car parking

The car parking simplified model

Nonlinear
Control

x 1 = u1

N. Marchand
References

x 2 = u2

Outline

x 3 = x2 u1

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

System with a misleading simplicity

Theorem (Brockett (83))


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

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

In practice:
manoeuvres
discontinuous control
time-varying control

Marchand and Alamir (2003)

Stability

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 20 / 174

Nonlinear dynamical systems


Everything is possible
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

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

Everything is possible:
Equilibrium can be unique, multiple, infinite 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 6= 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

Mathematical tool: Lyapunov and differential tools

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 21 / 174

Outline
1

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
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 22 / 174

The X4 helicopter
How it works ?
Nonlinear
Control
N. Marchand

Principe
de fonctionnement
4 fixed rotors
with controlled
rotation
speed si 4 moteurs
s3

References

s4

Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches

s2

Antiwindup
Linearization
Gain scheduling

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

Principe
de fonctionnement
4 fixed rotors
with controlled
rotation
speed si 4 moteurs
4 generated4 forces
forces prop.
Fi

References

F3
F4

Outline
Introduction
Linear/Nonlinear
The X4 example

F2

Linear
approaches

F1

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

Principe
de fonctionnement
4 fixed rotors
with controlled
rotation
speed si 4 moteurs
4 generated4 forces
forces prop.
Fi
4 counter-rotating
4 couplestorques
prop. i

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 23 / 174

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

Linear
approaches

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

F4

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

Stability
Nonlinear
approaches

Principe
de fonctionnement
4 fixed rotors
with controlled
rotation
speed si 4 moteurs
4 generated4 forces
forces prop.
Fi
F3
4 counter-rotating
4 couplestorques
prop. i
Contrlegenerated
:
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 )

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

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Principe
de fonctionnement
4 fixed rotors
with controlled
rotation
speed si 4 moteurs
4 generated4 forces
forces prop.
Fi
4 counter-rotating
4 couplestorques
prop. i
Contrlegenerated
:
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

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Electrical motor: A 2nd order system with friction and saturation


usually approximated by a 1rst order system:
si

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

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

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

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Electrical motor: A 2nd order system with friction and saturation


usually approximated by a 1rst order system:
si

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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

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

Aerodynamical forces and torques: Very complex models exist


but overcomplicated for control, better use the simplified model:

Stability
Nonlinear
approaches

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

Fi
r
p
y

=
=
=
=

bsi2
lb(s42 s22 )
lb(s12 s32 )
(s12 + s32 s22 s42 )

i {1, 2, 3, 4}

(2)

b: thrust coefficient, : drag coefficient

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 24 / 174

The X4 helicopter
Building a model (2/3)
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

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

~t2

Frame change
a rotation matrix R from T to E

State variables:
Cartesian coordinates (in E )

~t1

~e3
~e2
~e1

position ~p
velocity ~v

Attitude coordinates:
~ in the moving frame T
angular velocity
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

Cartesian coordinates:


~p = ~v
P
m~v = mg~e3 + R( i Fi (si )~t3 )

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)

(3)

Attitude:
Euler angles formalism:

~
R = R
~ =
~ J
~ + tot
J

0
~ = 3
with
2

3
0
1

2
1
0

~ is the skew symmetric tensor associated to


~

Quaternion formalism:



~T
0

~
~q = 12 ()q

~ =
()
~
~ 


~
= 12 (q)
with
~q T

(q) =
~ =
~ J
~ + tot
J
I33 q0 + ~q

where tot =

~ ~t3 si +pert
Ir

|
{z
}
gyroscopic torque
Nonlinear Control

(4)

(5)

r (s2 , s4 )
+ p (s1 , s3 )
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
k

si = JkrmR si gearbox
|si | si + JkrmR satU i (Ui )

Jr

~p = ~v

m~v = mg~e3 + R
P 0
i Fi (si )

~
R
=
R

0
r (s2 , s4 )

~ =
~ J
~ i Ir
~ 0 + p (s1 , s3 )

y (s1 , s2 , s3 , s4 )
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
Identification of the parameters
Nonlinear
Control
N. Marchand
References
Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability

Electrical motor:
Autonomous Systems
Laboratory

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

Aerodynamical parameters: b and

b and measured with specific 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.

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
Identification of the parameters

Electrical motor:

Nonlinear
Control

For small input steps, the system behaves very close to a linear
first order system
Hence, use linear identification tools
Ui is found on the data-sheet of the motor (damage avoidance)

N. Marchand
References
Outline

Aerodynamical parameters: b and

Introduction
Linear/Nonlinear
The X4 example

b and measured with specific test beds, depends upon temperature,


distance from ground, etc.

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches

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

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

Motor parameters:
parameter
km
Jr
R
kgearbox
i
U

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

parameter
b

Antiwindup
Linearization
Gain scheduling

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

value
4.3 103
3.4 105
0.67
2.7 103
12

unit
N.m/A
J.g.m2

Aerodynamical parameters:

Linear
approaches

Stability

description
motor constant
rotor inertia
motor resistance
gearbox ratio
maximal voltage

description
thrust coefficient
drag coefficient

value
3.8 106
2.9 105

Body parameters:
parameter

description

inertia matrix

m
l
g

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

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
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 35 / 174

Outline
1

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
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 36 / 174

Linear systems with saturated inputs


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

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



k2
1
km
si = m si load +
satU i (Ui )
Jr R
Jr
Jr R

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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
r
1 d
d
si =
F
b i
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

The so obtained system is linear

N. Marchand

si (s)
Ui (s)

References
Outline

Introduction
Linear/Nonlinear
The X4 example

1
km
+ Jkr 2R s
m

Define a PI controller for it:

Linear
approaches

C (s) = Kp +

Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

G
1 + s

Taking Ki =
is:

1
CL G

Ki
s

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

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

Outline
600

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches

400

si

Antiwindup
Linearization
Gain scheduling

Stability

60
40

Ui

20
0
20

time

Observers
N. Marchand (gipsa-lab)

80

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

200

Nonlinear Control

Master PSPI 2009-2010 39 / 174

Linear systems with saturated inputs


Saturation may cause instability
Nonlinear
Control

The result could be worse:

N. Marchand

7s+5

References

Pulse
Generator

s-1

Control

Saturation

Transfer Fcn

Outline
Introduction
Linear/Nonlinear
The X4 example

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


4
3.5

Linear
approaches
Antiwindup
Linearization
Gain scheduling

with saturation

2.5
2
1.5

without saturation

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

0.5
0
0.5
1

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


Key idea of the anti-windup scheme

6. Linear systems with a nonlinearity

Nonlinear
Control
N. Marchand

Consider a linear system with a PID controller:

References
Outline

PID controller

Linear system

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Kd

Kp
KI

1/s

The instability comes from the integration of the error


Key idea: soften the integral effect 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

Structure of the PID controller with anti-windup:

N. Marchand
References

Anti Windup
PID controller

Linear system

Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Kd
Kp
KI

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

1/s
Ks

Stability
Nonlinear
approaches

If u = u, that is if u is not saturated, then the PID


controller with anti-windup is identical to the classical
PID controller
If u is saturated (u 6= u), Ks tunes the reduction of the
integral effect 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

Structure of the general dynamic controller:

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

F
e

1
s

+ +

with dynamics given by:



x c = Fxc + Ge
u = 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

Anti-windup structure of the general dynamic controller:

N. Marchand

References
F KC

Outline

Introduction

G KD

Linear/Nonlinear
The X4 example

1
s

Linear
approaches

+ +

Antiwindup
Linearization
Gain scheduling

with dynamics given by:

Stability

x c

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

= Fxc + Ge + K (u Cxc De)


= (F KC )xc + (G KD)e + Ku

Choice of the antiwindup parameters


Take K such that (F KC ) is stable and |max (F KC )| > |max (F )|

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 44 / 174

Linear systems with saturated inputs


A short Lyapunov explanation of the behavior
Nonlinear
Control

Consider a stable closed loop linear system: it is


globally asymptotically stable. A saturation on the input
may:

N. Marchand
References

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

Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

However, there is no formal proof of stability of


anti-windup strategies

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Other approaches for saturated inputs


Optimal control
Nested saturation function (under development)

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 45 / 174

Linear systems with saturated inputs


Back to the unstable case
Nonlinear
Control

The unstable case:

N. Marchand

7s+5

References

Pulse
Generator

s-1

Control

Saturation

Transfer Fcn

Outline
Introduction
Linear/Nonlinear
The X4 example

The closed-loop behavior is:


4
3.5

Linear
approaches
Antiwindup
Linearization
Gain scheduling

with saturation

2.5
2
1.5

without saturation

with saturation and anti-windup

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

0.5
0
0.5
1

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

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

Outline
600

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches

400

si

Antiwindup
Linearization
Gain scheduling

Stability

60
40

Ui

20
0
20

time

Observers
N. Marchand (gipsa-lab)

80

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

200

Nonlinear Control

Master PSPI 2009-2010 47 / 174

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
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 48 / 174

Linearization of nonlinear systems


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

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

mg
4b

so

References
600

Outline
400

Introduction
Linear/Nonlinear
The X4 example

si

Linear
approaches

Antiwindup
Linearization
Gain scheduling

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

20

Stability
Nonlinear
approaches

200

10
0

Ui
10
20

time

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

Back to the rotor dynamical equation:


si =

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

Taking load as unknown implies that the PI control law


was tuned for:
si =

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

Implicitly, the second order terms were neglected


Unfortunately, these two systems behave
q similarly iff si is
1
d
small, which is not the case for si = mg
4b 544 rad s
Nonlinear Control

Master PSPI 2009-2010 50 / 174

Linearization of nonlinear systems


Linearization at the origin
Nonlinear
Control
N. Marchand

Linearization at the origin


Take a nonlinear system

References
Outline

x
y

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

Introduction
Linear/Nonlinear
The X4 example

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 first order:

f
f

x =
x+
u

x (x=0,u=0)
u (x=0,u=0)

|
{z
}
|
{z
}

A
B
h
h

x+
u

y h(0, 0) = x

(x=0,u=0)
(x=0,u=0)

|
{z
}
|
{z
}

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

Linearization at a point
Take a nonlinear system

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

x
y

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

then, near the equilibrium point (x0 , u0 ), it can be approximated by its


linear Taylor expansion at the first order:

f
f

x
=
(x

x
)
(u u0 )
+
0

|{z}

x (x0 ,u0 ) | {z } u (x0 ,u0 ) | {z }

x
| {z }
| {z }

x
u

A
B


h
h

y h(x0 , u0 ) =
(x x0 ) +
(u u0 )



|
{z
}
| {z }

x
u

(x0 ,u0 )
(x0 ,u0 )

| {z }
| {z }

x
u
C

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

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

Controllability properties
Take a nonlinear system
x = f (x, u)

(6)

x = A
x + B u

(7)

References
Outline

and its linearization at (x0 , u0 ):

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches

If (7) is controllable then (6) is locally controllable


Nothing can be concluded if (7) is uncontrollable

Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers

Example
The car is controllable but not its linearization

x 1 = u1
x 1
1 0


x 2 = 0 1 u1 u2
x 2 = u2
linearization at the origin
x 3 = x2 u1
x 3
0 0

N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 53 / 174

Linearization of nonlinear systems


Some properties of the linearization
Nonlinear
Control
N. Marchand

Stability properties
Take a nonlinear system

References

x = f (x, u)

Outline
Introduction
Linear/Nonlinear
The X4 example

and its linearization at (x0 , u0 ):


x = A
x + B u

Linear
approaches
Antiwindup
Linearization
Gain scheduling

(8)

(9)

Assume that one can build a feedback law u = k(


x ) so that:

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

(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)

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

Back to the rotor dynamical equation:

N. Marchand

si =

References
Outline

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

Define Uid , the constant control that keeps the steady state speed:

Introduction

Uid = km sid +

Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

The linearization of the rotor dynamics near sid gives:


si =

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

Rkgearbox d d
si si
km

with:


2
2kgearbox d
km
km
i )
+
satU i (U
si si +
Jr R
Jr
Jr R

i = Ui U d
U
i
si = si sid

i ) =
U (U
sat
i

i
U
i
U
i
U

i , +U
i ]
if Ui [U
i
if Ui U
i
if Ui U

Nonlinear Control

Master PSPI 2009-2010 55 / 174

Linearization of nonlinear systems


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

Makeq
a step that compensates the weight, that is such that
P 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:

Outline
600

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches

400

si

Antiwindup
Linearization
Gain scheduling

Stability

20

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

200

10
0

Ui
10
20

time

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 56 / 174

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
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 57 / 174

Towards gain scheduling


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

Take again CL = 50 ms and a PI controller tuned at sid


Make speed steps of different level
600

References
400

Outline
Introduction
Linear/Nonlinear
The X4 example

200

si

Linear
approaches
Antiwindup
Linearization
Gain scheduling

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

10

10

20
10

Stability
Nonlinear
approaches

0
200

Ui
10
20

time

The controller is well tuned near sid but not very good a large
range of use

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 58 / 174

Towards gain scheduling


Local linearization may be inadequate for large excursion
Nonlinear
Control

The result could be worse:

N. Marchand

Take the inverted pendulum

References
Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling




 
1
mgl sin
m+M
ml cos

=
u + ml 2 sin k y
y
() ml cos I + ml 2

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

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 = (, ,

0 1 0
x 1
x 2 2 0 0
= 3
x 3 0 0 0
x 4
13 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

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

References

Inverted pendulum

Linearization of the

Outline

inverted pendulum

Introduction

Initial condition:

Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

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

10

kxk

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

kxk

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


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)

Nonlinear
Control
N. Marchand
References
Outline

Linearization is not suitable for large range of use of


the closed-loop system

Introduction

For other systems, the controller must be very finely


tuned in order to meet performance requirements (e.g.
automotive with more and more restrictive pollution
standards)

Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches

Linearization is not suitable for high accuracy closed


loop systems

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Either for stability reasons or performance reasons, it


may be necessary to tune the controller at more than
one operating point

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 61 / 174

Towards gain scheduling


Nonlinear
Control
N. Marchand

Gain scheduling uses the idea of using a collection of


linearization of a nonlinear system at different
operating points

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 62 / 174

Gain scheduling
Take a nonlinear system
Nonlinear
Control
N. Marchand
References

= f (x, u)

Define a family of equilibrium points

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

s = (xeq , ueq )

such that f (xeq , ueq ) = 0

At each point s, linearize the system assuming s is


constant:
x = A(s)
x + B(s)
u
with x = x xeq and u = u ueq
At each point s, define a feedback law:
u = ueq (s) K (s)(x xeq (s))
with <(Eig(A(s) B(s)K (s))) < 0

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 63 / 174

Gain scheduling
Nonlinear
Control
N. Marchand

The controller is then obtained by changing s in the a


priori defined collection of points
The change of s can be done discontinuously or continuously
by interpolation

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 64 / 174

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

7 Convergence only if s varies slowly


7 The performance within a linearization area may be poor
7 The mapping may be prohibitive if the number of states is
large
7 The stability issues are not clear

Recent evolution of gain scheduling:


Dynamic gain scheduling: improve the transition between
the different controllers, limits the importance of the slow
motion of s
LPV: Linear parameter varying methods considers the
nonlinear system as

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

A((x))x + B((x))u

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

Take again CL = 50 ms and a PI controller tuned at si


Make speed steps of different level
600

References
400

Outline
200

Introduction

si

Linear/Nonlinear
The X4 example

0
200

Linear
approaches

10

10

10

Stability

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

20

Antiwindup
Linearization
Gain scheduling

Nonlinear
approaches

Ui
10
20

time

The rotors are now well controlled

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 66 / 174

Stability
1

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
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 67 / 174

Stability
Consider the autonomous nonlinear system:
Nonlinear
Control

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

(10)

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

Stability
System (10) is said to be stable at the origin iff:
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.

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

Asymptotic stability
System (10) is said to be asymptotically stable at the origin
iff it is stable and attractive

N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 68 / 174

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

For linear systems: Attractivity Stability

A For nonlinear systems: Attractivity 9 Stability


Stability and attractivity : properties hard to check ?

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 69 / 174

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

Linear
approaches

Asymptotic stability and local linearizaton


Consider x = g (x) and its linearization at the origin

x. Then:
x = g
x
x=0

Linearization with eig< 0  Nonlinear system is locally


asymptotically stable

Antiwindup
Linearization
Gain scheduling

Linearization with eig> 0  Nonlinear system is locally


unstable

Stability

Linearization with eig= 0: nothing can be concluded on


the nonlinear system (may be stable or unstable)

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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

Aleksandr Mikhailovich Lyapunov


Markovs school friend, Chebyshevs student

References

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

Outline

6 June 1857 - 3 Nov 1918

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Definition: Lyapunov function


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

Stability
1
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

2
3

(definite) V (x) = 0 x = 0
(positive) x, V (x) 0

(radially unbounded) limkxk V (x) = +

Lyapunov functions are energies

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 71 / 174

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

Aleksandr Mikhailovich Lyapunov

N. Marchand

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

References

6 June 1857 - 3 Nov 1918

Outline
Introduction
Linear/Nonlinear
The X4 example

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) 6= 0

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers

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.

N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 72 / 174

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

Stability holds robustness:

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability

V
x = g (x) stable V =
g (x) < 0
x
V
(g (x) + (x)) < 0

x
x = g (x) + (x) stable

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

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
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 75 / 174

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches

si

~p

m~v

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

=
= ~v
=
=
=

2
km
Jr R s i

kgearbox
Jr

|si | si +

km
Jr R

satU i (Ui )

Position control problem

mg~e3 + R P 0
i Fi (si )
~
R
Attitude
control problem

0
r (s2 , s4 )
P
~ J
~ i Ir
~ 0 + p (s1 , s3 )

P
y (s1 , s2 , s3 , s4 )
i si

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 76 / 174

Outline
1

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
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 77 / 174

Control Lyapunov functions


Characterizing property (1/3)
Nonlinear
Control
N. Marchand
References
Outline
Introduction

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

Linear/Nonlinear
The X4 example

x 1
x 2

Linear
approaches
Antiwindup
Linearization
Gain scheduling

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

x2
x1 x2

Take the Lyapunov function

Stability
Nonlinear
approaches

=
=

V (x)

3 2
x + x1 x2 + x22
2 1

Along the trajectories of the system:


V (x(t))

V (x).f (x) = kxk

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

Control Lyapunov Functions: a tool for stabilization of


controlled systems
Take now the controlled system
x 1
x 2

Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

x2

x1 + u

Take the Lyapunov function


V (x)

Stability
Nonlinear
approaches

3 2
x + x1 x2 + x22
2 1

Along the trajectories of the system:


V (x(t), u(t))

= V (x).f (x, u)
= x12 + x1 x2 + x22 + (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

Control Lyapunov Functions: a tool for stabilization of


controlled systems

N. Marchand

Along the trajectories of the system:

References

V (x(t), u(t))

Outline
Introduction
Linear/Nonlinear
The X4 example

hence

Linear
approaches

if x1 + 2x2 6= 0, there exists u such that V


otherwise (if x1 + 2x2 = 0)

Antiwindup
Linearization
Gain scheduling

Stability

V (x(t), u(t))

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers

= V (x).f (x, u)
= x12 + x1 x2 + x22 + (x1 + 2x2 )u

4x22 2x22 + x22 = 5x22

which is negative unless x2 = 0 = 12 x1 : V

In conclusion: characterizing property of CLF


For any x 6= 0, there exists u such that V (x(t), u(t)) < 0

N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 80 / 174

Control Lyapunov functions


Formal definitions
Nonlinear
Control
N. Marchand
References
Outline

Definition: Lyapunov function


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

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches

[positive definiteness] V (x) 0 for all x and V (0) = 0 if and


only if x = 0
[radially unbounded] limx V (x) = +

or:
1

[positive definiteness] 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

or, alternatively:

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

(, K )

(kxk) V (x) (kxk)

x Rn

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 81 / 174

Control Lyapunov functions


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

Definition: Control Lyapunov Function


A differentiable control Lyapunov function denotes a
differentiable Lyapunov function being infinitesimally
decreasing, meaning that there exists a positive continuous
definite function W : Rn R0 and such that:

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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

m
xRn uR

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

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 82 / 174

Control Lyapunov functions


Control affine systems
Nonlinear
Control
N. Marchand
References
Outline

Definition: Directional Lie derivative


For any f and g with values in appropriate sets, the Lie derivative of g along f is
defined by:
Lf g (x) := g (x) f (x)
Iteratively, one defines:
Lkf g (x) := Lf Lk1
g (x)
f

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Theorem
Consider a control affine system x = g0 (x) +
f (0) = 0. Assume that the set

Pm

i=1 ui gi (x)

with f smooth and



S = x|Lf V (x) = 0 and Lkf Lgi V (x) = 0 for all k N, i {1, . . . , m} = {0}
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

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 83 / 174

Control Lyapunov functions


Control affine systems
Nonlinear
Control
N. Marchand

Theorem: Sontags universal formula (1989)

P
Consider a control affine system x = g0 (x) + m
i=1 ui gi (x) with f smooth and
f (0) = 0. Assume that there exists a differentiable CLF, then the feedback

References

ki (x) = bi (x)(a(x), (x))

Outline

(= 0 for x = 0)

Introduction
Linear/Nonlinear
The X4 example

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) = kB(x)k2
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 6= 0
b
(a, b) =
0
if b = 0

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

is such that k(0) = 0, k smooth on Rn \0 and


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

xRn

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 84 / 174

Control Lyapunov functions


Control affine systems
Nonlinear
Control
N. Marchand
References

Definition: Small control property


A CLF V is said to satisfies the small control property if for any ,
there is some so that:

Outline

sup

Introduction

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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

xB() uB()

Linear/Nonlinear
The X4 example

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

Theorem: Sontags universal formula (1989)

P
Consider an control-affine system x = g0 (x) + i = 1m ui gi (x)
with f smooth and f (0) = 0. Assume that there exists a
differentiable CLF, then the previous feedback k with q(b) = b is
smooth on Rn \0 and continuous at the origin

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 85 / 174

Control Lyapunov functions


Robustness issues
Nonlinear
Control

N. Marchand

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

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

References
Outline

Definition: Robustness w.r.t. model errors

Introduction

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
x = f (x, k(x)) + )

Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Definition: 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
of x = f (x, k(x + )))

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

A CLF is a theoretical tool, not a magical tool


A CLF is not a constructive tool
Finding a stabilizing control law and finding a CLF are at
best the same problems. In all other cases, finding a
stabilizing control law is easier than finding a CLF
Even if one can find a CLF for a system, the universal
formula often gives a feedback with poor performances
However, this is an important field 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)

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 87 / 174

Other structural tools


Passivity
Nonlinear
Control
N. Marchand

Definition: Passivity
A system

References
Outline
Introduction
Linear/Nonlinear
The X4 example

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

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


S(0) = 0 such that

Linear
approaches
Antiwindup
Linearization
Gain scheduling

ZT
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)
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 fixed s and (r , ) is decreasing for each fixed r and lims (r , s) = 0

Nonlinear
Control
N. Marchand
References
Outline

Definition: Input-to-State Stability

Introduction

A system

Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability

x = f (x, u)
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:
kx(t)k (kx(0)k , t) + ( sup ku()k)
0t

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
finite time with a bounded control
ISS eases the design of control law
Important literature
Nonlinear Control

Master PSPI 2009-2010 89 / 174

Outline
1

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
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 90 / 174

Sliding mode control


An introducing example
Nonlinear
Control

Take again the linear system

N. Marchand

x 1 = x2
x 2 = x1 + u

References
Outline

Assume u is forced to remain in [1, 1]

Introduction
Linear/Nonlinear
The X4 example

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 simplified

Linear
approaches

constraint.

Antiwindup
Linearization
Gain scheduling

Take the CLF

Stability

3
V (x) = x12 + x1 x2 + x22 = x T
2

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

3
2
1
2

1
2

Goal
Find u in [1, 1] that makes V decrease as fast as possible

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 91 / 174

Sliding mode control


An introducing example
Nonlinear
Control
N. Marchand

Making V decrease as fast as possible is equivalent to minimizing V :



u = Argmin V
u[1,1]

Outline



= Argmin x
x 22 + x11 x22 + x2222 + (x11 + 2x22 )u
} |
| 11 {z
{z
}
u[1,1]

Introduction

= sign(x1 + 2x2 )

References

Linear/Nonlinear
The X4 example

can not be changed

minimal for u= sign(x1 +2x2 )

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

Linear
approaches

x2

Antiwindup
Linearization
Gain scheduling

x1

Stability

10

10

1.5

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

1
0.5

0
0.5
1
1.5

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

Define (x) = x1 + 2x2 . The set


{S(x) = {x|(x) = 0}} {|x1 | 0.6, |x2 | 0.3} is attractive:

References

Outline
Introduction

{x

|x

2x

Linear/Nonlinear
The X4 example

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

Define (x) = x1 + 2x2 . The set


{S(x) = {x|(x) = 0}} {|x1 | 0.6, |x2 | 0.3} is attractive:

References

Outline

{x

|x

Introduction

2x

Linear/Nonlinear
The X4 example

0}

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

S S > 0

S S < 0

Nonlinear
approaches

S S < 0
S S > 0

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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:

S(x)
= 0 = x 1 + 2x 2 = x2 x1 + u
Hence, on S(x), u = sign(x1 + 2x2 ) has the same influence
on the system as the control ueq = x1 x2
On S(x), the system behaves like:
x 1 = x2
x 2 = x1 + u = x2
x2 and hence also x1 clearly exponentially go to zero without
leaving {S(x) = {x|x1 + 2x2 = 0}} {|x1 | 0.6, |x2 | 0.3}

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

Principle:
Define a sliding surface S(x) = {x|(x) = 0}
A stabilizing sliding mode control is a control law

References
Outline
Introduction

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/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Main characteristic of sliding mode control:


4 Robust control law
8 Discontinuities may damage actuators (filtered 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

With a sliding mode control, the system takes the form:


+
f (x)
if (x) > 0
x =
f (x)
if (x) < 0

Outline
Introduction
Linear/Nonlinear
The X4 example

f + (x)
(x) > 0

Linear
approaches

fn+ (x)
fn (x)

Antiwindup
Linearization
Gain scheduling

f (x)

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

(x) = 0

(x) < 0

What happens for (x) = 0 ?


The solution on (x) = 0 is the solution of x = f + (x) + (1 )f (x)
where satisfies 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 affine systems
Nonlinear
Control

Theorem: Sliding mode control for a class of nonlinear systems

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)

Take the nonlinear system:


f1 (x) + g1 (x)u
x 1

x 2
x1


= f (x) + g (x)u
.. =
..

.
.
xn1
x n
Choose the control law

p T f (x)

T
sign((x))
T
p g (x) p g (x)

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

Nonlinear Control

Master PSPI 2009-2010 97 / 174

Sliding mode control


Sliding mode control for some affine systems: proof of convergence
Nonlinear
Control

Proof:

N. Marchand

Take the Lyapunov function


1
V (x) = x T pp T x
2

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

Note that V (x) = 2(x)


Along the trajectories of the system, one has:



V (x) = T (x)(x)
= x T p p T f (x) + p T g (x)u
with the chosen control, it gives:

V (x) = (x) sign((x)) = |(x)|


x tends to S = {x|(x) = 0}
tunes how fast the system converges to S = {x|(x) = 0}

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 98 / 174

Sliding mode control


Sliding mode control for some affine systems: proof of convergence
Nonlinear
Control

On S, the system is such that


(x) = 0 = p1 x1 + + pn1 xn1 + pn xn

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)

But:
xn1 = x n
(2)

xn2 = x n1 = xn
..
.

(n1)

x1 = x 2 = = xn
That can be written with zi = xni+1 in the

0
1
0

0
0
1

.
..
z =
.
..

0

pp21 pp31

form:

..
.
..
.
0

Hence, x asymptotically goes to the origin


Nonlinear Control

0
..
.

0 z

1
pn
p1

Master PSPI 2009-2010 99 / 174

Sliding mode control


Sliding mode control for some affine systems: time to switch
Nonlinear
Control
N. Marchand
References
Outline

Consider an initial point x0 such that (x0 ) > 0.


Since

(x)(x)
= (x) sign((x))

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

it follows that as long as (x) > 0

(x)
=
Hence, the instant of the first switch is
ts =

(x0 )
<

Moreover, ts 0 as

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 100 / 174

Sliding mode control


Robustness issues
Nonlinear
Control

Assume that one knows only a model

N. Marchand

x = f^(x) + g^ (x)u

References
Outline

of the true system

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

x = f (x) + g (x)u
The time derivative of the Lyapunov function is:
"
#
pT g
p T (f g^ f^g T )p

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

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 101 / 174

Outline
1

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
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 102 / 174

State and output linearization


Introducing examples
Nonlinear
Control

Consider nonlinear the system


x 1 = 2x1 + ax2 + sin(x1 )

N. Marchand

x 2 = x2 cos(x1 ) + u cos(2x1 )

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

Take the new set of state variables


z1 = x1
z2 = ax1 + sin(x1 )

x1 = z1
1)
x2 = z2 sin(z
a

The state equations become:


z 1 = 2z1 + z2
z 2 = 2z1 cos(z1 ) + cos(z1 ) sin(z1 ) + au cos(2z1 )
The nonlinearities can then be canceled taking the new control v :
u =

1
(v cos(z1 ) sin(z1 ) + 2z1 cos(z1 ))
a cos(2z1 )

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 103 / 174

State and output linearization


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

The system then becomes linear:




 
2 1
0
z =
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:

Linear
approaches

x1 = z1
z2 sin(z1 )
x2 =
a

Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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 )

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 104 / 174

State and output linearization


Introducing examples
Nonlinear
Control

Consider nonlinear the system


x 1 = sin(x2 ) + (x2 + 1)x3

N. Marchand
References

x 2 = x15 + x3

Outline

x 3 = x12 + u

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches

Take x1 as output: y = x1
When not imposed, the choice of the appropriate output is often delicate
Compute the first time derivative of y :

Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

y = x 1 = sin(x2 ) + (x2 + 1)x3


Compute the second time derivative of y :
y = (x2 + 1)u + (x15 + x3 )(x3 + cos(x2 )) + (x2 + 1)x12
|
{z
}
m(x)

Taking u =

v m(x)
x2 +1

gives the linear system:

y = v

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 105 / 174

State and output linearization


Introducing examples
Nonlinear
Control

8 Potential problem if x2 = 1

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

Here again, take the linear feedback v = y + 2y that


places the poles of the closed loop system in {1, 1}
Hence, y and y asymptotically converges to the origin
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
(z1 , z2 , z3 ) = (y , y , x3 ):

z 1 = z2
Linearized sub-system:
z 2 = v

z 3 = z12 + u(z)
Internal dynamics:

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 106 / 174

State and output linearization


Introducing examples
Nonlinear
Control
N. Marchand

One has to check that the internal dynamics is stable. For this, we
assume that y = y = 0 (which happens asymptotically):
0

References
Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

z 3

0
z}|{
z }| {
0
z}|{ z}|{
v (( z15 +z3 )(z3 + cos x2 ) + (x2 + 1)z12 )
2
= z1 +
x2 + 1
z3 (z3 + cos x2 )
=
x2 + 1

If x2 and z3 are small enough, z 3 z3 (z3 + 1) z3 : the internal


dynamics is locally asymptotically stable

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

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

State and output linearization


Introduction
Nonlinear
Control

Consider again nonlinear systems affine in the control:



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

N. Marchand
References
Outline

The linearization approach tries to find

Introduction

a feedback control law

Linear/Nonlinear
The X4 example

u = (x) + (x)v

Linear
approaches

and a change of variable

Antiwindup
Linearization
Gain scheduling

z = T (x)

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

that transforms the nonlinear systems into:

Input-State linearization

Input-Output linearization

z = Az + Bv

y (r ) = v

8 No systematic approach

4 Systematic approach

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 108 / 174

State and output linearization


The SISO case
Nonlinear
Control

Take

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

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) 6= 0, the control is
y =

u=

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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

1
(Lf h(x) + v )
Lg h(x)

yielding y = v
Otherwise (that is Lg h(x) 0), differentiate once more:
y =

Lf h
(f (x) + g (x)u) = L2f h(x) + Lg Lf h(x)u
x

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 109 / 174

State and output linearization


The SISO case
Nonlinear
Control

If Lg Lf h(x) 6= 0, the control is

N. Marchand

u=
References

yielding to y = v
...

Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability

1
(L2f h(x) + v )
Lg Lf h(x)

Definition: Relative degree


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

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

The control law


u=

1
Lg Lrf 1 h(x)

(Lrf h(x) + v )

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Take

x = f (x) + g1 (x)u1 + g2 (x)u2


y1 = h1 (x)

y2 = h2 (x)

The relative degree {r1 , r2 } is then given by:


i1
Lg1 Li1
f h1 (x) = Lg2 Lf h1 (x) = 0
i1
i1
Lg1 Lf h2 (x) = Lg2 Lf h2 (x) = 0

i < r1
i < r2

Assume that the Input-Output decoupling condition is


satisfied, that is:


Lg1 Lrf1 1 h1 (x) Lg2 Lrf1 1 h1 (x)
=2
rank
Lg1 Lrf2 1 h2 (x) Lg2 Lrf2 1 h2 (x)

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 111 / 174

State and output linearization


The MIMO case
Nonlinear
Control
N. Marchand

One has:
y 1 = Lf h1 (x) + Lg1 h1 (x) u1 + Lg2 h1 (x) u2
| {z }
| {z }
=0

References
Outline

=0

(r )

y1 1

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

=0

..
.

Introduction
Linear/Nonlinear
The X4 example

=0

y1 = L2f h1 (x) + Lg1 Lf h1 (x) u1 + Lg2 Lf h1 (x) u2


| {z }
| {z }

= Lrf1 h1 (x) + Lg1 Lrf1 1 h1 (x) u1 + Lg2 Lrf1 1 h1 (x) u2


{z
}
|
{z
}
|
either 6=0

or 6=0

Make the same for y2 :


y 2 = Lf h2 (x) + Lg1 h2 (x) u1 + Lg2 h2 (x) u2
| {z }
| {z }
=0

=0

y2 = L2f h2 (x) + Lg1 Lf h2 (x) u1 + Lg2 Lf h2 (x) u2


| {z }
| {z }
=0

=0

..
.
(r )

y2 2

= Lrf2 h2 (x) + Lg1 Lrf2 1 h2 (x) u1 + Lg2 Lrf2 1 h2 (x) u2


|
|
{z
}
{z
}
either 6=0

Nonlinear Control

or 6=0

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Hence, one has:


! 
 
 
(r )
Lg1 Lrf1 1 h1 (x) Lg2 Lrf1 1 h1 (x)
y1 1
Lrf1 h1 (x)
u1
+
=
r2
r2 1
r2 1
(r2 )
L
h
(x)
u2
Lg L
h2 (x) Lg2 Lf h2 (x)
2
y2
} | 1 f
| f {z
{z
} | {z }
b(x)

A(x)

Thanks to the decoupling condition, one can take:


u = A(x)1 b(x) + A(x)1 v
which gives two chains of integrators:
(r )

y1 1 = v1

(r )

y2 2 = v2

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

Linearization techniques can be interpreted as:

Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Linear
control

Nonlinear
system
Linearizing
feedback

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

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

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

4
4
4
4
8
8
8

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 flatness
Power tool for path generation
Non robust approach since it is based on coordinate changes
that can be stiff
The control may take too large values
Kills nonlinearities even if they are good

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 115 / 174

Outline
1

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
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 116 / 174

Backstepping
Main results
Nonlinear
Control
N. Marchand
References

Theorem: backstepping design


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

Outline
Introduction
Linear/Nonlinear
The X4 example

with h(0, 0) = 0 is also asymptotically stabilizable with the control:

Linear
approaches
Antiwindup
Linearization
Gain scheduling

u(, ) = h(, ) +


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

with

Stability

Z1
G (, ) =

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers

f
(, k() + )d

The Lyapunov function


W (, ) = V () +

1
k k()k2
2

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

N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 117 / 174

Backstepping
Main results
Nonlinear
Control
N. Marchand
References

The theorem can recursively be applied to

Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches

1
2

n1
n

f (, 1 )

a1 (, 1 ) + b1 (, 1 )2

=
..
.

a2 (, 1 , 2 ) + b2 (, 1 , 2 )3

an1 (, 1 , 2 , . . . , n2 ) + bn1 (, 1 , 2 , . . . , n2 )n1

an (, 1 , 2 , . . . , n1 ) + bn (, 1 , 2 , . . . , n1 )u

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 118 / 174

Forwarding
Strict-feedforward systems
Nonlinear
Control
N. Marchand

Consider the class of strict-feedforward systems:

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

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

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 119 / 174

Forwarding
Forwarding procedure
Nonlinear
Control
N. Marchand
References
Outline

At step 0: Begin with stabilizing the system x n = un .


Take e.g. un = xn and the corresponding Lyapunov function Vn = 12 xn2
At step 1: Augment the control law
un1 (xn1 , xn ) = un (xn ) + vn1 (xn1 , xn )
such that un1 stabilizes the cascade

Introduction

x n1 = xn + fn1 (xn , un1 )

Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

x n = un1
At step k: Augment the control law
unk (xnk , . . . , xn ) = unk+1 (xnk+1 , . . . , xn ) + vnk (xnk , . . . , xn )

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

such that unk stabilizes the cascade


nk

= xnk+1 + fnk (xnk+1 , . . . , xn , unk )


..
.

x n1 = xn + fn1 (xn , unk )


x n = unk

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

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 unk always exists for all


k {1, . . . , n 1}

The Lyapunov function at step k can be given by:


Z
1 2
Vk = Vk+1 + xk +
xk ()fk (xk+1 (), . . . , xn ())d
2
0
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

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

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
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 123 / 174

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

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)

The PVTOL control strategy comes from


A. Hably, F. Kendoul, N. Marchand and P. Castillo, Positive Systems,
chapter:

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

"Further results on global stabilization of the PVTOL

aircraft", pp 303-310, Springer Verlag , 2006

The saturated control law is taken in:


N. Marchand and A. Hably, "Nonlinear stabilization of multiple
integrators with bounded controls", Automatica, vol.

41, no.

12, pp

2147-2152, 2005.

Revealing example of what often happens in nonlinear: a solution comes


from the combination of different 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

Stability
Nonlinear
approaches

si

~p

m~v

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

=
= ~v
=
=
=

2
km
Jr R s i

kgearbox
Jr

|si | si +

km
Jr R

satU i (Ui )

Position control problem

mg~e3 + R P 0
i Fi (si )
~
R
Attitude
control problem

0
r (s2 , s4 )
P
~ J
~ i Ir
~ 0 + p (s1 , s3 )

P
y (s1 , s2 , s3 , s4 )
i si

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 first step is to be able to bring (, , ) to


any desired configuration (d , d , d )
Attitude equations (with an appropriate choice of Euler
angles):

x 1 = x2

2 = a1 x4 x6 + b1 r
x

x 3 = x4
x 4 = a2 x2 x6 + b2 p

x = x6

5
x 6 = a3 x2 x4 + b3 y
, ,
, ),
a1 = J2 J3 , a2 = J3 J1 ,
with (x1 , . . . , x6 ) = (, ,
J1
J2
1
1
1
2
a3 = J1JJ
,
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

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 126 / 174

The X4 helicopter: attitude stabilization


Recall of backstepping main result
Nonlinear
Control
N. Marchand
References

Theorem: backstepping design


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

Outline
Introduction
Linear/Nonlinear
The X4 example

with h(0, 0) = 0 is also asymptotically stabilizable with the control:

Linear
approaches
Antiwindup
Linearization
Gain scheduling

u(, ) = h(, ) +


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

with

Stability

Z1
G (, ) =

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers

f
(, k() + )d

The Lyapunov function


W (, ) = V () +

1
k k()k2
2

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

N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 127 / 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

Define first the tracking error:

z1 = x1 x1d
z2 = x3 x3d

z3 = x5 x5d
It gives the subsystem

z 1
z 2

z 3

= d
= d
= d

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

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


Take first V1 = 12 z12 .

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Along the trajectories of the system, the Lyapunov


function gives:
V 1 = z1 (x2 x 1d )
Hence taking as fictive control x2 = x 1d 1 z1 with
1 > 0 insures the decrease of V1 :
V 1 = 1 z12
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, define the tracking error for x2 :
z2 = x2 (x 1d 1 z1 )
|
{z
}
input of subsystem in z1
we would like to put

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 129 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear
Control

One has
z 2 = a1 x4 x6 + b1 r
x + x x
|
{z
} 1d | 1 2 {z 1 1}d

N. Marchand

x 2

References

1 z 1

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:

Outline
Introduction
Linear/Nonlinear
The X4 example

Theorem: backstepping design


..
.

Linear
approaches
Antiwindup
Linearization
Gain scheduling

u(, ) = h(, ) +

Stability

..
.

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)


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

with in our case:


= z1
= z2
h = a1 x4 x6 x1d + 1 x2 1 x 1d
Nonlinear Control

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

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear
Control

Or more simply, we construct it:

N. Marchand

W (z1 , z2 ) = V (z1 ) +
References
Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Along the trajectories of the system:

z}|{
= z1 (x2 x 1 ) + z2 a1 x4 x6 + b1 r
W
x1d + 1 x2 1 x 1d
d
control

Taking v as new control variable:

Stability

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

1
1
kx2 (x 1d 1 z1 )k2 = (z12 + z22 )
2
2

b1 r
gives:

= a1 x4 x6 + b1 r x1d + 1 x2 1 x 1d
= v a1 x4 x6 + x1d 1 x2 + 1 x 1d
= z1 (x2 x 1 ) + z2 v
W
d

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 131 / 174

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear
Control

Trying to write
x2 x 1d

N. Marchand
References

z +? (x2 x 1d + 1 z1 )
| {z1 }1
|
{z
}

ideal case

difference between real


and ideal cases

= 1 z1 + x2 x 1d + 1 z1
|
{z
}

Outline
Introduction

z2

Linear/Nonlinear
The X4 example

Linear
approaches

Hence, it gives:

Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

= 1 z 2 + z1 z2 +z2 v
W
1
|{z}
can be compensated with v

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

The X4 helicopter: attitude stabilization


A backstepping approach
Nonlinear
Control
N. Marchand

Attitude stabilization
The control law given by
b1 r = z1 2 z2 a1 x4 x6 + x1d 1 x2 + 1 x 1d
b2 p = z3 4 z4 a2 x2 x6 + x3d 3 x4 + 3 x 3d
b3 y = z5 6 z6 a3 x2 x4 + x5d 5 x6 + 5 x 5d

References
Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability

with z1 = x1 x1d , z2 = x2 x 1d + 1 z1 , z3 = x3 x3d ,


z4 = x4 x 3d + 3 z3 , z5 = x5 x5d and z6 = x6 x 5d + 5 z5
asymptotically stabilizes (x1 , x3 , x5 ) to their desired position
(x1d , x3d , x5d )

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 133 / 174

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

10

20

30

40

50

60

70

10

20

30

40

50

60

70

10

20

30

40

50

60

70

60
40
20
0
20
60
40
20
0
20

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

Adjusting the s: with i = 0.2

References
Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

60

40
20

0
20

10

20

30

40

50

60

70

60

10

20

30

40

50

60

70

10

20

30

40

50

60

70

10

20

30

40

50

60

70

0.5

40
20

0
20

10

20

30

40

50

60

70

60

0.5
1

40

20

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

0
20

10

20

30

40

50

60

70

Roll, pitch and yaw answers

r , p and y controls

8 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

Adjusting the s: with i = 2

References
Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

60

40
20

0
20

10

20

30

40

50

60

70

60
20

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

10

20

30

40

50

60

70

10

20

30

40

50

60

70

10

20

30

40

50

60

70

0
20

10

20

30

40

50

60

70

60

2
2

40
0

0
20

Nonlinear
approaches

40

20

Stability

10

20

30

40

50

60

70

Roll, pitch and yaw answers

r , p and y controls

4 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

Adjusting the s: with i = 10

References
60

Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability

100

40
20

0
20

20

30

40

50

60

70

60

100

10

20

30

40

50

60

70

10

20

30

40

50

60

70

10

20

30

40

50

60

70

50

40
20

0
20

10

20

30

40

50

60

70

60

50
50

40
20

0
20

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

10

10

20

30

40

50

60

70

Roll, pitch and yaw answers

50

r , p and y controls

8 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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

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

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:
2
ymax = 2smax
= 21.2 N.m
Nonlinear Control

Master PSPI 2009-2010 139 / 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

Adapt the parameters to the saturation:


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

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

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

References
Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

60

40
20

0
20

10

20

30

40

50

60

70

60
20

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

10

20

30

40

50

60

70

10

20

30

40

50

60

70

10

20

30

40

50

60

70

0
20

10

20

30

40

50

60

70

60

0.5
50

40
0

0
20

Nonlinear
approaches

0.5

40

20

Stability

10

20

30

40

50

60

70

Roll, pitch and yaw answers

50

r , p and y controls

8 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

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

References
Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

60

40
20

0
20

10

20

30

40

50

60

70

60
20

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

10

20

30

40

50

60

70

10

20

30

40

50

60

70

10

20

30

40

50

60

70

0
20

10

20

30

40

50

60

70

60

0.5
50

40
0

0
20

Nonlinear
approaches

0.5

40

20

Stability

10

20

30

40

50

60

70

Roll, pitch and yaw answers

50

r , p and y controls

8 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

Taking 1,...,4 = 0.2 and 5,6 = 8 and applying it on the


system with saturations, it gives:

References
Outline
60

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

0.5

40
20

0
20

10

20

30

40

50

60

70

60
20

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

10

20

30

40

50

60

70

10

20

30

40

50

60

70

10

20

30

40

50

60

70

0
20

10

20

30

40

50

60

70

0.5
50

40
20

Nonlinear
approaches

0.5

40

60

Stability

0.5

0
20

10

20

30

40

50

60

70

Roll, pitch and yaw answers

50

r , p and y controls

4 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


Simplification of the problem
Nonlinear
Control
N. Marchand

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


direction:

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 145 / 174

The X4 helicopter: position control


Simplification of the problem
Nonlinear
Control
N. Marchand
References
Outline

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:

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 146 / 174

The X4 helicopter: position control


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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability

This problem is referred in the literature as the PVTOL


aircraft stabilization problem (Planar Vertical Take Off
and Landing aircraft)
The generic equations are:
x = sin()u
y = cos()u 1
= v

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

Linear
approaches

T
y , y , , )
Define z , (z1 , z2 , z3 , z4 , z5 , z6 )T , (x, x,
The system becomes:
Translational part:
z 1 = z2
Rotational part:
z 2 = u sin(z5 )
z 5 = z6
z 3 = z4
z 6 = v
z 4 = u cos(z5 ) 1
The idea is to use v to drive z5 to z5d such that:

Antiwindup
Linearization
Gain scheduling

z5d , arctan(

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

with <

1
2

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

When z5 reaches z5d and applying the thrust control input u


q
u = r12 + (r2 + 1)2

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

Stability

r1 = (z2 ) 2 (z1 + z2 )

Nonlinear
approaches

r2 = (z4 ) 2 (z3 + z4 )

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

insures (z1 , z2 , z3 , z4 ) 0
Then, it will follow that once (z1 , z2 , z3 , z4 ) = 0, z5d = 0 and
z 5d = z6d = 0 hence also (z5 , z6 ) 0
Nonlinear Control

Master PSPI 2009-2010 149 / 174

The X4 helicopter: position control


A saturation based control
Nonlinear
Control
N. Marchand
References

Remain two problems:

Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Prove that
r1 = (z2 ) 2 (z1 + z2 )
r2 = (z4 ) 2 (z3 + z4 )

Stability

brings (z1 , z2 , z3 , z4 ) to zero

Nonlinear
approaches

Build a control so that (z5 , z6 ) tends to (z5d , z 5d = z6d )

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

An integrator chain is defined by:

0
..
.

x = ...

..
.
|

1
..
.

0 ...

0
1
..
.
...
{z
=:A

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


0
0
..
..

.
.

.
x +
0
.. u

0
1
1
0
| {z }
}

(11)

=:B

Problem: stabilizing (11) with

u u u
and u is a positive constant

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

First compute
n
Y

N. Marchand
References

i=1

( + i ) = p0 + p1 + + pn1 n1 + n

Outline
Introduction

Apply the coordinate change

Linear/Nonlinear
The X4 example

Linear
approaches

y :=

Antiwindup
Linearization
Gain scheduling

Stability

with

T1

= (An1 + pn1 An2 + + p1 I )B

n1

The system becomes normalized in

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

N. Marchand (gipsa-lab)

Tn2

= B
= (A + pn1 I )B
= (A2 + pn1 A + pn2 I )B
..
.

i
i=1
Tx
u

Nonlinear
approaches

Observers

TT

Pn

with

Pn

i=1

0 n1 n2 . . .
0
0
n2 . . .

..
..
..
.
.
.

0 . . .
...
0
0 ...
...
0

Pn

.. y
.


1
..
.

.
.. v

..
.
1

i
i=1

Nonlinear Control

Master PSPI 2009-2010 152 / 174

The X4 helicopter: position control


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

Theorem: An efficient saturated control

Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Let (n) denote the only root of n 2 + 1 = 0 in ]0, 1[.


Then for all with 0 < < (n),
u
u = Pn

i
i=1

Stability
Nonlinear
approaches

n
X

ni+1 sat1 (yi )

i=1

globally asymptotically stabilizes the integrator chain.

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Sketch of the proof:


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


V n = yn sat1 (yn ) yn 2 sat1 (yn1 ) + + n sat1 (y1 )
| {z }
|
{z
}
=

||<2 ++n

So V is decreasing if
> 2 + + n 1 2 + n > 0 < (n)
yn joins [1, 1] in finite 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

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

Remain two problems:

N. Marchand

Prove that

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)

r1 = (z2 ) 2 (z1 + z2 )
r2 = (z4 ) 2 (z3 + z4 )
brings (z1 , z2 , z3 , z4 ) to zero
direct application of the saturated control law
Build a control so that (z5 , z6 ) tends to (z5d , z 5d = z6d )
take:
v = (
z5d ) (z6 z 5d ) 2 ((z5 z5d ) + (z6 z 5d ))
that work applying the saturated control law on the
variables z5 z5d and z6 z 5d
Nonlinear Control

Master PSPI 2009-2010 155 / 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

Observers
N. Marchand (gipsa-lab)

(, , , x, y , z) = ( pi2 , pi2 , pi4 , 5, 5, 5)


,
,
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 first seconds with a snapshot every second


Initial conditions:

Observers
N. Marchand (gipsa-lab)

(, , , x, y , z) = ( pi2 , pi2 , pi4 , 5, 5, 5)


,
,
x,
y , z)
= (0, 0, 0, 1, 2, 0)
(,
Nonlinear Control

Master PSPI 2009-2010 157 / 174

Outline
1

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
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 158 / 174

Nonlinear observers
Nonlinear
Control

yd
k(x)

N. Marchand

Controller

References

x^

Outline
Introduction

Observer

Linear/Nonlinear
The X4 example

Linear
approaches

a simple model to build the control law


a sharp model to check the control law and the observer

Stability

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Modelization
To get a mathematical representation of the system
Different kind of model are useful. Often:

Antiwindup
Linearization
Gain scheduling

Nonlinear
approaches

Observers
N. Marchand (gipsa-lab)

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

Nonlinear
Control
N. Marchand
References

Linear systems: Simple observer


x(t)
= Ax(t) + Bu(t)
y (t) = Cx(t)

Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Observability given by rank(C , CA, . . . , CAn1 )


Once the observability has been checked, define the
observer:

x^ (t) = A^
x + Bu(t) + L(^
y (t) y (t))
y^ (t) = C x^(t)

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

with L such that <(eig(A + LC )) < 0.


Then x^ tends to x asymptotically with a speed
related to eig(A + LC )

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
approaches
Antiwindup
Linearization
Gain scheduling

Stability

Linear systems (cntd.):


convergence of the observer
Define the error e(t) := x^(t) x(t). Then:

e(t)
= Ae(t) + L(^
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

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 161 / 174

Nonlinear
Control

Linear systems (cntd.): Kalman filter



x^ (t) = A^
x (t) + Bu(t) + L(^
y (t) y (t))
y^ (t) = C x^(t)

N. Marchand
References

The way to chose L proposed by Kalman is:

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

AP + PAT PC T W 1 CP + V + P = 0
W = WT > 0
L = PC T W 1
with > 2 kAk 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

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 162 / 174

Nonlinear
Control

Time-varying linear systems:


x(t)
= A(t)x(t) + B(t)u(t)
y (t) = C (t)x(t)

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Kalman filter:

x^ = A(t)^
x (t) + B(t)u(t) + L(t)(^
y (t) y (t))
y^ (t) = C (t)^
x (t)
with:

P = AP + PAT PC T W 1 CP + V + P
P(0) = P0 = P0T > 0

Stability

W = WT > 0

Nonlinear
approaches

L = PC T W 1

CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

> 2 kAk or V = V T > 0


enables to tunes the speed of convergence of the
observer
Nonlinear Control

Master PSPI 2009-2010 163 / 174

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


where
Nonlinear
Control

S = AT S + SA C T W 1 C + SVS + S

N. Marchand

S(0) = S0 = S0T > 0

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 observer is optimal in the sense that it minimizes


Zt
[C ()z() y ()]T W 1 [C ()z() y ()] +
0

[B()u()]T V 1 [B()u()] d +
(x0 x^0 )T P01 (x0 x^0 )
The observer is also optimal for
x is affected by a white noise wx of variance V
y is affected by a white noise wy of variance W
wx and wy are uncorrelated

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 164 / 174

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

Nonlinear systems:

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

kh(x1 ()) h(x2 ())k d > 0 if x1 6= x2

Linked with the input:




0 u
x =
x
0 0

y= 1


0 x

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

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 165 / 174

Nonlinear
Control

Extended Kalman filter (EKF):



x^ = f (x(t), u(t)) L(t)(^
y (t) y (t))

N. Marchand

y^ (t) = h(^
x (t))

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

with

P = AP + PAT PC T W 1 CP + V + P
P(0) = P0 = P0T > 0
W = WT > 0
L = PC T W 1
> 2 kAk or V = V T > 0
h
f
(^
x (t), u(t)) C =
(^
x (t))
A=
x
x

No guarantee of convergence (except for specific


structure conditions)

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 166 / 174

Luenberger-Like observers
Nonlinear
Control

For a system of the form:


x(t)
= Ax(t) + (Cx(t), u)
y (t) = Cx(t)

N. Marchand

with (A, C ) observable, if A KC is stable, an observer is:


References
Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability

x^ (t) = A^
x (t) + (y (t), u(t)) K (C x^(t) y (t))
For a system of the form:

x(t)
= A0 x(t) + (x(t), u(t))
y (t) = C0 x(t)
with (A0 , C0 ) are in canonical form, if A0 K0 C0 is stable,
sufficiently large, global lipschitz and
i
(x, u) = 0 for j i + 1
xj

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

an observer is:
x^ (t) = A0 x^(t) + (^
x (t), u(t)) diag(, 2 , . . . , n )K0 (C0 x^(t) y (t))

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

For a system of the form:


x(t)
= A(u(t))x(t) + B(u(t))
y (t) = Cx(t)
an observer is:
x^ (t) = A(u(t))^
x (t) + B(u(t)) K (t)(C x^(t) y (t))
with
P = A(u(t))P + PAT (u(t)) PC T W 1 CP + V + P
P(0) = P0 = P0T > 0, W = W T > 0
> 2 kA(u(t))k or V = V T > 0

L = PC T W 1

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 168 / 174

Kalman-Like observers (cntd.)


Nonlinear
Control
N. Marchand

For a system of the form:


x(t)
= A0 (u(t), y (t))x(t) + (x(t), u(t))
y (t) = C0 x(t)
with:

References
Outline
Introduction

A0 (u, y )

C0

i
(x, u)
xj

Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

0
1

a12 (u, y )

0
..


0

bounded
an1n (u, y )
0

0 for j i + 1

an observer is:
x^ = A(u, y )^
x + (^
x , u) diag(, 2 , . . . , n )K0 (t)(C0 x^ y )

with P = A(u(t))P + PAT (u(t)) PC T W 1 CP + P
P(0) = P0 = P0T > 0, W = W T > 0

> 2 kA(u(t))k and large enough

L = PC T W 1

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 169 / 174

Nonlinear
Control
N. Marchand

Not mentionned:

References
Outline
Introduction
Linear/Nonlinear
The X4 example

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability

Optimal observers (robust, very efficient and easy to


tune but costly)
Based on something like:
Z t1
kh(x()) y ())k d
x^ = Arg min
x()

t0

Sliding mode observers

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

Application: attitude estimation


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

The accelerometers give:


~bacc = C (q)(
~a
|{z}
acceleration

+ ~g ) + acc
|{z}
|{z}
gravity

noise

where C (q) = (q02 ~q T ~q )I3 + 2(~q~q T q0~q ) is called the


Rodrigues matrix, that is the rotation from the fixed frame to the
mobile one.
The magnetometers give:
~bmag = C (q)~hmag + mag
| {z }
noise

where ~hmag are the coordinates of the magnetic field in the fixed
frame.
Nonlinear Control

Master PSPI 2009-2010 171 / 174

Observers
Application to the attitude estimation
Nonlinear
Control
N. Marchand
References

The gyrometers give:


~bgyr = + gyr + gyr
|{z}1 |{z}1
noise

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

bias

where ~hmag are the coordinates of the magnetic field in


the fixed 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
|{z}
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

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Nonlinear observer for attitude estimation


An observer of the attitude can be:

q^ = 12 (~bgyr
^ gyr1 + K1 )^
q

^ = T 1
^ K2
where T is a diagonal matrix of time constant, Ki are positive
definite matrices, is given by:

Stability

= ~qe sign(qe0 )

Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

where qe = (qe0 , ~qe ) is the quaternion error between the


estimate q^ and a direct projection obtained with ~bmag and ~bacc

Observers
N. Marchand (gipsa-lab)

Nonlinear Control

Master PSPI 2009-2010 173 / 174

1
qe = qObservers
(t) qms
(t) = [qe0 ~qe ]T

Application to
the~
=
qeattitude
sign(qeestimation
)
o
Nonlinear
Control
N. Marchand
References

(28)
(29)

It is possible to demonstrate that the error model for (25) and


(26) has the equilibrium state [qeT bT ] = [1 0 0 0 0 0 0]T
and is exponentially stable [19].

Block diagram of the observer

Outline
Introduction
Linear/Nonlinear
The X4 example

Fig.

Eule
chan
rate
obse

Linear
approaches
Antiwindup
Linearization
Gain scheduling

Stability
Nonlinear
approaches
CLF
Sliding mode
Geometric
control
Recursive
techniques
X4 stabilization

Observers
N. Marchand (gipsa-lab)

Fig. 3.

Block diagram showing the attitude estimation

The complet schema of the attitude observer is given in


Fig. 3.
Remark 2: suppose
that the rigid body Master
has aPSPI
slow
angular
Nonlinear Control
2009-2010
174 / 174

Das könnte Ihnen auch gefallen