0% ont trouvé ce document utile (0 vote)
2K vues43 pages

Commande Avancée

Ce document traite de la commande optimale de systèmes dynamiques. Il présente les principes fondamentaux de la commande optimale tels que le principe de Bellman et de Pontryagin ainsi que les équations d'état et adjointes. Il décrit également la commande optimale linéaire quadratique.

Transféré par

Kha Oula Djebaili
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2K vues43 pages

Commande Avancée

Ce document traite de la commande optimale de systèmes dynamiques. Il présente les principes fondamentaux de la commande optimale tels que le principe de Bellman et de Pontryagin ainsi que les équations d'état et adjointes. Il décrit également la commande optimale linéaire quadratique.

Transféré par

Kha Oula Djebaili
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Commande avancée

Partie 1 Commande optimale

Partie 2 commande adaptative

Partie 3 commande prédictive

Partie 1 : Commande optimale :

Introduction :

Le problème de détermination d’une commande optimale d’un processus peut s’énoncer


comme suit : Un processus dynamique étant donné et défini par son modèle
(représentation d’état, matrice de transfère, équations aux différences,…), trouver parmi
les commandes admissibles celles qui permet à la fois :

- de vérifier des conditions initiales et finales donnés

- de satisfaire diverses contraintes imposées.

- d’optimiser un critère choisi.

La théorie de la commande optimale à un champ d’application extrêmement vaste :

- Régulation de la température d’une pièce ou d’un four en utilisant le minimum


d’énergie.

- Problème de poursuite : on souhaite que la sortie du système suive le mieux possible la


consigne désirée ou prévue. Il s’agit dans ce cas de déterminer la commande qui
minimise l’énergie de poursuite.

D’un point de vue formel, le problème de commande optimale est un problème de


minimisation ou de maximisation d’une fonctionnelle ; c'est-à-dire, un problème de
calcul des variations

1. Détermination du modèle mathématique du système Les systèmes étudiés sont


décrits par des variables d’état. Par exemple :

(a) Systèmes linéaires continus

𝑥̇ = 𝐴𝑥(𝑡) + 𝐵𝑢(𝑡)
Dans le cas où les matrices A et B sont constantes, on dit que le système est stationnaire.
(b) Systèmes non linéaires continus commandés

𝑥̇ = 𝑓(𝑥, 𝑢, 𝑡)

Où 𝑓(𝑥, 𝑢, 𝑡)est une fonction vectorielle non linéaire.

(c) Systèmes discrets linéaires

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

(d) Systèmes discrets non linéaires

𝑥(𝑘 + 1) = 𝑓(𝑥(𝑘), 𝑢(𝑘), 𝑘)

Outre ce modèle, il faut formuler, pour un problème de commande optimale, le critère de


performance à optimiser et les contraintes physiques.

2. Formulation de l’indice de performances et des contraintes physiques

Il s’agit d’une grandeur mathématique désignée dans la littérature techniques selon le


domaine : critère (en automatique), fonction coût (en économie), fonctionnelle (en
mathématique). Dans ce qui suit, on utilise le mot critère. Remarque : Sur le plan
pratique il n’est pas facile de déterminer un critère ; toutefois on peut toujours se ranger
dans l’une des catégories suivantes :

- minimiser un temps ;

- optimiser une amplitude ;

- maximiser un profit où un revenu ;

- minimiser une erreur ;

- minimiser une consommation.

Les critères les plus utilisés sont :

(a) Problème à temps minimal

𝐽= 𝑑𝑡
(b) Cas linéaire quadratique
1
𝐽(𝑡 ) = (𝑥 𝑄(𝑡)𝑥 + 𝑢 𝑅𝑢)𝑑𝑡
2
(c) Cas général :

𝐽(𝑥 , 𝑡 , 𝑢) = ∅ 𝑥 , 𝑡 + 𝜓(𝑥, 𝑢, 𝑡)𝑑𝑡

Où 𝜓(𝑥, 𝑢, 𝑡) est une fonction non linéaire, ∅ 𝑥 , 𝑡 représente la fonction coût terminal.

En plus de l'équation d'état qui lie les trajectoires de 𝑢 et de 𝑥, d'autres contraintes


peuvent intervenir (sans pour autant remettre en cause le critère choisi). Typiquement :

- l'instant final peut être imposé ou libre ;


- la commande peut appartenir à un ensemble 𝑢 ∈ 𝑈 ;
- des contraintes peuvent exister sur l'état final : 𝑥 ∈ 𝑋.

3- Commande optimale

Le problème de la commande optimale consiste alors à trouver la commande 𝑢


minimisant 𝐽(𝑥 , 𝑡 , 𝑢) :
𝑢 = 𝑚𝑖𝑛 𝐽(𝑥 , 𝑡 , 𝑢)

On notera alors 𝑥 la trajectoire correspondante de l’état et 𝑥 (𝑥 ) = 𝐽((𝑥 , 𝑡 , 𝑢 ) la


valeur du critère.

Principe d'optimalit_e de Bellman


Soit le critère :
𝐽(𝑥 , 𝑡 , 𝑢) = ∅ 𝑥 , 𝑡 + 𝜓(𝑥, 𝑢, 𝑡)𝑑𝑡

La trajectroire optimale sur [𝑡 , 𝑡 ] est 𝑢 et le critère optimal :


𝐽((𝑥 , 𝑡 ) = 𝑚𝑖𝑛 𝐽(𝑥 , 𝑡 , 𝑢)
[ , ]
Soit 𝑡 ∈ [𝑡 , 𝑡 ]. Le principe d’optimalité de Bellman énonce que la trajectoire optimale
sur [𝑡 , 𝑡 ] contient la trajectoire optimale sur [𝑡 , 𝑡 ] avec comme condition initiale
𝑥 = 𝑥(𝑡 ).

Principe du minimum de Pontriaguine


Soit le système d’équation d’état :

𝑥̇ = 𝑓(𝑥, 𝑢, 𝑡) (1)
Et le critère de performance :
𝐽(𝑥 , 𝑡 , 𝑢) = ∅ 𝑥 , 𝑡 + ∫ 𝐿(𝑥, 𝑢, 𝑡)𝑑𝑡 (2)

Où = ∅ 𝑥 , 𝑡 est la fonction coût terminal et 𝐿(𝑥, 𝑢, 𝑡) décrit le coût à chaque instant


sur la trajectoire 𝑥(t) .
Il s’agit de déterminer 𝑢 sur l’intervalle [𝑡 , 𝑡 ] qui transfère le système décrit par (1)
le long d’une trajectoire optimale 𝑥 qui minimise le critère (2) et tel que :
𝜓 𝑥 , 𝑡 = 0 (3)
Avec 𝜓 ∈ 𝑅 appelé cible

3.1 Hamiltonien et équations adjointes


Pour résoudre ce problème de la commande optimale nous allons utiliser les
multiplicateurs de Lagrange.
Soit 𝛾 et 𝛽 les multiplicateurs correspondant respectivement à la contrainte donnée par
les équations (1) et à la contrainte donnée par la cible (3).
Le critère augmenté est alors :
𝐽 = ∅ 𝑥 ,𝑡 +𝛾 𝜓 𝑥 ,𝑡 [𝐿(𝑥, 𝑢, 𝑡) + 𝛽 (𝑓(𝑥, 𝑢, 𝑡) − 𝑥)]𝑑𝑡

Posons :
𝐻(𝑥, 𝑢, 𝛽, 𝑡) = 𝐿(𝑥, 𝑢, 𝑡) + 𝛽 𝑓(𝑥, 𝑢, 𝑡)
appelé Hamiltonien.
Le critère augmenté devient :

𝐽 == ∅ 𝑥 , 𝑡 + 𝛾 𝜓 𝑥 ,𝑡 [𝐻(𝑥, 𝑢, 𝛽, 𝑡) − 𝛽 𝑥]𝑑𝑡

En utilisons la règle de Leibnitz pour déterminer dJ, on obtient après calcul :

dJ=0, donne les conditions d’optimalité :

1- La première condition redonne les équations d’états du système :


𝑥̇ = = 𝑓(𝑥, 𝑢, 𝑡)
2- La deuxième condition donne le système suivant :

𝜕𝐻 𝜕𝑓 𝜕𝐿
−𝛽 = = 𝛽+ ,𝑡 < 𝑡
𝜕𝑥 𝜕𝑥 𝜕𝑥
Appelé système adjoint.
3- La troisième condition est appelée condition de stationnarité
𝜕𝐻 𝜕𝑓 𝜕𝐿
0= = 𝛽+
𝜕𝑢 𝜕𝑥 𝜕𝑢

Les équations provenant des conditions dites terminales, en 𝑡 d'une part et en 𝑡


d'autre part sont appelées équations de transversalité :

𝜕𝐻
−𝐻(𝑡 ) +
𝜕𝑡
(∅ + 𝜓 𝛾 − 𝛽) 𝑑𝑥| + (∅ + 𝜓 𝛾 + 𝐻) 𝑑𝑡| = 0
Et enfin on retrouve la contrainte sur l’état final :
𝜓 𝑥 ,𝑡 = 0

Enfin, selon la nature du problème, on aura encore certaines relations additionnelles


:
- Si aucune contrainte (de type saturation) n'est imposée sur 𝑢(𝑡) à l'instant 𝑡, on a
:
𝜕𝐻
=0
𝜕𝑢
- si 𝐻 n'est pas une fonction explicite du temps, on a :
𝑑𝐻 𝜕𝐻
= =0
𝑑𝑡 𝜕𝑡

4- Lien avec le calcul des variations


Il s'agit d'un problème d'optimisation sous contrainte égalité 𝑓(𝑥, 𝑢, 𝑡)-𝑥̇ = 0. En
s'appuyant sur le calcul des variations, on est amené à introduire un multiplicateur de
Lagrange , qui est une fonction du temps, et à introduire le Hermicien :

𝐻(𝑥, 𝑢, 𝛽, 𝑡) = 𝐿(𝑥, 𝑢, 𝑡) + 𝛽 𝑓(𝑥, 𝑢, 𝑡)


Le critère s’écrit alors :

𝐽 = ∅ 𝑥 ,𝑡 [𝐿(𝑥, 𝑢, 𝑡) + 𝛽 (𝑓(𝑥, 𝑢, 𝑡) − 𝑥̇ )]𝑑𝑡

= ∅ 𝑥 ,𝑡 [𝐻(𝑥, 𝑢, 𝑡) − (𝛽 𝑥̇ )]𝑑𝑡

= ∅ 𝑥 ,𝑡 𝐻(𝑥, 𝑢, 𝑡) − 𝛽̇ 𝑥 𝑑𝑡 − 𝛽 𝑥 + 𝛽 (𝑡 )𝑥

= ∅ 𝑥 ,𝑡 ,𝑥 ,𝑡 [𝐻(𝑥, 𝑢, 𝑡) − 𝛽̇ 𝑥 ]𝑑𝑡

Où ∅ 𝑥 , 𝑡 , 𝑥 , 𝑡 = ∅ 𝑥 , 𝑡 − 𝛽 𝑥 + 𝛽 (𝑡 )𝑥 . Le calcul des variations permet de


donner des conditions nécessaires pour résoudre ce problème. On comprend ainsi
l'apparition de l'équation de l'état adjoint −𝛽̇ =

5- Commande optimale linéaire quadratique LQ

On parle de commande linéaire quadratique : LQ ou LQR pour linear quadratic regulator.


Le système est linéaire et la commande est quadratique. La commande optimale est un
retour d'état.

Dans ce cas le système à commander est représenté par des équations d’états linéaires
et le critère à minimiser est quadratique.
5.1- Mise en équations du problème
Soit le système linéaire décrit par les équations suivantes :

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


𝑥 ∈ 𝑅 et 𝑢 ∈ 𝑅 , l’instant initial 𝑥(𝑡 ) est donné.
Et soit le critère quadratique suivant :
1 1
𝐽(𝑡 ) = 𝑥 𝑡 (𝑡)𝑆(𝑡 )𝑥 𝑡 + (𝑥 𝑄(𝑡)𝑥 + 𝑢 𝑅𝑢)𝑑𝑡
2 2
Où 𝑆(𝑡 )et 𝑄(𝑡) sont des matrices semi-définies positives et 𝑅 , matrice définie positive.
Résoudre le problème LQ, revient à déterminer 𝑢 (𝑡)qui minimise 𝐽(𝑡 ) sur
[𝑡 , 𝑡 ] .

5.2- Hamiltonien et équations adjointes


Le hamiltonien de ce problème est donné par :

1
𝐻 = (𝑥 𝑄(𝑡)𝑥 + 𝑢 𝑅𝑢) + 𝛽 (𝐴𝑥 + 𝐵𝑢)
2

La première condition nécessaire d’optimalité redonne les équations d’états du système

𝜕𝐻
𝑥̇ = = 𝐴𝑥 + 𝐵𝑢
𝜕𝛽
La deuxième condition (4) donne le système adjoint :
𝜕𝐻
−𝛽̇ = =𝑄+𝐴 𝛽
𝜕𝑥
et la condition de stationnarité est donné par :

𝜕𝐻
0= = 𝑅𝑢 + 𝐵 𝛽
𝜕𝑢
D’où l’expression de 𝑢
𝑢 = −𝑅 𝐵 𝛽

En remplaçant l’expression de la commande dans le système on obtient :

𝑥̇ (𝑡) = 𝐴𝑥(𝑡) − 𝐵−𝑅 𝐵 𝛽

Les équations d’état et les équations adjointes couplées donne alors le système suivant :
𝑥̇ 𝐴 −𝐵−𝑅 𝐵 𝑥
̇ = 𝛽
𝛽 −𝑄 −𝐴
5.3- Solution du problème LQ
Pour résoudre le système (13), il faut tenir compte des conditions terminales. Deux cas
sont envisagés :
- Etat final connu, conduisant à une commande en boucle ouverte.
- Etat final libre, conduisant à une commande en boucle fermée.

5.3.1 Commande en boucle ouverte (Etat final connu)

- On suppose que l’état final est connu 𝑥 𝑡 = 𝑟 𝑡 , c’est-à-dire


𝑑𝑥 𝑡 = 0 , le temps final étant fixé, alors 𝑑𝑡 = 0, la condition terminale est donc
vérifiée

- D’autre part, puisque 𝑥 𝑡 est fixé, le terme 𝑥 𝑡 (𝑡)𝑆(𝑡 )𝑥 𝑡 est une


constante, il est donc inutile de le garder dans le critère.

Il s’agit de résoudre le système Hamiltonien (13) formé par 2n équations différentielles


couplées connaissant la condition initiale 𝑥(𝑡 )et condition finale 𝑡 .

Solution analytique dans le cas particulier Q=0


Le critère est alors réduit à :

1
𝐽(𝑡 ) =
𝑢 𝑅𝑢𝑑𝑡
2
Il s’agit donc de déterminer la commande qui transfère le système de l’état initial 𝑥(𝑡 )
donné, à l’état final 𝑥 𝑡 = 𝑟 𝑡 donné, en minimisant l’énergie de commande.

Dans ce cas les équations d’état et les équations adjacentes sont données par :

𝑥̇ (𝑡) = 𝐴𝑥(𝑡) − 𝐵𝑅 𝐵 𝛽
Et
𝛽̇ = −𝐴 𝛽
La solution de l’équation précédente est obtenue simplement en fonction de 𝛽 𝑡
𝛽(𝑡) = 𝑒 ( )
𝛽 𝑡
En utilisant cette solution, l’équation d’état du système devient :

( )
𝑥̇ (𝑡) = 𝐴𝑥(𝑡) − 𝐵𝑅 𝐵 𝑒 𝛽 𝑡

( ) ( ) ( )
𝑥(𝑡) = 𝑒 𝑥(𝑡 ) − 𝑒 𝐵𝑅 𝐵 𝑒 𝛽 𝑡 𝑑𝜏

On a :
( ) ( ) ( )
𝑥 𝑡 =𝑒 𝑥(𝑡 ) − 𝑒 𝐵𝑅 𝐵 𝑒 𝛽 𝑡 𝑑𝜏

Où encore :
( )
𝑥 𝑡 =𝑒 𝑥(𝑡 ) − 𝐺 𝑡 , 𝑡 𝛽 𝑡
Avec :
( ) ( )
𝐺 𝑡 ,𝑡 =∫ 𝑒 𝐵𝑅 𝐵 𝑒 𝑑𝜏
𝛽 𝑡 est alors donné par :
( )
𝛽 𝑡 = −𝐺 𝑡 , 𝑡 (𝑟 𝑡 −𝑒 𝑥(𝑡 ))
(𝑡) = −𝑅 ( )
𝑢 𝐵 𝑒 𝐺 𝑡 , 𝑡 [(𝑟 𝑡 −𝑒 𝑥(𝑡 )]

Remarques :
i. La commande optimale est en boucle ouverte puisqu’elle dépend de l’état
initial et non de l’état courant 𝑥(𝑡)
En l’absence d’entrée, 𝑥(𝑡) = 𝑒 ( )
𝑥(𝑡 ) .
ii. L’expression de 𝑢 (𝑡) montre que la commande optimale est proportionnelle à la
différence entre l’état final désiré et la solution du système en régime libre à 𝑡 = 𝑡 .
iii. 𝑢 (𝑡) existe si 𝐺 𝑡 , 𝑡 est inversible, ce qui correspond à la condition de
commondabilité du système. Donc si ( A, B) est commandable alors il existe une
commande optimale minimisant l’énergie de commande (c-à-d
1
𝐽(𝑡 ) = 𝑢 𝑅𝑢𝑑𝑡
2

et qui transfère le système d’un état initial donné à n’importe quel état désiré.

5.3.2 Commande en boucle fermée (Etat final libre)


L’état 𝑥 𝑡 étant libre, 𝑥𝑑 𝑡 ≠ 0. D’autre part, le temps 𝑡 est fixé, 𝑑𝑡 = 0, la condition
terminale devient alors :

𝑆 𝑡 𝑋 𝑡 = 𝛽(𝑡 )
En effet la condition terminale implique que

∅ = 𝛽(𝑡 ) car ∅ = 𝑥 𝑡 (𝑡)𝑆(𝑡 )𝑥 𝑡 soit


𝑆 𝑡 𝑋 𝑡 = 𝛽(𝑡 )
Cette relation est la nouvelle condition terminale. On démontre qu’elle est vraie pour
<𝑡 .
𝛽 𝑡 =𝑆 𝑡 𝑋 𝑡
En utilisons cette relation dans le système d’état, on obtient :

𝑥̇ (𝑡) = 𝐴𝑥(𝑡) − 𝐵𝑅 𝐵 𝑆 𝑡 𝑋 𝑡
Or
𝛽̇ = 𝑆̇𝑥 + 𝑆𝑥̇ = 𝑆̇𝑥 + 𝑆(𝐴𝑥(𝑡) − 𝐵𝑅 𝐵 𝑆 𝑡 𝑋 𝑡 )

Donc (9)devient :

−𝑆̇ = 𝑄 + 𝐴 𝑆 + 𝑆𝐴 − 𝑆𝐵𝑅 𝐵 𝑆, 𝑡 < 𝑡

Cette équation différentielle non linéaire est appelée équation de


Ricatti dans le cas continu. Connaissant 𝑡 , on peut déterminer 𝑆(𝑡)pour 𝑡 < 𝑡 .
La commande optimale est donné par :

𝑢 (𝑡) = −𝑅 𝐵 𝛽(𝑡)

Soit :

𝑢 (𝑡) = −𝑅 𝐵 𝑆(𝑡)𝑋(𝑡) = −𝐺(𝑡)𝑥(𝑡)

𝐺(𝑡)est appelé le gain de Kalman

Le système en boucle fermée


𝑥̇ = (𝐴 − 𝐵𝐺)𝑥 (a)

On peut montrer aussi que le critère optimisé ne dépend que de 𝑥(𝑡 ) et (𝑡 ) .


1
𝐽(𝑡 ) = 𝑥 (𝑡 )(𝑡)𝑆(𝑡 )𝑥(𝑡 )
2

5.4- Commande LQ à horizon infini


On suppose que les matrices A, B,Q, R sont indépendantes du temps.
En régime permanent, c'est-à-dire pour 𝑡 → ∞ , en supposant que S(t) converge, nous
avons alors :
𝑆̇ = 0, 𝑡 < 𝑡 .
Dans ce cas S est une constante solution de l’équation algébrique de Ricatti :

𝑄 + 𝐴 𝑆 + 𝑆𝐴 − 𝑆𝐵𝑅 𝐵 𝑆=0

La commande optimale est :

𝑢 (𝑡) = −𝐺(𝑡)𝑥(𝑡)

Avec :

𝐺=𝑅 𝐵 𝑆 (b)

Et le système en boucle fermée est donné par :

𝑥̇ = (𝐴 − 𝐵𝐺)𝑥

Nous devons donc connaître les conditions d’existence d’une telle limite pour tout 𝑆 𝑡 .
De plus, il serait intéressant de savoir quand cette limite est indépendante de 𝑆 𝑡 .
Les théorèmes suivants permettent de répondre à ces questions :
Théorème 1 :
Si ( A, B) est stabilisable alors pour chaque 𝑆 𝑡 , il existe une limite bornée S quand
T𝑡 → ∞ , solution de l’équation de Ricatti. Mieux encore S est une solution semi définie
positive de l’équation algébrique de Ricatti.

Théorème 2 :
Soit C une matrice tel que Q = CTC

Supposons que ( A,C) est observable. Alors ( A, B) est stabilisable si et seulement si :

- il existe une solution unique S définie positive de l’équation de Ricatti. Mieux encore
cette solution, est l’unique solution définie positive de l’équation algébrique de Ricatti.
- Le système bouclé donné par (a), où G est donné par (b), est asymptôtiquement stable.

6- Commande Linéaire Quadratique Gaussienne :

Soit le système dynamique stochastique d'équation d'état :


𝑥̇ = 𝐴𝑥 + 𝐵𝑢 + 𝑣
𝑦 = 𝐶𝑥 + 𝑤
où le bruit d'état 𝑣 et le bruit de mesure 𝑤 sont des bruits blancs centrés de variance
𝐸{𝑣𝑣 }𝑉 ≥ 0 et {𝑣𝑣 }𝑉 ≥ 0. Le probl_eme LQG consiste en la minimisation du crit_ere
1
𝐽(𝑡 ) = lim 𝐸 (𝑥 𝑄(𝑡)𝑥 + 𝑢 𝑅𝑢)𝑑𝑡
→ 𝑡

Où 𝑄 > 0 et 𝑅 > 0. Du fait des entrées de bruit 𝑣 et 𝑤, les grandeurs 𝑢 et 𝑥 sont des
grandeurs stochastiques. Comme critère, il est ainsi naturel de s'intéresser à l'espérance
d'une intégrale. Comme pour la commande LQ, il est possible de considérer des critères
à temps fini.

Théorème de séparation
La solution de ce problème de commande optimale de processus stochastique est bien
connue sous le nom de théorème de séparation. Ce théorème énonce que la solution du
problème est composée de deux parties :

- Un observateur de Kalman permettant de donner l'estimée 𝑥 de 𝑥 qui est non


biaisée et à variance minimale,

- La commande par retour d'état 𝑢 = −𝐾𝑥 à appliquer à 𝑥 où 𝐾 est calculé en


considérant le problème LQ correspondant (en enlevant 𝑣 et 𝑤 de l'équation
d'état et 𝐸dans le critère).

-
Ce théorème est intéressant dans la mesure où il donne la solution du problème complet
comme étant la réunion des solutions de deux problèmes plus simples et déjà résolus :
celui de la commande LQ et celui de l'estimation de Kalman.

6.1 Structure de la commande LQG

L'estimée optimale 𝑥 est donnée par l'observateur d'équation d'état :

Où le gain de Kalman est :

avec ∑ la solution de l'équation algébrique de Riccati :

La commande étant donnée par 𝑢 = −𝐾𝑥 , on peut réécrire les équations de la


commande d'entrée 𝑦 et de sortie 𝑢
Le suivi d'une consigne 𝑦 ∗ se fera par la loi de commande 𝑢 = 𝐶(𝑠)(𝑦 − 𝑦) où la
fonction de transfert du correcteur est :

Ses équations d'état sont :

Où 𝜖 = 𝑦 − 𝑦. Notons que ce correcteur LTI a le même ordre que le processus.


Partie 2. Commande adaptative

1- Introduction

La commande adaptative est un ensemble de techniques qui permettent de fournir une


approche systématique pour l’ajustement des correcteurs en temps réel. Par ajustement,
on fait référence à la mise à jours des paramètres des correcteurs. Le but de la
commande adaptative est d’atteindre et de maintenir le degré de performances désiré
pour le système de commande quand les paramètres du système sont inconnus ou
variables dans le temps. Si les paramètres sont inconnus mais constant, la commande
adaptative permet le réglage en boucle fermée des paramètres du correcteur. L’effet
d’ajustement s’arrête après le réglage des paramètres. Si les paramètres sont variants
dans le temps, de façon imprévisible, l’adaptation des paramètres agit tout le temps.

2- Commande conventionnelle et commande adaptative

La synthèse d’une commande conventionnelle en boucle fermée passe par les étapes
suivantes :

1. Spécification des performances désirées de la boucle de commande, 2. Obtention du


modèle dynamique du système à commander. Le modèle peut être obtenu par
identification à partir de données expérimentales provenant du système physique en
boucle ouverte ou en boucle fermée ;

3. Utilisation d’une méthode de synthèse qui permet d’atteindre les performances


spécifiées pour le modèle dynamique déduit. La synthèse et le réglage du correcteur
sont faits à partir du modèle obtenu durant la deuxième étape.

La commande adaptative est l’implémentation en temps réel de la procédure décrite


cidessus .Le réglage du contrôleur se fait à partir de données prélevées en temps réel à
partir du système physique. La figure.1 illustre le schéma de principe d’un correcteur
adaptatif

On distingue deux boucles :


Figure.1 Commande adaptative

Une boucle de commande classique et une boucle d’ajustement des paramètres.

- 1 Boucle de commande classique

Comme en commande conventionnelle, le rôle de cette boucle est de rejeter les


perturbations agissants sur les grandeurs intervenant dans le système de commande
(perturbation de commande, de sortie, bruit de mesure).

- 2 Boucle d’ajustement des paramètres

Elle intervient pour ajuster les paramètres du correcteur quand les paramètres du
système subissent des perturbations. Cette boucle calcule un indice de performance à
partir de la sortie, des états et de la commande. Cet indice est utilisé pour ajuster les
paramètres du correcteur pour avoir l’indice de performance désiré. L’action des deux
boucles est décrites dans cet exemple

Exemple1 (Réglage de l’amortissement). On souhaite imposer un amortissement donné


au système commandé. On peut distinguer deux cas :

Cas 1 : Les paramètres du système sont à leur valeur nominale et une perturbation agit
sur la grandeur commandée. La boucle conventionnel le permet le retour de cette
grandeur à sa valeur régulée avec l’amortissement imposé.
Cas 2 : Les paramètres du système changent, par conséquent, l’amortissement change
aussi. Le mécanisme d’adaptation agit alors en changeant les paramètres du correcteur
pour faire revenir l’amortissement à sa valeur désirée.

3- Commande adaptative en boucle ouverte

La figure 2 représente le diagramme d’une commande adaptative en boucle ouverte Un


exemple de commande adaptative en boucle ouverte est la commande par
séquencement de gain (gain-scheduling). Cette technique ajuste les paramètres du
correcteur à partir d’un tableau de correspondance (look-up table) : A un ensemble de
mesures provenant de l’environnement (conditions de fonctionnement) correspond une
valeur des paramètres du correcteur. Cette méthode agit en boucle ouverte car l’effet du
changement des performances du système, suite à un changement des paramètres du
correcteur ou du système n’est pas mesuré.

Figure.2 Commande adaptative en boucle ouverte

4- Commande adaptative directe

Les performances désirées pour le système de commande en boucle fermée sont


spécifiées sous la forme d’un modèle de référence. Le modèle de référence peut être
caractérisé par son temps de réponse, son dépassement son facteur d’amortissement ou
sa fréquence propre. Le but de la commande adaptative directe peut se résumer en deux
points :

1. Avoir une erreur nulle entre la sortie du système commandé et le modèle de référence
s’ils partent des mêmes conditions initiales,
2. Avoir une erreur qui converge asymptotiquement vers zéro si les conditions initiales
sont différentes.

Le schéma de principe de la commande adaptative directe est donné sur la figure ci-
dessous

Figure.3 commande adaptative directe

Selon la figure 3, le mécanisme d’adaptation reçoit des informations à partir de la sortie


du système, de la sortie du modèle de référence et de la commande. Il calcule l’erreur e =
y – ym pour mesurer l’indice de performance. Il peut utiliser la commande u pour prévoir
la sortie future du processus. La commande adaptative par modèle de référence est un
commande adaptative directe. Les paramètres du correcteur sont ajustés de façon
directe, à partir des informations recueillies par le mécanisme d’adaptation.

5- Commande adaptative indirecte

La commande adaptative indirecte est la mise en oeuvre, en temps réel, de la procédure


de synthèse d’un correcteur :

1. Collecte des données à partir du processus,

2. Identification d’un modèle,

3. Utilisation du modèle pour la synthèse du correcteur.

Dans le cas de la commande adaptative indirecte, ce processus se distingue par :

1. Estimation en-ligne (temps réel) des paramètres du modèle du processus,


2. Calcul en-ligne des paramètres du correcteur en fonction du modèle estimé.

Cette procédure est décrite par la figure 4

Figure.4 commande adaptative indirecte

La commande adaptative indirecte utilise les techniques d’estimation en ligne du


modèle. L’estimateur en-ligne est un prédicteur ajustable qui utilise la mesure des
sorties passées du processus pour prédire la sortie actuelle. Comme le montre la figure
5, l’erreur de prédiction entre la sortie du processus et celle du prédicteur est utilisée
pour ajuster les paramètres du prédicteur à travers des algorithmes d’adaptation
Figure.5 Prédicteur dans une commande adaptative indirecte

6- Commande adaptative par modèle de référence

L’objectif de la commande adaptative par modèle de référence est d’avoir un système


commandé en boucle fermée qui se comporte le plus proche possible d’un modèle de
référence. Comme il est montré sur la figure.6, un schéma de commande adaptative

Figure. 6 Commande adaptative par modèle de référence

Comporte principalement deux boucles :

1. Une boucle interne qui a la sructure d’une boucle classique de régulation,

2. Une boucle externe qui est la boucle adaptative.

Les paramètres du régulateur adaptatif sont claculés à partir de l’erreur e = y – ym par la


boucle adaptative pour un modèle de réference donné. On peut classer les méthodes
d’ajustement des paramètres du correcteur adaptatif à modèle de réference en deux
catègories :

1. Les méthodes du gradient,

2. Les méthodes basées sur la théorie de la stabilité.

7 Méthodes du gradient

7.1 Régle du MIT

Soit un système en boucle fermée dont le correcteur possède un seul paramètre θ. Soit
ym la sortie du modèle de réference et e = y – ym l’erreur de poursuite du modèle de
réference.

On définit le critère de performances suivant :


Ce critère doit être minimisé pour réduire l’erreur entre le système commandé et le
modèle de réference. On utilise alors l’algorithme de descente du gradient pour rendre
J(θ) plus petit, lors d’une mise à jour des paramètres

représente la sensibilité de l’erreur par rapport aux paramètres. Il indique comment


l’erreur est influencée par une variation de paramètres

Exemple 2 (Commande adaptative en boucle ouverte). Soit le système linéaire


monovariable représenté sur la figure.7 La fonction de transfert du système G(s) est

Figure.7 Commande adaptative en boucle ouverte

connue mais le gain k est inconnu. L’objectif est de trouver un correcteur en boucle
ouverte pour que système corrigé possède la fonction de transfert Gm(s) du modèle de
référence

avec θ le paramètre ajustable du correcteur et yc la consigne.

Si le gain k était connu, la poursuite parfaite du modèle de référence est réalisée si (voir

figure .7) :

Ce qui implique la valeur suivante pour le gain θ


Mais le gain k est inconnu. On utilise alors la règle MIT pour la mise à jour du paramètre
θ:

Or

En dérivant par rapport à θ, et en tenant compte du fait que ym= k0G(s)yc :

Figure .8 – Commande adaptative proportionnelle en boucle ouverte

D’où

On tire finalement

Exemple.3 (Commande adaptative d’un système du premier ordre). Soit un système


linéaire décrit par un modèle du premier ordre :
avec a et b deux paramètres inconnus.

On souhaite avoir un comportement en boucle fermée similaire au modèle de référence


du premier ordre également

On utilise la commande suivante :

On remplaçant u

(i)

qui représente le système en boucle fermée. On aura un comportement similaire au


modèle de référence si :

Soit

L’ordre du système et du modèle de référence étant le même, il est possible de faire une
poursuite parfaite du modèle de référence.

En introduisant l’opérateur de différentiation de Laplace s =d/dt , l’équation (i) devient :

On calcule alors :
Ces relation ne peuvent pas être utilisées directement car a et b sont inconnus. On utilise
alors une approximation en remarquant que si les paramètres sont proches des
paramètres exacts (θ = θ0) on a :

On pose alors :

On a alors d’après l’algorithme du gradient :

Soit

Le signe de b doit être connu pour avoir un gain γ de signe correct.

8 Stabilité des système non linéaires à temps variant


Soit le système non linéaire libre à temps variant

(1)

On va rappeler les principales définitions relatives à la stabilité.

Définition .1 (Point d’équilibre). Le point x0 = 0 est un point d’équilibre du système (1)


si :

Définition .2 (Stabilité uniforme). Le point d’équilibre x0 = 0 est stable si

est indépendant de t0, alors le point d’équilibre est uniformément


stable.

Définition .3 (Stabilité asymptotique). Le point d’équilibre x0 = 0 est asymptotiquement


stable s’il est stable et qu’en plus :

8.1 Théorème de Lyapunov pour les systèmes à temps variant

Théorème .5 (Stabilité d’un système à temps variant) Soit xe= 0 un point d’équilibre
8.2. Synthèse de commande adaptative par modèle de référence par la théorie de
Lyapunov

L’utilisation de la théorie de Lyapunov sur la stabilité des systèmes non stationnaires


pour la synthèse d’une commande adaptative par modèle de référence (CAMR) passe
par les étapes suivantes :

1. Formuler l’équation différentielle de l’erreur de poursuite du modèle de


référence

e = y − ym

2. Trouver une fonction candidate de Lyapunov et un mécanisme d’adaptation pour


Assurer

3. Généralement dV/dt est seulement semi-définie négative.

Exemple .4 (Synthèse CAMR par la méthode de Lyapunov ). Soit le modèle de référence


linéaire à temps invariant du premier ordre

On souhaite imposer son comportement à un système qui est aussi de premier ordre

par une commande proportionnel le sur la mesure et la consigne

On rappel le que l’erreur de poursuite est donnée par


on obtient la dérivée temporel de l’erreur en remplaçant les expressions de

ce qui conduit après simplification à l’équation différentiel le suivante de l’erreur de


poursuite

Si les paramètres du système à commander étaient connus, alors en posant

Alors

On introduit la fonction quadratique suivante

avec γ > 0 une constante strictement positive. On remarque que V = 0 si e = 0, 𝜃 = 𝜃 =


𝜃 = 𝜃 2. La dérivée temporel le de la fonction V est donnée par
On choisit la mise à jours suivante des paramètres de réglage θ1 et θ2

Cette mise à jours conduit à l’expression suivante de dV/dt

car V (t) est décroissante, ce qui implique que e, θ1 et θ2 soient bornés et que y =e + ym
soit aussi borné en supposant que le modèle de référence Gm(s) est stable et la consigne
yc bornée. De plus, la dérivée seconde par rapport au temps t de V est donné par

Table 3.1 – Comparaison des méthodes de Lyapunov et MIT pour la synthèse d’un

CAMS
Partie 3 Commande prédictive

3.1 Introduction

L’idée de base de la commande prédictive est celle d’une prédiction de la réponse d’un
système à contrôler étalée sur un horizon [𝑁 , 𝑁 ]. Le but de la méthode est de générer à
un instant courant ‘𝑡’ quelle que soit la valeur du retard du système, un signal de
commande 𝑢(𝑡), et ceci en calculant les prédictions de la sortie du processus 𝑦, sur un
intervalle [𝑁 , 𝑁 ].

La loi de commande est obtenue par minimisation d’un critère quadratique portant sur
les erreurs futures avec un terme de pondération sur la commande :

𝐽=∑ [𝑦(𝑡 + 𝑗) − 𝑤(𝑡 + 𝑗)] + 𝜆 ∑ [Δ𝑢(𝑡 + 𝑗 − 1)]


(2.1)

Où :Δ𝑢(𝑡 + 𝑗 − 1) = 𝑢(𝑡 + 𝑗 − 1) − 𝑢(𝑡 + 𝑗 − 2) et 𝑦(𝑡 + 𝑗) valeurs futures de la sortie à


commander.

Le critère nécessite la définition de quatre paramètres de réglage :

• 𝑁 : horizon de prédiction minimal ;

•𝑁 : horizon de prédiction maximal ;

•𝑁 : horizon de prédiction sur la commande ;

• λ: coefficient de pondération sur la commande.

Plusieurs stratégies de commande prédictive ont été proposées, la différence essentielle


est le modèle qui permet de calculer les prédictions de la sortie sur l’horizon de
prédiction. Dans ce chapitre nous introduisons les deux stratégies les plus populaires et
qui ont connues des applications industrielles : la commande prédictive à base de
modèle d’état et la commande prédictive généralisée, Generalised Predictive Control
GPC, Dans les deux cas le calcul se fait en deux étapes : d’abord le calcul des prédictions
ensuite le calcul des la commande. Nous suivrons cette démarche pour la présentation
des calculs.

3.2 ; La commande prédictive à base de modèle d’état :

3.2.1 Calcul des prédictions :

L’approche prédictive la plus proche de la théorie standard pour les systèmes linéaires
est certainement celle qui considère un modèle par représentation d’état :

Le modèle de base pour calculer les prédictions est un modèle d’état discret donnée par
[14] :
𝑥(𝑘 + 1) = 𝐴𝑥(𝑘) + 𝐵𝑢(𝑘)

𝑦(𝑘) = 𝐶 𝑥(𝑘) (2.2)

𝑧(𝑘) = 𝐶 𝑥(𝑘)

𝑥(𝑘)variable d’état, 𝑦(𝑘) sorties du système, 𝑧(𝑘) sorties à commander, 𝑘 l’instant


d’échantillonnage.

Souvent on a 𝑧(𝑘) = 𝑦(𝑘)

Aussi suppose que nous ne savons rien au sujet des perturbations ou bruit de la mesure.
Alors tout ce que nous pouvons faire est de prédire à partir des équations ci-dessus,
nous obtenons

x̂   (𝑘 + 1/𝑘) = 𝐴 x̂ (𝑘) + 𝐵 û (𝑘/𝑘)

x̂   (𝑘 + 2/𝑘) = 𝐴 x̂ (𝑘 + 1/𝑘) + 𝐵 û (𝑘 + 1/𝑘)

= 𝐴 x̂ (𝑘) + 𝐴𝐵 û (𝑘/𝑘) + 𝐵 û (𝑘 + 1/𝑘)

x̂   (𝑘 + 𝑁 /𝑘) = 𝐴 x̂ (𝑘 + 𝑁 − 1/𝑘) + 𝐵 û (𝑘 + 𝑁 − 1/𝑘)

=𝐴 x̂ (𝑘) + 𝐴 𝐵 û (𝑘/𝑘) + ⋯ + 𝐵 û (𝑘 + 𝑁 − 1/𝑘)

Dans la première ligne nous avons utilisé 𝑢(𝑘/𝑘) plutôt que 𝑢(𝑘), parce qu’un moment
quand nous avons besoin de calculer les prédictions nous ne savons pas quel est 𝑢(𝑘).

Maintenant rappel que nous avons supposé que la commande changera aux
temps 𝑘, 𝑘 + 1, … , 𝑘 + 𝑁 − 1) seulement, et restera constante après cela. Donc nous
avons
û   (𝑘 + 𝑖/𝑘) = û (𝑘 + 𝑁 -1) pour 𝑁 ≤ 𝑖 ≤ 𝑁 − 1. En fait, nous voudrons avoir les
prédictions exprimées quant à ∆ û (𝑘 + 𝑖/𝑘) plutôt qu’ û   (𝑘 + 𝑖/𝑘). Rappelons que
∆ û (𝑘 + 𝑖/𝑘) = û (𝑘 + 𝑖/𝑘) − û (𝑘 + 𝑖 − 1/𝑘) , et qu’à temps 𝑘 nous savons déjà
𝑢(𝑘 − 1). Donc nous avons :

û   (𝑘/𝑘) = ∆𝑢(𝑘/𝑘) + 𝑢(𝑘 − 1)

û   (𝑘 + 1/𝑘) = ∆𝑢(𝑘 + 1/𝑘) + ∆𝑢(𝑘/𝑘) + 𝑢(𝑘 − 1)


û   (𝑘 + 𝑁 − 1/𝑘) = ∆𝑢(𝑘 + 𝑁 − 1/𝑘) + ∆𝑢(𝑘/𝑘) + 𝑢(𝑘 − 1)


x̂   (𝑘 + 1/𝑘) = 𝐴𝑥(𝑘) + 𝐵[∆ û (𝑘/𝑘) + 𝑢(𝑘 − 1)]

x̂   (𝑘 + 2/𝑘) = 𝐴 𝑥(𝑘) + 𝐴𝐵[∆ û (𝑘/𝑘) + 𝑢(𝑘 − 1)]


+ 𝐵[∆ û (𝑘 + 1/𝑘) + ∆ û (𝑘/𝑘) + 𝑢(𝑘 − 1)]
( / )

= 𝐴 𝑥(𝑘) + (𝐴 + 𝐼)𝐴𝐵∆ û (𝑘/𝑘) + 𝐵∆ û (𝑘 + 1/𝑘) + (𝐴 + 𝐼)𝑢(𝑘 − 1)]

x̂   (𝑘 + 𝑁 /𝑘)
= 𝐴 𝑥(𝑘) + (𝐴 + ⋯ + 𝐴 + 𝐼)𝐵∆ û (𝑘/𝑘) + ⋯ + 𝐵∆ û (𝑘 + 𝑁 − 1/𝑘)
+ (𝐴 + ⋯ + 𝐴 + 𝐼)𝐵𝑢(𝑘 − 1)

x̂   (𝑘 + 𝑁 + 1/𝑘)
=𝐴 𝑥(𝑘) + (𝐴 + ⋯ + 𝐴 + 𝐼)𝐵∆ û (𝑘/𝑘) + ⋯ + (𝐴 + 𝐼)𝐵∆ û (𝑘
+ 𝑁 − 1/𝑘) + (𝐴 + ⋯ + 𝐴 + 𝐼)𝐵𝑢(𝑘 − 1)

x̂   (𝑘 + 𝑁 /𝑘)
= 𝐴 𝑥(𝑘) + (𝐴 + ⋯ + 𝐴 + 𝐼)𝐵∆ û (𝑘/𝑘) + ⋯ + (𝐴 + ⋯+ 𝐴
+ 𝐼)𝐵∆ û (𝑘 + 𝑁 − 1/𝑘) + (𝐴 + ⋯ + 𝐴 + 𝐼)𝐵𝑢(𝑘 − 1)
Finalement nous pouvons écrire ceci dans une matrice:

⎡ x̂ (𝑘 + 1/𝑘) ⎤
𝐵
𝐴 ⎡ ⋮ ⎤
⎢ ⋮ ⎥ ⎡ ⋮ ⎤ ⎢∑
⎢ x̂ (𝑘 + 𝑁 /𝑘) ⎥ ⎢ 𝐴 ⎥ ⎢ 𝐴 𝐵 ⎥⎥
⎢ (𝑘 ⎥=⎢𝐴 ⎥ 𝑥(𝑘) + ⎢ ∑ 𝐴 𝐵 ⎥ 𝑢(𝑘 − 1)+
⎢ x̂ + 𝑁 + 1/𝑘) ⎥ ⎢ ⋮ ⎢ ⎥
⎥ ⋮
⎢ ⋮ ⎥ ⎣ 𝐴 ⎦ ⎢ ⎥
⎣ x̂ (𝑘 + 𝑁 /𝑘) ⎦ ⎣∑ 𝐴 𝐵⎦
é
𝐵 ⋯ 0
⎡ 𝐴𝐵 + 𝐵 ⋯ 0 ⎤
⎢ ⋮ ⎥ ∆ û (𝑘)
⎢ ⋮ ⋮ ⎥
⎢∑ 𝐴𝐵 … 𝐵 ⎥ ⋮
⎢∑ 𝐴𝐵 … 𝐴𝐵 + 𝐵 ⎥ ⋮
⎢ ⎥ ∆ û (𝑘 + 𝑁 − 1/𝑘)
⎢ ⋮ ⋮ ⋮ ⎥
⎣ ∑ 𝐴𝐵 … ∑ 𝐴 𝐵⎦

Les prédictions de z sont maintenant obtenues simplement


ẑ   (𝑘 + 1/𝑘) = 𝐶 x̂ (𝑘 + 1/𝑘)

ẑ   (𝑘 + 2/𝑘) = 𝐶 x̂ (𝑘 + 2/𝑘)

ẑ   (𝑘 + 𝑁 /𝑘) = 𝐶 x̂ (𝑘 + 𝑁 /𝑘)

ẑ (𝑘 + 1/𝑘) 𝐶 0 … 0 ⎡ x̂ (𝑘 + 1/𝑘) ⎤
𝐶 … 0 ⎢ ⋮
⋮ = 0 ⎥
⋮ ⋮ ⋮ ⋱ ⋮ ⎢ ⋮ ⎥
ẑ (𝑘 + 𝑁 /𝑘) 0 0 … 𝐶 ⎣ x̂ (𝑘 + 𝑁 /𝑘)⎦

3.2.2 Calcul de la commande

Le critère de performance est représenté par une fonction de coût quadratique


considérant l’erreur de poursuite et l’effort de commande sur un horizon glissant de la
forme :

𝑉(𝑘) = ∑ ẑ (𝑘 + 𝑖/𝑘) − 𝑟(𝑘 + 𝑖) 𝑄(𝑖) + ∑ ∆ û (𝑘 + 𝑖/𝑘) 𝑅(𝑖)


(2.3)

Avec 𝑟(𝑘)référence, 𝑄(𝑖) et 𝑅(𝑖) sont des matrices des pondérations.

Nous pouvons récrire ceci sous forme condensée :

𝑉(𝑘) = ‖𝑍(𝑘) − 𝑇(𝑘)‖ 𝑄 + ‖∆𝑈(𝑘)‖ 𝑅

ẑ (𝑘 + 1/𝑘)
𝑍(𝑘) = ⋮

ẑ (𝑘 + 𝑁 /𝑘)
r̂ (𝑘 + 1/𝑘)
𝑇(𝑘) = ⋮

r̂ (𝑘 + 𝑁 /𝑘)

∆ û (𝑘/𝑘)
𝛥𝑈(𝑘) = ⋮

∆ û (𝑘 + 𝑁 − 1/𝑘)
𝑄(1) 0 … 0
0 𝑄(1) … 0
𝑄=
⋮ ⋮ ⋱ ⋮
0 0 … 𝑄(𝑁 )

𝑅(1) 0 … 0
𝑅(1) … 0
𝑅= 0
⋮ ⋮ ⋱ ⋮
0 0 … 𝑅(𝑁 − 1)

Les prédictions sont données par l’Eq.2.4

𝑍(𝑘) = Ψ𝑥(𝑘) + Υ𝑢(𝑘 − 1) + ΘΔ𝑈(𝑘)


(2.4)

En posant :

𝜖(𝑘) = Γ(k) − Ψ𝑥(𝑘) − Υ𝑢(𝑘 − 1)

On peut écrire

𝑉(𝑘) = ‖ΘΔ𝑈(𝑘) − 𝜖(𝑘)‖ 𝑄 + ‖∆𝑈(𝑘)‖ 𝑅

𝑉(𝑘) = [Δ𝑈(𝑘) Θ − 𝜖(𝑘) ]𝑄[ΘΔ𝑈(𝑘) − 𝜖(𝑘)] + Δ𝑈(𝑘) 𝑅Δ𝑈(𝑘)

= 𝜖(𝑘) 𝑄𝜖(𝑘) − 2Δ𝑈(𝑘) Θ 𝑄𝜖(𝑘) + Δ𝑈(𝑘) [Θ 𝑄Θ + 𝑅]Δ𝑈(𝑘)

Mais cela à la forme

𝑉(𝑘) = 𝐶𝑠𝑡 − Δ𝑈(𝑘) F + Δ𝑈(𝑘) 𝐻𝛥𝑈(𝑘)

𝐹 = 2Θ 𝑄𝜖(𝑘)

𝐻 = Θ 𝑄Θ + 𝑅

Ni 𝐹 ni 𝐻 dépend d’Δ𝑈(𝑘)

Pour trouver l’Δ𝑈(𝑘) optimal nous pouvons trouver maintenant le gradient de 𝑉(𝑘) et
le mettre à zéro, on obtient alors

∇∆𝑈(𝑘)𝑉 = −𝐹2𝐻∆𝑈(𝑘)

Donc l’ensemble optimal de mouvement de commandes futures est

∆𝑈(𝑘) = 𝐻 𝐹 (2.5)

Nous utilisons seulement la partie de cette solution qui correspond au premier élément
du vecteur, nous pouvons représenter ceci comme :
∆𝑈(𝑘) = 𝐼 , 0 ,…,0 ∆𝑈(𝑘)
( )
(2.6)

Où : 𝐼 est la 𝑙 × 𝑙 identité matrice, et 0 est la 𝑙 × 𝑙 zéro matrice.

Exemple.1 : Code Matlab MPC.M

Considérons l’exemple suivant :

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

𝑦(𝑘) = 𝐶 𝑥(𝑘)

0.7 0.2 0.05


𝐴= ,𝐵 = , 𝐶 = [1 0]
0.3 0.5 0.2
En choisissant comme paramètres :

𝑁 = 1, 𝑁 = 8, 𝑁 = 2

0.12 0.15
MPC
Ref

0.1

0.08 0.1
V ariation de la reponse x 2
V ariation de la reponse x1

0.06

0.04 0.05

0.02

0 0
0 10 20 30 40 50 60 0 10 20 30 40 50 60
Temps (s) Temps (s)

0.25

0.2
Signal de commande

0.15

0.1

0.05

0
0 10 20 30 40 50 60
Temps (s)

On peut noter que les performances sont satisfaites, en termes de dépassement et de


capacité à maintenir un comportement voisin de la valeur désirée.

3.3 La commande prédictive généralisée :


Par opposition à la méthode précédente, la méthode GPC est basée sur un modèle base
linéaire fonction de transfert entrée sortie, à partir du quel seront dérivés les calculs. De
la même façon que ci-dessus la loi de commande est obtenue analytiquement et seul le
premier élément du vecteur commande futures est appliqué.

3.3.1 Calcul des prédictions :

Quand on considère une régulation autour d’un point de fonctionnement particulier,


généralement même un processus non linéaire, admet un modèle localement linéaire.
Dans la commande GPC, le modèle classiquement utilisé est le modèle CARIMA
(Controlled AutoRegressive Integrated Moving Average), de la forme :

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


(2.7)

𝐴(𝑧 ) et 𝐵(𝑧 ) sont des polynomes en (𝑧 ) de degrés respectifs 𝑛 et 𝑛 , 𝑦(𝑡) est la


sortie du système et 𝑢(𝑡) sa commande, 𝑡 l’instant d’échantillonnage.

𝑥(𝑡)est une perturbation considérée comme un bruit survenant à un instant 𝑡


quelconque de la forme :

𝑥(𝑡) = 𝐶(𝑧 )𝑒(𝑡)/∆

Où : ∆= 1 − 𝑧 : opérateur différentiel d’ordre 1.

𝑒(𝑡) : un bruit blanc gaussien de moyenne nulle. 𝐶(𝑧 ) est un polynôme en l’opérateur
retard, lié aux perturbations et par la suite, sans une connaissance supplémentaire
sur la nature des perturbations, il sera choisi égal à 1 (sa valeur n’influe pas par ailleurs
sur le comportement en suivi de trajectoire, il peut jouer un rôle en rejet de
perturbation).

𝑒(𝑡)

𝐶(𝑧 )
𝛥(𝑧 )

𝑥(𝑡)
+
𝑢(𝑡) + 1 𝑦(𝑡)
𝑧 𝐵(𝑧 )
𝐴(𝑧 )
Figure 1.1 : Modèle CARIMA

Donc :

𝐴(𝑧 )𝑦(𝑡) = 𝐵(𝑧 )𝑢(𝑡 − 1) + 𝐶(𝑧 )𝑒(𝑡)/∆


(2. 8)

Avec :

𝐴(𝑧 )= 1+𝑎 𝑧 +𝑎 𝑧 + ⋯+ 𝑎 𝑧

𝐵(𝑧 )=𝑏 +𝑏 𝑧 +𝑏 𝑧 + ⋯+ 𝑎 𝑧

Dans ce qui suit on considère 𝐶(𝑧 )=1

Pour pouvoir obtenir l’expression du prédicteur à 𝑗 pas, on pose

𝐼 = 𝐸 (𝑧 )𝐴(𝑧 ). 𝐿 + 𝑧 𝐹 (𝑧 )
(2.9)

Les polynomes 𝐸 et 𝐹 sont donnés par :

( )
𝐸 = 𝑒(𝑗, 0) + 𝑒(𝑗, 1)𝑧 + ⋯ + 𝑒(𝑗, 𝑗 − 1)𝑧

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

Le prédicteur optimal est enfin défini en considérant que la meilleure prédiction du


bruit dans le futur est sa moyenne (supposée nulle ici), soit :

ŷ   (𝑡 + 𝑗/𝑡) = 𝐹 𝑦(𝑡) + 𝐺 . 𝐿. 𝑢(𝑡 + 𝑗 − 1)


(2.10)

Avec 𝐺 = 𝐵𝐸

Une manière simple et effective pour déterminer les polynomes 𝐸 et 𝐹 est d’utiliser la
recursion de l’équation diophantienne de telle sorte que les plolynomes 𝐸 et 𝐹
seront obtenus à partir de 𝐸 et 𝐹 , cette procédure récursive, nous la résumons par les
deux étapes suivantes :

𝐸 =1
1-
𝐹 = 𝑧(1 − 𝐴)
𝐸 =𝐸 +𝑓 , .𝑧
2-
𝐹 = 𝑧(𝐹 − 𝐴. 𝑓 , )
Où : 𝐴 = ∆. 𝐴 = (1 − 𝑧 ). 𝐴

3.3.2 La loi de commande prédictive :

Supposons qu’un ensemble de consigne 𝑊(𝑡 + 𝑗) soit donné forment ainsi vecteur de
référence :

Pour simplification, on prendra 𝑊(𝑡 + 𝑗) = 𝑊 = 𝐶𝑠𝑡 ∀𝑗

Les sorties prédites sont données par la formule Eq.2.11

A un instant d’échantillonnage quelconque, seul le signal 𝑦(𝑡) est connu. Les signaux de
commande 𝑢(𝑡) et de perturbation 𝑒(𝑡) ne sont pas connus.

Yˆ   = G û + f (2.11)

Où : Yˆ   , û et f sont des vecteurs de dimension 𝑁 × tels que :

Yˆ   = ŷ (𝑡 + 1), … , ŷ (𝑡 + 𝑁)

û   = [𝐿 u (𝑡 + 1), … , 𝐿 u (𝑡 + 𝑁 − 1)]
𝑓 = [𝑓(𝑡 + 1), … , 𝑓(𝑡 + 𝑁 )]

La matrice G, est une matrice triangulaire inférieure de dimension 𝑁 × 𝑁 .

𝑔 (1, 0) 0 … 0
⎡ … ⎤
𝑔 (2, 1) 𝑔 (2, 0) 0
⎢ … ⎥
𝐺=⎢ 𝑔 (3, 2) 𝑔 (3, 1) 0 ⎥
⎢ ⋮ ⋮ … ⋮ ⎥
⎣𝑔 (𝑁 , 𝑁 − 1) 𝑔 (𝑁 , 𝑁 − 2) … 𝑔 (𝑁 , 0)⎦

Si on définit le vecteur consigne : 𝑊, par 𝑊 = [𝑊(𝑡), 𝑊(𝑡 + 1), … , 𝑊(𝑡, 𝑁)].

L’expression du critère de performance Eq.2.1, peut être écrite sous forme vectorielle
comme suit :

𝐽 = 𝐺 û + 𝑓 − 𝑤 𝐺 û + 𝑓 − 𝑤 + 𝜆 û T û
(2.12)

La minimisation de 𝐽 donne :

û   = 𝑀(𝑤 − 𝑓) (2.13)
𝑚
Avec 𝑀 = 𝐺 𝐺 û + 𝜆𝐼 𝐺 = ⋮ , Où 𝐼représente la matrice identité. 𝑓 une fonction
𝑚
obtenue

Cet incrément contrôle est utilisée dans un contexte à horizon fuyant (receding control
horizon) c-à-d que le premier élément de 𝑈 noté Δ𝑢(𝑡), est calculé pour donner la
commande courante :

Δ𝑢(𝑡) = 𝑚 (𝑤 − 𝑓) (2.14)

Avec 𝑚 est la première ligne de la matrice 𝑀, et la commande à appliquer au système à


l’instant 𝑡 est alors :

𝑢(𝑡) = 𝑢(𝑡 − 1) + Δ𝑢(𝑡) (2.15)

3.4 Régulateur polynomial équivalent RST

Il est enfin possible, à partir de la relation ci-dessus, de déduire la représentation


polynomiale du régulateur équivalent, comme indiqué Figure 2.1. Cette structure permet
l’implantation de la loi de commande par une simple équation aux différences :

∆𝑢(𝑡) = −𝑆(𝑧 )∆𝑢(𝑡 − 1) − 𝑅(𝑧 )𝑦(𝑡) + 𝑚 (𝑧)𝑤(𝑡)


(2.16)

w(t) + 1 u(t) z 1 B( z 1 )
m1 ( z ) - S ( z 1 ) A( z 1 ) y(t)

R ( z 1 )
Régulateur polynomial équivalent

Figure 1. Structure du régulateur polynomial équivalent

Exemple. 2 (Code Matlab : RST.m)

Considérer le système représenté par la fonction de transfert suivante :

𝐴(𝑧 )𝑦(𝑡) = 𝐵(𝑧 )𝑢(𝑡 − 1)

Avec :
𝐴(𝑧 ) = 1 − 1.425𝑧 + 0.535𝑧

𝐵(𝑧 ) = 0.1422 − 0.067𝑧

Les paramètres de réglage choisis pour la structure RST, conduisant à un comportement


stable sont :

𝑁 = 1, 𝑁 = 10, 𝜆 = 0.8, 𝑁 = 2

1.5 2
RST
Ref
1.5
1

0.5

S ignal d e c o m m and e u(t)


0.5
S ignal de sortie y (t)

0 0

-0.5
-0.5

-1

-1
-1.5

-1.5 -2
0 20 40 60 80 100 120 140 0 20 40 60 80 100 120 140
Temps (s) Temps (s)

1.5

1
Signal de l erreur e(t)

0.5

-0.5

-1

-1.5

-2
0 20 40 60 80 100 120 140
Temps (s)

Figure 2. Signal de sortie, Commande et la variation de l’erreur

3.5. Commande prédictive sous contraintes :

3.5.1 GPC sous contraintes terminales

L’idée développée dans la théorie de la commande CRHPC est d’imposer un horizon de


contraintes supplémentaire au delà des horizons de prédiction classiques pendant
lesquels s’opère l’optimisation de la fonction de coût quadratique. Il devient alors
possible de spécifier la valeur de la sortie en fonction de la consigne souhaitée, d’où le
nom de contraintes terminales. Cette stratégie, connue dans la littérature sous le nom
de Constrained Receding Horizon Predictive Control (CRHPC) [15-17], se traduit par la
condition suivante :

yˆ (t  N 2  j )  y ref (t  N 2 ), j  1,  , m (2.17)

𝑚
Référence
Contraintes
terminales
Sortie prédite

𝑁 𝑁

Horizon de cout
Passé ∆𝑢(𝑡) Future

∆𝑢(𝑡 + 1)

Figure .3 : Principe de la structure prédictive sous contraintes terminales

m : nombre de contraintes terminales

3. 5.1.1 Réécriture matricielle

Les prédicteurs sous forme matricielle s’expriment de façon similaire à la relation


Eq.2.11. La sortie prédite dans l’horizon supplémentaire est donnée par ( Nous
adopterons pour la suite l’indice ‘c’ pour tenir compte de la partie sous contraintes) :

(2.18)
Yˆc
  = G û + 𝑓

Yˆc (𝑡
  = ŷ + 𝑁 + 1), … , ŷ (𝑡 + 𝑁 + m)
𝑓 = [𝑓(𝑡 + 𝑁 + 1), … , 𝑓(𝑡 + 𝑁 + m)]

La matrice 𝐺 est une matrice triangulaire inférieure de dimension 𝑚 × 𝑁 .

𝐺
𝑔 (𝑁 + 1, 𝑁 + 1) 𝑔 (𝑁 + 1, 𝑁 ) … …
⎡ … … ⎤
𝑔 (𝑁 + 2, 𝑁 + 2) 𝑔 (𝑁 + 2, 𝑁 + 1)
⎢ … … ⎥
= ⎢ 𝑔 (𝑁 + 3, 𝑁 + 3) 𝑔 (𝑁 + 3, 𝑁 + 2) ⎥
⎢ ⋮ ⋮ … ⋮ ⎥
⎣𝑔 (𝑁 + 𝑚, 𝑁 + 𝑚) 𝑔 (𝑁 + 𝑚, 𝑁 + 𝑚 − 1) … 𝑔 (𝑁 + 𝑚, 𝑁 − 𝑁 + 𝑚 + 1)⎦

En utilisant les multiplicateurs de Lagrange, la séquence de commandes futures est


obtenue par minimisation de la forme matricielle du critère Eq.2.12 :

û   = 𝑀(𝑤 − 𝑓) + 𝑀 (𝑤 − 𝑓 ) (2.19)

Avec : 𝐻 = [𝐺 𝐺 + 𝜆𝐼]

𝑃 = [𝐺 𝐻𝐺 ]

𝑚
𝑀 = 𝐻𝐺 𝑃 = ⋮ ,
𝑚

𝑄 = (𝐼 − 𝑀 𝐺 )𝐻

𝑀 = 𝑄𝐺

Exemple.3 Code Matlab (CRHPC.m):

Afin de mettre en évidence l’impact des contraintes, nous présentons ci-dessous Figures
2.4- 2.5 des résultats de simulations obtenus pour deux systèmes différents.

Considérer le système représenté par la fonction de transfert suivante :

𝐴(𝑧 )𝑦(𝑡) = 𝐵(𝑧 )𝑢(𝑡 − 1)

1- Avec :

𝐴(𝑧 ) = 1 − 1.838𝑧 + 0.8607𝑧

𝐵(𝑧 ) = 0.01187 + 0.01129𝑧

Les paramètres de réglage choisis pour la structure GPC, conduisant à un comportement


stable sont :

𝑁 = 1, 𝑁 = 10, 𝜆 = 0.5986, 𝑁 = 2, 𝑚 = 3
GPC
1 Ref
CRHPC

0.5
Signal de sortie y(t)

-0.5

-1

0 50 100 150 200 250 300


Temps (s)

Figure .4. Signal de sortie de la commande GPC et CRHPC

2- Avec :

𝐴(𝑧 ) = 1 − 0.98𝑧 − 0.02𝑧

𝐵(𝑧 ) = 1.344 + 3.024𝑧

Les paramètres de réglage choisis pour la structure GPC, conduisant à un comportement


stable sont :

𝑁 = 1, 𝑁 = 8, 𝜆 = 0.5986, 𝑁 = 2, 𝑚 = 2
GPC
Ref
1
CRHPC

0.5
Signal de sortie y(t)

-0.5

-1

0 10 20 30 40 50 60
Temps (s)

Figure.5. Signal de sortie de la commande GPC et CRHPC

Les résultats obtenus ci-dessus illustrent les performances de la méthode, les courbes
montrent que la prise en compte de contraintes terminales améliore encore les résultats
obtenus lors des essais précédents, tout particulièrement concernant le dépassement en
position, qui restait important dans le cas de l’algorithme GPC.

3.5.2 MPC avec contraintes terminales

Comme pour l’algorithme GPC, la résolution se fait matriciellement pour l’algorithme


MBPC. Nous adopterons pour la suite l’indice ‘c’ pour tenir compte de la partie sous
contraintes [8].

La relation Eq.2.4 donnant le prédicteur optimal est utilisée dans le critère Eq.2.3 entre
les horizons [𝑁 , 𝑁 ] . Pour simplifier les notations, il est possible d’utiliser une
représentation matricielle de ce prédicteur[19].

Yˆ    U n
(2.20)

 B 0  0 
 AB B  0 
 
Avec   C n H 0 ,   C n x(k ) , H    
 Hp  2 Hp  Hu 1 i 
A B A Hp  3
B  i  0 A B
 A Hp 1 B A Hp  2 B  i 0 Ai B 
Hp  Hu

A  C 0  0 
 2  0 C  0
A 
 et C n   ,  R Hpno Hpns
     
 Hp   
 A   0 0  C

 : représente la réponse libre du système ( U n  0 )

 : représente la réponse forcée du système.

Le critère quadratique Eq.2.3 peut se combiner avec la relation Eq.2.20 pour obtenir
l’expression matricielle de ce critère :


J (U n )  J min  2   Yrefn  Q  U
T T
k 1   
S U n  U nT T Q  R  T S U n
(2.21)

J min  YrefT QYref   T Q  2YrefT Q  U kT1 SU kT1

u (k / k )   y reef (k  1) 
u (k  1 / k )   
 y ref (k  2) 
Un   ,  R ( Hu 1) ni
Yref    ,  R Hpn 0
  
   
u (k  Hu / k )  y ref (k  Hp)

 y max (k  1)   y min (k  1) 
 y (k  2)   y (k  2) 
Ymax   max  ,R Hpn 0
, Ymin  
min ,  R Hpn0
   
   
 y max (k  Hp)  y min (k  Hp)

u min (k )  u max (k ) 
u (k  1)  u (k  1) 
  min ,  R ( Hu 1) ni , U  max ,  R ( Hu 1) ni
U min max 
   
   
u min (k  Hu ) u max (k  Hu )
et pour la partie avec contraintes :

Yˆc  c   cU n
(2.22)

c : représente la réponse libre du système sur l’horizon supplémentaire ( U n  0 )

 c : représente la réponse forcée du système sur l’horizon supplémentaire.

Après une manipulation mathématique de prédiction  c et c sont donnée par :

 c  C nc H c 0

Et

c  C nc  c x(k )

𝐵
 A Hp B i 0 
Hp  Hu 1
A Hp1 B  A i
B ⎡ ⋮ ⎤
 Hp 1  ⎢∑ 𝐴 𝐵 ⎥⎥
 i 0
Hp  Hu  2 i
 A B A Hp B A B ⎢
Hc    ᴪ=⎢∑ 𝐴𝐵 ⎥
      ⎢ ⎥

A Hp m 2 B  i 0
Hp  Hu  m i
A Hp  m 1
B A B  ⎢ ⎥
 , ⎣∑ 𝐴 𝐵⎦

 A Hp 1  C 0  0 
 Hp  2  0 C  0
A
c   , C nc  ,  R mnomns
     
   
 A Hp  m   0 0  C

 y reef (k  Hp  1) 
 
 y ref (k  2) ,  R mn 0
Yrefc  

 
 y ref (k  Hp  m)

no : nombre de sorties

ni : nombre d’entrées

Hu : l’horizon de commande

Hp : l’horizon de prédiction
m : l’horizon supplémentaire représente les contraintes terminales.

Dans ce cas, des techniques de multiplicateurs de Lagrange sont tout à fait applicables.
Ainsi, la solution de l’algorithme CRHPC (MPC sous contraintes terminales), issue de la
minimisation des relations matricielles Eqs.2.21 et 2.22, est donnée par la séquence de
commandes futures :

∆𝑈(𝑘) = (𝐹 𝐺+𝐹 𝐺) (2.23)

𝐹=𝐶 ф
𝑉=𝐶 ᴪ
𝑆=𝐶 𝐻
𝐹 =𝐶 ф
𝑉 =𝐶 ᴪ
𝑆 =𝐶 𝐻
𝐸 = 𝑅𝑒𝑓 − 𝐹𝑥(𝑡) + 𝑉∆𝑢(𝑡)
𝐸 = 𝑅𝑒𝑓 − (𝐹 𝑥(𝑡) + 𝑉 ∆𝑢(𝑡))
𝐺 = 2𝑆 𝑄𝐸
𝐺 = 2𝑆 𝑄𝐸
𝐹 = 𝑆 𝑄𝑆 + 𝑅
𝐹 = 𝑆 𝑄𝑆 + 𝑅

3. 6 Conclusion

Dans ce chapitre nous avons présenté les éléments de base de deux stratégies de
commande prédictive à base de modèle linéaire, faisant intervenir des contraintes de
type égalités. Toutes les stratégies de commande prédictive ont les même paramètres de
réglage : l’horizon de prédiction [𝑁 , 𝑁 ], l’horizon de commande 𝑁 et la pondération
sur la commande 𝜆. Ces paramètres sont choisis de manière à obtenir la meilleure
réponse possible du système.

Ce chapitre a présenté les principes généraux de la commande prédictive, détaillant plus


spécifiquement deux formulations, GPC et MPC, dans le cas à temps invariant, faisant
intervenir des fonctions de coût quadratiques et des contraintes linéaires

L’horizon minimum 𝑁 est conditionné par la connaissance du retard du système 𝑘, si la


valeur de retard est connue, on peut poser que 𝑁 < 𝑘 . si le retard est inconnu ou
variable, 𝑁 = 1, ceci constitue le cas le plus général. Une valeur de 𝑁 égale au temps de
montée du système est généralement suggérée.

Pour des systèmes simple (stable en boucle ouverte même avec retard et phase non
minimale) 𝑁 = 1 donne généralement une commande acceptable. Pour des systèmes
complexes une valeur plus élevée de 𝑁 est plus appropriée, 𝑁 dans ce cas est au moins
égale au nombre de pôles instable ou mal amortis. La valeur du coefficient de
pondération ne doit pas très élevé de manière à éviter l’amortissement de l’action de
contrôle.

Vous aimerez peut-être aussi