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 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). On règle la « tringlerie » pour maintenir la vitesse autour de la consigne wc tringlerie Les boules s’écartent quand la vitesse croît pointeau
Illustration des concepts du cours sur un exemple simple t, le temps, varie continûment Prenons S=1 m2, et f=0 litre par seconde Limites du modèle robinet d(t), débit hMAX h(t), hauteur S cond. init. f(t), débit de fuite 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
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) 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 : cuve a(t) r(t) h d(t) capteur actionneur 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 Boucle de rétroaction, feedback
Horloge d’échantillonnage, échantillonnage de l’entrée, blocage de la sortie Commande par ordinateur implique : Rythmée par une période d’échantillonnage Te, blocage d’ordre zéro (BoZ) de l’entrée de commande d, échantillonnage de la sortie h(t) On passe en temps discret, les signaux changent ou sont mesurés aux instants nTe d(t) d0 entre t= nTe et t= (n+1)Te, d(t)=d(nTe) constante, Blocage d’ordre zéro d1 d2 d3 … Te t h(t) … hn=h(nTe) échantillonnage h2 h1 t Te 2Te
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 :
É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 :
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
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)
É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)
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 ?
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