Informatique & Math´ ematiques Appliqu´ ees
Syst` emes Cyper-Physiques Partie Syst` eme command´ e Chapitre 1 : Introduction, d´ efinition
J. Gergaud
24 mars 2015
Clepsydre (Ct´ esibios d’Alexandrie en -270)
Figure:Clepsydre (Ct´esibios d’Alexandrie en -270).
Ann´ ees 800 – 1200 : ing´ enieurs Arabes (Al-Jazari, ...)
I R´egulateur `a flotteur pour des horloges `a eau ;
I La pompe aspirante `a double effet automatique ;
I ...
I Livre de la connaissance des proc´ed´es m´ecaniques vers 1205.
Des copies se trouvent
I `a Topkapi `a Istanbul
I au Mus´ee des Beaux-Arts `a Boston
I au mus´ee du Louvre `a Paris
I `a la Biblioth`eque d’Oxford Figure:Manuscrit d’Al-Jazari, vers 1205.
Ann´ ees 1600 – 1800 : pr´ e-r´ evolution industrielle
I R´egulation de la temp´erature ;
I Moulin `a vent ;
I Soupape de s´ecurit´e de Papin ;
I R´egulateur `a boules de James Watt pour r´eguler la vitesse de rotation d’une machine `a vapeur.
Figure:Boulton & Watt engine of 1788.
http://commons.wikimedia.org/wiki/File:Steam engine in action.gif
1800 – 1960 : formalisme math´ ematique et d´ ebut de l’informatique
I ´equations diff´erentielles ordinaires
I stabilit´e
I contre r´eaction (feedback)
I Servom´ecanismes dans le domaine fr´equentiel.
I Analyse stochastique (Kolmogorov, Wiener, ...), th´eorie des processus stochastiques.
I Th´eorie de l’information de Shannon.
1960 – → : p´ eriode moderne, d´ eveloppement de l’industrie a´ eronautique et spatiale, d´ eveloppement des
math´ ematiques et de l’informatique
I Th´eorie de la commande non lin´eaire.
I Th´eorie de la commande optimale ( Bellman, Kalman, Pontyagin, ...).
I Contrˆolabili´e, observabilit´e.
I Syst`emes embarqu´ees
I Commande robustre
I ...
Pendule simple contrˆ ol´ e, version 1
Si ¨α(t) d´esigne la d´eriv´ee seconde de l’angleα par rapport au tempst, l’´evolution du mouvement est
ml2α(t) +¨ mlgsin(α(t)) =u(t),
l y mg α
u
Figure:Pendule simple contrˆol´e.
Pendule simple contrˆ ol´ e, version 1, ´ equation d’´ etat
On posex(t) = (α(t),α(t))˙
˙
x1(t) =x2(t)
˙
x2(t) =−gl sin(x1(t)) + u(t)ml2
x1(0) =x0,1 =α0 x2(0) =x0,2 = ˙α0 Cette ´equation s’´ecrit
x(t) =˙ f(x(t),u(t)) x(0) =x0,
avec
f :R2×R −→ R2 (z,v) 7−→ f(z,v) =
z2
−gl sin(z1) +mlv2
.
Pendule simple contrˆ ol´ e, version 1, variables de sortie
On peut en pratique avoir acc`es `a diff´erentes variables de sortie (mesur´ees) :
I y(t) =α(t) =x1(t) ;
I y(t) =x(t) = (α(t),α(t)) ;˙
I y(t) =lsin(α(t)) = la distance entre la masse et l’axe des ordonn´ees.
On ´ecrira ces variables de sortie sous la formey(t) =g(x(t),u(t)).
Pendule simple contrˆ ol´ e, version 2
En pratique il y a des frottements. Une meilleurs mod´elisation su syst`eme est donc
ml2α(t) +¨ k
mα(t) +˙ mlgsin(α(t)) =u(t).
Le syst`eme s’´ecrit alors
˙
x1(t) =x2(t)
˙
x2(t) =−mkx2(t)−gl sin(x1(t)) + u(t)ml2
x1(0) =x0,1=α0
x2(0) =x0,2= ˙α0
L’applicationf s’´ecrit alors f :R2×R −→ R2
(x,u) 7−→ f(x,u) =
x2
−mkx2−gl sin(x1) +mlu2
.
Pendule invers´ e contrˆ ol´ e, version 1
l mg
α
u
Figure:Pendule invers´e contrˆol´e, version 1.
Les ´equations qui r´egissent le syst`eme sont alors
˙
x1(t) =x2(t)
˙
x2(t) = gl sin(x1(t))−u(t)l2 x1(0) =x0,1 =α0
x2(0) =x0,2 = ˙α0
Robot Lego segway
Nous d´ecrivons ici le mod`ele du Robot Lego qui sera utilis´e en TP.
Figure:Robot Lego segway.
Exemples industriels
Voici d’autres exemples plus complexes :
I pilote automatique d’un avion ;
I contrˆole des gouvernes d’un avion ;
I contrˆole de freinage ABS ;
I contrˆole de vol d’un drone ;
I pompe `a insuline.
I ...
Syst` eme command´ e
w(t)
Contrˆoleur u(t)
Syst`eme y(t)
Figure:Sch´ema fonctionnel simple d’un syst`eme en boucle ferm´ee.
I Etat´ x(t)∈Rn
I Commande ou contrˆole ou variable d’entr´eeu(t)∈Rm
I Variable de sortie ou mesur´eey(t)∈Rp
I Consigne w(t)∈R
I Equation d’´´ etat ˙x =f(t,x(t),u(t))
I Equation de sortie´ y(t) =g(t,x(t),u(t)).
Cas autonome
Le syst`eme est autonome lorsque les fonctionsf etg ne d´ependent pas du tempst.
1.
f :Rn×Rm −→ Rn (x,u) 7−→ f(x,u).
2.
g :Rn×Rm −→ Rp (x,u) 7−→ f(x,u).
3. On prendra alors l’instant initial t0= 0.
Boucle ouverte
u(t) Syst`eme y(t)
Figure: Sch´ema fonctionnel simple d’un syst`eme en boucle ouverte.
Sch´ ema fonctionnel g´ en´ eral
d(t) est une perturbation ext´erieure du syst`eme
w(t)
Contrˆoleur u(t)
Actionneur c(t)
Syst`eme d(t)
s(t)
Capteurs y(t)
Figure: Sch´ema fonctionnel complet d’un syst`eme en boucle ferm´ee.
Plan, objectifs
w(t)
Contrˆoleur u(t)
Actionneur c(t)
Syst`eme d(t)
s(t)
Capteurs y(t)
Figure: Sch´ema fonctionnel complet d’un syst`eme en boucle ferm´ee.
I Etude math´´ ematique du syst`eme contrˆol´e
I ´Etude du syst`eme non contrˆol´e : point d’´equilibre d’une edo (rappels pour certains) I Contrˆolabilit´e, observabilit´e
I Calcul du contrˆole
I Simulation num´erique
I Matlab I Simulink→code C
I Capteurs
I Code embarqu´e sur le robot I Gestion du temps r´eel
Questions math´ ematiques
D´efinition (Point d’´equilibre)
On appelle point d’´equilibre d’un syst`eme un point(xe,ue) tel que f(xe,ue) = 0.
Exemple
Pour le pendule simple on a pour ue = 0deux points d’´equilibre : x0 = (0,0)et xe = (π,0).
Une fois le mod`ele bien d´efini, plusieurs questions se posent :
I Sur l’analyse et le comportement dynamique du syst`eme
I Commandabilit´e ou contrˆolabilit´e du syst`eme. Existe-t-il un contrˆoleu(.) qui am`ene le syst`eme d’un ´etat initial donn´e x(0) `a un ´etat finalxf en un tempst =tf fix´e ?
I Observabilit´e. Connaissant la variable de sortiey(t) et le contrˆoleu(t) pour toutt∈[0, τu[, peut-on d´eterminer l’´etat x(t) pour toutt∈[0, τu[, ou de mani`ere ´equivalentex(0).
Questions math´ ematiques
I Sur la synth`ese des lois de contrˆole
I Planification de trajectoires. Si le syst`eme est contrˆolable, comment trouver un contrˆole qui am`ene l’´etat dex(0) `a xf en un tempstf fix´e ?
I Stabilisation. Comment construire un contrˆole qui stabilise asympotiquement le syst`eme autour d’un point d’´equilibrexe, c’est-`a-dire tel que, pour toute condition initiale x(0), on ait
t→+∞lim x(t) =xe?
I Synth`ese d’observateurs. En cas de r´eponse positive `a la question de l’observabilit´e, comment d´eterminer l’´etat x(·) `a partir de la connaissance de y(.) et de u(.) ?
I Contrˆole optimal. Trouver le meilleur contrˆole qui am`ene l’´etat dex(0) `axf en un temps tf fix´e ou libre.