Академический Документы
Профессиональный Документы
Культура Документы
Nicolas Marchand
References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
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
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
Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 3 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 4 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
Introduction
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Some preliminary vocable and denitions What is control ? A very short review of the linear case (properties, design of control laws, etc.) Why nonlinear control ? Formulation of a nonlinear control problem (model, representation, closed-loop stability, etc.)? Some strange possible behaviors of nonlinear systems Example : The X4 helicopter
Linear approaches
Antiwindup Linearization Gain scheduling
Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 6 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
Linear approaches
Antiwindup Linearization Gain scheduling
where:
y is the output: represents what is visible from outside the system x is the state of the system: characterizes the state of the system u is the control input: makes the system move
yd
k (x )
Controller
x ^
Observer
1
Linear approaches
Antiwindup Linearization Gain scheduling
Modelization
To get a mathematical representation of the system Dierent kind of model are useful. Often:
a simple model to build the control law a sharp model to check the control law and the observer
Design the state reconstruction: in order to reconstruct the variables needed for control Design the control and test it Close the loop on the real system
Nonlinear Control Master PSPI 2009-2010 8 / 174
3 4
Observers
N. Marchand (gipsa-lab)
Denition: Systems such that if y1 and y2 are the outputs corresponding to u1 and u2 , then R: y1 + y2 is the output corresponding to u1 + u2 Representation near the operating point:
Transfer function: y (s ) = h(s )u (s ) State space representation: = Ax + Bu x y = Cx (+Du )
Linear approaches
Antiwindup Linearization Gain scheduling
Linear approaches
Antiwindup Linearization Gain scheduling
Mathematical tool: linear algebra This is a caricature of the reality (of course problems due to uncertainties, delays, noise, etc.)
Nonlinear Control
Linear approaches
Antiwindup Linearization Gain scheduling
More and more the performance specication requires nonlinear control (eg. automotive) More and more controlled systems are deeply nonlinear (eg. -nano systems where hysteresis phenomena, friction, discontinuous behavior) Nonlinear control is sometimes necessary (oscillators, cyclic systems, . . . )
Nonlinear Control Master PSPI 2009-2010 11 / 174
Representation:
State space representation:
ODE Ordinary dierential equation:
Linear approaches
Antiwindup Linearization Gain scheduling
. . . Algebraic dierential equations (implicit), hybrid (with discrete or event based equations), etc.
yd
k (x ) Controller
u
States: x
x ^
Observer
Linear approaches
Antiwindup Linearization Gain scheduling
Open-loop control
nd u (t ) such that limt y (t ) yd (t ) = 0 Widely used for path planning problems (robotics)
Closed-loop control
nd u (x ) such that limt y (t ) yd (t ) = 0 Better because closed loop control can stabilize systems and is robust w.r.t. perturbation.
In this course
Only closed-loop control problems are treated
Nonlinear Control Master PSPI 2009-2010 13 / 174
Observers
N. Marchand (gipsa-lab)
xd
k (x )
u
States: x
Controller
x ^
Observer
Tracking problem
nd u (x ) such that limt x (t ) xd (t ) = 0
Linear approaches
Antiwindup Linearization Gain scheduling
Stabilization problem
nd u (x ) such that limt x (t ) xd (t ) = 0 for xd (t ) = constant
In this course
Only the stabilization problem will be treated.
Nonlinear Control Master PSPI 2009-2010 14 / 174
Simplied model of the undersea vehicle (in one direction): (t ) = v |v | + u v Step answer:
1.5
Linear approaches
Antiwindup Linearization Gain scheduling
u (s ) = u (s ) =
2 s 1 s
0.5
u (s ) =
0 0 1 2 3 4 5 6 7 8 9 10
1 100s
Linear approaches
Antiwindup Linearization Gain scheduling
5 4 3 2
1 0 1 2 3
x2
1 0 1 2 3
10
20
time
30
40
50
4 4
x1
5 4 3 2
1 0 1 2 3 6 5 30
x2
1 0 1 2 3 3
Linear approaches
Antiwindup Linearization Gain scheduling
10
20
time 4
3 2
40
50
x1
1 0 1 2 3
time
0.3
0.4
0.5
= iL diL dt
Linear approaches
Antiwindup Linearization Gain scheduling
1 (t ) = x 2 (t ) = x
with x1 = vC , x2 = iL and u = E
The tunnel diode behavior: bifurcation with: 2 + 229.62v 3 226.31v 4 + 83.72v 5 iR = 17.76vR 103.79vR R R R
1.3
Linear approaches
Antiwindup Linearization Gain scheduling
0.8
0.6
x2
0.4
time
x1
Linear approaches
Antiwindup Linearization Gain scheduling
In practice:
= f (x , u ) x y = h (x , u ) Everything is possible:
Equilibrium can be unique, multiple, innite or even not exist Controllability (resp. observability) are very hard to prove (it is often even not checked) Stability may be hard to prove Local properties = global properties (like stability, stabilizability, etc.) The time behavior is depends upon the initial condition Frequency analysis is almost impossible No systematic approach for building a control law: to each problem corresponds it unique solution
Linear approaches
Antiwindup Linearization Gain scheduling
Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 22 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
The X4 helicopter
How it works ?
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
s2 s1
The X4 helicopter
How it works ?
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Principe de fonctionnement 4 xed rotors with controlled rotation speed si 4 moteurs 4 generated forces prop. Fi 4 forces
F3 F4
F2 F1
Linear approaches
Antiwindup Linearization Gain scheduling
The X4 helicopter
How it works ?
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Principe de fonctionnement 4 xed rotors with controlled rotation speed si 4 moteurs 4 generated forces prop. Fi 4 forces 4 counter-rotating 4 couplestorques prop. i
3 4 2 1
Linear approaches
Antiwindup Linearization Gain scheduling
The X4 helicopter
How it works ?
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
Principe de fonctionnement 4 xed rotors with controlled rotation speed si 4 moteurs 4 generated forces prop. Fi 4 forces 4 counter-rotating 4 couplestorques prop. i Contrle : generated with a Roll movement Roulis : dissymmetry between left and right forces: F2 1 r = l (F4 F2 ) l )
F4
The X4 helicopter
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
Principe de fonctionnement 4 xed rotors with controlled rotation speed si 4 moteurs 4 generated forces prop. Fi 4 forces F3 4 counter-rotating 4 couplestorques prop. i Contrle : generated with a Roll movement Roulis : dissymmetry between left and right Tangage : forces: 1 r = l (F4 F2 ) l ) Pitch movement generated with a F1 dissymmetry between front and rear forces: p = l ( F1 F3 )
How it works ?
The X4 helicopter
How it works ?
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
Principe de fonctionnement 4 xed rotors with controlled rotation speed si 4 moteurs 4 generated forces prop. Fi 4 forces 4 counter-rotating 4 couplestorques prop. i Contrle : generated with a Roll movement Roulis : dissymmetry between left and right Tangage : 3 forces: Lacet : r = l (F4 F2 ) Pitch movement generated with a dissymmetry between front and rear 2 forces: p = l ( F1 F3 ) Yaw movement generated with a dissymmetry between front/rear and left/right torques: y = 1 + 3 2 4
Nonlinear Control
The X4 helicopter
Building a model (1/3)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Electrical motor: A 2nd order system with friction and saturation usually approximated by a 1rst order system: i s =
2 km 1 km si load + satU i (Ui ) Jr R Jr Jr R
i {1, 2, 3, 4} (1)
Linear approaches
Antiwindup Linearization Gain scheduling
si : rotation speed Ui : voltage applied to the motor; real control variable load : motor load: load = kgearbox |si | si with drag coecient
The X4 helicopter
Building a model (1/3)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Electrical motor: A 2nd order system with friction and saturation usually approximated by a 1rst order system: i s =
2 km 1 km si load + satU i (Ui ) Jr R Jr Jr R
i {1, 2, 3, 4} (1)
Linear approaches
Antiwindup Linearization Gain scheduling
si : rotation speed Ui : voltage applied to the motor; real control variable load : motor load: load = kgearbox |si | si with drag coecient
Aerodynamical forces and torques: Very complex models exist but overcomplicated for control, better use the simplied model: Fi r p y = = = = bsi2 2 s 2) lb (s4 2 2 s 2) lb (s1 3 2 + s 2 s 2 s 2) (s1 3 2 4
i {1, 2, 3, 4}
(2)
The X4 helicopter
Building a model (2/3)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
t3 Two frames
a xed frame E (e1 , e2 , e3 ) a frame attached to the X4 T (t1 , t2 , t3 )
t2 t1 e2 e1
Frame change
a rotation matrix R from T to E
e3
Linear approaches
Antiwindup Linearization Gain scheduling
State variables:
Cartesian coordinates (in E )
position p velocity v
Attitude coordinates:
angular velocity in the moving frame T either: Euler angles three successive rotations about t3 , t1 and t3 of angles angles , and giving R or: Quaternion representation (q0 , q ) = (cos /2, u sin /2) represent a rotation of angle about u
The X4 helicopter
Building a model (3/3)
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Fi (si )t3 )
(3)
Linear approaches
Antiwindup Linearization Gain scheduling
(4)
is the skew symmetric tensor associated to Quaternion formalism: = 1 ()q q 2 () = = 1 ( q ) with 2 (q ) = J = J + tot
T q T I33 q0 + q 0
(5)
where tot =
i
Ir t3 si +pert
gyroscopic torque
Nonlinear Control
r (s2 , s4 ) + p ( s 1 , s 3 ) y (s1 , s2 , s3 , s4 )
Master PSPI 2009-2010 26 / 174
The X4 helicopter
Review of the nonlinearities
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
2 kgearbox i = Jkrm s |si | si + Jkrm i (Ui ) R si Jr R satU p = v 0 = mg e3 + R mv 0 i F i ( si ) R = R 0 r ( s 2 , s 4 ) 0 + = J p (s1 , s3 ) J i Ir y ( s 1 , s 2 , s 3 , s 4 ) i si In red: the nonlinearities In blue: where the control variables act
The X4 helicopter
Identication of the parameters
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Electrical motor:
For small very close to a linear Winter 2004-2005 CoaX input steps, the system behaves rst order system Lorsquon bouge laxe, lhlice rpond la perturbation dune manire similaire aux hlices Hence, use linear identication tools Proxflyer ce qui nous promet de bons rsultats sur le CoaX. Malheureusement nous navons pas i is found U on the data-sheet ofsur the motorcontrarotatif (damage avoidance) pu tester le comportement du systme avec les deux hlices le systme nayant
pas deux hlices disposition avant le montage final.
Autonomous Systems Laboratory
b and measured with specic test beds, 5.5.2 Mcanisme de contra rotation avec hlices blanches
Nous avons fait tourner le module muni dhlices blanches sur une balance pour avoir quelques chiffres quant la qualit du systme. Les hlices blanches ne sont pas les plus optimise pour notre application, mais elle donne dj des informations utiles pour la suite du projet. Les rsultats sont reprsents dans un tableau et des graphiques plus loin.
Linear approaches
Antiwindup Linearization Gain scheduling
Observers
Pour tester les hlices ou les moteurs, nous utilisons, en temps normal, un ban de test spcialement conu cet effet. La force de pousse est transmise la balance via un levier (voir N. Marchand (gipsa-lab ) Nonlinear Control Master PSPI 2009-2010 28 / 174
The X4 helicopter
Identication of the parameters
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Electrical motor:
For small input steps, the system behaves very close to a linear rst order system Hence, use linear identication tools i is found on the data-sheet of the motor (damage avoidance) U
Linear approaches
Antiwindup Linearization Gain scheduling
Mechanical parameters:
l m J Ir length of an arm of the helicopter, easy to measure total mass of the helicopter, easy to measure body inertia, hard to have precisely rotor inertia, hard to have precisely
The X4 helicopter
Values of the parameters
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Motor parameters:
parameter km Jr R kgearbox i U description motor constant rotor inertia motor resistance gearbox ratio maximal voltage value 4.3 103 3.4 105 0.67 2.7 103 12 unit N.m/A J.g.m2 V
Aerodynamical parameters:
parameter b description thrust coecient drag coecient value 3.8 106 2.9 105
Linear approaches
Antiwindup Linearization Gain scheduling
Body parameters:
parameter J m l g description inertia matrix mass of the UAV radius of the UAV gravity value 14.6 103 0 0 0 7.8 103 0 0 0 7.8 103 0.458 22.5 9.81 unit kg.m2 kg cm m/s2
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
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
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
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
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
Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 35 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 36 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
Linear approaches
Antiwindup Linearization Gain scheduling
If one wants to act on the X4 with desired forces Fid , it is necessary to be able to set the rotors speeds si to sid with sid = 1 d F b i
G 1 + s
Linear approaches
Antiwindup Linearization Gain scheduling
Ki s
Make a step that compensates the weight, that is such d that sid = mg i Fi = mg 4b so that Taking CL = 50 ms, one gets with saturations
400
Linear approaches
Antiwindup Linearization Gain scheduling
si
200
80 60 40
Ui
20 0 20 0 1 2 3 4 5
time
Master PSPI 2009-2010 39 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
0.5 0 0.5 1 0 1 2 3 4 5
Saturations may lead to instability especially in the presence of integrators in the loop
Linear approaches
Antiwindup Linearization Gain scheduling
Kd Kp KI
1/s
The instability comes from the integration of the error Key idea: soften the integral eect when the control is saturated
Kd Kp KI
Linear approaches
Antiwindup Linearization Gain scheduling
1/s Ks
, that is if u is not saturated, then the PID If u = u controller with anti-windup is identical to the classical PID controller ), Ks tunes the reduction of the If u is saturated (u = u integral eect of the PID
Nonlinear Control Master PSPI 2009-2010 42 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
1 s
+ +
e
G KD
+ +
1 s
C K
+ +
Linear approaches
Antiwindup Linearization Gain scheduling
Consider a stable closed loop linear system: it is globally asymptotically stable. A saturation on the input may:
transform the global stability into local stability. In this case, the aim of the anti-windup is to increase the radius of attraction of the closed loop system keep the global stability property. In this case, the aim of the anti-windup is to renders the saturated system closer to its unsaturated equivalent
Linear approaches
Antiwindup Linearization Gain scheduling
Linear approaches
Antiwindup Linearization Gain scheduling
without saturation
1 0.5 0 0.5 1 0 1 2
1.5
However, nothing is magic and divergent behavior may occur because of the level of the step input
Make a step that compensates the weight, that is such d that sid = mg i Fi = mg 4b so that Taking CL = 50 ms, one gets with anti-windup
400
Linear approaches
Antiwindup Linearization Gain scheduling
si
200
80 60 40
Ui
20 0 20 0 1 2 3 4 5
time
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 Master PSPI 2009-2010 48 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Make a step that compensates the weight, that is such that sid = that = mg Taking CL = 50 ms, one gets with load
d i Fi
mg 4b
so
Outline Introduction
Linear/Nonlinear The X4 example
400
si
200
Linear approaches
Antiwindup Linearization Gain scheduling
20 10 0
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
Linear approaches
Antiwindup Linearization Gain scheduling
Taking load as unknown implies that the PI control law was tuned for: i = s
2 km km si + satU i (Ui ) Jr R Jr R
Implicitly, the second order terms were neglected Unfortunately, these two systems behave similarly i si is 1 small, which is not the case for sid = mg 4b 544 rad s
Nonlinear Control Master PSPI 2009-2010 50 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
with f (0, 0) = 0. Then, near the origin, it can be approximated by its linear Taylor expansion at the rst order: f f = x x+ u x u (x =0,u=0) (x =0,u =0) y h(0, 0) =
A B
h x
h x+ u (x =0,u =0)
C
u
(x =0,u =0) D
Linearization at a point
Take a nonlinear system x y = f (x , u ) = h (x , u )
Linear approaches
Antiwindup Linearization Gain scheduling
then, near the equilibrium point (x0 , u0 ), it can be approximated by its linear Taylor expansion at the rst order: f f x = (x x0 ) + (u u0 ) x (x0 ,u0 ) u (x0 ,u0 ) x x u y h(x0 , u0 ) =
A B
h x
(x x0 ) +
(x0 ,u0 ) C x
h u
(u u0 )
(x0 ,u0 ) D u
Controllability properties
Take a nonlinear system = f (x , u ) x and its linearization at (x0 , u0 ): = Ax + Bu x (7) (6)
Linear approaches
Antiwindup Linearization Gain scheduling
If (7) is controllable then (6) is locally controllable Nothing can be concluded if (7) is uncontrollable
Example
The car is controllable but not its linearization 1 = u1 1 x x 1 0 x 2 = u2 2 = 0 1 u1 u2 x linearization at the origin 3 = x2 u1 3 x x 0 0
Nonlinear Control Master PSPI 2009-2010 53 / 174
Observers
N. Marchand (gipsa-lab)
Stability properties
Take a nonlinear system = f (x , u ) x and its linearization at (x0 , u0 ): = Ax + Bu x = k (x ) so that: Assume that one can build a feedback law u (9) is asymptotically stable ( < 0): then (8) is locally ) asymptotically stable with u = u0 + k (x (9) is unstable ( > 0): then (8) is locally unstable with ) u = u0 + k (x Nothing can be concluded if (9) is simply stable ( 0) (9) (8)
Linear approaches
Antiwindup Linearization Gain scheduling
Dene Uid , the constant control that keeps the steady state speed: Uid = km sid + Rkgearbox d d si si km
Linear approaches
Antiwindup Linearization Gain scheduling
si +
km i ) satU i (U Jr R
i = Ui U d U i si = si sid i ) = U sat i (U
i U i U i U
i , +U i ] if Ui [U i if Ui U i if Ui U
Master PSPI 2009-2010 55 / 174
Nonlinear Control
Make a step that compensates the weight, that is such that d sid = mg i Fi = mg 4b so that Taking CL = 50 ms and a PI controller tuned at sid on the system with load, one has:
400
Linear approaches
Antiwindup Linearization Gain scheduling
si
200
20 10 0
Ui
10 20 0 1 2 3 4 5
time
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 Master PSPI 2009-2010 57 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Take again CL = 50 ms and a PI controller tuned at sid Make speed steps of dierent level
600
Outline Introduction
Linear/Nonlinear The X4 example
200
si
0 200
Linear approaches
Antiwindup Linearization Gain scheduling
10
20 10 0
Ui
10 20 0 2 4 6 8 10
time
The controller is well tuned near sid but not very good a large range of use
Nonlinear Control Master PSPI 2009-2010 58 / 174
1 ()
where
I is the inertia of the pendulum () = (I + ml 2 )(m + M ) m2 l 2 cos2
Linear approaches
Antiwindup Linearization Gain scheduling
( = 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
Build a linear feedback law that places the poles at -1 Starting from (0) = /5, it converges, from (0) = 1.1 /5, it diverges
15 15
Inverted pendulum
Linear approaches
Antiwindup Linearization Gain scheduling
10
10
x (0) = (1.1/5, 0, 0, 0)
10
15
10
15
For some systems, the radius of attraction of a stabilized linearization may be very small (less than one degree on the double inverted pendulum for instance) Linearization is not suitable for large range of use of the closed-loop system For other systems, the controller must be very nely tuned in order to meet performance requirements (e.g. automotive with more and more restrictive pollution standards) Linearization is not suitable for high accuracy closed loop systems Either for stability reasons or performance reasons, it may be necessary to tune the controller at more than one operating point
Linear approaches
Antiwindup Linearization Gain scheduling
Gain scheduling uses the idea of using a collection of linearization of a nonlinear system at dierent operating points
Linear approaches
Antiwindup Linearization Gain scheduling
Gain scheduling
Take a nonlinear system
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
= f (x , u )
Dene a family of equilibrium points s = (xeq , ueq ) such that f (xeq , ueq ) = 0
Linear approaches
Antiwindup Linearization Gain scheduling
At each point s , linearize the system assuming s is constant: = A(s )x + B (s )u x = x xeq and u = u ueq with x At each point s , dene a feedback law: u = ueq (s ) K (s )(x xeq (s )) with (Eig(A(s ) B (s )K (s ))) < 0
Nonlinear Control Master PSPI 2009-2010 63 / 174
Gain scheduling
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
The controller is then obtained by changing s in the a priori dened collection of points The change of s can be done discontinuously or continuously by interpolation
Linear approaches
Antiwindup Linearization Gain scheduling
Gain scheduling
Drawbacks of gain scheduling :
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Convergence only if s varies slowly The performance within a linearization area may be poor The mapping may be prohibitive if the number of states is large The stability issues are not clear
Linear approaches
Antiwindup Linearization Gain scheduling
and, under some conditions, uses LMI to build a feedback. Improves the performance within a linearization area.
Gain scheduling
Handling changes in the steady state speed of the X4s rotors
Nonlinear Control N. Marchand References
400
Take again CL = 50 ms and a PI controller tuned at si Make speed steps of dierent level
600
Outline
200
Introduction
Linear/Nonlinear The X4 example
si
0 200
Linear approaches
Antiwindup Linearization Gain scheduling
20 10 0
10
Ui
10 20 0 2 4 6 8 10
time
Stability
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 67 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
Stability
Consider the autonomous nonlinear system:
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
= f (x , u (x )) = g (x )
(10)
Stability
System (10) is said to be stable at the origin i: R > 0, r (R ) > 0 such that x0 B (r (R )), x (t ; x0 ), solution of (10) with x0 as initial condition, remains in B (R ) for all t > 0.
Linear approaches
Antiwindup Linearization Gain scheduling
Attractivity
The origin is said to be attractive i: limt x (t ; x0 ) = 0.
Asymptotic stability
System (10) is said to be asymptotically stable at the origin i it is stable and attractive
Nonlinear Control Master PSPI 2009-2010 68 / 174
Observers
N. Marchand (gipsa-lab)
Stability
Graphical interpretation
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
For linear systems: Attractivity Stability Stability Stability and attractivity : properties hard to check ?
Stability
Using the linearization
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
Linearization with eig= 0: nothing can be concluded on the nonlinear system (may be stable or unstable) Only local conclusions
Stability
Lyapunov theory: Lyapunov functions
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
2 3
= +
Stability
Linear approaches
Antiwindup Linearization Gain scheduling
then the origin is asymptotically stable. If a Lyapunov function V : Rn R+ s.t. (decreasing) V (x (t )) is decreasing then the origin is stable.
Nonlinear Control Master PSPI 2009-2010 72 / 174
Observers
N. Marchand (gipsa-lab)
Stability
Lyapunov theorem: a graphical interpretation
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
Stability
Stability and robustness
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 75 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
The X4 helicopter
The control problems
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
i s p mv R J
= = v = = =
2 km Jr R s i
kgearbox Jr
|si | si +
mg e3 + R R J
0 0 i F i ( si )
km Jr R
satU i (Ui )
Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 77 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
Control Lyapunov functions (CLF) where introduced in the 80s CLF are for controllability and control what Lyapunov functions are for stability Lyapunov: a tool for stability analysis of autonomous systems
Take 1 x 2 x Take the Lyapunov function V (x ) = 3 2 2 x + x1 x2 + x2 2 1 = = x2 x1 x2
Linear approaches
Antiwindup Linearization Gain scheduling
Linear approaches
Antiwindup Linearization Gain scheduling
Linear approaches
Antiwindup Linearization Gain scheduling
hence
if x1 + 2x2 = 0, there exists u such that V otherwise (if x1 + 2x2 = 0) (x (t ), u (t )) V =
2 2 2 2 4x2 2x2 + x2 = 5x2
[positive deniteness] V (x ) 0 for all x and V (0) = 0 if and only if x = 0 [radially unbounded] limx V (x ) = + [positive deniteness] V (x ) 0 for all x and V (0) = 0 if and only if x = 0 [proper] for each a 0, the set {x |V (x ) a} is compact (, K ) ( x ) V (x ) ( x ) x Rn
Linear approaches
Antiwindup Linearization Gain scheduling
or:
1
or, alternatively:
Linear approaches
Antiwindup Linearization Gain scheduling
sup min V (x )f (x , u ) + W (x ) 0
Roughly speaking a CLF is a Lyapunov function that one can force to decrease Extensions to nonsmooth CLF exist and are necessary for the class of system that can not be stabilized by means of smooth static feedback
Nonlinear Control Master PSPI 2009-2010 82 / 174
Theorem
= g0 ( x ) + Consider a control ane system x f (0) = 0. Assume that the set
m i =1 ui gi (x )
Linear approaches
Antiwindup Linearization Gain scheduling
S = x |Lf V (x ) = 0 and Lk f Lgi V (x ) = 0 for all k N, i {1, . . . , m} then, the feedback k (x ) := (V (x ) G (x ))T = Lg1 V (x ) globally asymptotically stabilizes the system at the origin. Lgm V (x )
T
= {0}
Linear approaches
Antiwindup Linearization Gain scheduling
a(x ) := V (x )f (x ) and bi (x ) := V (x )gi (x ) for i = 1, . . . , m B (x ) = b1 (x ) b2 (x ) and (x ) = B (x ) 2 q : R R is any real analytic function with q (0) = 0 and bq (b ) > 0 for any b>0 is the real analytic function: a+ a2 +bq (b ) if b = 0 b ( a , b ) = 0 if b = 0 is such that k (0) = 0, k smooth on Rn \0 and
x Rn
sup V (x )f (x , k (x )) + W (x ) 0
sup
min V (x )f (x , u ) + W (x ) 0
Linear approaches
Antiwindup Linearization Gain scheduling
The small control property implicitly means that if is small (hence the control), the system can still be controlled as long as it is suciently close to the origin
Model = f (x , u ) x u = k (x )
Real system = f (x , u )+ x u = k (x +)
Linear approaches
Antiwindup Linearization Gain scheduling
A CLF is a theoretical tool, not a magical tool A CLF is not a constructive tool Finding a stabilizing control law and nding a CLF are at best the same problems. In all other cases, nding a stabilizing control law is easier than nding a CLF Even if one can nd a CLF for a system, the universal formula often gives a feedback with poor performances However, this is an important eld of research in the control system theory community that proved important theoretical results, for instance the equivalence between asymptotic controllability and stabilizability of nonlinear systems (1997)
Linear approaches
Antiwindup Linearization Gain scheduling
Denition: Passivity
A system = f (x , u ) x y = h(x , u )
is said to be passive if there exists some function S (x ) 0 with S (0) = 0 such that
T
Linear approaches
Antiwindup Linearization Gain scheduling
S (x (T )) S (x (0))
u T ()y ()d
0
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
Class K A continuous function : R0 R0 is said in K if it is strictly increasing and (0) = 0 Class KL A continuous function : R0 R0 R0 is said in KL if (, s ) K for each xed s and (r , ) is decreasing for each xed r and lims (r , s ) = 0
Linear approaches
Antiwindup Linearization Gain scheduling
Roughly speaking, ISS characterizes a relation between the norm of the state and the energy injected in the system: the system can not diverge in nite time with a bounded control ISS eases the design of control law Important literature
Nonlinear Control Master PSPI 2009-2010 89 / 174
Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 90 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
Linear approaches
Antiwindup Linearization Gain scheduling
Goal
Find u in [1, 1] that makes V decrease as fast as possible
Nonlinear Control Master PSPI 2009-2010 91 / 174
= sign(x1 + 2x2 )
Simulating the closed loop system with initial condition x (0) = (2, 3), it gives:
2
Linear approaches
Antiwindup Linearization Gain scheduling
x2 x1
0 2 4 6 8 10
Stability
1.5
Nonlinear approaches
CLF Sliding mode Geometric control Recursive techniques X4 stabilization
Dene (x ) = x1 + 2x2 . The set {S (x ) = {x |(x ) = 0}} {|x1 | 0.6, |x2 | 0.3} is attractive:
S = {x
|x
2x
0}
Linear approaches
Antiwindup Linearization Gain scheduling
x1
x2
Dene (x ) = x1 + 2x2 . The set {S (x ) = {x |(x ) = 0}} {|x1 | 0.6, |x2 | 0.3} is attractive:
S = {x
|x
2x
0}
Linear approaches
Antiwindup Linearization Gain scheduling
<0 SS >0 SS
>0 SS <0 SS
x1
x2
The set {S (x ) = {x |(x ) = 0}} {|x1 | 0.6, |x2 | 0.3} is attractive Once the set is joined, the control is such that x remains on S (x ), that is: (x ) = 0 = x 1 + 2x 2 = x2 x1 + u S Hence, on S (x ), u = sign(x1 + 2x2 ) has the same inuence on the system as the control ueq = x1 x2 On S (x ), the system behaves like: 1 = x2 x 2 = x1 + u = x2 x x2 and hence also x1 clearly exponentially go to zero without leaving {S (x ) = {x |x1 + 2x2 = 0}} {|x1 | 0.6, |x2 | 0.3}
Linear approaches
Antiwindup Linearization Gain scheduling
Principle: Dene a sliding surface S (x ) = {x |(x ) = 0} A stabilizing sliding mode control is a control law
discontinuous in on S (x ) that insures the attractivity of S (x ) such that, on the surface S (x ), the states slides to the origin
Linear approaches
Antiwindup Linearization Gain scheduling
Main characteristic of sliding mode control: Robust control law Discontinuities may damage actuators (ltered versions exist)
With a sliding mode control, the system takes the form: = x f + (x ) f (x ) if (x ) > 0 if (x ) < 0
f + (x ) (x ) > 0 fn+ (x ) fn (x ) f (x )
Linear approaches
Antiwindup Linearization Gain scheduling
(x ) = 0
(x ) < 0
What happens for (x ) = 0 ? = f + (x ) + (1 )f (x ) The solution on (x ) = 0 is the solution of x where satises fn+ (x ) + (1 )fn (x ) = 0 for the normal projections of f + and f
Linear approaches
Antiwindup Linearization Gain scheduling
with > 0, (x ) = p T x and p T = p1 pn is a stable polynomial (all roots have strictly negative real parts) Then the origin of the closed loop system is asymptotically stable
Nonlinear Control Master PSPI 2009-2010 97 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
(x ) = T (x ) (x ) = x T p p T f (x ) + p T g (x )u V with the chosen control, it gives: (x ) = (x ) sign((x )) = |(x )| V x tends to S = {x |(x ) = 0} tunes how fast the system converges to S = {x |(x ) = 0}
Linear approaches
Antiwindup Linearization Gain scheduling
(n1)
form: .. . .. . 0 0 . . . 0 z 1 pn p1
Consider an initial point x0 such that (x0 ) > 0. Since (x ) = (x ) sign((x )) (x ) it follows that as long as (x ) > 0 (x ) = Hence, the instant of the rst switch is ts = (x0 ) <
Linear approaches
Antiwindup Linearization Gain scheduling
Moreover, ts 0 as
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 100 / 174
Assume that one knows only a model ^ (x ) + g =f x ^ (x )u of the true system = f (x ) + g (x )u x The time derivative of the Lyapunov function is:
T ^g T )p pT g ^f (x ) = (x ) p (f g V sign((x )) pT g ^ pT g ^
Linear approaches
Antiwindup Linearization Gain scheduling
<0 If sign(p T g ) = sign(p T g ^ ) and > 0 suciently large, V The closed-loop system is robust against model errors
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 101 / 174
Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 102 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
Consider nonlinear the system 1 = 2x1 + ax2 + sin(x1 ) x 2 = x2 cos(x1 ) + u cos(2x1 ) x Take the new set of state variables z1 = x1 z2 = ax1 + sin(x1 ) The state equations become: 1 = 2z1 + z2 z 2 = 2z1 cos(z1 ) + cos(z1 ) sin(z1 ) + au cos(2z1 ) z The nonlinearities can then be canceled taking the new control v : u = 1 (v cos(z1 ) sin(z1 ) + 2z1 cos(z1 )) a cos(2z1 )
Nonlinear Control Master PSPI 2009-2010 103 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
x1 = z1 (z1 ) x2 = z2 sin a
Taking v = 2z2 places the poles of the closed-loop in {2, 2} Hence, limt z = 0 Looking back to the transformation: x1 = z1 z2 sin(z1 ) x2 = a one also have limt x = 0 In the original coordinates, the control writes: u= 1 [2ax2 2 sin(x2 )cos(x1 ) sin(x1 )+2x1 cos(x1 )] a cos(2x1 )
Nonlinear Control Master PSPI 2009-2010 104 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
Linear approaches
Antiwindup Linearization Gain scheduling
Take x1 as output: y = x1 When not imposed, the choice of the appropriate output is often delicate Compute the rst time derivative of y : =x 1 = sin(x2 ) + (x2 + 1)x3 y Compute the second time derivative of y :
5 2 = (x2 + 1)u + (x1 y + x3 )(x3 + cos(x2 )) + (x2 + 1)x1 m(x )
Taking u =
v m(x ) x2 +1
=v y
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 105 / 174
Potential problem if x2 = 1 that Here again, take the linear feedback v = y + 2y places the poles of the closed loop system in {1, 1} asymptotically converges to the origin Hence, y and y The state of the system is of dimension 3. Only two variables have been brought to the origin, what about the third one ? Write the system with the new coordinates , x3 ): (z1 , z2 , z3 ) = (y , y Linearized sub-system: Internal dynamics: 1 = z2 z 2 = v z
2 + u (z ) 3 = z1 z
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 106 / 174
One has to check that the internal dynamics is stable. For this, we = 0 (which happens asymptotically): assume that y = y
0 0 0 5 z1 0 2 +z3 )(z3 + cos x2 ) + (x2 + 1)z1 ) x2 + 1
3 = z
2 z1 +
v ((
Linear approaches
Antiwindup Linearization Gain scheduling
z3 (z3 + cos x2 ) x2 + 1
3 z3 (z3 + 1) z3 : the internal If x2 and z3 are small enough, z dynamics is locally asymptotically stable The approach can be applied if and only if the internal dynamics is stable If the internal dynamics is unstable, the system is called non-minimum phase
Change the input Use additional inputs to stabilize the internal dynamics Other approach in the literature like approximate linearization
Nonlinear Control Master PSPI 2009-2010 107 / 174
Consider again nonlinear systems ane in the control: = f (x ) + g (x )u x y = h (x ) The linearization approach tries to nd
a feedback control law u = (x ) + (x )v and a change of variable z = T (x )
Linear approaches
Antiwindup Linearization Gain scheduling
Input-State linearization
= Az + Bv z No systematic approach
Input-Output linearization
y (r ) = v Systematic approach
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 108 / 174
Take
= f (x ) + g (x )u x y = h (x )
The time derivative of y is then given by: h (f (x ) + g (x )u ) = Lf h(x ) + Lg h(x )u x If Lg h(x ) = 0, the control is = y u= 1 (Lf h(x ) + v ) Lg h(x )
Linear approaches
Antiwindup Linearization Gain scheduling
=v yielding y Otherwise (that is Lg h(x ) 0), dierentiate once more: = y Lf h (f (x ) + g (x )u ) = L2 f h(x ) + Lg Lf h(x )u x
Nonlinear Control Master PSPI 2009-2010 109 / 174
=v yielding to y ...
Linear approaches
Antiwindup Linearization Gain scheduling
(Lr f h (x ) + v )
Take
= f (x ) + g1 (x )u1 + g2 (x )u2 x y1 = h1 (x ) y2 = h2 (x )
The relative degree {r1 , r2 } is then given by: Lg1 Lif1 h1 (x ) = Lg2 Lif1 h1 (x ) = 0 Lg1 Lif1 h2 (x ) = Lg2 Lif1 h2 (x ) = 0 i < r1 i < r2
Linear approaches
Antiwindup Linearization Gain scheduling
Assume that the Input-Output decoupling condition is satised, that is: rank
1 1 1 1 Lg1 Lr h1 (x ) Lg2 Lr h1 (x ) f f r2 1 r2 1 Lg1 Lf h2 (x ) Lg2 Lf h2 (x )
=2
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 111 / 174
1 = L2 y f h1 (x ) + Lg1 Lf h1 (x ) u1 + Lg2 Lf h1 (x ) u2
=0 =0
. . . y1 1
(r ) r1 1 1 1 1 = Lr h1 (x ) u1 + Lg2 Lr h1 (x ) u2 f f h1 (x ) + Lg1 Lf either =0 or =0
Linear approaches
Antiwindup Linearization Gain scheduling
2 = L2 y f h2 (x ) + Lg1 Lf h2 (x ) u1 + Lg2 Lf h2 (x ) u2
=0 =0
. . . y2 2
(r ) r2 1 2 2 1 = Lr h2 (x ) u1 + Lg2 Lr h2 (x ) u2 f h2 (x ) + Lg1 Lf f either =0 or =0
Nonlinear Control
u1 u2
u
Thanks to the decoupling condition, one can take: u = A(x )1 b (x ) + A(x )1 v which gives two chains of integrators: y1 1 = v1
(r )
Linear approaches
Antiwindup Linearization Gain scheduling
y2 2 = v2
(r )
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 113 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
Nonlinear system
Linear loop
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 114 / 174
The internal dynamics or zero-dynamics is then of dimension n r ; its stability has to be checked For linear systems r =number of poles-number of zeros This approach took a rapid development in the 80s Maybe the only general approach for nonlinear system with predictive control Can be extended to MIMO systems with a decoupling condition Many extensions in particular with the notion of atness Power tool for path generation Non robust approach since it is based on coordinate changes that can be sti The control may take too large values Kills nonlinearities even if they are good
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 115 / 174
Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 116 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
Backstepping
Main results
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
k V f (, ) + k () G (, k ())
G (, ) =
0
f (, k () + )d
Observers
N. Marchand (gipsa-lab)
Backstepping
Main results
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
n 1 n
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 118 / 174
Forwarding
Strict-feedforward systems
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Consider the class of strict-feedforward systems: 1 = x2 + f1 (x2 , x3 , . . . , xn , u ) x 2 = x3 + f2 (x3 , . . . , xn , u ) x . . . n1 = xn + fn1 (xn , u ) x n = u x Strict-feedforward systems are in general no feedback linearizable Backstepping is not applicable
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 119 / 174
Forwarding
Forwarding procedure
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
n = un . At step 0: Begin with stabilizing the system x 2 Take e.g. un = xn and the corresponding Lyapunov function Vn = 1 2 xn At step 1: Augment the control law un1 (xn1 , xn ) = un (xn ) + vn1 (xn1 , xn ) such that un1 stabilizes the cascade n1 = xn + fn1 (xn , un1 ) x n = un1 x At step k: Augment the control law unk (xnk , . . . , xn ) = unk +1 (xnk +1 , . . . , xn ) + vnk (xnk , . . . , xn ) such that unk stabilizes the cascade nk = xnk +1 + fnk (xnk +1 , . . . , xn , unk ) . . .
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 120 / 174
Forwarding
Forwarding procedure
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
The Lyapunov function at step k can be given by: xk ()fk (xk +1 (), . . . , xn ())d
0
Linear approaches
Antiwindup Linearization Gain scheduling
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
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 122 / 174
Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 123 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
The X4 helicopter
X4 position stabilization
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
The aim is now to apply nonlinear control techniques to the stabilization problem of an X4 helicopter at a point Input-Ouput Linearization techniques can not be applied since the system is non minimum phase The backstepping approach is inspired from
S. Bouabdallah and R. Siegwart, Backstepping and sliding-mode techniques applied to an indoor micro quadrotor, at the EPFL (Lausanne, Switzerland) presented at the International Conference on Robotics and Automation 2005 (ICRA05, Barcelonna, Spain)
Linear approaches
Antiwindup Linearization Gain scheduling
Revealing example of what often happens in nonlinear: a solution comes from the combination of dierent methods
Nonlinear Control Master PSPI 2009-2010 124 / 174
The X4 helicopter
A two steps approach
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
i s p mv R J
= = v = = =
2 km Jr R s i
kgearbox Jr
|si | si +
mg e3 + R R J
0 0 i F i ( si )
km Jr R
satU i (Ui )
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 125 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
The aim of this rst step is to be able to bring (, , ) to any desired conguration (d , d , d ) Attitude equations (with an appropriate choice of Euler angles): 1 = x2 x x 2 = a1 x4 x6 + b1 r 3 = x4 x 4 = a2 x2 x6 + b2 p x = x6 x 5 6 = a3 x2 x4 + b3 y x , , , ), a1 = J2 J3 , a2 = J3 J1 , with (x1 , . . . , x6 ) = (, , J1 J2 J2 1 1 1 a3 = J1J , b = , b = and b = 1 2 3 J1 J2 J3 3 The system would be trivial to control if (x2 , x4 , x6 ) was the control instead of (r , p , y ) This is precisely the philosophy of backstepping
Nonlinear Control Master PSPI 2009-2010 126 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
k V f (, ) + k () G (, k ())
G (, ) =
0
f (, k () + )d
Observers
N. Marchand (gipsa-lab)
Dene rst the tracking error: z1 = x1 x1d z2 = x3 x3d z3 = x5 x5d It gives the subsystem 1 z 2 z 3 z
= d = d = d
Linear approaches
Antiwindup Linearization Gain scheduling
1d = x2 x 3d = x4 x 5d = x6 x
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 128 / 174
Along the trajectories of the system, the Lyapunov function gives: 1 = z1 (x2 x 1d ) V 1d 1 z1 with Hence taking as ctive control x2 = x 1 > 0 insures the decrease of V1 : 1 = 1 z 2 V 1 x1 will asymptotically converge to x1d ... unfortunately x2 is not the control and we have to build thanks to backstepping approach the r that will force x2 to make x1 converge to x1d For this, dene the tracking error for x2 : 1d 1 z1 ) z2 = x2 (x
input of subsystem in z1 we would like to put
Linear approaches
Antiwindup Linearization Gain scheduling
One has 2 = a1 x4 x6 + b1 r x 1d + 1 x2 1 x 1d z
2 x 1 1 z
Recall we have to build the r that will force x2 to make x1 converge to x1d . For this, we use the formula of the backstepping theorem:
Linear approaches
Antiwindup Linearization Gain scheduling
1d 1 z1 k = x 1d f = x2 x 2 V = 1 z 2 1
Master PSPI 2009-2010 130 / 174
1 2 2 = (z1 + z2 ) 2
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 131 / 174
1d + 1 z1 = 1 z1 + x2 x
z2
Linear approaches
Antiwindup Linearization Gain scheduling
Hence, it gives:
= 1 z 2 + z1 z2 +z2 v W 1
can be compensated with v
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
Attitude stabilization
The control law given by 1d 1d 1 x2 + 1 x b1 r = z1 2 z2 a1 x4 x6 + x 3d 3d 3 x4 + 3 x b2 p = z3 4 z4 a2 x2 x6 + x 5d 5 x6 + 5 x 5d b3 y = z5 6 z6 a3 x2 x4 + x 1d + 1 z1 , z3 = x3 x3d , with z1 = x1 x1d , z2 = x2 x 3d + 3 z3 , z5 = x5 x5d and z6 = x6 x 5d + 5 z5 z4 = x4 x asymptotically stabilizes (x1 , x3 , x5 ) to their desired position (x1d , x3d , x5d ) This kind of approach appeared in the literature in the last 90s Now better approach based on forwarding are appearing taking into account practical saturation of the control torques
Nonlinear Control Master PSPI 2009-2010 133 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
Linear approaches
Antiwindup Linearization Gain scheduling
60 40 20 0 20 60 40 20 0 20 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 134 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
r , p and y controls
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 135 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
r , p and y controls
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 136 / 174
Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
r , p and y controls
The controls are too large, may be two fast to consider the rotors as instantaneous
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 137 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
The saturation of the possible control torques r , p , y may be problematic On the X4 system, the maximum speed of the rotors is given by the solution of:
2 km smax + kgearbox Rsmax2 km U = 0
Linear approaches
Antiwindup Linearization Gain scheduling
which gives: smax = 604 rad.s1 The maximum roll and pitch torques are when one rotor is at rest, the other one at is maximum speed (we assume that the rotation is in only one direction):
2 rmax ,p = lbsmax = 0.31 N.m
The maximum yaw torque is obtained when two opposite rotors turn at the smax the two others are at rest:
max 2 y = 2smax = 21.2 N.m
Nonlinear Control Master PSPI 2009-2010 139 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 140 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
r , p and y controls
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 141 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
r , p and y controls
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 142 / 174
Taking 1,...,4 = 0.2 and 5,6 = 8 and applying it on the system with saturations, it gives:
40 20 0 20 60 40 20 0 20 60 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70
Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
40 20 0 20 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70
r , p and y controls
Seems to work
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 143 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
First use the attitude control to adjust the X4 in the right direction:
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 145 / 174
There exists a relation between (, , ) and (, , ) (a rotation about the yaw axis) Use the attitude control to drive and keep and to the origin Take now the system in the plane:
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 146 / 174
This problem is referred in the literature as the PVTOL aircraft stabilization problem (Planar Vertical Take O and Landing aircraft) The generic equations are: = sin()u x = cos()u 1 y = v
u y v
Linear approaches
Antiwindup Linearization Gain scheduling
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
)T , y, y , , (x , x
Linear approaches
Antiwindup Linearization Gain scheduling
Translational part: 1 = z2 z Rotational part: 2 = u sin(z5 ) 5 = z6 z z 3 = z4 6 = v z z 4 = u cos(z5 ) 1 z d such that: The idea is to use v to drive z5 to z5 z5d with <
1 2
arctan(
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
Linear approaches
Antiwindup Linearization Gain scheduling
the translational subsystem takes the form of two independent second order chain of integrators z1 = z2 z3 = z4 z2 = r1 z4 = r2 If we could prove that r1 = (z2 ) 2 (z1 + z2 ) r2 = (z4 ) 2 (z3 + z4 ) insures (z1 , z2 , z3 , z4 ) 0 Then, it will follow that once (z1 , z2 , z3 , z4 ) = 0, z5d = 0 and 5d = z6d = 0 hence also (z5 , z6 ) 0 z
Nonlinear Control Master PSPI 2009-2010 149 / 174
Remain two problems: Prove that r1 = (z2 ) 2 (z1 + z2 ) r2 = (z4 ) 2 (z3 + z4 ) brings (z1 , z2 , z3 , z4 ) to zero 5d = z6d ) Build a control so that (z5 , z6 ) tends to (z5d , z
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 150 / 174
0 ...
... .. . .. . .. . ...
0 0 . . . . . . u . x + . 0 . 0 1 1 0
=:B
(11)
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 151 / 174
First compute
n i =1
( + i ) = p0 + p1 + + pn1 n1 + n T T Tx with
Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
Tn2 T1
with
n i i =1
n i i =1
Master PSPI 2009-2010 152 / 174
Nonlinear Control
Linear approaches
Antiwindup Linearization Gain scheduling
n i i =1 i =1
ni +1 sat1 (yi )
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 153 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
So V is decreasing if > 2 + + n 1 2 + n > 0 < ( n ) yn joins [1, 1] in nite time and remains there During that time, yn1 to y1 can not blow up Repeating this scheme for yn1 to y1 gives y B (1) after some time In B (1), the system is linear and stable GAS
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 154 / 174
Remain two problems: Prove that r1 = (z2 ) 2 (z1 + z2 ) r2 = (z4 ) 2 (z3 + z4 ) brings (z1 , z2 , z3 , z4 ) to zero direct application of the saturated control law 5d = z6d ) Build a control so that (z5 , z6 ) tends to (z5d , z take: 5d ) (z6 z 5d ) 2 ((z5 z5d ) + (z6 z 5d )) v = (z that work applying the saturated control law on the 5d variables z5 z5d and z6 z
Nonlinear Control Master PSPI 2009-2010 155 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
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
(, , , x , y , z ) = ( pi , pi , pi , 5, 5, 5) 2 2 4 , , x ,y ,z ) = (0, 0, 0, 1, 2, 0) (,
Nonlinear Control Master PSPI 2009-2010 156 / 174
The X4 helicopter
Second step: position control
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
Outline
1
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Introduction Linear versus nonlinear The X4 example Linear control methods for nonlinear systems Antiwindup Linearization Gain scheduling Stability Nonlinear control methods Control Lyapunov functions Sliding mode control State and output linearization Backstepping and feedforwarding Stabilization of the X4 at a position Observers
Nonlinear Control Master PSPI 2009-2010 158 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
3 4
Observers
N. Marchand (gipsa-lab)
Nonlinear observers
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
yd
k (x )
Controller
x ^
Observer
1
Linear approaches
Antiwindup Linearization Gain scheduling
Modelization
To get a mathematical representation of the system Dierent kind of model are useful. Often:
a simple model to build the control law a sharp model to check the control law and the observer
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
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 160 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 161 / 174
(t ) = Ax x ^ ^(t ) + Bu (t ) + L(^ y (t ) y (t )) y ^ (t ) = C x ^ (t )
The way to chose L proposed by Kalman is: AP + PAT PC T W 1 CP + V + P = 0 W = WT > 0 L = PC T W 1 with > 2 A or V = V T > 0. enables to tunes the speed of convergence of the observer The observer can also be computed as L = S 1 C T W 1 where AT S + SA C T W 1 C + SVS + S = 0
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 162 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
W = WT > 0 L = PC T W 1 > 2 A or V = V T > 0 enables to tunes the speed of convergence of the observer
Nonlinear Control Master PSPI 2009-2010 163 / 174
= AT S + SA C T W 1 C + SVS + S S
T S (0) = S0 = S0 >0
Linear approaches
Antiwindup Linearization Gain scheduling
Nonlinear systems:
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
(t ) = f (x (t ), u (t )) x y (t ) = h(x (t )) Observability
Linked with the notion that for two trajectories of the system x1 and x2 dened on [0, t ], we must have
t
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 165 / 174
Linear approaches
Antiwindup Linearization Gain scheduling
W = WT > 0 L = PC T W 1 > 2 A or V = V T > 0 h f (^ x (t ), u (t )) C = (^ x (t )) A= x x No guarantee of convergence (except for specic structure conditions)
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 166 / 174
Luenberger-Like observers
For a system of the form:
Nonlinear Control N. Marchand
(t ) = Ax x ^ ^(t ) + (y (t ), u (t )) K (C x ^(t ) y (t )) For a system of the form: (t ) = A0 x (t ) + (x (t ), u (t )) x y (t ) = C0 x (t ) with (A0 , C0 ) are in canonical form, if A0 K0 C0 is stable, suciently large, global lipschitz and i (x , u ) = 0 for j i + 1 xj an observer is: (t ) = A0 x x ^ ^(t ) + (^ x (t ), u (t )) diag(, 2 , . . . , n )K0 (C0 x ^(t ) y (t ))
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 167 / 174
Kalman-Like observers
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
For a system of the form: (t ) = A(u (t ))x (t ) + B (u (t )) x y (t ) = Cx (t ) an observer is: (t ) = A(u (t ))^ x ^ x (t ) + B (u (t )) K (t )(C x ^(t ) y (t )) with = A(u (t ))P + PAT (u (t )) PC T W 1 CP + V + P P
T P (0) = P0 = P0 > 0, W = W T > 0
Linear approaches
Antiwindup Linearization Gain scheduling
> 2 A(u (t )) L = PC T W 1
or V = V T > 0
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 168 / 174
A0 (u , y )
Linear approaches
Antiwindup Linearization Gain scheduling
C0 i (x , u ) xj
= =
0 for j i + 1
an observer is: = A(u , y )^ x ^ x + (^ x , u ) diag(, 2 , . . . , n )K0 (t )(C0 x ^ y) with = A(u (t ))P + PAT (u (t )) PC T W 1 CP + P P
T P (0) = P0 = P0 > 0, W = W T > 0
> 2 A(u (t )) L = PC T W 1
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 169 / 174
Not mentionned: Optimal observers (robust, very ecient and easy to tune but costly) Based on something like:
t1
Linear approaches
Antiwindup Linearization Gain scheduling
x ^ = Arg min
x () t0
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
+ g ) + acc
gravity noise
Linear approaches
Antiwindup Linearization Gain scheduling
2 where C (q ) = (q0 q T q )I3 + 2(q q T q0 q ) is called the Rodrigues matrix, that is the rotation from the xed frame to the mobile one. The magnetometers give:
where hmag are the coordinates of the magnetic eld in the xed frame.
Nonlinear Control Master PSPI 2009-2010 171 / 174
Observers
Application to the attitude estimation
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
where hmag are the coordinates of the magnetic eld in the xed frame. The bias drift is the main error and it deteriorates the accuracy of the rate gyros on the low frequency band. We take: bgyr = + gyr1 + gyr1 1 = gyr1 + gyr2 gyr1
noise
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 172 / 174
Observers
Application to the attitude estimation
Nonlinear Control N. Marchand References Outline Introduction
Linear/Nonlinear The X4 example
Linear approaches
Antiwindup Linearization Gain scheduling
Observers N. Marchand (gipsa-lab) Nonlinear Control Master PSPI 2009-2010 173 / 174
(28) (29)
It is possible to demonstrate that the error model for (25) and T T (26) has the equilibrium state [qe b ] = [1 0 0 0 0 0 0]T and is exponentially stable [19].
Fig.
Linear approaches
Antiwindup Linearization Gain scheduling
Fig. 3.
The complet schema of the attitude observer is given in Fig. 3. Remark 2: suppose that the rigid body Master has a slow angular Nonlinear Control PSPI 2009-2010 174 / 174