Polytech’Nice-Sophia, Départements SI et MAM Cours optionnel de 4ème année : Commande par Ordinateur. Commande par ordinateur Question étudiée dans ce cours :

Download Report

Transcript Polytech’Nice-Sophia, Départements SI et MAM Cours optionnel de 4ème année : Commande par Ordinateur. Commande par ordinateur Question étudiée dans ce cours :

Polytech’Nice-Sophia, Départements SI et MAM Cours 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.

2.

3.

4.

5.

processus physique : entrées, sorties, équations, temps continu Système asservi : capteurs, actionneurs, loi de contre réaction Discrétisation : échantillonnage, blocage, temps discret Loi de commande : boucle ouverte, retour d’état, commande optimale 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

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

Le régulateur à boules de James Watt

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

tringlerie

On règle la « tringlerie » pour maintenir la vitesse autour de la consigne w c Les boules s’écartent quand la vitesse croît

pointeau

Illustration des concepts du cours sur un exemple simple

robinet

S

d(t), débit f(t), débit de fuite h MAX h(t), hauteur • Processus physique : remplissage d’une cuve avec fuite Entrées sorties : d(t) entrée, f(t) perturbation, h(t) sortie Capteur : la règle Actionneur : 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

dV dt

S dh

d

(

t

) 

dt f

(

t

)

S h

 

d

f

Prenons S=1 m 2 , et f=0 litre par seconde

h

( 0 )

d

(

t

  0 )

h

0   1 0

h

(

t

 0 ) ?

cond. init.

 1 

h

(

t

) 

h

0 

t

t

Limites du modèle 0 

d

(

t

) 

d MAX

0 

h

(

t

) 

h MAX

Capteur, actionneur, loi de commande, contre-réaction

Actionneur : électrovanne Commande 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 processus On fait pour simplifier : a(t)=d(t) et r(t)=h(t) a(t) actionneur r(t) capteur d(t) cuve Boucle de rétroaction, feedback h • 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) :

h

(

t

) 

h c

d

(

t

) 

d MAX h

(

t

) 

h c

d

(

t

)  0 – Loi de commande linéaire :

d

(

t

)

d

 

k k

(

h c

  (

h c h

) 

h

(

t

)) d(t) est la commande k est le gain de contre réaction hc-h est l’erreur d’asservissement h(t) est le retour

Horloge d’échantillonnage, échantillonnage de l’entrée, blocage de la sortie Commande par ordinateur implique : 1.

2.

Rythmée par une période d’échantillonnage Te, blocage d’ordre zéro (BoZ) de l’entrée de commande d, d(t) d0 d1 d2 d3 … 3.

0 Te échantillonnage de la sortie h(t) t On passe en temps discret, les signaux changent ou sont mesurés aux instants nTe entre t= nTe et t= (n+1)Te, d(t)=d(nTe) constante, Blocage d’ordre zéro h2 h1 0 Te 2Te t hn=h(nTe) échantillonnage

Discrétisation du processus commandé par ordinateur

• Discrétiser, c’est calculer la relation récurrente entre la commande d n condition initiale h n à l’instant nTe et la sortie h n+1 à l’instant (n+1)Te différentielle différencielle du processus à entrée constante et la • Pour cela, on tient compte du bloqueur d’ordre zéro, en intégrant l’équation • Par exemple entre t=0 et t=Te,

t

0   0 ,

t

T e h

( , 0 ) 

d

(

t

)

h

0 , 

d d

0 ( 0 ) 

d

0    

h

1 

h

(

T e

) ?

h

 

h

(

T e d

0 ) 

h

1 

h

0 

h

( 0 ) 

T e d

0

d

0

T e

• On généralise entre nTe et (n+1)Te :

h n

 1 

h n

d n

T e

Équation du système bouclé constitué du processus discrétisé plus la loi de commande programmé :

• Loi de commande programmée:

d n

k

(

c n

h n

) • Équation du système bouclé

h n

 1

d n

 

h n k

(

c n

T e d n

h n

)

h n

 1

h n

 1

h n

 1   

h n

T e k

(

c n

h n

( 1 

a h n T

e k

)

h n

( 1  

T a

)

c n e

)

kc n avec

:

a

 1 

T e k

• a est la racine unique du polynôme caractéristique du système bouclé (pôle, ou encore valeur propre) :

r

a

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

h c

0

n

  0 0 , 

n

 0

h n

 0 ?

h n

 

r n

 

a n

h

0

a n

h

0 ( 1 

T e k

)

n

lim

n

 

h n a

 1  ?

 0

ssi a

 1

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 :

h

0

h n

 0 ,

c n

 ?

 1 , 

n

 0 , • Réponse à un échelon du système bouclé (ou réponse indicielle) :

h n

 1  ( 1 

kT e

)

n

 1 

a n

, 

n

 0 • 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

h n

 1 

a h n

 ( 1 

a

)

c n

Choix de la valeur de a pour fixer un temps de réponse

• Dans le cas où 0 

a

 1 • La réponse indicielle obtenue est semblable à la réponse indicielle d’un processus en temps continu du premier ordre

h n

 1  ( 1 

kT e

)

n

 1 

a n

, 

n

 0

h

(

t

)  1 

e

t

/  ,

t

 0 • Or, le temps de réponse à 5% du processus du premier ordre vaut

t r

 3  car

h

( 3  )  1 

e

 3  /   1 

e

 3  0 .

95 • D’où le calcul de a puis de k pour imposer un temps de réponse tr :

a n t r

e n

 ln(

a

)   

e

t

/  

e

nT e

/  

t r

/ 3 

a

e

 3

T e

/

t r

 

T e

 

k

 ln(

a

) 

a

e

T e

/    1 

a

 /

T e

• C’est la technique du placement de pôles (qu’on reverra dans la suite)

Énergie de commande et écart quadratique

• On évalue l’énergie de la commande du processus entre t= 0 et t= HTe par :

E H

 1 2 

n H

 1  0

d n

2 • Énergie consommée par la commande durant la réponse indicielle

E

 lim

H

  1 2 

n H

  1

d

0

n

2

d n

k

(

c n

h n

) 

k

( 1 

h n

) 

k

a n E H

 1 2

k

2 ( 1 

a

2  ...

a

2 (

H

 1 ) ) 

k

2 2 1 

a

2

H

1 

a

2

E

k

2 2 ( 1 

a

2 ) • Écart quadratique somme des carrés des écarts à la valeur finale visée •

Q H

 1 2 

n H

  1 (

c

0

n

h n

) 2  1 2 

n H

  1 ( 1 0 

h n

) 2  1 2 

n H

  1

a

0 2

n

 • 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)

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 h H dans la cuve partant du niveau h d’échantillonnage, H est l’horizon de la commande 0 donc en H périodes

h

0

h h

2 1 

h

0 

h

1 

T e d

0 

T e d

1 

h

0 

T e d

0 

T e d

1 ...

h H

h

0 

T e

n H

 1  1

d n

• Une infinité de solution (dans ce cas), qui vérifient toutes 

H

 1

n

 1

d n

h H

h

0

T e

• On pourra les comparer selon l’énergie de commande consommée, ou selon la commande maximum nécessaire, est elle supérieure à d MAX ou pas ?

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

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