• Aucun résultat trouvé

Commande prédictive MPC

4.2 Principe de fonctionnement

s’agit de la commande prédictive.

- Commande prédictive (MPC , Model Predictive Control) : Cette technique de commande avancée est largement étudiée aussi bien dans le milieu industriel que dans le milieu académique. Elle repose sur un modèle explicite du procédé pour prévoir le comportement futur de la sortie et permet de résoudre des problèmes de commande optimale en ligne, où l’erreur de poursuite, à savoir la différence entre la sortie prévue et la référence désirée, est réduite au minimum sur un horizon futur. Les performances sont évaluées au moyen d’une fonction de coût et la technique permet de prendre en compte des contraintes imposées aux variables du procédé.

C’est cette technique de commande prédictive qui sera développée dans ce chapitre pour la régulation thermique du bâtiment et la gestion d’énergie du micro-grid.

4.2 Principe de fonctionnement

4.2.1 Principe de base

La commande prédictive résulte de la résolution répétée à chaque pas de temps d’un problème de commande optimale : ‘comment aller de l’état actuel à un état futur appelé objectif de manière optimale en satisfaisant à des contraintes s’appliquant à la fois aux entrées de commande et aux variables d’état du système’. La figure 4.1 illustre une formulation générale de l’approche utilisée par la commande prédictive :

1. Prédiction de sortie : le contrôleur calcule la sortie prédite (ˆy(k+i|k), i= 0,1,2, ..., Hp) du procédé sur l’horizon de prédictionHp en se basant sur le modèle du procédé. 2. Calcul de la séquence de commande : les signaux de commandes futures

u(k + l|k), l = 0,1,2, ..., Hu sont déterminés en minimisant la fonction de coût et en respectant les contraintes qui portent sur les commandes et sorties du procédé.

3. Application de la première composante de la séquence de commande : le premier élément de la séquence de commande, i.e, u(k|k) est appliquée au procédé, par contre les autres valeurs de la séquence de commande sont abandonnées.

L’étape 1 est répétée avec des nouvelles mesures connues y(k+ 1), une nouvelle séquence de commande u(k+ 1 +l|k+ 1), l= 0,1,2, ..., Hu est élaborée. La mise en œuvre de la technique se fait alors sur un horizon glissant. Les imperfections du modèle sont corrigées avec la ré-actualisation des erreurs entre les objectifs et les mesures. Le projet de commande est amélioré à chaque échantillon de temps et par conséquent la séquenceu(k+ 1 +l|k+ 1), l= 0,1, ..., Hu−1 sera très certainement différente deu(k+l|k), l= 1,2, ..., Hu.

4.2.2 Éléments de la commande predictive

L’élaboration de la commande prédictive s’articule autour de quatre points clés :

- Un modèle mathématique du procédé à commander.

- Un critère d’optimisation traduisant l’objectif de fonctionnement souhaité du procédé.

- Des caractéristiques de fonctionnement des actionneurs qui engendrent des contraintes dont le contrôleur doit tenir compte..

- Une méthode de résolution du problème d’optimisation qui permet d’obtenir la commande future à appliquer pour atteindre l’objectif établi.

4.2.2.1 Modèle

Le modèle de prédiction du procédé occupe une place cruciale dans la stratégie de commande prédictive. Il doit être capable de décrire le comportement futur du procédé sous une certaine sol-licitation connue de l’entrée. Pratiquement n’importe quel modèle peut être utilisé dans une stra-tégie de commande MPC (ARX, ARMA, ARMAX , Fonction de transfert, Équations d’état. . . ..), (SISO,MIMO...), cependant, si le modèle est non linéaire, le problème d’optimisation qui en dé-coule peut être délicat et peut ne pas converger.

Le modèle linéaire MIMO (multiple input multiple output) sous forme d’équation d’état déve-loppé dans le chapitre précédent sera utilisé dans la suite dans sa version discrétisée.

4.2.2.2 Critère d’optimisation

Le critère d’optimisation ou fonction de coût est la traduction mathématique des objectifs de commande du procédé sous les contraintes de fonctionnement. Ce critère est en général défini

4.2. Principe de fonctionnement

comme la somme pondérée d’un terme portant sur les carrés des erreurs de prédiction et d’un terme portant sur les carrés des incréments de commande :

J = Hp X i=Hw kyˆ(k+i|k)−r(k+i)k2Q(i)+ Hu X i=1 k∆u(k+l−1|k)k2R(i) (4.1) r(k) représente le vecteur des consignes futures supposées connues et ∆u(k) représente la séquence des incréments de commande optimale à déterminer. Cette fonction de coût contient les éléments de réglage spécifiques à la commande MPC, plusieurs stratégies de choix de ces paramètres existent, [BD96a], [RLM05]. Cependant, il n’existe pas encore de méthode systématique permettant de choisir les paramètres optimaux vis-à-vis du problème posé.

l’horizon supérieur de prédiction sur les sorties Hp N : Le choix de l’horizon de prédictionHp joue un rôle important tant par la quantité d’informations fournie à l’algorithme, que du point de vue de la faisabilité numérique du problème d’optimisation. Il semble que pour de nombreux processus, on peut optimiser les performances attendues en boucle fermée en choisissantHppour être aussi grand que possible, au moins égal au temps de réponse du procédé.

l’horizon inférieur de prédiction sur les sorties Hw N : il est généralement égal à 1, mais peut être supérieur à 1, cela signifie que l’erreur dans le régime transitoire n’importe pas. Pour un système à retard, l’horizon inférieur de prédiction sur la sortie peut être choisi égal à la valeur du retard pur.

l’horizon de prédiction sur les commandes Hu N : SiHp augmente, les performances nominales sont améliorées si toutefois Hu est suffisamment grand. Pourtant dans la pratique, pour beaucoup de systèmes, une valeur de Hu supérieure à 3 n’apporte pas de différences significatives [Ros03]. on a toujours :Hu< Hp et ∆u(k+i|k) = 0,∀i≥Hu

L’expression (4.1) considère les mêmes horizons de prédiction sur toutes les sorties et les mêmes horizons de commande sur toutes les entrées.

les matrices de pondération Q et R : ce sont des matrices diagonales définies positives. L’augmentation des poidsQpar rapport aux poidsRa pour effet de libérer l’activité de contrôle, la fonction de coût est dominée par l’erreur de poursuite. L’optimisation met donc l’accent sur la réduction des erreurs entre la sortie et la consigne. Dans le cas contraire, l’augmentation des poidsR par rapport aux poids Q a pour effet de réduire l’activité de contrôle et conduit à une réponse plus lente du système bouclé. AugmenterR indéfiniment réduira l’activité de contrôle à zéro, ce qui "désactive" l’action de rétroaction. Généralement la pondération sur l’erreur de poursuite Q est considérée comme unitaire, dans ce cas seule la pondération sur l’effort de commandeR intervient.

4.2.2.3 Contraintes

Dans tout procédé, le fonctionnement est sujet à des contraintes qui peuvent être d’origines différentes. Les entrées doivent rester dans une zone de fonctionnement des contraintes physiques. Tout actionneur selon la technologie utilisée aura une plage d’utilisation limitée. Les sorties

doivent rester dans une certaine zone de fonctionnement définie par les contraintes d’activité. Elles peuvent être étroitement liées à la sécurité, la stabilité et/ou l’objectif à atteindre en termes de produit final. Ces contraintes sont explicitement prises en compte par le contrôleur pour calculer la séquence de commande.

4.2.2.4 Optimiseur

Un optimiseur ou solveur permet de calculer la séquence de commande future qui minimise la fonction de coût tout en respectant les contraintes. Pour la fonction de coût considérée ci dessus dans l’équation (4.1), ça revient à résoudre un problème d’optimisation quadratique (QP) dont plusieurs solutions standards existent. La plupart des fournisseurs industriels de MPC écrivent leurs propres solveurs. L’approche conventionnelle utilisée pour la résolution de ce problème d’optimisation est la méthode de l’ensemble actif. Celle-ci présente des garanties de convergence et est assez simple à coder ; les limites théoriques du nombre d’itérations pour trouver le minimum sont très importantes mais rarement abordées dans la pratique. Un solveur de QP est disponible sur MATLAB.