Commande Prédictive J P Corriou LSGC-ENSIC-CNRS, Nancy e-mail : corriou@ensicinpl-nancyfr
Ý Consigne Trajectoire de référence Ý Ö Réponse Ý Horizon de prédiction À Ô ¹ Ù ¹ Temps Entrée Ù Horizon de commande À ¹ ¹ Passé Instant actuel Futur Temps d échantillonnage FIG 1 Principe de la Commande Prédictive basée sur le Modèle avec ses horizons de prédiction et de commande Objectif : maintenir les variables de commande proches de leurs consignes tout en respectant les contraintes opératoires du procédé
Premières publications 1978 : J Richalet, A Rault, JL Testud, J Papon, "Model Predictive Heuristic Control : Applications to Industrial processes", Automatica, 14, 413-428 (1978) 1979 : C R Cutler, B L Ramaker, "Dynamic matrix control - a computer control algorithm", AIChE Annual Meeting, Houston, Texas (1979) Remarque importante : - développement par des sociétés industrielles : Adersa, Shell - ces articles concernent des applications industrielles complexes : distillation, FCC en pétrochimie
Nombreuses variantes et dénominations - IDCOM : IDentification-COMmand (Richalet et al) en tant que MAC (Model Algorithmic Control) - DMC : Dynamic Matrix Control (Cutler, Ramaker, 1979) - GPC : Generalized Predictive Control (Clarke, 1987) - EPSAC : Extended Prediction Self-Adaptive Control (Keyer, Cauwenberghe 1985) - EHAC : Extended Horizon Adaptive Control (Ydstie, 1984)
Intérêt selon Richalet d un algorithme de commande par optimisation Différents niveaux distingués : Niveau 0 : commande des systèmes esclaves (vannes) par des PID Niveau 1 : commande dynamique du procédé sous forme multivariable Niveau 2 : optimisation des consignes par minimisation de fonctions de coût Niveau 3 : ordonnancement spatial et temporel de la production Conclusion : Bénéfices économiques des niveaux 0 et 1 faibles µ porter l effort sur le niveau 2 (optimisation dynamique)
Objectifs généraux selon (Qin et Badgwell, 1996) de la Commande Prédictive Basée sur le Modèle 1 éviter la violation des contraintes d entrée et de sortie 2 amener les variables manipulées vers leurs valeurs stationnaires optimales (optimisation dynamique par rapport aux entrées), 3 amener les variables commandées vers leurs valeurs stationnaires optimales en prenant en compte les degrés de liberté restants (optimisation dynamique par rapport aux sorties), 4 éviter des variations excessives des variables manipulées, 5 lorsque les signaux et les actionneurs sont en défaut, commander une aussi grande partie du procédé que possible Les codes commerciaux de MPC respectent plus ou moins ces points de différentes manières
Démarche possible (Qin et Badgwell, 1996) - entrées Ù, perturbations, sorties Ý connues à l instant - mise à jour des sorties Calcul d un biais entre la sortie mesurée et la sortie prédite : Ý Ñ Ý ajout du biais à la sortie du modèle pour les prédictions suivantes : Ý Ü µ - détermination des entrées à manipuler et des sorties à commander (optimisation basée sur les degrés de liberté) - conditionnement mesuré par Ì ( est la matrice de gain du procédé) Améliorer ce conditionnement - optimisation stationnaire locale (éventuellement modèle non linéaire avec contraintes)
- optimisation dynamique : ÑÒ Ù Ù ½ Ù À ½ Â avec : Â ÈÀ Ô ½ Ý ÈÀ ½ É ¼ Ù ÈÀ ½ Ë ¼ Ù Ê soumise aux contraintes non linéaires du modèle : Ü Ü ½ Ù ½ µ ½ À Ô Ý Ü µ ½ À Ô et aux contraintes d inégalité des variables manipulées et commandées : Ù ÑÒ Ù Ù ÑÜ ½ À ½ Ù ÑÒ Ù Ù ÑÜ ½ À ½ Ý ÑÒ Ý Ý ÑÜ ½ À Ô ½ - hiérarchisation des contraintes : contraintes dures et contraintes douces - spécification des trajectoires de sortie et d entrée (consigne, zone, trajectoire de référence) - spécification des horizons de prédiction et de commande - identification (méthodes à erreur d équation ou erreur de sortie) Réponses impulsionnelles (IDCOM, HIECON) ou indicielles (DMC) souvent utilisées (intérêt : simplicité d où popularité dans l industrie) - réglage du régulateur Simulation hors-ligne Tests de régulation, poursuite, respect des contraintes, robustesse
Commande prédictive linéaire basée sur le modèle Description de DMC pour un système SISO Utilisation de la réponse indicielle : Ý ½µ Ý Å ½ Ù ½ µ Å ½ Ù Å µ Ù µ Å horizon du modèle "ss" : état stationnaire Décomposition de la prédiction de sortie basée sur les entrées passées et futures selon : Å Ý Ðµ Ý Ù Ð µ Ð ½ ßÞ Ð effet des entrées passées е ßÞ Ð effet des perturbations prédites Ð Ù Ð µ ½ ßÞ Ð effet des entrées futures Au-delà de l horizon de commande À, ie après l instant À, l entrée manipulée est supposée constante : Ù µ ¼ À
Définition de la prédiction de sortie correspondant à l influence des variations des entrées passées : Ý Ðµ Ý Å Ð ½ Calcul du vecteur des prédictions de sortie Ù Ð µ Ý ½µ ½ Ù µ Ý Ù ½µ Å Ù Å ½µ ½µ ½ Ù µ Ý ½µ ½µ Ý À µ ½ Ù À ½µ À Ù µ Ý À µ À µ Ý À ½µ Ù À ½µ À ½ Ù µ Ý À ½µ À ½µ Ý À Ô µ Å Ù À ½µ Å Ù µ d où : Ý ½µ Ý À Ô µ Ý À Ô µ À Ô µ si À Ô À Å ½ Ý ½µ Ý À Ô µ ½µ À Ô µ Ù µ Ù À ½µ
est la Matrice Dynamique de Commande du système de dimension À Ô À : ½ ¼ ¼ ½ À À ½ ½ Å Å ½ Å À ½ Å Å Å Å Å Å À lignes Å ½µ lignes ÀÔ À Å ½µ lignes La matrice dynamique est la même que la matrice de la commande prédictive généralisée Calcul du vecteur des prédictions de sortie Ý Ðµ correspondant à l influence des variations des entrées passées (en supposant À Ô Å) : Ý ½µ Ý Å ½µ Ý Åµ Ý À Ô µ Ý Ý Å Å ½ ¼ Å ¼ ¼ Å ¼ ¼ ¼ ¼ ¼ ¼ Ù Å ½µ Ù ½µ
Influence des effets non modélisés : µ Ý µ Ý µ et estimation des perturbations µ е µ Ý Ñ µ Ý µ Ý Ñ µ Ý È Å½ Ù µ Ð ½ À Ô Définition d un critère quadratique :  À Ô ½ Ý µ Ý ref µµ Minimisation par rapport au vecteur des entrées futures : Ù µ Ù µ Ù À ½µ Ì Système linéaire résultant : Ý ref ½µ Ý ½µ µ ½µ Ý ref À Ô µ Ý À Ô µ µ À Ô µ ½µ Ù µ Solution au sens des moindres carrés : Ù µ Ì µ ½ Ì ½µ Seule la première composante du vecteur Ù µ est implantée Choix : À petit et À Ô assez grand
Description de DMC pour un système MIMO Système multivariable (Ò Ù entrées, Ò Ý sorties) représenté par : Ý ½µ Ý ¼ Å ½ Ù ½µ ½µ Matrice dynamique multivariable composée de matrices élémentaires : ½½ ½ÒÙ ÒÝ ½ ÒÝ Ò Ù Modération des entrées en introduisant une matrice de poids diagonale : diag ½ ßÞ ½Ð ÒÙ ÒÙ µ À valeurs et pondération sélective des sorties par diagonale, : diag ½ ßÞ ½Ð ÒÝ ÒÝ µ À Ô valeurs Nouveau critère quadratique :  ½ ½ ½ Ý µ Ý Ö µ Ì ÙÌ µ Ì Ù µ ½ Ù µ ½µ Ì Ì ½ ÙÌ µ Ì Ù µ Solution en absence de contraintes : Ù µ Ì Ý µ Ì Ì Ì ½ Ì Ì Ý Ö µ Ù µ ½µ ½µ
Description de QDMC (Quadratic Dynamic Matrix Control) Prise en compte des contraintes : - contraintes affectant les entrées (ex : saturations de vannes), Ù min Ù Ù max (1) - contraintes affectant les sorties (ex : éviter les dépassements), - contraintes affectant d autres variables qui doivent être maintenues à l intérieur de limites - contraintes ajoutées au procédé afin d éviter des réponses inverses provoquant un comportement à non-minimum de phase - contraintes terminales sur l état Résumé sous forme d un système d inégalités linéaires : Ù µ ½µ (2) Formulation comme un problème de programmation quadratique : ÑÒ Ù µ ½ Ù µì À Ù µ ½µ Ì Ù µ soumis aux contraintes (1) et (2) (3)
Formulation dans l espace d état : OBMPC (Observer Based Model Predictive Control) Idée originale (Li, 1989) : représenter la trajectoire complète pour un système monovariable comme une suite d états : Ü ½ µ Ü ½µ ½ Ù ½µ Ü µ Ü ½ ½µ Ù ½µ ½ Å Utilisation de ces équations par rapport à la sortie prédite correspondant à l influence des variations passées : Ý ½µ Ý ½ ½µ Ù ½µ Pour un système MIMO (Ò Ù Ò Ý ), représentation du système à chaque instant par la matrice Ë des coefficients des réponses indicielles : ½½ ½ ½ÒÙ Ë ½ ÒÙ (4) ÒÝ ½ ÒÝ ÒÝ Ò Ù ( Ð coefficient indiciel à l instant de la sortie correspondant à l entrée échelon Ð) En absence de perturbations, modèle correspondant dans l espace d état : µ ½µ Ë Ù ½µ Ý µ µ
Introduction de perturbations comme dans la commande LQG, modèle correspondant dans l espace d état : avec : µ ½µ Ë Ù ½µ Ì Û ½µ Ý µ µ Ý µ Ý µ Ú µ µ Ý µ Ì Ý ½µ Ì Ý Å ½µ Ì Ü Ù µ Ì Ü Û µ Ì Ì Ý µ Ý ½ µ Ý Ò Ý µ Ì Ù µ Ù ½ µ Ù ÒÙ µ Ì la matrice de dimension ÅÒ Ý dim Ü Ù dim Ü Û µ : ¼ Á ÒÝ ¼ ¼ ¼ ¼ ¼ ¼ Á ÒÝ ¼ ¼ ¼ Á ÒÝ ¼ ¼ ¼ ¼ Á ÒÝ Ù Û ¼ ¼ ¼ Ù ¼ ¼ ¼ ¼ ¼ Û la matrice Ë : la matrice : Ë ¼ Á ÒÝ Ë ½ Ë Å Ù ¼ ¼
Dynamiques résiduelles du procédé et de perturbation incorporées : Ü Ù ½µ Ù Ü Ù µ Ù Ù µ Ü Û ½µ Û Ü µ Û Û µ Prédiction des sorties futures en utilisant un observateur d état (ex : filtre linéaire optimal de Kalman) de matrice de gain à Etape de prédiction du modèle : ½µ µ Ë Ù µ Etape de correction basée sur les mesures : avec : µ ½µ Ã Ý µ Ý ½µ ½µ Ý ½µ Ì Ý ½ ½µ Ì Ý Å ½µ Ì Ü Ù Ü Û Ì Ý ½µ µ
Optimisation : avec : Â ½µ Ê ½µ Í µ Í µ Ù µ Ì Ù ½µ Ì Ù À ½µ Ì Ì ½µ ÀÔ µ Ë ÀÔ Í µ Ý ½µ Ì Ý À Ô µ Ì Ì Ê ½µ Ö ½µ Ì Ö À Ô µ Ì Ì Ê trajectoire de référence La matrice Ë ÀÔ est : Ë ½ ¼ ¼ ¼ Ë Ë ½ ¼ ¼ Ë ÀÔ Ë À Ë À ½ Ë ½ Ë ÀÔ Ë ÀÔ ½ Ë ÀÔ À ½ ÀÔ ¼ Á ÒÝ À Ô Solution au sens des moindres carrés de OBMPC : Í µ Ë Ì À Ô Ì Ë ÀÔ Ì ½ Ë Ì À Ô Ì Ê ½µ ÀÔ µ
Commande Prédictive Non Linéaire Plusieurs approches (ex : linéarisation) Ici, seule approche franchement non linéaire décrite Deux obstacles principaux concernant l extension de la commande prédictive des systèmes linéaires aux systèmes non linéaires : la question de la stabilité pour les systèmes contraints à horizon fini Possibilité d introduire différents types de contraintes pour garantir la stabilité la lourdeur du calcul numérique : un problème d optimisation non linéaire doit être résolu en ligne et il n existe en général pas de garantie de trouver un optimum global Modèle non linéaire : Ü Øµ Ü Øµ ٠صµ Ü ¼µ Ü ¼ soumis aux contraintes d entrée et d état : Ü Øµ avec : Ü Ò Ü ÑÒ Ü Ü ÑÜ Ù Øµ Í avec : Í Ù Ò Ù Ù ÑÒ Ù Ù ÑÜ Formulation du problème de commande prédictive non linéaire comme un problème de commande optimale en boucle ouverte à horizon fini : ÑÒ Ù Â Ü Ù Ì Ôµ soumis à : Ø ÌÔ Ø Ü Ü Øµ ص É Ù µ Ê Ü Øµ Ü Ùµ Ü Ø Ü Øµ Ü Øµ et : Ü Ü Øµ ص Ù µ Í
Approches utilisées : (Mayne et Michalska, 1990) introduisent une contrainte d égalité terminale : Ü Ø Ì Ô µ ¼ qui force l état vers zéro à la fin de l horizon de prédiction (Michalska et Mayne, 1993) relaxent cette condition en la transformant en une contrainte d inégalité terminale : Ü Ø Ì Ô µ Å Å région terminale constituant un domaine d attraction pour le système non linéaire commandé localement par une loi de retour d état linéaire : Ù Ã Ü Ainsi proposition d un régulateur double comme régulateur à horizon glissant : - en dehors de la région terminale, un régulateur à horizon glissant est appliqué, - dans la région terminale, loi de retour d état linéaire La bascule entre les deux régulateurs doit être réalisée Pour être possible, l état à la fin de l horizon fini doit se trouver sur la frontière de la région terminale Le problème d optimisation suivant doit alors être résolu : ÑÒ ÙÌ Ô Â Ü Ù Ì Ô µ avec Ì Ô Ì, horizon de commande
Approche de Chen et Allgöwer (1998) : Introduction d un terme de pénalité terminale : ÑÒÙ Â Ü Ù Ì Ôµ Ü Ø Ì Ô Ü Øµ ص È Ø ÌÔ Ü Ü Øµ ص É Ù µ Ê Algorithme : Ø Etape 1 : Calculer la linéarisation jacobienne µ, puis déterminer le retour d état linéaire localement stabilisant : Ù Ã Ü Etape 2 : choisir une constante positive «ÑÜ Ã µ et résoudre l équation de Lyapunov : à «Áµ Ì È È Ã «Áµ É Ã Ì Ê Ãµ afin d obtenir la matrice définie positive È,avec à à Etape 3 : Trouver le plus grand ½ définissant la région Å ½ telle que les contraintes d état et d entrée soient satisfaites lorsque Ü Å ½ : Å ½ Ü Ò Ü Ì È Ü ½ et Å ½ et ÃÜ Í Ü Å ½ Etape 4 : Trouver le plus grand ¼ ½ spécifiant une région terminale Å : ÑÜ Ü Å Ü Ò Ü Ì È Ü telle que l état optimal solution du problème d optimisation suivant soit non positive : Ü Ì È Üµ «Ü Ì È Ü Ü Ì È Ü avec : ܵ Ü Ãܵ à Ü
Etape 5 : Choisir l horizon de prédiction Ì Ô satisfaisant : Ì Ô Ì Ì Ì temps maximum nécessaire pour que le système non commandé atteigne Å en partant de Ü ¼
Commande prédictive linéaire d un FCC Flue gas Gaseous Products REGENERATOR Stripping Steam PARTICLE SEPARATOR Dilute phase STRIPPER Dense phase Spent Catalyst RISER Air Regenerated Catalyst Feed Oil FIG 2 Schéma d une unité de cracking catalytique Entrées : Ù ½ débit de catalyseur régénéré, Ù débit d air Sorties : température à la sortie du riser Ì Ö ½µ, température dans le régénérateur Ì Ö
Modèle simplifié du FCC Riser Température d alimentation : Ì Ö ¼µ Ø ÔØ Ì Ö ÔÓÐ Ì ÓÐ Ì µ À ÚÔ ÔÓ Ì ÓÐ µ Ø ÔØ ÔÓ Fractions massiques d huile et d essence le long du riser : Ý Ó Température le long du riser : Þ ½ Ý Ó ÓÛÖ Ø Ý Þ «½ Ý Ó Ý µ ÓÛÖ Ø Ì Ö À Þ ÖÖ Ý Ó Ø ÔØ ÔÓÐ Ô ØÑ Þ Séparateur Coke sur le catalyseur : Ó Ô Ø Ø ÓÖ ½µ Ó Ô µ Ñ Ø Ô Température : Ì Ô Ø Ø ÔØ Ì Ö ½µ Ì Ô µ Ñ Ø Ô ÔØ
Régénérateur Coke sur le catalyseur : ÓÖ Ø Ø Ó Ô ÓÖ µ Ö Ñ ØÖ Fraction molaire de O dans le lit dense : Ü Ç Ø ½ Ñ ÖÖ Température : Ö Å ÛÖ Ü Ç Ò Ü Ç µ ½ µ Ò À ½ µ Ö Å ÛÓ Ì Ö Ø ½ Ñ ØÖ ÔØ Ø ÔØ Ì Ô Ö ÔÖ Ì Ö Ø ÔØ Ö ÔÖ µ Ì Ö À Ö Å ÛÓ
Réponses en boucle ouverte 795 790 Riser Temperature (K) 995 990 985 Regenerator Temperature (K) Temperature (K) 785 780 775 Temperature (K) 980 975 970 965 960 770 955 950 765 0 5000 10000 15000 20000 25000 30000 35000 40000 45000 Time 945 0 5000 10000 15000 20000 25000 30000 35000 40000 45000 Time FIG 3 Variations de température à la sortie du riser Ì Ö ½µ et de temperature dans le régénérateur Ì Ö pour des échelons sur le débit d air de 5% 788 Riser Temperature (K) 982 Regenerator Temperature (K) 786 980 784 978 Temperature (K) 782 780 778 Temperature (K) 976 974 972 970 776 968 774 0 5000 10000 15000 20000 25000 30000 35000 40000 45000 Time 966 0 5000 10000 15000 20000 25000 30000 35000 40000 45000 Time FIG 4 Variations de température à la sortie du riser Ì Ö ½µ et de temperature dans le régénérateur Ì Ö pour des échelons sur le débit de catalyseur de 5%
Commande prédictive QDMC du FCC 308 FCC Flowrate of regenerated catalyst 264 FCC Flowrate of air 306 262 304 26 Flowrate (kg/s) 302 300 298 Flowrate (kg/s) 258 256 254 296 252 294 25 292 0 10000 20000 30000 40000 50000 60000 70000 Time (s) 248 0 10000 20000 30000 40000 50000 60000 70000 Time (s) FIG 5 Variations des entrées manipulées du FCC (QDMC) 786 785 FCC Riser Temperature at outlet of riser Setpoint 982 980 FCC Regenerator Temperature in regenerator Setpoint 784 978 Temperature (K) 783 782 781 Temperature (K) 976 974 972 780 970 779 0 10000 20000 30000 40000 50000 60000 70000 Time (s) 968 0 10000 20000 30000 40000 50000 60000 70000 Time (s) FIG 6 Variations des sorties commandées du FCC (QDMC) Choix : horizon du modèle À Ñ ¼, horizon de prédiction À Ô ¼, horizon de commande À Poids sur les entrées égaux à 1 et sur les sorties égaux à 10
Commande prédictive avec observateur OBMPC du FCC Flowrate (kg/s) 312 310 308 306 304 302 300 298 296 294 FCC Flowrate of regenerated catalyst Flowrate (kg/s) 259 258 257 256 255 254 253 252 FCC Flowrate of air 292 0 10000 20000 30000 40000 50000 60000 70000 Time (s) 251 0 10000 20000 30000 40000 50000 60000 70000 Time (s) FIG 7 Variations des entrées manipulées du FCC (OBMPC) 787 786 FCC Riser Temperature at outlet of riser Setpoint 982 980 FCC Regenerator Temperature in regenerator Setpoint Temperature (K) 785 784 783 782 781 780 779 Temperature (K) 978 976 974 972 970 778 0 10000 20000 30000 40000 50000 60000 70000 Time (s) 968 0 10000 20000 30000 40000 50000 60000 70000 Time (s) FIG 8 Variations des sorties commandées du FCC (OBMPC) Choix : horizon du modèle À Ñ ¼, horizon de prédiction À Ô ¼, horizon de commande À Filtre de Kalman Ecart-type des mesures ¼ Poids sur les entrées et les sorties égaux à 1