introduction à la commande par ordinateur
DESCRIPTION
Introduction à la commande par ordinateur. Question étudiée dans ce cours : comment un ordinateur embarqué peut-il prendre les commandes d’un processus physique ? Les notions abordées : processus physique : entrées, sorties, équations, temps continu - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/1.jpg)
Polytech’Nice-Sophia, Départements SI et MAMCours optionnel de 4ème année : Commande par Ordinateur.
Commande par ordinateur
Question étudiée dans ce cours : comment un ordinateur embarqué peut-il prendre les commandes d’un processus physique ?
Les notions abordées :1. processus physique : entrées, sorties, équations, temps continu
2. Système asservi : capteurs, actionneurs, loi de contre réaction
3. Discrétisation : échantillonnage, blocage, temps discret
4. Loi de commande : boucle ouverte, retour d’état, commande optimale
5. Performance : rapidité, précision, stabilité, consommation
La page du cours http://cours.polytech.unice.fr/intcom contient tous les documents utilisés, et l’application LunarLander
![Page 2: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/2.jpg)
Contenu du cours, animation Lunar Lander, projet, TD
• Le cours des six premières semaines aborde la commande « déterministe » où entrées, sorties et équations sont connues avec certitude.
• Les six semaines suivantes, Joël Le Roux ajoute la notion de bruit d’observa-tion, i.e. les informations des capteurs sont entachées d’incertitudes.
• L’animation Lunar Lander (en Flash, ActionScript) illustre le cours en simulant l’alunissage en pilotage manuel ou automatisé sous forme de jeu.
• Le projet demandé en groupes de deux élèves durant les séances de TD : simuler les équations d’un processus linéaire commandé par un ordinateur. Technologie utilisée au choix, html5, Processing, java, python, … Android ?
• La séance de TD de cette semaine :– Utiliser Scilab pour les calculs de discrétisation, loi de commande, … vus ici
– Charger Lunar Lander sur la page du cours, pour un test détaillé en TD
![Page 3: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/3.jpg)
Le régulateur à boules de James Watt
pointeau
Les boules s’écartent quand la vitesse croît
On règle la « tringlerie » pour maintenir la vitesse autour de la consigne c
tringlerie
Le régulateur à boules de Watt schématisé ci-contre est l’un des multiples mécanismes ingénieux développés au 18 ème siècle durant la révolution industrielle. Il s’agit de stabiliser la vitesse de rotation du moteur à vapeur, en régulant la pression de la vapeur dans la chaudière. Sinon, ce processus est instable. C’est donc une application du principe de contre réaction, et Watt est présenté par les anglo-saxons comme le père des automatismes (d’après le livre déjà cité de Faurre et Robin).
![Page 4: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/4.jpg)
Illustration des concepts du cours sur un exemple simple
S
h(t), hauteur
d(t), débit
f(t), débit de fuite
robinet
Processus physique : remplissage d’une cuve avec fuiteEntrées sorties : d(t) entrée, f(t) perturbation, h(t) sortieCapteur : la règleActionneur : le robinetÉquation : la variation du volume V=S*h dans la cuve est la différence d-f
• t, le temps, varie continûment
• Prenons S=1 m2, et f=0 litre par seconde
• Limites du modèle
)()( tftddt
dhS
dt
dV
fdhS
0)0( 0 hh
?)0(
1)0(
th
td
tththh 0)(1
cond. init.
MAX
MAX
hth
dtd
)(0
)(0
hMAX
![Page 5: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/5.jpg)
Capteur, actionneur, loi de commande, contre-réaction
Actionneur : électrovanneCommande a(t) : entrée électrique qui commande l’ouverture de l’électrovanne et donc le débit d(t)Capteur : convertit hauteur h(t) en tension r(t)On peut maintenant automatiser le processusOn fait pour simplifier : a(t)=d(t) et r(t)=h(t)
cuve
a(t)r(t)
h
d(t)capteur
actionneur
• Soit hc, la hauteur de liquide souhaitée, ou consigne, ou encore référence :
– Loi de commande par tout ou rien (non linéaire) :
– Loi de commande linéaire :
)(
))(()(
hhkd
thhktd
c
c
0)()(
)()(
tdhth
dtdhth
c
MAXc
d(t) est la commandek est le gain de contre réactionhc-h est l’erreur d’asservissementh(t) est le retour
Boucle de rétroaction, feedback
![Page 6: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/6.jpg)
Horloge d’échantillonnage, échantillonnage de l’entrée, blocage de la sortie
Commande par ordinateur implique :1. Rythmée par une période d’échantillonnage Te,
2. blocage d’ordre zéro (BoZ) de l’entrée de commande d,
3. échantillonnage de la sortie h(t)Te
Te
d(t)
d0 d1 d2
t
th1
h2
…
2Te
h(t)
hn=h(nTe)échantillonnage
entre t= nTe et t= (n+1)Te,d(t)=d(nTe) constante,Blocage d’ordre zéro
On passe en temps discret, les signaux changent ou sont mesurés aux instants nTe
0
0
d3…
![Page 7: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/7.jpg)
Discrétisation du processus commandé par ordinateur
• Discrétiser, c’est calculer la relation récurrente entre la commande dn et la condition initiale hn à l’instant nTe et la sortie hn+1à l’instant (n+1)Te
• Pour cela, on tient compte du bloqueur d’ordre zéro, en intégrant l’équation différentielle différencielle du processus à entrée constante
• Par exemple entre t=0 et t=Te,
• On généralise entre nTe et (n+1)Te :
?)()(,0
)0(,)0(,01
0
00e
e
ThhdtdTt
ddhht
e
ee
Tdhh
dThTh
dh
001
0
0
)0()(
ennn Tdhh 1
![Page 8: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/8.jpg)
Équation du système bouclé constitué du processus discrétisé plus la loi de commande programmé :
• Loi de commande programmée:
• Équation du système bouclé
• a est la racine unique du polynôme caractéristique du système bouclé (pôle, ou encore valeur propre) :
• Pour un système en temps discret, la stabilité EBSB s’obtient si tous les pôles sont de module inférieur à un
• Test du retour à l’équilibre :
)( nnn hckd
kTa
avec
cahah
kcThkTh
hckThh
hckd
dThh
e
nnn
nenen
nnenn
nnn
nenn
1
:
)1(
)1(
)(
)(
1
1
1
1
ar
0,0 ncn
00 h
?0nh
ne
nnnn kThaharh )1(00
?1
10lim
a
assihnn
![Page 9: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/9.jpg)
Réponse à un échelon du système bouclé
• C’est un test de performance qui permet de mesurer la précision, la rapidité, le degré de stabilité du système bouclé selon la valeur de k
• Conditions du test :
• Réponse à un échelon du système bouclé (ou réponse indicielle) :
• La valeur de a est essentielle, – |a|>1, h tend vers l’infini avec n, instabilité– |a|<1, h tend vers 1 quand n tend vers l’infini– Plus |a| est petit, et plus la convergence est rapide– a=0, réponse pile en une période d’échantillonnage
• a est la racine du polynôme caractéristique associé à l’équation
?
,0,1,00
n
n
h
nch
0,1)1(1 nakTh nnen
nnn cahah )1(1
![Page 10: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/10.jpg)
Choix de la valeur de a pour fixer un temps de réponse
• Dans le cas où
• La réponse indicielle obtenue est semblable à la réponse indicielle d’un processus en temps continu du premier ordre
• Or, le temps de réponse à 5% du processus du premier ordre vaut car
• D’où le calcul de a puis de k pour imposer un temps de réponse tr :
• C’est la technique du placement de pôles (qu’on reverra dans la suite)
10 a
0,1)1(1 nakTh nnen
0,1)( / teth t
3rt 95.011)3( 3/3 eeh
///)ln( )ln( ee TenTtann eaa
Teeea
etT
rr Takeatt re /13/ /3
![Page 11: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/11.jpg)
Énergie de commande et écart quadratique
• On évalue l’énergie de la commande du processus entre t= 0 et t= HTe par :
• Énergie consommée par la commande durant la réponse indicielle
• Écart quadratique somme des carrés des écarts à la valeur finale visée
• La commande optimale linéaire quadratique à horizon fini calculer le gain k qui minimise un compromis entre l’énergie de commande et de l’écart quadratique
• H est l’horizon de la commande (HTe est la durée de la commande)
1
0
2
2
1 H
n nH dE
nnnnn akhkhckd )1()(
1
0
2
2
1lim
H
n nH dE
2
22)1(222
1
1
2)...1(
2
1
a
akaakE
HH
H
)1(2 2
2
a
kE
1
0
1
0
221
0
2
2
1)1(
2
1)(
2
1 H
n
H
n
nn
H
n nnH ahhcQ
![Page 12: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/12.jpg)
Commande en boucle ouverte (c’est-à-dire sans contre -réaction)
• Problème : quelle succession de commandes l’ordinateur doit-il appliquer pour rejoindre le niveau hH dans la cuve partant du niveau h0 donc en H périodes d’échantillonnage, H est l’horizon de la commande
• Une infinité de solution (dans ce cas), qui vérifient toutes
• On pourra les comparer selon l’énergie de commande consommée, ou selon la commande maximum nécessaire, est elle supérieure à dMAX ou pas ?
1
10
100112
001
0
...H
n neH
eee
e
dThh
dTdThdThh
dThh
h
e
HH
n n T
hhd 01
1
![Page 13: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/13.jpg)
Commande par ordinateur de processus plus complexes
• L’exemple précédent est simple :
– Une seule entrée : d
– Une seule sortie : h
– Une équation différentielle du premier degré
• L’exemple du Lunar Lander utilisé dans la suite du cours est complexe :
– Deux entrées : ax et ay, poussées verticale et horizontale des réacteurs
– Quatre sorties : • x et y, position du vaisseau par rapport à l’origine du repère, point d’alunissage
• vx et vy, vitesses horizontale et verticale du vaisseau LunarLander en phase d’approche
– Une équation différentielle de degré 4
• Dans la suite, on utilisera le formalisme matriciel de la représentation d’état et pour les calculs, on utilisera Scilab
![Page 14: Introduction à la commande par ordinateur](https://reader036.vdocuments.net/reader036/viewer/2022062423/568142a0550346895daed906/html5/thumbnails/14.jpg)
On dispose d’une illustration des notions du cours avec l’animation Lunar Lander qui simule l’alunissage d’un module lunaire en 2D
Animation pédagogique tirée du site http://phet.colorado.edu/ et enrichie de plusieurs lois de commandes, Lunar Lander implémente :• des équations tirées de la relation fondamentale de la dynamique•Un modèle discrétisé à la période d’échantillonnage Te= 40 ms• un tableau de bord avec l’état des capteurs et actionneurs, ...•Plusieurs lois de commandes, ‘m’ manuel, ‘e’ pour retour d’état, •des paramètres de commande transmis par Scilab dans des fichiers texte• … on demande une analyse détaillée des fonctionnalités dans le premier td