You are on page 1of 27

CHAPITRE 2- Commande prédictive

2.1 Introduction Au Contrôle à Modèle Prédictif


Le modèle de contrôle prédictif (MPC) a vu le jour à la fin des années 70 et s'est
considérablement développé depuis.
La commande prédictive basée sur les modèles (MBPC ou MPC) n'est pas une stratégie de
commande spécifique mais plutôt une gamme très étendue de méthodes de commande
développées autour de certaines idées communes qui utilisent explicitement un modèle du
processus pour obtenir le signal de contrôle en minimisant une fonction objective.
Ces méthodes de conception conduisent à des contrôleurs linéaires qui ont pratiquement la
même structure et présentent des degrés de liberté adéquats. Les idées apparaissant plus ou
moins dans toute la famille de commande prédictive sont essentiellement :
• L'utilisation explicite d'un modèle pour prédire la sortie du processus à des instants de
temps futurs (horizon).
• Calcul d'une séquence de commande minimisant une certaine fonction objective.
• Stratégie de recul, de sorte qu'à chaque instant l'horizon soit déplacé vers le futur, ce qui
implique l'application du premier signal de commande de la séquence calculée à chaque étape.
Les différents algorithmes MPC (aussi appelés control prédictif à horizon fuyant ou
RHPC) ne diffèrent que par le modèle utilisé pour représenter le processus, les bruits et la
fonction de coût à minimiser. Ce type de commande est de nature ouverte dans lequel de
nombreux travaux ont été développés, largement reçus par le monde académique et par
l'industrie. De nombreuses applications de la commande prédictive sont actuellement utilisées
avec succès, non seulement dans des procédés industriels mais aussi dans la commande d'une
diversité de processus allant des manipulateurs de robots à l'anesthésie clinique. Les
applications sont dans l'industrie du ciment, les tours de séchage et les bras de robot, les
colonnes à distillation, les installations en pvc, les générateurs de vapeur ou dans les
asservissements. La bonne performance de ces applications montre la capacité de la MPC à
réaliser des systèmes de commande très performants capables de fonctionner pendant de
longues périodes sans pratiquement aucune intervention.
MPC (commande à modèle prédictif) présente une série d'avantages par rapport à
d'autres méthodes, parmi lesquelles se distinguent :
• il est particulièrement intéressant pour le personnel n'ayant qu'une connaissance limitée de la
commande, car les concepts sont très intuitifs et en même temps le réglage est relativement
facile.
• il peut être utilisé pour commander une grande variété de processus, de ceux avec des
dynamiques relativement simples à d'autres plus complexes, y compris les systèmes avec de
temps de retard long ou à phase non-minimale ou instable.
• le cas multi variable peut facilement être traité.
• il a intrinsèquement une compensation pour les temps morts.
• il introduit la commande anticipée de façon naturelle pour compenser les perturbations
mesurables.
• le contrôleur résultant est une loi de commande linéaire facile à mettre en œuvre.

1
• son extension au traitement des contraintes est conceptuellement simple et celles-ci peuvent
être systématiquement intégrées lors du processus de conception.
• il est très utile lorsque des références futures (robotique ou traitement par lots) sont connues.
• C'est une méthodologie totalement ouverte basée sur certains principes de base qui permettent
des extensions futures.
Comme il est logique, cependant, il a aussi ses inconvénients. L'une d'elles est que, bien que
la loi de commande résultante soit facile à mettre en œuvre et nécessite peu de calculs, sa
dérivation est plus complexe que celle des contrôleurs PID classiques. Si la dynamique du
processus ne change pas, la dérivation du contrôleur peut être faite au préalable, mais dans le
cas du contrôle adaptatif, tout le calcul doit être effectué à chaque instant d'échantillonnage.
Bien que la puissance de calcul disponible aujourd'hui ne soit pas un problème essentiel, il faut
garder à l'esprit que de nombreux ordinateurs de contrôle de processus industriels ne sont pas à
leur meilleur en termes de puissance de calcul et, surtout, la plus grande partie du temps
disponible sur l'ordinateur doit normalement être utilisé à d'autres fins que l'algorithme de
contrôle lui-même (communications, dialogues avec les opérateurs, alarmes, enregistrement,
etc.). Même ainsi, le plus grand inconvénient est la nécessité de disposer d'un modèle
approprié du processus. L'algorithme de conception est basé sur une connaissance préalable du
modèle et il est indépendant de celui-ci, mais il est évident que les intérêts obtenus dépendront
des écarts existant entre le processus réel et le modèle utilisé.
En pratique, le MPC s'est avéré être une stratégie raisonnable pour le contrôle industriel, en
dépit du manque initial de résultats théoriques sur certains points cruciaux tels que la stabilité
ou la robustesse.
2.2 Stratégie de la commande à modèle prédictif MPC (Model Predictive Control)
La méthodologie de tous les contrôleurs appartenant à la famille MPC est caractérisée par la
stratégie suivante, représentée à la figure 1.1 :

Figure 2.1 : stratégie de la MPC

1. Les sorties futures pour un horizon déterminé N, appelé horizon de prédiction, sont
prédites à chaque instant t en utilisant le modèle de processus. Ces sorties prédites
𝑦(𝑡 + 𝑘|𝑡) pour 𝑘 = 1 ⋯ 𝑁 dépend des valeurs connues jusqu'à l'instant 𝑡 (entrées
et sorties passées) et des signaux de commande futurs 𝑢 (𝑡 + 𝑘|𝑡), 𝑘 = 𝑂 . . . 𝑁 − 1,
qui sont ceux à envoyer au système et à calculer. La notation (𝒕 + 𝒌|𝒕) indique la

2
valeur de la variable 𝒚 à l'instant 𝒕 + 𝒌 (prédiction) calculée à l'instant 𝒕
(actuel)).
2. L'ensemble des signaux futurs de commande est calculé en optimisant un critère
déterminé afin de maintenir le processus aussi proche que possible de la trajectoire de
référence 𝒘(𝒕 + 𝒌) (qui peut être le point fixe lui-même (point de consigne) ou une
approximation proche). Ce critère prend généralement la forme d'une fonction
quadratique des erreurs entre le signal de sortie prédit et la trajectoire de référence
prédite. L'effort de commande est inclus dans la fonction objective dans la plupart des
cas. Une solution explicite peut être obtenue si le critère est quadratique, le modèle est
linéaire et il n'y a pas de contraintes, sinon une méthode d'optimisation itérative doit être
utilisée. Certaines hypothèses sur la structure de la loi de commande future sont
également faites dans certains cas, comme celle qui sera constante à partir d'un instant
donné.
3. Le signal de commande 𝒖(𝒕|𝒕) est envoyé au processus tandis que les signaux
prochains de commande calculés sont rejetés, car à l'instant d'échantillonnage suivant
𝑦(𝑡 + 1) est déjà connu et l'étape 1 est répétée avec cette nouvelle valeur et toutes les
séquences sont mises à jour. On calcule donc 𝑢(𝑡 + 1| 𝑡 + 1) (qui sera en principe
différent de 𝑢(𝑡 + 1| 𝑡) en raison des nouvelles informations disponibles) en utilisant le
concept d'horizon reculant.

Afin de mettre en œuvre cette stratégie, la structure de base illustrée à la figure 1.2 est utilisée.
Un modèle est utilisé pour prédire les sorties futurs du plant, basées sur des valeurs passées et
courantes et sur des actions de commande futures optimales proposées. Ces actions sont
calculées par l'optimiseur en tenant compte de la fonction de coût (où l’erreur de poursuite
future est prise en compte) ainsi que des contraintes.

Figure 2.2 : Structure de base de la MPC

Le modèle de processus joue, par conséquent, un rôle décisif dans le contrôleur. Le modèle
choisi doit être capable de capturer la dynamique du processus afin de prédire avec précision
les sorties futurs tout en étant simple à mettre en œuvre et à comprendre.
Comme le MPC n'est pas une technique unique mais un ensemble de méthodologies différentes,
il existe de nombreux types de modèles utilisés dans diverses formulations. L'un des plus
populaires dans l'industrie est le Modèle de Réponse Impulsionnelle Tronquée, qui est très
simple à obtenir car il nécessite seulement la mesure de la sortie lorsque le processus est excité
avec une impulsion d'entrée. Il est largement accepté dans la pratique industrielle car il est très
intuitif et peut également être utilisé pour des processus multivariables, bien que ses principaux
inconvénients soit le grand nombre de paramètres nécessaires et que seuls les processus

3
stables en boucle ouverte puissent être décrits de cette manière. Le modèle de réponse en
échelon, étroitement lié à ce type de modèle, est obtenu lorsque l'entrée est un échelon.
Le modèle de fonction de transfert est peut-être le plus répandu dans la communauté
universitaire et est utilisé dans la plupart des méthodes de conception de commande, car il s'agit
d'une représentation qui ne nécessite que quelques paramètres et est valable pour tous les types
de processus. Le modèle d'espace d'état est également utilisé dans certaines formulations, car
il peut facilement décrire des processus multivariables.
L'optimiseur est un autre élément fondamental de la stratégie car il fournit les actions de
commande. Si la fonction de coût est quadratique, son minimum peut être obtenu en tant que
fonction explicite (linéaire) des entrées et sorties passées et de la trajectoire de référence future.
En présence de contraintes d'inégalité, la solution doit être obtenue par des algorithmes
numériques plus contraignants. La taille des problèmes d'optimisation dépend du nombre de
variables et des horizons de prédiction utilisés et se révèle généralement être des problèmes
d'optimisation relativement modestes qui ne nécessitent pas de codes informatiques
sophistiqués à résoudre. Cependant, la quantité de temps nécessaire pour les cas contraints et
robustes peut être supérieure de plusieurs ordres de grandeur à celle nécessaire pour le cas non
contraint et la bande passante du processus auquel la MPC contrainte peut être appliquée est
considérablement réduite.
2.3 Contrôleurs Prédictifs Basés sur le Modèle
Ce paragraphe décrit les éléments communs à tous les contrôleurs prédictifs basés sur un
modèle, en montrant les différentes alternatives utilisées dans les différentes implémentations.
Certaines des méthodes les plus populaires seront ensuite examinées afin de démontrer leurs
caractéristiques les plus remarquables. La méthode des impulsions finies et la commande
prédictive généralisée ainsi que ses dérivations rapprochées seront traités plus par la suite.
2.3.1 Éléments MPC
Tous les algorithmes MPC possèdent des éléments communs et différentes options peuvent
être choisies pour chacun de ces éléments donnant lieu à différents algorithmes. Ces éléments
sont :
• Modèle de prédiction
• Fonction objective
• Obtention de la loi de commande

2.3.2 Modèle de prédiction

Le modèle est la pierre principale de MPC ; une conception complète devrait inclure les
mécanismes nécessaires pour obtenir le meilleur modèle possible, qui devrait être suffisamment
complet pour capturer complètement la dynamique du processus et devrait également être
capable de permettre le calcul des prédictions et, en même temps, d'être intuitif et de permettre
l’analyse théorique. L'utilisation du modèle de processus est déterminée par la nécessité de
calculer la sortie prédite aux instants futurs 𝑦̂(𝑡 + 𝑘|𝑡) . Les différentes stratégies de MPC
peuvent utiliser différents modèles pour représenter la relation entre les sorties et les entrées
mesurables, dont certaines sont des variables manipulées et d'autres peuvent être considérées
comme des perturbations mesurables qui peuvent être compensées par une action directe. Un
modèle de perturbation peut également être pris en compte pour décrire le comportement qui
n'est pas reflété par le modèle de processus, incluant l'effet des entrées non mesurables, le bruit
et les erreurs du modèle. Le modèle peut être divisé en deux parties : le modèle de processus
réel et le modèle de perturbations. Les deux parties sont nécessaires pour la prédiction.

4
Modèle de processus
Pratiquement toutes les formes possibles de modélisation d'un processus apparaissent dans
une formulation de MPC donnée, les suivantes étant les plus couramment utilisées :
• Réponse impulsionnelle
Aussi connu comme séquence de pondération ou modèle de convolution, il apparaît dans MAC
(Model Algorithmic Control) et comme un cas particulier dans GPC (Generalized Predictive Control)
et EPSAC (Extended Prediction Self-Adaptive Control). La sortie est liée à l'entrée par l'équation

𝑦(𝑡) = ∑ ℎ𝑖 𝑢(𝑡 − 𝑖)
𝑖=1

Où ℎ𝑖 ; est la sortie échantillonnée lorsque le processus est excité par une impulsion unitaire
d'amplitude égale à la période d'échantillonnage (voir figure 2.3a). Cette somme est tronquée
et seules les valeurs N sont prises en compte (seuls les processus stables sans intégrateurs
peuvent être représentés), ayant
𝑁

𝑦(𝑡) = ∑ ℎ𝑖 𝑢(𝑡 − 𝑖) = 𝐻(𝑧 −1 ) 𝑢(𝑡) (2.1)


𝑖=1

Où 𝐻(𝑧 −1 ) = ℎ1 𝑧 −1+ℎ2 𝑧 −2 + ⋯ + ℎ𝑁 𝑧 −𝑁 , étant 𝑧 −1 l'opérateur de décalage arrière.


Un autre inconvénient de cette méthode est le grand nombre de paramètres nécessaires, car
N est généralement une valeur élevée (de l'ordre de 40-50). La prédiction sera donnée par :
𝑁

𝑦̂(𝑡 + 𝑘|𝑡) = ∑ ℎ𝑖 𝑢(𝑡 + 𝑘 − 𝑖|𝑡) = 𝐻(𝑧 −1 ) 𝑢(𝑡 + 𝑘|𝑡)


𝑖=1
Cette méthode est largement acceptée dans la pratique industrielle car elle est très intuitive et
reflète clairement l'influence d'un phénomène déterminé sur une sortie déterminée. On note que
si le processus est multivariable, les différentes sorties refléteront l'effet des entrées 𝑚 de la
façon suivante :
𝑚 𝑁
𝑘𝑗
𝑦𝑗 (𝑡) = ∑ ∑ ℎ𝑖 𝑢𝑘 (𝑡 − 𝑖)
𝑘=1 𝑖=1

Un grand avantage de cette méthode est qu'aucune information préalable sur le processus
n'est nécessaire, de sorte que le processus d'identification est simplifié et en même temps il
permet de décrire facilement une dynamique complexe telle qu’à phase non minimale ou à
retards.

Figure 2.3 :
Réponse
impulsionnelle
et indicielle

5
• Réponse indicielle
Utilisé par la DMC (Dynamic Matrix Control) et ses variantes, elle est très similaire à la
précédente sauf que maintenant le signal d'entrée est un échelon. Pour les systèmes stables, la
réponse tronquée est donnée par :
𝑁

𝑦(𝑡) = 𝑦0 + ∑ 𝑔𝑖 ∆𝑢(𝑡 − 𝑖) = 𝑦0 + 𝐺(𝑧 −1 )(1 − 𝑧 −1 )𝑢(𝑡) (2.2)


𝑖=1

Où 𝑔𝑖 ; sont les valeurs de sortie échantillonnées pour l'entrée échelon et ∆𝑢(𝑡) = 𝑢(𝑡) −
𝑢(𝑡 − 1) comme indiqué sur la figure 2.1b. La valeur de 𝑦0 peut être prise à 0 sans perte de
généralité, de sorte que le prédicteur sera :
𝑁

𝑦̂(𝑡 + 𝑘|𝑡) = ∑ 𝑔𝑖 ∆ 𝑢(𝑡 + 𝑘 − 𝑖|𝑡)


𝑖=1
Cette méthode a les mêmes avantages et inconvénients que la précédente.
• Fonction de transfert
Utilisé par GPC (Generalized Predictive Control) / UPC (Unified Predictive Control) / EPSAC
(Extended Prediction Self-Adaptive Control), EHAC (Extended Horizon Adaptive Control)/
MUSMAR (Multi-Step Multivariable Adaptive Control) ou MURHAC (Multipredictor Receding
Horizon Adaptive Control) entre autres, il utilise le concept de fonction de transfert 𝐺 = 𝐵/𝐴 pour
que la sortie soit donnée par :
𝐴(𝑧 −1 )𝑦(𝑡) = 𝐵(𝑧 −1 )𝑢(𝑡)
−1 )
𝐴(𝑧 = 𝑎1 𝑧 −1 + 𝑎2 𝑧 −2 + ⋯ + 𝑎𝑛𝑎 𝑧 −𝑛𝑎
𝐵(𝑧 −1 ) = 𝑏1 𝑧 −1 + 𝑏2 𝑧 −2 + ⋯ + 𝑏𝑛𝑏 𝑧 −𝑛𝑏

Ainsi, la prédiction est donnée par


𝐵(𝑧 −1 )
𝑦̂(𝑡 + 𝑘|𝑡) = 𝑢(𝑡 + 𝑘|𝑡)
𝐴(𝑧 −1 )
Cette représentation est également valable pour les processus instables et présente l'avantage
de n'avoir besoin que de quelques paramètres, bien qu'une connaissance à priori du processus
soit fondamentale, notamment celle de l'ordre des polynômes 𝐴 et 𝐵.

• Espace de l'État
Utilisé dans PFC (Predictive Functional Control) par exemple, il a la représentation suivante :
𝑥(𝑡) = 𝐴𝑥(𝑡 − 1) + 𝐵 𝑢(𝑡 − 1)
𝑦(𝑡) = 𝐶 𝑥(𝑡)
𝑥 , étant l'état et 𝐴, 𝐵 𝑒𝑡 𝐶 les matrices respectivement de d’état du système, d'entrée et de
sortie. La prédiction pour ce modèle est donnée par
𝑘

𝑦̂(𝑡 + 𝑘|𝑡) = 𝐶 𝑥̂(𝑡 + 𝑘|𝑡) = 𝐶 [𝐴 𝑥(𝑡) + ∑ 𝐴𝑖−1 𝐵 𝑢(𝑡 + 𝑘 − 𝑖|𝑡) ]


𝑘

𝑖=1

Il a l'avantage de pouvoir être utilisé directement pour des processus multivariables. La loi
de contrôle est simplement le retour d'une combinaison linéaire du vecteur d'état, bien que
parfois la base de l'état choisie n'ait aucune signification physique. Les calculs peuvent être
compliqués avec une nécessité supplémentaire d'inclure un observateur si les états ne sont pas
accessibles.

6
• Autres
Les modèles non linéaires peuvent également être utilisés pour représenter le processus mais
le problème de leur utilisation provient du fait qu'ils compliquent le problème d'optimisation.
Les réseaux de neurones ainsi que la logique floue sont d'autres formes de représentation
utilisées dans certaines applications.
Modèle de perturbations
Le choix du modèle utilisé pour représenter les perturbations est aussi important que le choix
du modèle du processus. Un modèle largement utilisé est la méthode Autorégressive contrôlée
et moyenne mobile intégrée (CARIMA : Controlled Autoregressive Integrated Moving Average)
dans laquelle les perturbations, c'est-à-dire les différences entre la sortie mesurée et celle
calculée par le modèle, sont données par :
𝐶(𝑧 −1 ) 𝑒(𝑡)
𝑛(𝑡) =
𝐷(𝑧 −1 )
−1 )
où le polynôme 𝐷(𝑧 inclut explicitement l'intégrateur ∆= 1 − 𝑧 −1 , 𝑒(𝑡) est un bruit blanc
de moyenne nulle et le polynôme 𝐶 est normalement considéré comme égal à un (𝐶 = 1).
Ce modèle est considéré comme approprié pour deux types de perturbations, les changements
aléatoires se produisant à des instants aléatoires (par exemple des changements dans la qualité
du matériau) et le "mouvement brownien" et il est utilisé directement dans GPC, EPSAC, EHAC
et UPC et avec de légères variations dans d'autres méthodes. On Note qu'en incluant un
intégrateur, un contrôle à l’état permanent sans décalage est atteint
En utilisant l'équation de Diophantine
1 = 𝐸𝑘 (𝑧 −1 )𝐷(𝑧 −1 ) + 𝑧 −𝑘 𝐹𝑘 (𝑧 −1 ) (2.3)
on a
𝐹𝑘 (𝑧 −1 )
𝑛(𝑡) = 𝐸𝑘 (𝑧 −1 )𝑒(𝑡) + 𝑧 −𝑘 𝑒(𝑡); 𝑛(𝑡 + 𝑘) = 𝐸𝑘 (𝑧 −1 )𝑒(𝑡 + 𝑘) + 𝐹𝑘 (𝑧 −1 )𝑛(𝑡)
𝐷(𝑧 −1 )
et la prédiction sera
𝑛̂(𝑡 + 𝑘|𝑡) = 𝐹𝑘 (𝑧 −1 )𝑛(𝑡) (2.4)

Si l'équation (2.4) est combinée avec un modèle de fonction de transfert (comme celui utilisé
dans GPC), en faisant 𝐷(𝑧 −1 ) = 𝐴(𝑧 −1 )(1 − 𝑧 −1 ) , la prédiction de sortie peut être obtenue :

𝐵(𝑧 −1 ) −1 )
𝐵(𝑧 −1 )
𝑦̂(𝑡 + 𝑘|𝑡) = 𝑢(𝑡 + 𝑘|𝑡) + 𝐹 𝑘 (𝑧 (𝑦(𝑡) − 𝑢(𝑡))
𝐴(𝑧 −1 ) 𝐴(𝑧 −1 )
𝐵(𝑧 −1 )
𝑦̂(𝑡 + 𝑘|𝑡) = 𝐹𝑘 (𝑧 −1 )𝑦(𝑡) + (1 − 𝑧 −𝑘 𝐹𝑘 (𝑧 −1 ))𝑢(𝑡 + 𝑘|𝑡)
𝐴(𝑧 −1 )

et en utilisant (2.3) l'expression suivante est obtenue pour le prédicteur à 𝑘 étapes avant
𝑦̂(𝑡 + 𝑘|𝑡) = 𝐹𝑘 (𝑧 −1 )𝑦(𝑡) + 𝐸𝑘 (𝑧 −1 )𝐵(𝑧 −1 ) ∆ 𝑢(𝑡 + 𝑘|𝑡)

Dans le cas particulier de 'CARIMA, la perturbation constante


𝑒(𝑡)
𝑛(𝑡) =
1 − 𝑧 −1

Peut-être inclus dont les meilleures prédictions seront 𝑛̂(𝑡 + 𝑘|𝑡) = 𝑛(𝑡) . Ce modèle de
perturbation, associé au modèle de réponse à l’échelon, est celui utilisé pour les DMC et les
méthodes associées.
Une extension de ce qui précède est la perturbation de dérive utilisée dans PFC

7
𝑒(𝑡)
𝑛(𝑡) =
(1 − 𝑧 −1 )2

avec 𝑛̂(𝑡 + 𝑘|𝑡) = 𝑛(𝑡) + (𝑛(𝑡) − 𝑛(𝑡 − 1))𝑘 étant la prédiction optimale. D'autres
modèles polynomiaux d'ordre élevé peuvent également être utilisés.
Réponse libre et forcée
Une caractéristique typique de la plupart des MPC est l'utilisation de concepts de réponse libre
et forcée. L'idée est d'exprimer la séquence de contrôle sous la forme de l'addition de deux
signaux :
𝑢(𝑡) = 𝑢𝑓 (𝑡) + 𝑢𝑐 (𝑡)
Le signal 𝑢𝑓 (𝑡) correspond aux entrées passées et est maintenu constant et égal à la dernière
valeur de la variable manipulée dans les instants futurs.
C’est-à-dire :
𝑢𝑓 (𝑡 − 𝑗) = 𝑢(𝑡 − 𝑗) 𝑝𝑜𝑢𝑟 𝑗 = 1, 2, ⋯
𝑢𝑓 (𝑡 + 𝑗) = 𝑢(𝑡 − 1) 𝑝𝑜𝑢𝑟 𝑗 = 0, 1, 2, ⋯
Le signal 𝑢𝑐 (𝑡) est rendu égal à zéro dans le passé et égal au prochain mouvement de contrôle
dans le futur.
𝑢𝑐 (𝑡 − 𝑗) = 0 𝑝𝑜𝑢𝑟 𝑗 = 1, 2, ⋯
𝑢𝑐 (𝑡 + 𝑗) = 𝑢(𝑡 + 𝑗) − 𝑢(𝑡 − 1) 𝑝𝑜𝑢𝑟 𝑗 = 0, 1, 2, ⋯
La prédiction de la séquence de sortie est séparée en deux parties, comme le montre la figure
2.4. L'une d'elles (𝑦𝑓 (𝑡)), la réponse libre, correspond à la prédiction de la sortie lorsque la
variable manipulée par le processus devient égale à 𝑢𝑓 (𝑡), et l'autre, la réponse forcée (𝑦𝑐 (𝑡)),
correspond à la prédiction de la sortie du processus lorsque la séquence de contrôle est rendue
égale à 𝑢𝑐 (𝑡). La réponse libre correspond à l'évolution du processus en raison de son état
actuel, tandis que la réponse forcée est due aux mouvements de contrôle futurs.

Figure 2.4 : réponses libre et forcée


2.1.2 Fonction d'objective

Les différents algorithmes MPC proposent différentes fonctions de coût pour l'obtention de
la loi de contrôle. Le but général est que la sortie future (𝑦) sur l'horizon considéré suive un
signal de référence déterminé (𝑤) et, en même temps, que l'effort de contrôle (∆ 𝑢) nécessaire
pour le faire soit pénalisé. L'expression générale pour une telle fonction objective sera :

8
𝑁2 𝑁𝑢

𝐽(𝑁1 , 𝑁2 , 𝑁𝑢 ) = ∑ 𝛿(𝑗)[𝑦̂(𝑡 + 𝑗|𝑡) − 𝑤(𝑡 + 𝑗)]2 + ∑ 𝜆(𝑗) [Δ 𝑢(𝑡 + 𝑗 − 1) ]2 (2.5)


𝑗=𝑁1 𝑗=1

Dans certaines méthodes, le deuxième terme, qui prend en compte l'effort de la commande,
n'est pas pris en compte, tandis que dans d'autres (UPC), les valeurs du signal de la commande
(pas ses incréments) apparaissent également directement. Dans la fonction de coût, il est
possible de considérer :
• Paramètres :
𝑁1 et 𝑁2 , sont les horizons de coût minimum et maximum et 𝑁𝑢 est l'horizon de
commande, qui ne doit pas nécessairement coïncider avec l'horizon maximal, comme on le
verra plus loin. La signification de 𝑁1 et 𝑁2 , est plutôt intuitive. Ils marquent les limites
des instants dans lesquels il est souhaitable que la sortie poursuive la référence. Ainsi, si une
valeur élevée de 𝑁1 est prise, c'est parce que ce n'est pas important s'il y a des erreurs dans les
premiers instants qui provoqueront une réponse douce du processus. On note que dans les
processus à temps mort 𝑑 il n'y a pas de raison que 𝑁1 soit inférieure à cette valeur car la sortie
ne commencera pas à évoluer avant l'instant 𝑡 + 𝑑. De plus, si le processus est à phase non-
minimale, ce paramètre permettra d'éliminer les premiers instants de réponse inverse de la
fonction objective. Les coefficients 𝛿(𝑗) 𝑒𝑡 𝜆(𝑗) sont des séquences qui considèrent le
comportement futur, habituellement des valeurs constantes ou des séquences exponentielles
sont considérées. Par exemple, il est possible d'obtenir une pondération exponentielle de 𝛿(𝑗)
le long de l'horizon en utilisant :
𝛿(𝑗) = 𝛼 𝑁2 −𝑗

Si 𝛼 est compris entre 0 et 1, cela indique que les erreurs les plus éloignées de l'instant 𝑡
sont plus pénalisées que celles qui se rapprochent le plus, donnant lieu à une commande plus
lisse avec moins d'effort. Si, par contre, 𝛼 > 1 les premières erreurs sont plus pénalisées,
provoquant une commande plus serré. Dans la PFC l'erreur est seulement comptée à certains
points (points de coïncidence) ; ceci est facilement réalisé dans la fonction objective donnant
une valeur aux éléments de la séquence 𝛿(𝑗) à ces points et zéro aux autres. Toutes ces valeurs
peuvent être utilisées comme paramètres de réglage pour couvrir une large possibilité d'options
du contrôle standard à une stratégie de conception sur mesure pour un processus particulier.
• Trajectoire de référence :
Un des avantages de la commande prédictive est que si l'évolution future de la référence est
connue à priori, le système peut réagir avant que le changement ait été effectivement effectué,
évitant ainsi les effets de retard dans la réponse du processus. L'évolution future de la référence
𝑟(𝑡 + 𝑘) est connue à l'avance dans de nombreuses applications, telles que la robotique, les
servos ou les traitements par lots ; dans d'autres applications, une amélioration sensible des
performances peut être obtenue même si la référence est constante en connaissant simplement
le moment où la valeur change et en devançant cette circonstance. Dans la minimisation (2.5),
la majorité des méthodes utilise habituellement une trajectoire de référence 𝑤(𝑡 + 𝑘) qui ne
doit pas nécessairement coïncider avec la référence réelle. Il s'agit normalement d'une
approximation lisse de la valeur réelle de la sortie 𝑦(𝑡) vers la référence connue au moyen du
système du premier ordre :
𝑤(𝑡) = 𝑦(𝑡), 𝑤(𝑡 + 𝑘) = 𝛼 𝑤(𝑡 + 𝑘 − 1) + (1 − 𝛼)𝑟(𝑡 + 𝑘) 𝑘 = 1⋯𝑁 (2.6)

𝛼 , est un paramètre compris entre 0 et 1 (plus proche de 1 l'approximation plus lisse) qui
constitue une valeur ajustable qui va influencer la réponse dynamique du système. La figure 2.5
montre la forme de la trajectoire à partir de laquelle la référence 𝑟(𝑡 + 𝑘) est constante et pour

9
deux valeurs différentes de 𝛼; les petites valeurs de ce paramètre fournissent une poursuite
rapide 𝑤1 , si elle est augmentée, alors la trajectoire de référence devient 𝑤2 donnant lieu à
une réponse plus douce

Figure 2.5 : Trajectoire de référence

Une autre stratégie est celle utilisée dans la PFC, qui est utile pour les points de consigne
(imposés, fixés) variables :
𝑤(𝑡 + 𝑘) = 𝑟(𝑡 + 𝑘) − 𝛼 𝑘 (𝑦(𝑡) − 𝑟(𝑡))

La trajectoire de référence peut être utilisée pour spécifier le comportement en boucle


fermée ; cette idée est utilisée dans les GPC ou EPSAC définissant une sortie auxiliaire
𝜓(𝑡) = 𝑃(𝑧 −1 )𝑦(𝑡)

L’erreur dans la fonction objective est donnée par 𝜓(𝑡 + 𝑘) − 𝑤(𝑡 + 𝑘) . Le filtre 𝑃(𝑧 −1 ) a
un gain statique unitaire et la génération d'une trajectoire de référence avec dynamique définie
par 1⁄𝑃(𝑧 −1 ) et une valeur initiale de celle de la sortie mesurée est atteinte. Il est démontré
que si un commande à temps (zone) mort dans 𝜓(𝑡) est atteint, de sorte que
𝜓(𝑡) = 𝐵(𝑧 −1 )𝑤(𝑡)

𝐵(𝑧 −1 ) , étant un polynôme déterminé avec un gain unitaire, la réponse en boucle fermée du
processus sera clairement :
𝐵(𝑧 −1 )
𝑦(𝑡) = 𝑤(𝑡)
𝑃(𝑧 −1 )

cela, en somme, équivaut à placer les pôles de la boucle fermée aux zéros du polynôme de
conception 𝑃(𝑧 −1 ).

• Contraintes :
En pratique, tous les processus sont soumis à des restrictions. Les actionneurs ont un champ
d'action limité ainsi qu'une vitesse de virage déterminée, comme c'est le cas pour les vannes,
limitées par les positions totalement ouvertes ou fermées et par la vitesse de réponse. Des
raisons constructives, de sécurité ou environnementales ou encore les capteurs eux-mêmes
peuvent entraîner des limites dans le processus telles que les niveaux dans les réservoirs, les
débits dans les tuyauteries ou les températures et pressions maximales; de plus, les conditions
opérationnelles sont normalement définies par l'intersection de certaines contraintes pour des
motifs essentiellement économiques, de sorte que le système de commande fonctionnera à
proximité des limites. Tout ceci rend nécessaire l'introduction de contraintes dans la fonction à
minimiser. De nombreux algorithmes prédictifs prennent intrinsèquement en compte les

10
contraintes (MAC, DMC) et ont donc très bien réussi dans l'industrie, tandis que d'autres
peuvent les intégrer à posteriori (GPC).
Normalement, les limites en l'amplitude et en vitesse de balayage du signal de commande et
les limites dans la sortie seront considérées :

𝑢𝑚𝑖𝑛 ≤ 𝑢(𝑡) ≤ 𝑢𝑚𝑎𝑥 ∀𝑡


𝑑𝑢𝑚𝑖𝑛 ≤ 𝑢(𝑡) − 𝑢(𝑡 − 1) ≤ 𝑑𝑢𝑚𝑎𝑥 ∀𝑡
𝑦𝑚𝑖𝑛 ≤ 𝑦(𝑡) ≤ 𝑦𝑚𝑎𝑥 ∀𝑡

En ajoutant ces contraintes à la fonction objective, la minimisation devient plus complexe, de


sorte que la solution ne peut pas être obtenue explicitement comme dans le cas non restreint.

2.1.3 Obtention de la loi de commande


Pour obtenir les valeurs 𝑢(𝑡 + 𝑘)|𝑡 , il est nécessaire de minimiser la fonctionnelle 𝐽 de
l'équation (2.5). Pour ce faire les valeurs des sorties prédites 𝑦̂(𝑡 + 𝑘|𝑡) sont calculées en
fonction des valeurs passées des entrées et sorties et des signaux de commande futurs, en
utilisant le modèle choisi et substitué dans la fonction de coût, obtenant une expression dont la
minimisation conduit à la recherche de valeurs. Une solution analytique peut être obtenue pour
le critère quadratique si le modèle est linéaire et qu'il n'y a pas de contraintes, sinon une méthode
itérative d'optimisation doit être utilisée. Quelle que soit la méthode, obtenir la solution n'est
pas facile car il y aura 𝑁2 − 𝑁1 + 1 variables indépendantes, une valeur qui peut être élevée
(de l'ordre de 10 à 30). Afin de réduire ce degré de liberté, une certaine structure peut être
proposée pour la loi de commande. En outre, il a été constaté que cette structuration de la loi de
commande produit une amélioration de la robustesse et du comportement général du système,
essentiellement du fait que permettre l'évolution libre des variables manipulées (sans être
structuré) peut conduire à des signaux de commande haute fréquence indésirables et au pire à
l'instabilité. Cette structure de loi de commande est modelée dans l'utilisation du concept
d'horizon de commande (𝑁𝑢 ) utilisé dans DMC, GPC, EPSAC et EHAC, qui consiste à
considérer qu'après un certain intervalle 𝑁𝑢 < 𝑁2 il n'y a pas de variation dans les signaux
de contrôle proposés c’est-à-dire :

∆ 𝑢(𝑡 + 𝑗 − 1) = 0 𝑗 > 𝑁𝑢

Ce qui équivaut à donner des pondérations infinies aux changements dans la commande à
partir d'un certain instant. Le cas extrême serait de considérer 𝑁𝑢 égal à 1 avec lequel toutes
les actions futures seraient égales à 𝑢(𝑡) (Rappeler qu'en raison de l'horizon de recul, le signal de contrôle est
recalculé dans l’échantillon). Une autre façon de structurer la loi de commande est d'utiliser des
fonctions de base, une procédure utilisée dans PFC et qui consiste à représenter le signal de
commande comme une combinaison linéaire de certaines fonctions de base prédéterminées :
𝑛

𝑢(𝑡 + 𝑘) = ∑ 𝜇𝑖 (𝑡)𝐵𝑖 (𝑘) (2.7)


𝑖=1

Les 𝐵𝑖 sont choisis selon la nature du procédé et de la référence, normalement de type


polynômiaux
𝐵0 = 1 𝐵1 = 𝑘 𝐵2 = 𝑘 2 ⋯

Comme cela a été précédemment indiqué, une solution analytique n'existe pas en présence
de contraintes, de sorte qu'il faut utiliser des méthodes de programmation quadratiques qui
nécessitent un grand nombre de calculs. Cependant, une solution explicite existe lorsque la
condition que la sortie atteigne la valeur de référence à un instant déterminé est imposée, cette
11
méthode est utilisée dans commande prédictive à recul d’horizon contraint, (CRHPC), qui est
très similaire à GPC et qui garantit des résultats de stabilité.
2.2 Rappel de certains algorithmes MPC
Certaines des méthodes les plus populaires seront maintenant examinées afin de démontrer
leurs caractéristiques les plus remarquables. Des études comparatives peuvent être trouvées
dans la littérature. Les méthodes considérées comme les plus représentatives, DMC, MAC,
EPSAC et EHAC seront brièvement traitées, en laissant la méthode basée sur la réponse
impulsionnelle et GPC et ses dérivations pour les sections suivantes où elles seront étudiées
plus en détail.
Commande matricielle dynamique
Elle utilise la réponse à l’échelon (2.2) pour modéliser le processus, en ne prenant en compte
que les 𝑁 premiers termes, supposant ainsi que le processus soit stable et sans intégrateurs.
En ce qui concerne les perturbations, leurs valeurs seront considérées comme identiques à
l'instant 𝑡 le long de tout l'horizon, c'est-à-dire égale à la valeur mesurée de la sortie (𝑦𝑚 )
moins celle postulée par le modèle (𝑦̂(𝑡|𝑡)) .
𝑛̂(𝑡 + 𝑘|𝑡) = 𝑛̂(𝑡|𝑡) = 𝑦𝑚 (𝑡) − 𝑦̂(𝑡|𝑡)
et donc la valeur prédite de la sortie sera
𝑘 𝑁

𝑦̂(𝑡 + 𝑘|𝑡) = ∑ 𝑔𝑖 ∆ 𝑢(𝑡 + 𝑘 − 𝑖) + ∑ 𝑔𝑖 ∆ 𝑢(𝑡 + 𝑘 − 𝑖) + 𝑛̂(𝑡 + 𝑘|𝑡)


𝑖=1 𝑖=𝑘+1
Où le premier terme contient les actions futures de la commande à calculer, le second contient
les valeurs des actions passées de la commande et est donc connu, et le dernier représente les
perturbations. La fonction de coût peut considérer seulement les erreurs futures, ou elle peut
inclure l'effort de commande, auquel cas elle présente le forme générique (2.5). L'une des
caractéristiques de cette méthode qui la rend très populaire dans l'industrie est l'ajout de
contraintes, de sorte que les équations de la forme :
𝑁
𝑗 𝑗
∑ 𝐶𝑦𝑖 𝑦̂(𝑡 + 𝑘|𝑡) + 𝐶𝑢𝑖 𝑢(𝑡 + 𝑘 − 𝑖) + 𝑐 𝑗 ≤ 0 𝑗 = 1, ⋯ , 𝑁𝑐
𝑖=1

Doit être ajouté à la minimisation. L'optimisation (numérique en raison de la présence de


contraintes) est effectuée à chaque instant d'échantillonnage et la valeur de 𝑢(𝑡) est envoyée au
processus comme cela est normalement fait dans toutes les méthodes MPC.
Les inconvénients de cette méthode sont d'une part la taille du problème (impliquant une
grande charge de calcul) et d'autre part l'incapacité à travailler avec des processus instables.
Contrôle à Modèle Algorithmique
Aussi connu sous le nom de modèle de contrôle heuristique prédictif, dont le logiciel
s'appelle IDCOM (identification-commande), il est très similaire à la méthode précédente avec
quelques différences. Premièrement, il utilise un modèle de réponse impulsionnelle valable
uniquement pour les processus stables, dans lequel la valeur de 𝑢(𝑡) apparaît à la place de
∆ 𝑢(𝑡). De plus, il n'utilise pas le concept d'horizon de commande de sorte que dans les calculs,
autant de signaux de commande que de sorties futures apparaissent. Il introduit une trajectoire
de référence en tant que système de premier ordre qui évolue de la sortie réelle à la consigne
selon une constante de temps déterminée, suivant l'expression (2.6). La variance de l'erreur
entre cette trajectoire et la sortie est ce que l'on vise à minimiser dans la fonction objective. Les
perturbations peuvent être traitées comme dans DMC ou leurs estimations peuvent être réalisées
par l'expression récursive suivante :

12
𝑛̂(𝑡 + 𝑘|𝑡) = 𝛼 𝑛̂(𝑡 + 𝑘 − 1|𝑡) + (1 − 𝛼)(𝑦𝑚 (𝑡) − 𝑦̂(𝑡|𝑡))

Avec 𝑛̂(𝑡|𝑡) = 0 et 0 ≤ 𝛼 < 1 𝛼 est un paramètre ajustable étroitement lié au temps


de réponse, à la bande passante et à la robustesse du système en boucle fermée. Il prend
également en compte les contraintes dans les actionneurs ainsi que dans les variables internes
ou les sorties secondaires. Différents algorithmes peuvent être utilisés pour optimiser en
présence de contraintes, à partir de celles présentées initialement par Richalet et al, cela peut
également être utilisé pour identifier la réponse impulsionnelle, à d'autres qui sont montrés
littérature.
Contrôle fonctionnel prédictif
Ce contrôleur a été développé par Richalet pour le cas des processus rapides. Il utilise un
modèle d'espace d'état du processus et permet l'utilisation de modèles internes linéaires non
linéaires et instables. La dynamique non linéaire peut être entrée sous la forme d'un modèle
d'espace d'états non linéaire. PFC a deux caractéristiques distinctives : l'utilisation de points de
coïncidence et de fonctions de base.

Le concept de points de coïncidence est utilisé pour simplifier le calcul en ne considérant


qu'un sous-ensemble de points dans l'horizon de prédiction. Les sorties souhaités et futurs
prévus doivent coïncider à ces points et non dans l’horizon de prévision global.
Le contrôleur paramétrise le signal de commande en utilisant un ensemble de fonctions de
base polynomiales, telles que données par l'équation (2.7). Cela permet de spécifier un profil
d'entrée relativement complexe sur un large horizon en utilisant un petit nombre de paramètres.
Le choix de la famille de fonctions de base définit de nombreuses fonctionnalités du profil
d’entrée calculé. Ces fonctions peuvent être sélectionnées pour suivre un point de consigne
polynomial sans décalage, une caractéristique importante pour les applications de
servocommande mécanique.
La fonction de coût à minimiser est la suivante :
𝑛𝐻
2
𝐽 = ∑[𝑦̂(𝑡 + ℎ𝑗 ) − 𝑤(𝑡 + ℎ𝑗 )]
𝑗=1
où 𝑤(𝑡 + 𝑗) est généralement une approche de premier ordre de la référence connue.
L'algorithme PFC peut également prendre en charge des contraintes d'accélération d'entrée
maximales et minimales utiles dans les applications de servocommande.

13
Contrôle auto-Adaptatif à Prédiction Étendue
La mise en œuvre d'EPSAC est différente des méthodes précédentes. Pour prédire, le
processus est modélisé par la fonction de transfert

𝐴(𝑧 −1 )𝑦(𝑡) = 𝐵(𝑧 −1 )𝑢(𝑡 − 𝑑) + 𝑣(𝑡)

Où 𝑑 est le retard et 𝑣(𝑡) la perturbation. Le modèle peut être prolongé par un terme
𝐷(𝑧 −1 ) 𝑑(𝑡), avec 𝑑(𝑡) étant une perturbation mesurable afin d'inclure l'effet de
l’alimentation directe (feedfordward, alimentation directe). En utilisant cette méthode, la
prédiction est obtenue comme indiqué dans [38]. Une caractéristique de la méthode est que la
structure de la loi de commande est très simple, puisqu'elle est réduite à considérer que le signal
de commande va rester constant à partir de l'instant 𝑡, c'est-à-dire ∆ 𝑢(𝑡 + 𝑘) = 0 𝑝𝑜𝑢𝑟 𝑘 >
0 . En bref : l'horizon de la commande est réduit à 1 et donc le calcul est réduit à une seule
valeur : 𝑢(𝑡). Pour obtenir cette valeur, une fonction de coût est utilisée de la forme :
𝑁

∑ 𝛾(𝑘) [𝑤(𝑡 + 𝑘) − 𝑃(𝑧 −1 )𝑦̂(𝑡 + 𝑘|𝑡)]2


𝑘=𝑑

Où 𝑃(𝑧 −1 ) , étant un polynôme de calcul avec un gain et un facteur statiques unitaires, 𝛾(𝑘)
étant une séquence de pondération, semblable à ceux apparaissant dans (2.5). Le signal de
commande peut être calculé analytiquement (ce qui est un avantage par rapport aux méthodes
précédentes) sous la forme :

∑𝑁
𝑘 = 𝑑 ℎ𝑘 𝛾𝑘 [𝑤(𝑡 + 𝑘) − 𝑃(𝑧 −1 )𝑦̂(𝑡 + 𝑘|𝑡)]
𝑢(𝑡) =
∑𝑁𝑘 = 𝑑 𝛾(𝑘) ℎ𝑘
2

ℎ𝑘 , étant la réponse impulsionnelle discrète du système.

Contrôle Adaptatif à Horizon Étendu

Cette formulation considère le processus modélisé par sa fonction de transfert sans prendre en
compte un modèle des perturbations :
𝐴(𝑧 −1 )𝑦(𝑡) = 𝐵(𝑧 −1 )𝑢(𝑡 − 𝑑)
Il vise à minimiser la discordance entre le modèle et la référence à l'instant 𝑡 + 𝑁 ∶
𝑦̂(𝑡 + 𝑁|𝑡) − 𝑤(𝑡 + 𝑁) 𝑎𝑣𝑒𝑐 𝑁 ≥ 𝑑 . La solution à ce problème n'est pas unique
(Sauf si 𝑁 = 𝑑) ; une stratégie possible consiste à considérer que l'horizon de commande est
1, c'est-à-dire
∆ 𝑢(𝑡 + 𝑘 − 1) = 0 1<𝑘 ≤𝑁−𝑑
Ou pour minimiser l'effort de commande :
𝑁−𝑑

𝐽 = ∑ 𝑢2 (𝑡 + 𝑘)
𝑘=0

Il existe une version incrémentale de l'EHAC qui permet de traiter facilement les
perturbations dans la charge, elle consiste à
𝑁−𝑑

𝐽 = ∑ ∆ 𝑢2 (𝑡 + 𝑘)
𝑘=0
Dans cette formulation un prédicteur à 𝑁 étapes est utilisé comme suit

14
𝑦̂(𝑡 + 𝑁|𝑡) = 𝑦(𝑡) + 𝐹(𝑧 −1 ) ∆ 𝑦(𝑡) + 𝐸(𝑧 −1 ) 𝐵(𝑧 −1 ) ∆ 𝑢(𝑡 + 𝑁 − 𝑑)
𝐸(𝑧 −1 ) 𝑒𝑡 𝐹(𝑧 −1 ) , étant des polynômes satisfaisant l'équation
(1 − 𝑧 −1 ) = 𝐴(𝑧 −1 )𝐸(𝑧 −1 )(1 − 𝑧 −1 ) + 𝑧 −𝑁 𝐹(𝑧 −1 )(1 − 𝑧 −1 )

Avec le degré de 𝐸 étant égal à 𝑁 − 1. Un avantage de cette méthode est qu'une solution
explicite simple peut facilement être obtenue, résultant en

𝛼0 [𝑤(𝑡 + 𝑁) − 𝑦̂(𝑡 + 𝑁|𝑡)]


𝑢(𝑡) = 𝑢(𝑡 − 1) +
∑𝑁−𝑑
𝑘=0 𝛼𝑖
2

𝛼𝑘 , étant le coefficient correspondant à ∆ 𝑢(𝑡 + 𝑘) dans l'équation de prédiction. Ainsi, la


loi de commande ne dépend que des paramètres du processus et peut donc être facilement auto-
ajusté si elle dispose d'un identificateur en ligne. Comme on peut le voir, le seul paramètre
d'ajustement est l'horizon de prédiction 𝑁, ce qui simplifie son utilisation mais offre peu de
liberté pour la conception. On voit que la trajectoire de référence ne peut pas être utilisée car
l'erreur n'est prise en compte qu'à un instant (𝑡 + 𝑁) , il n'est pas non plus possible de peser
les efforts de commande en chaque point, de sorte que certaines fréquences ne peuvent être
éliminées.

2.3 MPC basé sur la réponse impulsionnelle


Peut-être que la formulation la plus simple et intuitive de la commande prédictive est celle
basée sur les idées clés de Richelet et al. [5]. Elle utilise une réponse d'étape tronquée du
processus et fournit une solution explicite simple en l'absence de contraintes. Cette méthode a
clairement été acceptée par les praticiens et est largement utilisée dans de nombreuses
applications de contrôle où la plupart de ses succès sont dus au modèle de processus utilisé. On
sait que les modèles de fonction de transfert peuvent donner des résultats avec de grandes
erreurs lorsqu'il y a une discordance dans l'ordre du modèle. Dans un environnement industriel,
la structure du processus est plus fréquemment affectée par des perturbations que par les
variables mesurables, nécessitant une mise à jour constante des paramètres du modèle. D'un
autre côté, la représentation de la réponse impulsionnelle est un bon choix, puisque
l'identification des réponses impulsionnelles est relativement simple.

2.3.1 Modèle de processus et de prédiction


La sortie du système à l'instant t est reliée aux entrées par les coefficients de la réponse
impulsionnelle comme suit :
𝑁

𝑦(𝑡) = ∑ ℎ𝑗 𝑢(𝑡 − 𝑗) = 𝐻(𝑧 −1 ) 𝑢(𝑡)


𝑗=1
Comme la réponse est tronquée à 𝑁 éléments, le système est supposé stable et causal. En
utilisant ce modèle interne, un prédicteur 𝑘 pas en avant peut être écrit comme
𝑁

𝑦̂(𝑡 + 𝑘|𝑡) = ∑ ℎ𝑗 𝑢(𝑡 + 𝑘 − 𝑗) + 𝑛̂(𝑡 + 𝑘|𝑡)


𝑗=1
où la sommation peut être divisé en deux termes :
𝑁 𝑘

𝑓𝑟 (𝑡 + 𝑘) = ∑ ℎ𝑗 𝑢(𝑡 + 𝑘 − 𝑗) , 𝑓0 (𝑡 + 𝑘) = ∑ ℎ𝑗 𝑢(𝑡 + 𝑘 − 𝑗)
𝑗=𝑘+1 𝑗=1
Telle que 𝑓𝑟 représente la réponse libre, étant la valeur attendue de 𝑦(𝑡 + 𝑗) supposant
zéro les actions de commande future, et 𝑓0 est la réponse forcée, c'est-à-dire la composante

15
supplémentaire de la réponse de sortie due à l'ensemble proposé d'actions de commande futures.
On suppose maintenant que les perturbations resteront constantes dans le futur avec la même
valeur qu'au moment 𝑡, c'est-à-dire 𝑛̂(𝑡 + 𝑘|𝑡) = 𝑛̂(𝑡|𝑡) qui est la sortie mesurée moins la
sortie prévue par le modèle nominal :
𝑁

𝑛̂(𝑡 + 𝑘|𝑡) = 𝑛̂(𝑡|𝑡) = y(t) − ∑ ℎ𝑗 𝑢(𝑡 − 𝑗)


𝑗=1
Alors la prédiction est donnée par :
𝑦̂(𝑡 + 𝑘|𝑡) = 𝑓𝑟 + 𝑓0 + 𝑛̂(𝑡|𝑡)

Si 𝑀 est l'horizon et 𝑢+ le vecteur des actions de commande proposées, 𝑢− des actions de


commande passées, 𝑦 les sorties prédites, 𝑛 les perturbations et le vecteur de référence 𝑤 étant
une approche lisse de la consigne réelle (équation 2.2) :

𝑢(𝑡) 𝑢(𝑡 − 𝑁 + 1) 𝑦̂(𝑡 + 1)


𝑢(𝑡 + 1) 𝑢(𝑡 − 𝑁 + 2) 𝑦̂(𝑡 + 2)
𝑢+ = [ ]; 𝑢− = [ ]; 𝑦 = [ ]
⋮ ⋮ ⋮
𝑢(𝑡 + 𝑀 − 1) 𝑢(𝑡 − 1) 𝑦̂(𝑡 + 𝑀)

𝑛̂(𝑡 + 1) 𝑤(𝑡 + 1)
𝑛̂(𝑡 + 2) 𝑤(𝑡 + 2)
𝑛=[ ]; 𝑤=[ ]
⋮ ⋮
𝑛̂(𝑡 + 𝑀) 𝑤(𝑡 + 𝑀)

et en définissant les matrices

ℎ1 0 ⋯ 0 ℎ𝑁 ℎ𝑁−1 ⋯ ℎ𝑖 ⋯ ℎ2
ℎ ℎ1 ⋯ 0 0 ℎ𝑁 ⋯ ℎ𝑗 ⋯ ℎ3
𝐻1 = [ 2 ] , 𝐻2 = [ ]
⋯ ⋯ ⋱ ⋯ ⋯ ⋯ ⋱ ⋯ ⋯ ⋯
ℎ𝑀 ℎ𝑀−1 ⋯ ℎ1 0 0 ⋯ ℎ𝑁 ⋯ ℎ𝑀+1

le prédicteur peut être écrit comme :


𝒚 = 𝑯𝟏 𝒖 + + 𝑯 𝟐 𝒖 − + 𝒏

2.3.2 Loi de commande


La fonction objective minimise l'erreur ainsi que l'effort de commande. Si les erreurs
futures sont exprimées par
𝑒 = 𝑤 − 𝑦 = 𝑤 − 𝐻1 𝑢+ − 𝐻2 𝑢− − 𝑛 = 𝑤 − 𝑓 − 𝐻1 𝑢+
où le vecteur 𝑓 contient les termes en fonction de valeurs connues (entrées passées, sortie
courante et références). Ensuite, la fonction coût peut être écrite comme
𝑱 = 𝒆𝑻 𝒆 + 𝝀 ∆ 𝒖 + 𝑻 𝚫 𝒖 +
𝜆 , étant le facteur de pénalisation pour les variations des variables d'entrée. Si aucune contrainte
n'est considérée, la solution peut être obtenue en donnant explicitement :
Δ 𝑢+ = (𝐻1𝑇 𝐻1 + 𝜆𝐼)−1 𝐻1𝑇 (𝑤 − 𝑓)
Comme il s'agit d'une stratégie d'horizon de recul, seul le premier élément de ce vecteur
𝛥𝑢(𝑡) est utilisé, rejetant le reste et répétant les calculs au moment de l'échantillonnage suivant.

16
Le calcul de la loi de contrôle (2.7) est relativement simple par rapport aux autres
formulations bien qu'il nécessite l'inversion d'une matrice 𝑀 × 𝑀 .
On remarque que si le nombre d'entrées futures à calculer est choisi comme valeur 𝑃 < 𝑀,
alors cette matrice est de dimension 𝑃 × 𝑃 , puisque 𝐻1 est de dimension 𝑀 × 𝑃, réduisant
ainsi les calculs nécessaires.
La simplicité de l'algorithme ainsi que la possibilité d'inclure des contraintes ont converti
cette formulation en l'une des plus couramment utilisées dans l'industrie de nos jours.
2.4 Formulation de l'espace d'état
Les modèles d'espace d'état peuvent être utilisés pour formuler le problème de contrôle
prédictif. Les principaux résultats théoriques de MPC liés à la stabilité proviennent d'une
formulation d'espace d'état, qui peut être utilisée à la fois pour les processus monovariables et
multivariables et peut facilement être étendue aux processus non linéaires. Les équations
suivantes sont utilisées dans le cas linéaire pour capturer la dynamique du processus :

𝑥(𝑡 + 1) = 𝐴 𝑥(𝑡) + 𝐵 𝑢(𝑡)


𝑦(𝑡) = 𝐶 𝑥(𝑡) (2.8)

Dans le cas d'une entrée unique à sortie unique (SISO), 𝑦(𝑡) et 𝑢(𝑡) sont des scalaires et 𝑥(𝑡)
est le vecteur d'état. Un processus à entrées multiples à sorties multiples (MIMO) a la même
description mais avec des vecteurs d'entrée 𝑢 de dimension 𝑚 et 𝑦 de dimension 𝑛. Pour
simplifier la notation, seul le cas SISO est pris en compte.
Un modèle d'espace d'état incrémentiel peut également être utilisé si l'entrée de modèle est
l'incrément de commande Δ 𝑢(𝑡) au lieu du signal de commande 𝑢(𝑡). Ce modèle peut être
écrit sous la forme d'espace d'état général en tenant compte du fait que
Δ 𝑢(𝑡) = 𝑢(𝑡) − 𝑢 (𝑡 − 1). La représentation suivante est obtenue en combinant cette
expression avec (2.8) :

𝑥(𝑡 + 1 𝐴 𝐵 𝑥(𝑡 𝐵
[ ]=[ ][ ] + [ ] Δ 𝑢(𝑡)
𝑢(𝑡) 0 𝐼 𝑢(𝑡 − 1) 𝐼
𝑥(𝑡
𝑦(𝑡) = [𝐶 0] [ ]
𝑢(𝑡 − 1)
Définissant un nouveau vecteur d'état comme,𝑥̅ (𝑡) = [𝑥(𝑡) 𝑢(𝑡 − 1)]𝑇 , le modèle incrémental
prend la forme générale (2.8):

𝑥̅ (𝑡 + 1) = 𝑀 𝑥̅ (𝑡) + 𝑁 Δ 𝑢(𝑡)
𝑦(𝑡) = 𝑄 𝑥̅ (𝑡) (2.9)

où la relation entre (𝑀, 𝑁, 𝑄) et les matrices de formes non incrémentielles (𝐴, 𝐵, 𝐶) peut être
facilement obtenue en comparant (2.8) et (2.9). Afin de minimiser la fonction objective (2.5),
les prévisions de sortie sur l'horizon doivent être calculées. Si le modèle incrémental est utilisé,
les prédictions peuvent être obtenues à l'aide de (2.9) de manière récursive, ce qui donne :
𝑗−1

𝑦̂(𝑡 + 𝑗) = 𝑄𝑀 𝑥̂(𝑡) + ∑ 𝑄 𝑀𝑗−𝑖−1 𝑁 Δ 𝑢(𝑡 + 𝑖)


𝑗

𝑖=0
On note que la prédiction nécessite une estimation non biaisée du vecteur d’état 𝑥(𝑡). Si le
vecteur d’état n’est pas accessible, il faut inclure un observateur, qui calcule l’estimation au
moyen de
𝑥̂(𝑡|𝑡) = 𝑥̂(𝑡|𝑡 − 1) + 𝐾(𝑦𝑚 (𝑡) − 𝑦(𝑡|𝑡 − 1))

17
où 𝑦𝑚 (𝑡) est la sortie mesurée. Si l'installation est soumise à des perturbations du bruit blanc
affectant le processus et la sortie avec des matrices de covariance connues, l'observateur devient
un filtre de Kalman et le gain 𝐾 est calculé en résolvant une équation de Riccati.
Maintenant, les prédictions à l'horizon sont données par
𝑄𝑀 𝑥̂(𝑡) + 𝑄𝑁 Δ 𝑢(𝑡)
1
𝑦̂(𝑡 + 1|𝑡) 𝑄𝑀 𝑥̂(𝑡) + ∑ 𝑄𝑀1−𝑖 𝑁 Δ 𝑢(𝑡 + 𝑖)
2

𝑦̂(𝑡 + 2|𝑡) 𝑖=0


𝑦=[ ]=
⋮ ⋮
𝑁2 −1
𝑦̂(𝑡 + 𝑁|𝑡)
𝑄𝑀𝑁2 𝑥̂(𝑡) + ∑ 𝑄𝑀𝑁2 −1−𝑖 𝑁 Δ 𝑢(𝑡 + 𝑖)
[ 𝑖=0 ]
qui peut être exprimé sous forme de vecteur
𝑦 = 𝐹 𝑥̂(𝑡) + 𝐻 𝑢 (2.10)

Où 𝑢 = [∆ 𝑢(𝑡) ∆ 𝑢(𝑡 + 1) ⋯ ∆ 𝑢(𝑡 + 𝑁𝑢 − 1)]𝑇 est le vecteur des incréments de contrôle


futurs, 𝐻 est une matrice triangulaire inférieure en bloc avec ses éléments non nuls définis par
𝐻𝑖𝑗 = 𝑄𝑀𝑖−𝑗 𝑁 et la matrice 𝐹 est définie comme
𝑄𝑀
𝑄 𝑀2
𝐹=[ ]

𝑄 𝑀𝑁2
On note que (2.10) est composé de deux termes : le premier dépend de l’état actuel et est donc
connu à l’instant 𝑡, tandis que le second dépend du vecteur d'actions de contrôle futures, qui
est la variable de décision à calculer. La séquence de contrôle 𝑢 est calculée en minimisant la
fonction objectif (2.5), qui (dans le cas de 𝛿(𝑗) = 1 et 𝜆 (𝑗) = 𝜆) peut s’écrire comme suit :
𝐽 = [𝐻 𝑢 + 𝐹 𝑥̂(𝑡) − 𝑤]𝑇 [𝐻 𝑢 + 𝐹 𝑥̂(𝑡) − 𝑤] + 𝜆 𝑢𝑇 𝑢
S'il n'y a pas de contraintes, il existe une solution analytique fournissant l'optimum de :
𝑢 = (𝐻 𝑇 𝐻 + 𝜆 𝐼)−1 𝐻 𝑇 (𝑤 − 𝐹𝑥̂(𝑡))
Lorsqu'une stratégie d’horizon à recul est utilisée, seul le premier élément de la séquence de
contrôle, Δ 𝑢(𝑡), est envoyé au processus et tous les calculs sont répétés à la prochaine période
d'échantillonnage. On note qu'un observateur d'état est nécessaire, car la loi de contrôle dépend
de 𝑥̂(𝑡) .
Il convient de noter que, lorsque le contrôle et les horizons de prédiction maximum se
rapprochent de l'infini et qu'il n'y a pas de contrainte, le contrôleur prédictif devient le problème
bien connu du régulateur quadratique linéaire (LQR). La séquence de contrôle optimale est
générée par une loi de retour d'état statique dans laquelle la matrice de gain de retour est calculée
via la solution d'une équation algébrique de Riccati. Cette équivalence permet l'étude théorique
des problèmes de MPC sur la base de résultats provenant du champ de contrôle optimal, comme
dans le cas de la stabilité en boucle fermée. Si le modèle d'espace d'état de l'équation (2.8) est
utilisé, les prédictions sont calculées d'une manière légèrement différente, comme le montre
Maciejowski. Maintenant

18
𝐶𝐵 𝐵 ⋯ 0
𝐶𝐴 𝐶𝐴2 𝐵 𝐶(𝐴𝐵 + 𝐵) ⋯ 0
𝐶𝐴2 ⋮ ⋮ ⋱ ⋮
𝑦=[ ] 𝑥̂(𝑡) + 𝑁2 −1 𝑢(𝑡 − 1) + 𝑁2 −1 𝑁2 −𝑁𝑢 𝑢

𝐶 𝐴𝑁2 ∑ 𝐶 𝐴𝑖 𝐵 ∑ 𝐶 𝐴𝑖 𝐵 ⋯ ∑ 𝐶 𝐴𝑖 𝐵
[ 𝑖=0 ] [ 𝑖=0 𝑖=0 ]
qui peut être exprimé sous forme de vecteur
𝑦 = Ψ 𝑥̂(𝑡) + Υ 𝑢(𝑡 − 1) + Θ 𝑢
On note qu'un nouveau terme est apparu qui dépend de 𝑢(𝑡 − 1) et n’affecte pas l’optimisation
car il ne dépend pas de la variable de décision 𝑢. Par conséquent, l’action de contrôle est
calculée comme suit :
𝑢 = (Θ𝑇 Θ + 𝜆 𝐼)−1 Θ𝑇 (𝑤 − Ψ 𝑥̂(𝑡)) − Υ 𝑢(𝑡 − 1)
Quel que soit le type de modèle utilisé, la loi de contrôle est une loi de retour d'état statique qui
nécessite un observateur d'état. Dans le cas où des contraintes doivent être prises en compte, la
solution doit être obtenue par un algorithme de programmation quadratique (QP).
2.5 Contrôle prédictif généralisé
La méthode GPC a été proposée par Clarke et al et est devenu l'une des méthodes MPC les
plus populaires à la fois dans l'industrie et dans les universités. Elle a été implémentée avec
succès dans de nombreuses applications industrielles, montrant de bonnes performances et un
certain degré de robustesse en termes de sur-paramétrisation ou de retards mal connus. Elle peut
gérer de nombreux problèmes de commande différents pour une large gamme de plant avec un
nombre raisonnable de variables de conception, qui doivent être spécifiées par l'utilisateur en
fonction d'une connaissance préalable du plant et des objectifs de commande.
L'idée de base de GPC est de calculer une séquence de signaux de commande futurs de telle
sorte qu'elle minimise une fonction de coût à plusieurs niveaux définie sur un horizon de
prédiction. L'indice à optimiser est l'espérance d'une fonction quadratique mesurant la distance
entre la sortie du système prédite et une séquence de référence prédite sur l'horizon plus une
fonction quadratique mesurant l'effort de commande. Cette approche a été utilisée par Lelic et
Zarrop et Lelic et Wellstead pour obtenir un contrôleur par placement de pôles généralisé qui
est une extension des contrôleurs par placement de pôles bien connus et appartient à contrôleurs
d'horizon étendus.
La commande prédictive généralisée a beaucoup d'idées en commun avec les autres
contrôleurs prédictifs mentionnés précédemment car il est basé sur les mêmes concepts mais il
a aussi quelques différences. Comme on le verra plus loin, il fournit une solution analytique (en
l'absence de contraintes), peut traiter des plants à phase instable et non minimale et intègre le
concept d'horizon de commande ainsi que la prise en compte de la pondération des incréments
de la commande dans la fonction coût. L'ensemble général des choix disponibles pour la GPC
conduit à une plus grande variété d'objectifs de contrôle par rapport à d'autres approches, dont
certaines peuvent être considérées comme des sous-ensembles ou des cas limites de la GPC.

2.5.1 Formulation de la commande prédictive généralisée


La plupart des plants à entrées uniques à sortie unique (SISO), lorsqu'elles envisagent de
fonctionner autour d'un point de fixé particulier et après la linéarisation, peuvent être décrits
par
𝐴(𝑧 −1 )𝑦(𝑡) = 𝑧 −𝑑 𝐵(𝑧 −1 )𝑢(𝑡 − 1) + 𝐶(𝑧 −1 )𝑒(𝑡)

19
Où 𝑢(𝑡) 𝑒𝑡 𝑦(𝑡) sont respectivement la séquence de commande et la séquence de sortie du
plant et 𝑒(𝑡) est un bruit blanc moyen nul. 𝐴, 𝐵 et 𝐶 , sont les polynômes suivants à opérateur
de décalage vers l'arrière 𝑧 −1 :
𝐴(𝑧 −1 ) = 1 + 𝑎1 𝑧 −1 + 𝑎2 𝑧 −2 + ⋯ + 𝑎𝑛𝑎 𝑧 −𝑛𝑎
𝐵(𝑧 −1 ) = 𝑏0 + 𝑏1 𝑧 −1 + 𝑏2 𝑧 −2 + ⋯ + 𝑎𝑛𝑏 𝑧 −𝑛𝑏
𝐶(𝑧 −1 ) = 1 + 𝑐1 𝑧 −1 + 𝑐2 𝑧 −2 + ⋯ + 𝑐𝑛𝑐 𝑧 −𝑛𝑐
Où 𝑑 est le temps mort du système. Ce modèle est connu sous le nom de modèle CARMA
(Controlled Automated-Regressive Moving-Average). Il a été avancé que pour de nombreuses
applications industrielles dans lesquelles les perturbations sont non stationnaires, un modèle
CARMA intégré (CARIMA) est plus approprié. Un modèle CARIMA est donné par :
𝑒(𝑡)
𝐴(𝑧 −1 )𝑦(𝑡) = 𝑧 −𝑑 𝐵(𝑧 −1 )𝑢(𝑡 − 1) + 𝐶(𝑧 −1 ) (2.11)

Avec ∆= 1 − 𝑧 −1

où la perturbation non mesurable est donnée par un bruit blanc coloré par 𝐶(𝑧 −1 ). Comme sa
valeur réelle est difficile à connaître, ce polynôme peut être utilisé pour un rejet optimal des
perturbations, bien que son rôle dans l'amélioration de la robustesse soit plus convaincant.
La dérivation de la prédiction optimale est réalisée en résolvant une équation de Diophantine
dont la solution peut être trouvée par un algorithme récursif efficace.
Cet algorithme, comme tous les algorithmes utilisant des modèles de fonction de transfert,
peut facilement être implémenté dans un mode adaptatif à l'aide d'un algorithme d'estimation
en ligne tel que les moindres carrés récursifs.
L'algorithme de commande prédictive généralisé (GPC) consiste à appliquer une séquence
de commande qui minimise une fonction de coût à plusieurs niveaux de la forme
𝑁2 𝑁𝑢

𝐽(𝑁1 , 𝑁2 , 𝑁𝑢 ) = ∑ 𝛿(𝑗) [𝑦̂(𝑡 + 𝑗|𝑡) − 𝑤(𝑡 + 𝑗)]2 + ∑ 𝜆(𝑗) [Δ 𝑢(𝑡 + 𝑗 − 𝑖|𝑡)]2 (2.12)
𝑗=𝑁1 𝑗=1

où les séquences de pondération 𝛿(𝑗) et 𝜆(𝑗) sont généralement choisies constantes ou


augmentent de façon exponentielle et la trajectoire de référence 𝑤(𝑡 + 𝑗) peut être générée par
une simple récursivité qui commence à la sortie actuelle et tend de manière exponentielle à la
valeur de consigne.
Les bases théoriques de l'algorithme GPC ont été largement étudiées et il a été démontré que,
pour limiter les cas de choix de paramètres, cet algorithme est stable et que des contrôleurs
connus, tels que le contrôle du niveau moyen et du deadbeat (zone morte), sont inhérents à la
structure GPC.
L'objectif de la commande prédictive est de calculer les futures séquences de commande
𝑢(𝑡), 𝑢(𝑡 + 1), . .. de manière à ce que la sortie de plant future 𝑦(𝑡 + 𝑗) soit dirigée proche
𝑑𝑒 𝑤(𝑡 + 𝑗). Ceci est accompli en minimisant 𝐽(𝑁1 , 𝑁2 , 𝑁𝑢 ).
Afin d'optimiser la fonction de coût, la prédiction optimale de 𝑦(𝑡 + 𝑖) pour 𝑗 ≥ 𝑁1 𝑒𝑡 𝑗 ≤
𝑁2 sera obtenue. Considérez l'équation diophantienne suivante :

1 = 𝐸𝑗 (𝑧 −1 ) ∆𝐴(𝑧 −1 ) + 𝑧 −𝑗 𝐹𝑗 (𝑧 −1 )
1 = 𝐸𝑗 (𝑧 −1 ) 𝐴̃(𝑧 −1 ) + 𝑧 −𝑗 𝐹𝑗 (𝑧 −1 ) (2.13)
Avec 𝐴̃(𝑧 −1 ) = ∆𝐴(𝑧 −1 ) = (1 − 𝑧 −1 )𝐴(𝑧 −1 )

20
Les polynômes 𝐸𝑗 (𝑧 −1 ) 𝑒𝑡 𝐹𝑗 (𝑧 −1 ) sont uniquement définis respectivement avec les degrés 𝑗 −
1 𝑒𝑡 𝑛𝑎 . Ils peuvent être obtenus en divisant 1 par 𝐴̃(𝑧 −1 ) jusqu'à ce que le reste puisse être
factorisé en 𝑧 −𝑗 𝐹𝑗 (𝑧 −1 ). Le quotient de la division est le polynôme 𝐸𝑗 (𝑧 −1 ).
Si l'équation (2.8) est multipliée par ∆ 𝐸𝑗 (𝑧 −1 )𝑧 𝑗
𝐴̃(𝑧 −1 )𝐸𝑗 (𝑧 −1 )𝑦(𝑡 + 𝑗) = 𝐸𝑗 (𝑧 −1 )𝐵(𝑧 −1 ) ∆𝑢(𝑡 + 𝑗 − 𝑑 − 1) + 𝐸𝑗 (𝑧 −1 )𝑒(𝑡 + 𝑗) (2.14)
En considérant (2.10), l'équation (2.11) peut s’écrire :

(1 − 𝑧 −𝑗 𝐹𝑗 (𝑧 −1 )) 𝑦(𝑡 + 𝑗) = 𝐸𝑗 (𝑧 −1 )𝐵(𝑧 −1 )∆ 𝑢(𝑡 + 𝑗 − 𝑑 − 1) + 𝐸𝑗 (𝑧 −1 )𝑒(𝑡 + 𝑗)


Qui peut être réécrite comme :
𝑦(𝑡 + 𝑗) = 𝐹𝑗 (𝑧 −1 )𝑦(𝑡) + 𝐸𝑗 (𝑧 −1 )𝐵(𝑧 −1 )∆ 𝑢(𝑡 + 𝑗 − 𝑑 − 1) + 𝐸𝑗 (𝑧 −1 )𝑒(𝑡 + 𝑗) (2.15)
Comme le degré de polynôme deg(𝐸𝑗 (𝑧 −1 )) = 𝑗 − 1 , les termes du bruit dans l'équation
(2.12) sont tous dans le futur. La meilleure prédiction de la sortie 𝑦(𝑡 + 𝑗) est donc :

𝑦̂(𝑡 + 𝑗|𝑡) = 𝐺𝑗 (𝑧 −1 ) ∆ 𝑢(𝑡 + 𝑗 − 𝑑 − 1) + 𝐹𝑗 (𝑧 −1 )𝑦(𝑡)


Où 𝐺𝑗 (𝑧 −1 ) = 𝐸𝑗 (𝑧 −1 )𝐵(𝑧 −1 )
Il est très simple de montrer que les polynômes 𝐸𝑗 et 𝐹𝑗 peuvent être obtenus récursivement.
Une démonstration plus simple de la récursion de l'équation diophantienne est donnée ci-
dessous. Il existe d'autres formulations de GPC non basées sur la récursion de l'équation
diophantienne.
Considérons que les polynômes 𝐸𝑗 et 𝐹𝑗 ont été obtenus en divisant 1 par 𝐴(𝑧 −1 ) jusqu'à
ce que le reste de la division puisse être factorisé en 𝑧 −𝑗 𝐹𝑗 (𝑧 −1 ). Avec :
𝐹𝑗 (𝑧 −1 ) = 𝑓𝑗,0 + 𝑓𝑗,1 𝑧 −1 + 𝑓𝑗,2 𝑧 −2 + ⋯ + 𝑓𝑗,𝑛𝑎 𝑧 −𝑛𝑎
𝐸𝑗 (𝑧 −1 ) = 𝑒𝑗,0 + 𝑒𝑗,1 𝑧 −1 + 𝑒𝑗,2 𝑧 −2 + ⋯ + 𝑒𝑗,𝑗−1 𝑧 −(𝑗−1)
Supposons que la même procédure soit utilisée pour obtenir 𝐸𝑗+1 et 𝐹𝑗+1, c'est-à-dire diviser
1 par 𝐴̃(𝑧 −1 ) jusqu'à ce que le reste de la division puisse être factorisé comme
−(𝑗+1) −1
𝑧 𝐹𝑗+1 (𝑧 ) avec

𝐹𝑗+1 (𝑧 −1 ) = 𝑓𝑗+1,0 + 𝑓𝑗+1,1 𝑧 −1 + 𝑓𝑗+1,2 𝑧 −2 + ⋯ + 𝑓𝑗+1,𝑛𝑎 𝑧 −𝑛𝑎

Il est clair que seule une autre étape de la division effectuée pour obtenir les polynômes
𝐸𝑗 et 𝐹𝑗 doit être effectuée pour obtenir les polynômes 𝐸𝑗+1 et 𝐹𝑗+1. Le polynôme 𝐸𝑗+1 sera
donné par :
𝐸𝑗+1 (𝑧 −1 ) = 𝐸𝑗 (𝑧 −1 ) + 𝑒𝑗+1,𝑗 𝑧 −𝑗
Avec 𝑒𝑗+1,𝑗 = 𝑓𝑗,0
Les coefficients de polynôme 𝐹𝑗+1 peuvent alors être exprimés comme :
𝑓𝑗+1,𝑖 = 𝑓𝑗,𝑖+1 − 𝑓𝑗,0 𝑎̃𝑖+1 𝑖 = 0, ⋯ , 𝑛𝑎 − 1
Le polynôme 𝐺𝑗+1 peut être obtenu récursivement comme suit :
𝐺𝑗+1 = 𝐸𝑗+1 𝐵 = (𝐸𝑗 + 𝑓𝑗,0 𝑧 −𝑗 ) 𝐵
𝐺𝑗+1 = 𝐺𝑗 + 𝑓𝑗,0 𝑧 −𝑗 𝐵
C'est-à-dire que le premier coefficient 𝑗 de 𝐺𝑗+1 sera identique à ceux de 𝐺𝑗 et les coefficients
restants seront donnés par :
𝑔𝑗+1,𝑗+𝑖 = 𝑔𝑗,𝑗+𝑖 + 𝑓𝑗,0 𝑏𝑖 𝑖 = 0, ⋯ , 𝑛𝑏
Pour résoudre le problème de GPC, l'ensemble des signaux de contrôle 𝑢(𝑡), 𝑢(𝑡 +
1), . . . , 𝑢(𝑡 + 𝑁) doit être obtenu pour optimiser l'équation (2.5). Comme le système considéré
21
a un temps mort de 𝑑 périodes d'échantillonnage, la sortie du système sera influencée par le
signal 𝑢(𝑡) après la période d'échantillonnage 𝑑 + 1. Les valeurs 𝑁1 , 𝑁2 et 𝑁𝑢 définissant
l'horizon peuvent être définies par 𝑁1 = 𝑑 + 1, 𝑁2 = 𝑑 + 𝑁 𝑒𝑡 𝑁𝑢 = 𝑁. On note qu'il n'y a
aucun intérêt à faire 𝑁1 < 𝑑 + 1 car les termes ajoutés à l'expression (2.5) dépendront
uniquement que des signaux de commande passés. En revanche, si 𝑁1 > 𝑑 + 1 les premiers
points de la séquence de référence, étant ceux qui sont devinés avec le plus de certitude, ne
seront pas pris en compte.
Considérons maintenant l'ensemble suivant de 𝑗 prévisions optimales suivantes :
𝑦̂(𝑡 + 𝑑 + 1|𝑡) = 𝐺𝑑+1 ∆ 𝑢(𝑡) + 𝐹𝑑+1 𝑦(𝑡)
𝑦̂(𝑡 + 𝑑 + 2|𝑡) = 𝐺𝑑+2 ∆ 𝑢(𝑡 + 1) + 𝐹𝑑+2 𝑦(𝑡)
⋮ ⋮
𝑦̂(𝑡 + 𝑑 + 𝑁|𝑡) = 𝐺𝑑+𝑁 ∆ 𝑢(𝑡 + 𝑁 − 1) + 𝐹𝑑+𝑁 𝑦(𝑡)
Qui peut être écrite comme :

𝒚 = 𝑮 𝒖 + 𝑭(𝑧 −1 ) 𝑦(𝑡) + 𝑮′ (𝑧 −1 ) ∆ 𝑢(𝑡 − 1) (2.16)


𝑦̂(𝑡 + 𝑑 + 1|𝑡) ∆ 𝑢(𝑡) 𝑔0 0 ⋯ 0


𝑦̂(𝑡 + 𝑑 + 2|𝑡) ∆ 𝑢(𝑡 + 1) 𝑔 𝑔0 ⋯ 0
𝑦=[ ], 𝑢=[ ], 𝐺 = [ 1 ]
⋮ ⋮ ⋯ ⋯ ⋱ ⋯
𝑦̂(𝑡 + 𝑑 + 𝑁|𝑡) ∆ 𝑢(𝑡 + 𝑀 − 1) 𝑔𝑁−1 𝑔𝑁−2 ⋯ 𝑔0

(𝐺𝑑+1 (𝑧 −1 ) − 𝑔0 ) 𝑧 𝐹𝑑+1 (𝑧 −1 )
−1 −1
(𝐺𝑑+2 (𝑧 ) − 𝑔0 − 𝑔1 𝑧 ) 𝑧 2
(𝑧 −1 )
𝑮′ (𝑧 −1 ) = , 𝑭(𝑧 −1 ) = 𝐹𝑑+2
⋮ ⋮
−1 −1 −(𝑁−1) 𝑁
[(𝐺𝑑+𝑁 (𝑧 ) − 𝑔0 − 𝑔1 𝑧 − ⋯ − 𝑔𝑁−1 𝑧 )𝑧 ] [𝐹𝑑+𝑁 (𝑧 −1 )]

On note que les deux derniers termes de l'équation (2.13) ne dépendent que du passé et peuvent
être groupés dans 𝑓 menant à :
𝒚 = 𝑮𝒖 + 𝒇
On note que si toutes les conditions initiales sont nulles, la réponse libre 𝑓 est également
nulle. Si un pas d'unité est appliqué à l'entrée à l'instant 𝑡 ; C'est-à-dire :

∆ 𝑢(𝑡) = 1, ∆ 𝑢(𝑡 + 1) = 0, ⋯ , ∆ 𝑢(𝑡 + 𝑁 − 1) = 0


La séquence de la sortie attendue [𝑦̂(𝑡 + 1), ̂𝑦 (𝑡 + 2), ⋯ , 𝑦̂(𝑡 + 𝑁)]𝑇 est égale à la
première rangée de la matrice 𝐺 . C’est-à-dire que la première rangée de la matrice 𝐺 peut être
calculée comme la réponse à échelon du plant lorsqu'une l’échelon unitaire est appliqué à la
variable manipulée. Le terme de réponse libre peut être calculé récursivement par :
La séquence de la sortie attendue [𝑦̂(𝑡 + 1), ̂𝑦 (𝑡 + 2), ⋯ , 𝑦̂(𝑡 + 𝑁)]𝑇 est égale à la
première rangée de la matrice 𝐺 . C’est-à-dire que la première rangée de la matrice 𝐺 peut être
calculée comme la réponse à échelon du plant lorsqu'une l’échelon unitaire est appliqué à la
variable manipulée. Le terme de réponse libre peut être calculé récursivement par :

𝑓𝑗+1 = 𝑧 (1 − 𝐴̃(𝑧 −1 )) 𝑓𝑗 + 𝐵(𝑧 −1 ) ∆ 𝑢(𝑡 − 𝑑 + 𝑗)

Avec 𝑓0 = 𝑦(𝑡) et ∆ 𝑢(𝑡 + 𝑗) = 0 pour 𝑗 ≥ 0.


L'équation (2.5) peut s'écrire comme :

22
𝑱 = (𝐆 𝐮 + 𝐟 − 𝐰)𝑻 (𝐆 𝐮 + 𝐟 − 𝐰) + 𝝀 𝒖𝑻 𝒖 (2.17)

Où 𝑤 = [𝑤(𝑡 + 𝑑 + 1), 𝑤(𝑡 + 𝑑 + 2), ⋯ , 𝑤(𝑡 + 𝑑 + 𝑁) ]𝑇

L'équation (2.14) peut être écrite comme :


1
𝐽 = 2 𝑢𝑇 𝐻𝑢 + 𝑏 𝑇 𝑢 + 𝑓0 (2.18)


𝑯 = 2(𝑮𝑻 𝑮 + 𝝀𝑰)
𝒃𝑻 = 2(𝒇 − 𝒘)𝑻 𝑮
𝒇𝟎 = (𝒇 − 𝒘)𝑇 (𝒇 − 𝒘)

Le minimum de 𝐽 , en supposant qu'il n'y a pas de contraintes sur les signaux de commande,
peut être trouvé en faisant le gradient de 𝐽 égal à zéro, ce qui conduit à :
𝒖 = −𝑯−𝟏 𝒃 = (𝑮𝑻 𝑮 + 𝝀𝑰)−𝟏 𝑮𝑻 (𝒇 − 𝒘) (2.19)
On note que le signal de contrôle effectivement envoyé au processus est le premier élément du
vecteur 𝑢, donné par :
Δ𝑢(𝑡) = 𝐾(𝒇 − 𝒘)
où 𝐾 est la première ligne de la matrice (GTG + λI) −1GT. Ceci a une signification claire qui
peut facilement être déduite de la figure 2.6 : s'il n'y a pas d'erreurs prédites à l'avenir, c'est-à-
dire, si w − f = 0, il n'y a pas de mouvement de contrôle, car l'objectif sera rempli avec la libre
évolution de la processus. Cependant, dans l’autre cas, l’action de contrôle augmentera
proportionnellement (avec un facteur K) à cette erreur future. Notez que l'action est prise en ce
qui concerne les erreurs futures, et non les erreurs passées, comme c'est le cas dans les
contrôleurs de retour classiques.

Figure 2.6 : loi de commande GPC.


On note que seul le premier élément de 𝑢 est appliqué et que la procédure est répétée à la
prochaine période d'échantillonnage. La solution à la GPC donnée implique l'inversion (ou
triangularisation) d'une matrice 𝑁 × 𝑁 qui nécessite une quantité importante de calculs. Dans
(14), le concept d'horizon de la commande est utilisé pour réduire la quantité de calcul
nécessaire, en supposant que les signaux de commande projetés vont être constants après 𝑁𝑢 <
𝑁. Cela conduit à l'inversion d'une matrice 𝑁𝑢 × 𝑁𝑢 qui réduit la quantité de calcul (en
particulier, si 𝑁𝑢 = 1 il est réduit à un calcul scalaire, comme dans EPSAC), mais restreint
l'optimalité de la GPC. Un algorithme rapide pour mettre en œuvre un GPC auto-ajustable pour
les processus pouvant être modélisés par la méthode de la courbe de réaction est présenté dans

23
le chapitre suivant. L'utilisation des réseaux neuronaux de Hopfield a également été proposée
pour obtenir des GPC rapides.
2.5.2 Le Cas du Bruit Coloré
Lorsque le polynôme de bruit 𝐶(𝑧 −1 ) de l'équation (2.8) n'est pas égal à 1, la prédiction
change légèrement. Afin de calculer le prédicteur dans cette situation, l'équation diophantienne
suivante est résolue :
𝐶(𝑧 −1 ) = 𝐸𝑗 (𝑧 −1 )𝐴̃(𝑧 −1 ) + 𝑧 −𝑗 𝐹𝑗 (𝑧 −1 )
Avec 𝛿 (𝐸𝑗 (𝑧 −1 )) = 𝑗 − 1 𝑒𝑡 𝛿 (𝐹𝑗 (𝑧 −1 )) = 𝛿 (𝐴̃(𝑧 −1 )) − 1
En multipliant l’équation (2.8) par ∆ 𝐸𝑗 (𝑧 −1 ) 𝑧 −𝑗 et en utilisant (2.17)

𝐶(𝑧 −1 ) (𝑦(𝑡 + 𝑗) − 𝐸𝑗 (𝑧 −1 )𝑒(𝑡 + 𝑗)) = 𝐸𝑗 (𝑧 −1 )𝐵(𝑧 −1 ) ∆ 𝑢(𝑡 + 𝑗 − 1) + 𝐹𝑗 (𝑧 −1 )𝑦(𝑡)


Comme les termes de bruit sont tous dans le futur, la valeur attendue du côté gauche de
l'équation ci-dessus est :
𝐸 (𝐶(𝑧 −1 )(𝑦(𝑡 + 𝑗)) − 𝐸𝑗 (𝑧 −1 )𝑒(𝑡 + 𝑗)) = 𝐶(𝑧 −1 )𝑦̂(𝑡 + 𝑗|𝑡)
La valeur attendue de la sortie peut être générée par l’équation :
𝐶(𝑧 −1 )𝑦̂(𝑡 + 𝑗|𝑡) = 𝐸𝑗 (𝑧 −1 )𝐵(𝑧 −1 ) ∆ 𝑢(𝑡 + 𝑗 − 1) + 𝐹𝑗 (𝑧 −1 )𝑦(𝑡) (2.20)
On note que cette équation de prédiction pourrait être utilisée pour générer les prédictions
d'une manière récursive. Une expression explicite de la prédiction optimale pour 𝑗 étape peut
être obtenue en résolvant l'équation diophantienne :
1 = 𝐶(𝑧 −1 )𝑀𝑗 (𝑧 −1 ) + 𝑧 −𝑘 𝑁𝑗 (𝑧 −1 ) (2.21)

Avec 𝛿 (𝑀𝑗 (𝑧 −1 )) = 𝑗 − 1 𝑒𝑡 𝛿 (𝑁𝑗 (𝑧 −1 )) = 𝛿(𝐶(𝑧 −1 )) − 1

En multipliant l’équation (2.18) par 𝑀𝑗 (𝑧 −1 ) et en utilisant (2.19),

𝑦̂(𝑡 + 𝑗|𝑡) = 𝑀𝑗 𝐸𝑗 (𝑧 −1 )𝐵(𝑧 −1 )∆ 𝑢(𝑡 + 𝑗 − 1) + 𝑀𝑗 (𝑧 −1 )𝐹𝑗 (𝑧 −1 )𝑦(𝑡) + 𝑁𝑗 (𝑧 −1 )𝑦(𝑡)

Qui peut être exprimé comme :


𝑦̂(𝑡 + 𝑗|𝑡) = 𝐺(𝑧 −1 ) ∆ 𝑢(𝑡 + 𝑗 − 1) + 𝐺𝑝 (𝑧 −1 ) ∆ 𝑢(𝑡 + 𝑗 − 1)
+(𝑀𝑗 (𝑧 −1 ) 𝐹𝑗 (𝑧 −1 ) +𝑁𝑗 (𝑧 −1 )) 𝑦(𝑡)

Avec 𝛿 (𝐺𝑗 (𝑧 −1 )) < 𝑗 . Ces prédictions peuvent être utilisées dans la fonction de coût qui peut
être minimisée comme dans le cas du bruit blanc.

ne autre façon de calculer la prédiction consiste à considérer les signaux filtrés à partir des
données d'entrée / sortie du plant.
1 1
𝑦 𝑓 (𝑡) = 𝑦(𝑡) 𝑢 𝑓 (𝑡) = 𝑢(𝑡)
𝐶(𝑧 −1 ) 𝐶(𝑧 −1 )
de sorte que le modèle global résultant devient
𝑒(𝑡)
𝐴(𝑧)𝑦 𝑓 (𝑡) = 𝐵(𝑧 −1 )𝑢 𝑓 (𝑡) +
Δ

24
et la procédure de bruit blanc pour calculer la prédiction peut être utilisée. Le signal prédit
𝑦̂ 𝑓 (𝑡 + 𝑗 | 𝑡) ainsi obtenu doit être filtré par 𝐶(𝑧 − 1) pour obtenir 𝑦̂(𝑡 + 𝑗 | 𝑡).
2.4.3 Exemple
Afin de montrer comment un contrôleur prédictif généralisé peut être implémenté, un
exemple simple est présenté. Le contrôleur sera conçu pour un système de premier ordre pour
plus de clarté.
L'équivalence discrète suivante peut être obtenue lorsqu'un plant continu de premier ordre
est discrétisé
𝑒(𝑡)
(1 + 𝑎𝑧 −1 )𝑦(𝑡) = (𝑏0 + 𝑏1 𝑧 −1 )𝑢(𝑡 − 1) +

Dans cet exemple, le retard 𝑑 est égal à 0 et le polynôme de bruit 𝐶(𝑍 −1 ) est considéré
comme égal à 1.
L'algorithme pour obtenir la loi de commande décrite dans la section précédente sera utilisé
sur le système ci-dessus, obtenant des résultats numériques pour les valeurs de paramètres 𝑎 =
− 0.8, 𝑏0 = 0.4 et 𝑏1 = 0.6, les horizons étant 𝑁1 = 1 et 𝑁2 = 𝑁𝑢 = 3. Comme cela a été
montré, les valeurs prédites de la sortie du processus sur l'horizon sont d'abord calculées et
réécrites sous la forme de l'équation (2.16), puis la loi de commande est calculée en utilisant
l'expression (2.19).
Les polynômes du prédicteur 𝐸𝑗 (𝑧 −1 ), 𝐹𝑗 (𝑧 −1 ) de 𝑗 = 1 à 𝑗 = 3 seront calculés en
résolvant l'équation diophantienne (2.13), avec
𝐴̃(𝑧 −1 ) = 𝐴(𝑧 −1 )(1 − 𝑧 −1 ) = 1 − 1.8 𝑧 −1 + 0.8 𝑧 −2
Dans ce cas simple où l'horizon n'est pas trop long, les polynômes peuvent être directement
obtenus en divisant 1 par 𝐴(𝑧 −1 ) avec des calculs simples. Comme cela a été expliqué ci-
dessus, ils peuvent également être calculés récursivement, en commençant par les valeurs
obtenues à la première étape de la division, à savoir :
𝐸1 (𝑧 −1 ) = 1, 𝐹1 (𝑧 −1 ) = 1.8 − 0.8 𝑧 −1
Quelle que soit la procédure utilisée, les valeurs obtenues sont :
𝐸2 = 1 + 1.8 𝑧 −1 𝐹2 = 2.44 − 1.44 𝑧 −1
𝐸3 = 1 + 1.8 𝑧 −1 + 2.44 𝑧 −2 𝐹3 = 2.952 − 1.952 𝑧 −1

Avec ces valeurs et le polynôme 𝐵(𝑧 −1 ) = 0.4 + 0.6 𝑧 −1 , les valeurs de 𝐺𝑖 (𝑧 −1 ) sont :
𝐺1 = 0.4 + 06 𝑧 −1 , 𝐺2 = 0.4 + 1.32 𝑧 −1 + 1.08 𝑧 −2 ,
𝐺3 = 0.4 + 1.32 𝑧 −1 + 2.056 𝑧 −2 + 1.464 𝑧 −3
et ainsi les sorties prédites peuvent être écrites comme :
𝑦̂(𝑡 + 1|𝑡) 0.4 0 0 ∆ 𝑢(𝑡)
𝑦 = [𝑦̂(𝑡 + 2|𝑡)] = [ 1.32 0.4 0 ] [ ∆ 𝑢(𝑡 + 1)]
𝑦̂(𝑡 + 3|𝑡) 2.056 1.32 0.4 ∆ 𝑢(𝑡 + 2)

0.6 ∆ 𝑢(𝑡 − 1) + 1.8 𝑦(𝑡) − 0.8 𝑦(𝑡 − 1)


+ [ 1.08 ∆ 𝑢(𝑡 − 1) + 2.44 𝑦(𝑡) − 1.44 𝑦(𝑡 − 1) ]
⏟1.464 ∆ 𝑢(𝑡 − 1) + 2.952 𝑦(𝑡) − 1.952 𝑦(𝑡 − 1)
𝒇
L’étape suivante est de calculer 𝑯−𝟏 𝒃. Si 𝜆 est pris égal à 0.8

25
0.133 0.286 0.147
(𝑮𝑻 𝑮 + 𝝀𝑰)−𝟏 𝑮𝑻 = [−0.154 −0.165 0.286 ]
−0.029 −0.154 0.1334
Comme seul ∆ 𝑢(𝑡) est nécessaire pour les calculs, seule la première ligne de la matrice est
utilisée, obtenant l'expression suivante pour la loi de commande :

∆ 𝑢(𝑡) = −0.604 ∆ 𝑢(𝑡 − 1) − 1.371 𝑦(𝑡) + 0.805 𝑦(𝑡 − 1)


+0.133 𝑤(𝑡 + 1) + 0.286 𝑤(𝑡 + 2) + 0.147 𝑤(𝑡 + 3)
où 𝑤(𝑡 + 𝑖) est la trajectoire de référence qui peut être considérée comme constante et égale
à la consigne actuelle ou une approche du premier ordre à la valeur désirée. Alors le signal de
commande est une fonction de cette référence désirée et des entrées et sorties passées et est
donné par :

𝑢(𝑡) = 0.396 𝑢(𝑡 − 1) + 0.604 𝑢(𝑡 − 2) − 1.371 𝑦(𝑡) + 0.805 𝑦(𝑡 − 1)


+ 0.133 𝑤(𝑡 + 1) + 0.286 𝑤(𝑡 + 2) + 0.147 𝑤(𝑡 + 3) (2.22)

Figure 2.7 : Réponse du système

Les résultats de la simulation montrent le comportement du système en boucle fermée. Dans


le premier graphique de la figure 2.7, la référence est constante et égale à w=1, tandis que
dans le second, il y a une approche lisse de la même valeur 𝑤 = 1 + 𝑙 ∗ 𝑧 −1, obtenant une
réponse légèrement différente, plus lente mais sans dépassement.
La loi de contrôle GPC peut également être calculée sans utiliser l’équation de
Diophantine.
Pour obtenir la loi de commande, il faut connaître la matrice 𝐺 et la réponse libre 𝑓 , pour
calculer 𝑢 = (𝐺 𝑇 𝐺 + 𝜆𝐼) 𝐺 𝑇 (𝑤 − 𝑓). La matrice 𝐺 est composée de coefficients de réponse

26
l’échelon du plant, de sorte que les éléments de la première colonne de cette matrice sont les 𝑁
premiers coefficients, qui peuvent être calculés comme suit :
𝑁 𝑁−1

𝑔𝑗 = − ∑ 𝑎𝑖 𝑔𝑗−𝑖 + ∑ 𝑏𝑖 𝑎𝑣𝑒𝑐 𝑔𝑘 = 0 ∀𝑘 < 0


𝑖=1 𝑖=0

où 𝑏𝑖 𝑒𝑡 𝑎𝑖 sont les paramètres du numérateur et du dénominateur de la fonction de transfert.


Par conséquent, comme l’horizon de prédiction est 3,
𝐴 = 1 − 0.8𝑧 −1 et 𝐵 = 0.4 + 0.6𝑧 −1
𝑔0 = 𝑏0 = 0.4
𝑔1 = −𝑎1 𝑏0 + 𝑏0 + 𝑏1 = 1.32
𝑔2 = −𝑎1 𝑔1 − 𝑎2 𝑔0 − 𝑎3 𝑔0 + 𝑏0 + 𝑏1 = 2.056
et la matrice est donnée par

0.4 0 0
𝐺 = [ 1.32 0.4 0]
2.056 1.32 0.4
qui coïncide logiquement avec celui obtenu par la méthode précédente.
La réponse libre peut également être calculée sans utiliser l'équation diophantienne, notant
simplement que c'est la réponse de la centrale en supposant que les contrôles futurs sont égaux
au contrôle précédent u (t - 1) et que la perturbation est constante. Ainsi, en utilisant la fonction
de transfert
𝑦(𝑡) = 0.8𝑦(𝑡 − 1) + 0.4𝑢(𝑡 − 1) + 0.6𝑢(𝑡 − 2)
𝑦(𝑡 + 1) = 0.8𝑦(𝑡) + 0.4𝑢(𝑡) + 0.6𝑢(𝑡 − 1)

Si les deux équations sont ajoutées et que 𝑦(𝑡 + 1) , est extrait

𝑦(𝑡 + 1) = 0.8𝑦(𝑡) − 0.8𝑦(𝑡 − 1) + 0.4 ∆ 𝑢(𝑡) + 0.6 ∆ 𝑢(𝑡 − 1)

Maintenant, considérant que dans la réponse libre, seuls les incréments de contrôle avant
l’instant 𝑡 apparaissent :
𝑓(𝑡 + 1) = 1.8𝑦(𝑡) − 0.8𝑦(𝑡 − 1) + 0.6 ∆ 𝑢(𝑡 − 1)
𝑓(𝑡 + 2) = 1.8𝑓(𝑡) − 0.8𝑦(𝑡) = 2.44 𝑦(𝑡) − 1.44 𝑦(𝑡 − 1) + 1.08 ∆ 𝑢(𝑡 − 1)
𝑓(𝑡 + 3) = 1.8𝑓(𝑡 + 2) − 0.8 𝑓(𝑡 + 1) = 2.952 𝑦(𝑡) − 1.952 𝑦(𝑡 − 1) + 1.464 ∆ 𝑢(𝑡 − 1)

Le vecteur 𝑓 obtenu de cette façon est le même que celui précédemment obtenu, la loi de
commande est donc celle donnée par l'équation (2.22).

Figure 2.8 :
Principe de
fonctionnement de
l'algorithme
prédictif

27

You might also like