COMMANDE ET OBSERVATION
DES SYSTEMES NON LINÉAIRES
Franck PLESTAN
Professeur
Ecole Centrale de Nantes
[Link]@[Link]
2024/2025 Ecole Centrale de Nantes 1
Quelques références
• J.J. Slotine, W. Li, Applied Nonlinear Systems, Prentice-Hall, 1991.
• A. Isidori, Nonlinear Control Systems - 3rd edition, Springer, 1996.
• H. Khalil, Nonlinear systems – 3rd edition, Prentice Hall, 2002.
• V. Utkin, J. Gurdner, J. Shi, Sliding Mode Control in Electromechanical Systems, CRC, 2009.
• Y. Shtessel, C. Edwards, L. Fridman, A. Levant, Sliding mode control and observation,
Springer, 2016
Remerciements à A. Glumineau, ancien Professeur CN.
2024/2025 Ecole Centrale de Nantes 2
Systèmes linéaires vs. non linéaires
• Les systèmes linéaires ont été étudiés depuis très longtemps
• Une idée : est-il possible de transformer le système non linéaire en un système linéaire ,
afin de baser le design de la commande sur le modèle linéaire ?
• Transformation par approximation J θ̈ + mgl sin(θ) = u
• Transformation par changement d’espace d’état
• Transformation grâce à la commande
x2
ẋ = f (x, u) =
mgl u
− sin(x1 ) +
Un exemple : contrôle d’un bras rigide J θ̈ + mglJsin(θ) = sin(θ)
θ̈ + mgl u =u J J
u x = [x1 x2 ]T
θ
l, J
˜˙
x2
ẋ = f (x, u) =
mg mgl u
− sin(x1 ) +
J J
2024/2025 Ecole Centrale de Nantes 3
(x1 , xJ2 , u) =
J (0, 0, 0)
ũ mgl
x̃˙ 2 = − T x̃2 x̃˙ 1 = x̃2
x = J[x1 x2J]
˙x̃2 = ũ − mgl x̃2
J (xuJ1= x1 (0,
− Jk 2 x2 + mgl sin(x1
Linéarisation autour d’un point de fonctionnement
2 , u)1=
, x−Jk 0, 0)
(xx̃˙1 ,=
x2x̃, u) = (0, 0, 0)
1 2 Synthèse d’un correcteur linéaire
Caractéristiques de la réponse vraie uniquement
ũ mgl (x , x2 , u)du= (0,de 0, 0)
x̃˙ 2 = − x̃2 1 autour point
ẋ1 = x2 fonctionnement
J J
u = −Jk1 x1 − Jk2 x2 + mgl sin(x ẋ2 = −k ) 1 x1 − k2 x2
1
Linéarisation par la commande u = −Jk1 x1 − Jk2 x2 + mgl sin(x1 )
ẋ1 = x2 0 1
ẋ =
x
ẋ2 = −k1 x1 − k2 x2 −k1 −k2
Réglage des gains: placement des pôles
Pas d’approximation
Fortement lié au modèle.
2024/2025 Ecole Centrale de Nantes 4
0 1
ẋ =
x (x1 , x2 , u) = (0, 0, 0)
−k1 −k2
u = −Jk1 x1 − Jk2 x2 + mgl sin(x1 )
Linéarisation exacte par transformation
ẋ1 = xd’état
2
ẋ2 = −k1 x1 − k2 x2
x1 x3 ż1 = z2
ẋ1 = x22 +
0 1
x2 ẋ =
−k1 −k2
x
ż2 = z3
ẋ2 = x3
ẋ1 = x22 +
x1 x3 ż3 = u
ẋ3 = u ẋ2 = x3
x2
ẋ3 = u
(T
x1
'
z = Φ(x) = x2 x3
x2
Espace d’étatż =du
z 1 2 Espace
1
d’état de
système ż = u la synthèse
ż = z 2 3
x = Φ−1 (z) = [z1 · z2 z2 z3 ]T
2024/2025 Ecole Centrale de Nantes
1 5
ż3 = u
Quelques problématiques par l’exemple … Pendule Inverse x = Φ−1 (z) = [z1 · z2 z2 z3 ]
3
Angle du pendule (rad.)
2.5
1.5
1 ẋ1 = x2
ż1 = z2 0.5
!
1
ẋ2 =
0
ż2 = z3 0 20 40 60 80 100 120
2 2 · m
ż3 = u ml
1000
M +m−
J + ml2
Position du chariot (m)
900
800
ẋ3 = x4
700
600
T 500
x = Φ (z) = [z1 · z2 z2 z3 ]
−1
400
1
%
ẋ4 =
300
200 −
100
J + ml2
− al cos2 x3
0
0 20 40 60 80 100 120
ẋ1 = x2
! " # $
ml
1 ml2 g
ẋ2 = · m sin x3 lx24 − + u − fc x2 • Le modèle est dit affine en la
m2 l2 J + ml2
M +m− commande
J + ml2
ẋ3 = x4 ẋ = f (x) + g(x)u
1 a
% &
2
ẋ4 = −al sin x3 cos x3 x4 + g sin x3 − cos x3 (u − fc x2 ) • Attention aux dynamiques
J + ml2 2 m
− al cos x3 internes !
ml
2024/2025 Ecole Centrale de Nantes 6
ẋ = f (x) + g(x)u
Robot mobile
ẋ1 = cos(x3 )u1
ẋ2 = sin(x3 )u1
ẋ3 = u2
• Système non holonome: toutes les trajectoires ne sont pas autorisées
(contraintes) – problème de commandabilité
• Système non découplable/linéarisable par retour d’état statique – possible par
retour d’état dynamique
2024/2025 Ecole Centrale de Nantes 7
!
1
ẋ2 = · m sin
m2 l2
M +m−
J + ml2
ẋ3 = x4
Hélicoptère à 3 degrés de liberté
1
%
ẋ4 = 2 −al s
J + ml
− al cos2 x3
ml
ẋ = f (x) + g(x)u
ẋ1 = cos(x3 )u1
ẋ2 = sin(x3 )u1
ẋ3 = u2
Singularité θ = ±π
2024/2025 Ecole Centrale de Nantes 8
Système électropneumatique
• Système MIMO, non affine en la commande
• Estimation de variables d’état: observabilité.
2024/2025 Ecole Centrale de Nantes 9
Robot marcheur
Phase de balancement
Phase d’impact
Système non linéaire avec mouvement périodique et effet impulsionnel –
Approche particulière pour la preuve de stabilité (sections de Poincaré)
2024/2025 Ecole Centrale de Nantes 10
Problème pratique : mesure de la posture (angle du torse)
• Utilisation d’un observateur (pas de solution générique pour les SNL)
• Durée finie d’un pas : convergence en temps fini possible avec un observateur NL
• Estimation robuste: solution basée sur les modes glissants
2024/2025 Ecole Centrale de Nantes 11
Commande (sans modèle) d’un préhenseur (muscles pneumatiques)
2024/2025 Ecole Centrale de Nantes 12
ẋẋ2==f (x, u)J + ml2 2 2 · m sin x3 lx24 − + u − fc x2
ẋ3 = x4 M + m − m l J + ml 2
1 J + ml2 x ∈ IRn , u ∈2 IRm a
% &
ẋ4 = −al sin x3 cos x3 x4 + g sin x3 − cos x3 (u − fc x2 )
ẋJ3 = x
+ ml4
2
2 m
− al cos1 x3 %
a
&
ẋ4 =ml sur les
Quelques remarques
2
solutions NL vs linéaires;
−al sin x3 cos x 3 x2
4 + g sin x3 − cos x3 (u − fc x2 )
ẋ1 = fréquentielle
• Pas d’approche cos(x
J + ml 3 )u1 2 m
• Pas de fonction
ẋ2 = de
− al cos
transfert/matrices
sin(x
x3
de transfert
ml3 )u1
• Outils généralisés pour l’analyse structurelle: commandabilité, observabilité
ẋ = fẋ(x)
3 =+
u2g(x)u
Systèmes étudiés
ẋ = f (x, u)
ẋ = f (x) + g(x)u
= ±π
θ ou x ∈ IRn , u ∈ IRm
ẋ = f (x, u)
ẋ1 = cos(x3 )u1 p
∈ IRn , u ∈ IRm
y = h(x) y ∈ IRx
ẋ2 = sin(x3 )u1
ẋ3 = u2
Questions.ẋ1 = cos(x3 )u1
• Analyse structurelle: commandabilité ? observabilité ?
• Commande ẋ2 = sin(x3 )u1
θ• =Linéarisation
±π entrée-sortie
ẋ3 = u2
• Découplage
• Commande robuste: mode glissant
• Observateurs
2024/2025 Ecole Centrale de Nantes 13
θ = ±π