Introduction à la commande par ordinateur

Preview:

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 Presentation

Citation preview

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

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

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

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

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

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…

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

É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

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

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

É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

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

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

Recommended