Robustesse et limites des modèles des systèmes asservis
Cours · sciences industrielles (PSI), chapitre 6 · CPGE PSI (2e année) · le début du chapitre, la suite sur Adloun
Travailler ce chapitre sur Adloun
Un correcteur se règle sur un modèle, et le système réel s'en écarte : des paramètres connus à quelques pour cent près ou qui varient en service (l'inertie d'une bobine qui grossit, la raideur d'une huile qui s'émulsionne), un retard que le modèle ignore, des non-linéarités qu'il a linéarisées, un actionneur qui sature. Le programme demande de préciser les limites de validité d'un modèle (point de fonctionnement, non-linéarités, retard pur), de modifier les paramètres et enrichir le modèle, de mener une simulation numérique en choisissant le pas et la durée et en étudiant l'influence des paramètres du modèle sur les performances, et pour cela de mettre un problème sous forme matricielle (problème de Cauchy, système linéaire) et de l'intégrer par le schéma d'Euler explicite.
Le chapitre consacré à la correction a posé les définitions de base : linéarisation autour d'un point de fonctionnement, retard pur (qui borne la bande passante), non-linéarités usuelles, emballement de l'intégrateur en saturation. Celui-ci les prolonge : la robustesse, lue comme une tolérance des marges aux incertitudes ; la forme de Cauchy et la simulation, qui donnent ce que la fonction de transfert ne décrit pas ; le domaine de validité du modèle linéaire. La représentation d'état pour la commande (commandabilité, observabilité, retour d'état, observateur), les fonctions de sensibilité et les systèmes multivariables ne sont pas au programme de PSI : ils sont présentés en fin de chapitre, en compléments clairement signalés.
6.1 Robustesse : les marges face aux incertitudes du modèle
Un asservissement est robuste vis-à-vis d'une incertitude (paramètre mal connu ou variable, retard non modélisé, dynamique négligée, point de fonctionnement qui change) s'il conserve sa stabilité et les performances exigées par le cahier des charges pour toutes les valeurs que peut prendre cette incertitude. Vérifier la robustesse, c'est évaluer les performances au point le plus défavorable de la plage, qui n'est pas toujours une de ses extrémités.
On considère une FTBO stable dont le gain ne coupe qu'une fois, en , et dont la phase ne franchit qu'une fois, en .
- Marge de gain. La boucle reste stable tant que le gain de boucle est multiplié par un facteur inférieur à : tolère un doublement du gain (échauffement, charge, point de fonctionnement, couplage avec une autre boucle).
- Marge de retard. Un retard pur ajouté dans la boucle multiplie la FTBO par
\ee^{-\jj\omega\theta}, de module : il ne change pas , et retranche à la phase à la coupure. La boucle reste stable tant que
Si le gain coupe plusieurs fois, on calcule à chaque coupure et l'on retient la plus petite valeur.
Un retard pur ne change pas la courbe de gain, donc pas ; il consomme de marge de phase. Une boucle rapide (grand ) tolère peu de retard, même bien amortie.
Méthode : Vérifier la robustesse à un paramètre qui varie
- Recenser les paramètres incertains et leur plage : charge, inertie, raideur, température, usure, point de fonctionnement, latence d'une liaison.
- Exprimer les marges et les performances en fonction du paramètre (calcul, ou simulation pour plusieurs valeurs) et chercher le cas le plus défavorable pour chaque exigence. Il peut être intérieur à la plage : la raideur d'un vérin double effet est minimale à mi-course.
- Régler sur ce cas, puis vérifier toutes les exigences aux autres valeurs (un réglage prudent est souvent lent ailleurs).
- Si aucun réglage fixe ne tient tout le cahier des charges, faire suivre le gain au paramètre mesuré ou estimé (gain programmé), ou modifier le système (amortissement, raideur, actionneur, architecture).
Si la FTBO a deux intégrateurs, par exemple un correcteur proportionnel intégral sur une inertie, , la phase n'est au-dessus de qu'autour de , où elle culmine à avec (même calcul que pour une cellule à avance de phase). Une variation de fait glisser la coupure sur l'un ou l'autre flanc de cette bosse : la marge chute aussi bien si le gain croît que s'il décroît. On règle alors au centre de la plage, en échelle logarithmique (moyenne géométrique des valeurs extrêmes).
La compensation de pôles est une méthode de réglage pour des pôles stables. Si le procédé a un pôle instable , un correcteur dont un zéro le simplifie donne une fonction de transfert consigne-sortie apparemment stable, mais :
- la réponse à une perturbation qui entre en amont du procédé, , garde le pôle : la sortie diverge (la boucle n'est pas stable de l'intérieur) ;
- la simplification n'est jamais exacte : le moindre écart entre et le zéro du correcteur laisse un pôle instable dans toutes les fonctions de transfert.
Exemple : et donnent , mais , qui a le pôle . Un pôle instable se déplace par la boucle ; il ne se compense pas.
Si toutes les racines d'un polynôme réel sont à partie réelle strictement négative, ses coefficients sont tous non nuls et de même signe. Au degré , la condition est aussi suffisante : a ses deux racines à partie réelle strictement négative si et seulement si , , sont de même signe.
Démonstration
Le polynôme est, au coefficient dominant près, un produit de facteurs (racine réelle , ) et (racines -\beta\pm\jj\gamma, ), tous à coefficients strictement positifs : le produit aussi. Au degré , si , la somme des racines est négative et leur produit positif : deux racines réelles négatives, ou deux racines conjuguées de partie réelle . Dès le degré , la réciproque est fausse (le critère qui conclut, celui de Routh, n'est pas au programme).
6.2 Forme de Cauchy et simulation numérique
Un modèle à temps continu se met sous la forme d'un problème de Cauchy :
où le vecteur regroupe les grandeurs dont les dérivées interviennent (positions et vitesses, courants, niveaux, températures) et les entrées. Si le modèle est linéaire, , avec et . C'est la forme qu'attend un solveur numérique, et celle qui permet de simuler un modèle non linéaire (saturation, frottement sec, grands angles), que la fonction de transfert ne décrit pas.
Méthode : Mettre un modèle sous forme de Cauchy
- Écrire les équations du modèle (lois de comportement, principe fondamental de la dynamique, loi des mailles, bilans).
- Choisir les composantes de : une grandeur dont la dérivée d'ordre intervient fournit composantes, elle-même et ses premières dérivées.
- Isoler la dérivée première de chaque composante.
- Dans le cas linéaire, lire et .
Exemple : donne, avec , et .
Pour , la transformée de Laplace à conditions initiales nulles donne . Les fonctions de transfert vers les composantes de ont toutes pour dénominateur , au facteur près. Leurs pôles sont parmi les racines de : une racine peut disparaître par simplification avec un zéro, alors que le mode correspondant existe toujours dans le système (c'est le cas d'un pôle instable compensé). Pour une matrice , .
Capacité numérique : intégrer un problème de Cauchy par le schéma d'Euler explicite
Avec le pas , et :
soit, dans le cas linéaire, . Une saturation, un seuil ou toute autre non-linéarité s'écrit directement dans la récurrence (par exemple ).
import numpy as np
def euler(F, X0, dt, n):
X = np.array(X0, dtype=float); T = [0.0]; Xs = [X.copy()]
for k in range(n):
X = X + dt * F(k * dt, X)
T.append((k + 1) * dt); Xs.append(X.copy())
return np.array(T), np.array(Xs)
Méthode : Choisir le pas et la durée d'une simulation
- Le pas se règle sur la dynamique la plus rapide : petit devant la plus petite constante de temps (pôle de plus grand module), typiquement un dixième ou moins. Un pas trop grand donne d'abord un résultat faux, puis un résultat qui diverge.
- La durée se règle sur la dynamique la plus lente : quelques fois la plus grande constante de temps.
- Le nombre de pas est de l'ordre du rapport des deux : un modèle aux pôles très séparés coûte cher. Si le pôle rapide ne porte rien d'utile à l'étude, on réduit d'abord le modèle à ses pôles dominants (en gardant le gain statique), et l'on simule le modèle réduit avec un pas bien plus grand.
- On valide le pas en le divisant par deux : le résultat ne doit pas changer sensiblement.
Pour , le schéma d'Euler donne : la suite change de signe à chaque pas dès que , et diverge dès que , alors que la solution exacte décroît. Les aspects théoriques des méthodes numériques (stabilité, convergence) ne sont pas exigibles : on constate ce comportement, on ne le démontre pas.
6.3 Domaine de validité du modèle linéaire : point de fonctionnement et saturation
Un modèle linéaire n'est valable qu'au voisinage d'un point de fonctionnement, et tant que les grandeurs restent dans les limites des actionneurs. On approfondit ici trois points : la linéarisation d'un système à plusieurs entrées, le point de fonctionnement le plus défavorable, et le domaine d'amplitude où une saturation laisse le modèle linéaire valable.
Si les sorties dépendent des entrées par , la linéarisation autour du point de fonctionnement s'écrit
La matrice des dérivées partielles dépend du point de fonctionnement. Trouver les variations de commande qui produisent des variations de sorties données, c'est résoudre le système linéaire , du type : on le résout par une bibliothèque (en Python, numpy.linalg.solve). Quand une entrée agit sur plusieurs sorties, fermer une boucle modifie le gain vu par les autres : le couplage agit comme une incertitude de gain, qui se compare à la marge de gain.
Les gains, les constantes de temps, et donc les marges d'un modèle linéarisé dépendent du point de fonctionnement. Le réglage se fait au point où la marge est la plus faible, puis se vérifie sur toute la plage. Ce point peut être intérieur : la raideur d'une masse entre deux colonnes d'huile de volumes et (vérin double effet de section , huile de module de compressibilité ) vaut , qui est minimale quand , c'est-à-dire à mi-course, et non en bout de course.
Si la commande est bornée, , et le correcteur proportionnel de gain , la boucle reste linéaire tant que . Pour un échelon d'amplitude appliqué au repos, l'écart est maximal au premier instant : le modèle linéaire vaut si
Au-delà, tant que la commande est en butée, la boucle est ouverte : la commande ne dépend plus de l'écart, le gain et les marges n'agissent pas, et la sortie évolue à la vitesse (ou à l'accélération) maximale que permet l'actionneur.
Le temps de réponse d'un modèle linéaire ne dépend pas de l'amplitude de l'échelon ; celui du système réel en dépend dès que l'actionneur sature. Pour un axe dont la vitesse est limitée à , entrer dans la bande de autour d'une consigne exige de parcourir , d'où quel que soit le correcteur. Une exigence de rapidité sur un grand mouvement est d'abord une exigence sur l'actionneur.
Pour un procédé stable et un correcteur sans action intégrale, la saturation ralentit la réponse sans la déstabiliser. Avec une action intégrale, elle provoque l'emballement de l'intégrateur. Pour un procédé instable (pendule inversé, lévitation magnétique), le rattrapage n'est possible que dans un domaine borné : au-delà, la commande maximale ne suffit plus à vaincre la divergence.
Méthode : Étudier une limite de validité par simulation
- Écrire le modèle non linéaire, saturations comprises, sous forme de Cauchy.
- Choisir le pas et la durée ; simuler pour plusieurs amplitudes et plusieurs valeurs des paramètres incertains.
- Comparer au modèle linéaire : délimiter le domaine où l'écart reste acceptable.
- Conclure sur le cahier des charges (exigence tenue ou non, au pire point) et, si besoin, sur la modification à apporter (réglage, actionneur, génération de consigne).
6.4 Complément (hors programme) : représentation d'état et commande par retour d'état
Cette section n'est pas au programme de PSI : ni la représentation d'état pour la commande, ni la commandabilité, ni l'observabilité, ni le retour d'état ne figurent dans le programme. Elle donne le vocabulaire qu'utilisent les écoles d'ingénieurs ; aucune de ses notions n'est exigible.
Un système linéaire à variables d'état, entrées et sorties est décrit par
avec (matrice dynamique), (matrice de commande), (matrice d'observation) et (matrice d'action directe). L'équation d'état est la forme de Cauchy d'un modèle linéaire.
À conditions initiales nulles, avec
Les pôles de sont parmi les valeurs propres de ; ils sont toutes les valeurs propres de si la représentation est à la fois commandable et observable (définitions ci-dessous). Une valeur propre qui disparaît de correspond à un mode que l'entrée n'atteint pas ou que la sortie ne voit pas.
Un mode non commandable est un mode que l'entrée n'atteint pas : aucun réglage ne le déplacera, et s'il est instable, le système ne peut pas être stabilisé. Un mode non observable est un mode que la sortie ne révèle pas : il évolue sans qu'on le sache.
- est commandable si et seulement si la matrice de commandabilité
est de rang .
- est observable si et seulement si la matrice obtenue en empilant , , …, est de rang .
Si est commandable (), la loi (gain de retour , précompensateur , consigne ) donne la dynamique , et l'on peut placer arbitrairement les valeurs propres de . En pratique, on identifie au polynôme désiré ; la formule d'Ackermann l'écrit directement : , où . Le précompensateur règle le gain statique de la consigne vers la sortie.
Commande par retour d'état : tout l'état est supposé mesuré.
Le retour d'état suppose connu le vecteur tout entier, alors qu'on ne mesure en général que . On lui substitue une estimation fournie par un observateur de Luenberger : un modèle du système, simulé en parallèle et corrigé par l'écart entre sortie mesurée et sortie estimée, . L'erreur obéit à ; si est observable, on place les valeurs propres de , d'ordinaire à fois plus rapides que celles de la commande. Principe de séparation : les valeurs propres de la boucle complète (retour d'état sur ) sont la réunion de celles de et de celles de ; on règle donc la commande et l'observateur indépendamment.
6.5 Complément (hors programme) : fonctions de sensibilité et systèmes multivariables
Les fonctions de sensibilité et la commande multivariable ne sont pas au programme de PSI. (Le mot « sensibilité » y figure, mais pour un capteur, en métrologie, et pour un test, en intelligence artificielle ; « multivariable » y désigne un modèle de régression.) Les diagrammes et le critère de Nyquist, qui accompagnent d'ordinaire ces notions, sont explicitement hors programme : on s'en passe ici.
Pour une boucle à retour unitaire de FTBO , on appelle sensibilité (fonction de transfert de la consigne vers l'écart, et d'une perturbation de sortie vers la sortie) et sensibilité complémentaire (la FTBF). Elles vérifient . Le pic de sensibilité M_s=\max_\omega\lvert S(\jj\omega)\rvert est l'inverse de la plus petite valeur de \lvert1+L(\jj\omega)\rvert, distance du nombre complexe L(\jj\omega) au point ; on exige d'ordinaire à .
À la coupure, \lvert L(\jj\omega_c)\rvert=1 et \arg L(\jj\omega_c)=-\pi+M_\varphi, d'où \lvert1+L(\jj\omega_c)\rvert=2\sin\dfrac{M_\varphi}{2} ; en , \lvert1+L(\jj\omega_{180})\rvert=1-\lvert L(\jj\omega_{180})\rvert. Donc
Un faible garantit à la fois une marge de phase et une marge de gain ; l'inverse n'est pas vrai (deux bonnes marges n'empêchent pas d'être petit à une autre pulsation).
Un système à entrées et sorties a une matrice de transfert ; le terme décrit l'action de l'entrée sur la sortie , et les termes non diagonaux traduisent le couplage. Le découpleur statique , placé en amont, donne : en régime permanent, chaque consigne n'agit que sur sa sortie. En régime transitoire, le découplage n'est exact que si avec diagonale (chaque sortie a sa propre dynamique, la même pour toutes les entrées). Quand la boucle est fermée et parfaite, la boucle d'un système voit le gain statique au lieu de .
La suite du cours est sur Adloun
Le chapitre en entier, formules et figures comprises, avec le tuteur, les fiches, les QCM et les exercices.
Lire la suite du coursEn accès libre, sans inscription.