Vous êtes sur la page 1sur 54

‫كلية العلوم و التقنيات بسطات‬

Faculté des Sciences et Techniques - Settat

UNIVERSITE HASSAN 1er

Faculté des Sciences et Techniques – Settat

Support de Cours

Identification Paramétrique et Commande


Adaptative des Systèmes dynamiques Linéaires

Cycle : Master en sciences et techniques

2ème année. Semestre 3

Filière : Automatique Traitement du Signal Informatique Industrielle

Année universitaire : 2021/2022

Soutenue le 10 Mars 2014 devant le jury

Par : M’hammed GUISSER


mguisser@gmail.com
Centre Régional des Métiers de
l’Education et de la Formation
Casa-Settat
Annexe Provinciale Settat

FST de Settat, Km 3, B.P. : 577 Route de Casablanca


Pr. *************

*********** Rapporteur

FST de Settat, Km 3, B.P. : 577 Route de Casablanca


Résumé : Ce module a pour objectifs théoriques, techniques et pratiques pour la construction
de modèles paramétriques des systèmes dynamiques linéaires discrets, à partir de données
expérimentales. Il permet d’aider les ingénieurs et les chercheurs à mettre en œuvre les
méthodes d’identification paramétrique et les techniques de commande numérique à caractère
adaptatif dans les applications industrielles. L’ajustement des paramètres du régulateur en
temps réel se fait sur la base de l’estimation en temps réel des paramètres du modèle du procédé
pendant le fonctionnement. De nombreux exemples académiques et industriels sont fournis
pour faciliter la compréhension de ce module, appuyés par des travaux dirigés et des travaux
pratiques. Enfin, les différents algorithmes d’identification paramétrique et de commande
adaptative étudiés sont implantés en simulation sous l’environnement Matlab/Simulink.

En vue d’une amélioration constante, toute remarque et commentaire sont les bienvenus.
Version provisoire

i
Table des matières

Introduction : ............................................................................................................................ 1
Chapitre 1 : Identification paramétrique............................................................................... 2
1.1. Introduction : ............................................................................................................... 2
1.2. Généralités sur l’identification .................................................................................... 2
1.2.1. Modélisation des systèmes dynamiques ............................................................... 2
1.2.2. Classification des modèles ................................................................................... 3
1.2.3. Choix du signal d’excitation ................................................................................ 5
1.3. Identification paramétrique.......................................................................................... 7
1.3.1. Structures de modèle ............................................................................................ 7
1.3.1.1. Modèle ARX (Auto Regressive with eXogenous input) .................................... 8
1.3.1.2. Modèle ARMAX (Auto Regressive, Moving average with eXogenous input) . 9
1.3.1.3. Modèle OE (Output Error) ............................................................................... 10
1.3.1.4. Modèle Box-Jenkins ......................................................................................... 10
1.3.1.5. Modèle général ................................................................................................. 10
1.3.2. Forme de régression et prédiction optimale ....................................................... 11
1.3.2.1. Modèle ARX .................................................................................................... 11
1.3.2.2. Modèle ARMAX .............................................................................................. 12
1.3.2.3. Modèle OE ....................................................................................................... 13
1.3.2.4. Modèle Box-Jenkins ......................................................................................... 14
1.4. Estimation des paramètres du modèle ....................................................................... 14
1.4.1. Algorithme des moindres carrés simples (non récursif)..................................... 14
1.4.2. Algorithmes récursifs ......................................................................................... 15
1.4.2.1. Algorithme des moindres carrés récursifs ........................................................ 16
1.4.2.2. Méthode des moindres carrés récursifs avec facteur d’oubli ........................... 17
1.4.2.3. Algorithme de gradient..................................................................................... 18
1.4.2.4. Méthode des moindres carrés récursifs étendus ............................................... 19
1.4.3. Validation du modèle ......................................................................................... 19
1.5. Identification en boucle fermée ................................................................................. 20
1.6. Aspects pratiques de l’identification ......................................................................... 21
Chapitre 2 : Commande adaptative ..................................................................................... 24
2.1. Introduction : ............................................................................................................. 24
2.2. Principe de la commande adaptative ......................................................................... 24
2.2.1. Définition ........................................................................................................... 24
2.2.2. Tâches typiques de la commande adaptative ..................................................... 24
2.2.3. Domaines d’application de la commande adaptative ......................................... 24
2.2.4. Similarités et différences entre la commande adaptative et la commande
conventionnelle ................................................................................................................. 24
2.2.5. Différentes techniques de commande adaptative ............................................... 25
2.2.6. Classes des systèmes à commander ................................................................... 26
2.2.7. Structure générale des régulateurs numériques .................................................. 27
2.3. Commande à variance minimale ............................................................................... 28
2.3.1. Commande à variance minimale généralisée ..................................................... 29
2.3.2. Commande auto-ajustable à variance minimale ................................................. 30
2.3.2.1. Schéma indirect de la commande adaptative à variance minimale ............. 30
2.3.2.2. Schéma direct de la commande adaptative à variance minimale ................ 31
2.4. Commande par placement de pôles ........................................................................... 32
2.4.1. Schéma de la commande adaptative par placement de pôles ............................. 34

ii
2.4.2. Comportement en asservissement ...................................................................... 35
2.5. Commande prédictive ................................................................................................ 35
2.5.1. Principe de fonctionnement de la commande adaptative ................................... 36
2.5.2. Commande prédictive généralisée...................................................................... 37
2.5.3. Modèle de représentation ................................................................................... 37
2.5.4. Prédicteur optimal .............................................................................................. 37
2.5.5. Critère d’optimisation ........................................................................................ 39
2.5.6. Commande prédictive adaptative ....................................................................... 40
Bibliographie : ........................................................................................................................ 41
Annexe A : Simulation des algorithmes d’identification et de commande adaptative .... 42

iii
Introduction :
L’identification des systèmes dynamiques consiste à rechercher des modèles mathématiques à
partir des données expérimentales et de connaissances disponibles a priori. Ces modèles doivent
fournir une approximation fidèle du comportement du système physique, dans le but de
concevoir des algorithmes de simulation, de prévision, de surveillance et de diagnostic ou de
commande. La démarche consiste à formaliser les connaissances disponibles a priori, à
recueillir des données expérimentales, puis à estimer la structure, les paramètres et les
incertitudes d’un modèle, enfin à valider (ou invalider) celui-ci. Les modèles issus de
l’identification sont appelés modèles boîte noire. La théorie de l’identification paramétrique
s’est principalement développée en considérant des modèles boîte noire à temps discret, en
raison du développement de l’informatique et du matériel de mesure numérique.
Dans un procédé industriel les paramètres du modèle sont souvent variables dans le temps à
cause de la présence des perturbations et des non linéarités. Ces variations paramétriques
dépendent du mode de fonctionnement, dans le cas où le système est sollicité à fonctionner dans
des points éloignés du régime nominal, L’identification par des algorithmes récursifs permet
d’estimer en ligne ces paramètres. Les techniques de réglage adaptatif, permettent l’ajustement
automatique en ligne et en temps réel des paramètres des régulateurs. Ces techniques participent
d’une manière essentielle à améliorer l’efficacité des processus de production, la qualité des
produits et la rentabilité. La commande adaptative a prouvé ses performances au travers de
nombreuses applications industrielles. Le développement de moyens de calcul rend la mise en
œuvre de ces commandes adaptatives possible, même pour des systèmes complexes et
relativement rapides.
Le support de cours est divisé en deux parties :
La première partie est consacrée à l’dentification paramétrique des modèles dynamiques des
procédés ; la définition des principes généraux relatifs à la modélisation des systèmes à partir
des données expérimentales, et à quelques rappels des différentes structures de modèle. Cette
partie met l’accent sur les principaux types d’algorithmes d’estimation paramétrique
intervenant dans les méthodes d’identification, pour le suivi des paramètres du modèle en temps
réel. Les approches de validation du modèle identifié sont présentées.
La deuxième partie présente les méthodes de la commande adaptative pour les systèmes
linéaires représentés avec des modèles identifiés. Il présente d’abord le principe de la
commande adaptative. Ensuite, les techniques de commande numérique conventionnelle par les
méthodes à minimum de variance, RST par placement de pôles et la commande prédictive. Puis,
une version adaptative est utilisée pour l’ajustement automatique en ligne et en temps réel de
ces régulateurs, afin de réaliser ou de maintenir un certain niveau de performances en
asservissement et en régulation.

FST-Settat 1
Chapitre 1 : Identification paramétrique

1.1. Introduction :
Pour régler convenablement un système dynamique il est nécessaire de bien connaître son
comportement. Modéliser un système consiste à rechercher un modèle mathématique capable
de le décrire le plus fidèlement possible. Ce modèle peut être obtenu par des équations issues
des lois de la physique (opération compliquée) ou par la simple observation du système en
fonctionnement. L’identification d’un système dynamique consiste à déterminer un modèle
mathématique simple qui traduit le plus proche possible son comportement à partir des données
expérimentales.
1.2. Généralités sur l’identification
1.2.1. Modélisation des systèmes dynamiques
Un système dynamique est un objet dans lequel différentes variables interagissent et
produisent des signaux observables (sorties).
La modélisation est l’ensemble des étapes nécessaires à l’élaboration d’un modèle
mathématique qui représente un processus dans une situation donnée.
Le modèle mathématique d’un système traduit les relations entre les différentes variables de
ce système. Il est en général d’écrit par des équations différentielles ou aux différences ou par
des fonctions de transfert. Le modèle mathématique est obtenu par deux approches :
• Par modélisation : modèle de connaissances, obtenu sur la base des lois physiques,
chimiques, biologiques, économiques…
✓ Difficultés de décrire fidèlement les phénomènes complexes (nécessite des
spécialistes) ;
✓ Plus précis et complet ;
✓ Dilemme précision-simplicité (hypothèses simplificatrices) ;
✓ Un modèle simple est faux, un modèle compliqué est inutilisable ;
✓ Les paramètres ont un sens physique donc modèle commode pour l’analyse.
• Par identification : modèle de représentation ou modèle de comportement entrées-
sorties (modèle expérimental ou encore modèle de commande).
✓ Système boite noire ;
✓ Moins précis et moins complet (spécialité non nécessaire), exploitation plus
efficace ;
✓ Paramètres du modèle n’ont aucun sens physique ;
✓ Modèle de conduite utile pour la commande.
Un modèle est utilisé pour :
• La simulation, c’est-à-dire l’évaluation de la performance d’un processus par
l’intermédiaire de son modèle (exemple simulateur d’avions).
• La conception, c’est-à-dire le dimensionnement d’un processus à partir des
caractéristiques de ses composants et des performances désirées (exemple
dimensionnement d’une installation électrique, mécanique ou chimique).
• La prédiction des sorties, (exemple prévision d’évolution des actions dans le marché
boursier/prévision météorologique/commande prédictive).
• La commande, c’est-à-dire le calcul de signaux de commande de façon à ce qu’un
processus suive au mieux ses grandeurs de consigne, même en présence de perturbations
(exemple contrôle de procédés industriels).
Les modèles de connaissance sont utilisés pour la simulation et la conception de procédés.
Ces modèles sont en général extrêmement complexes et rarement directement utilisables
FST-Settat 2
pour l’automatique. Les modèles de représentation, qui donnent la relation entre les
variations des entrées d’un système et les variations des sorties, permettent la conception et
l’ajustement des paramètres de commande.
1.2.2. Classification des modèles
Statique/Dynamique : selon le caractère des régimes de fonctionnement
Un modèle est dynamique si son état à un instant donné dépend non seulement de l’entrée
présente mais aussi des entrées passées. On dit qu’un modèle dynamique possède de la mémoire
ou de l’inertie. Il contient une ou plusieurs équations différentielles (ou aux différences). Par
opposition, la réponse d’un modèle statique à une entrée est instantanée. La relation entrée-
sortie est alors donnée par une ou plusieurs équations algébriques.
Monovariable/multivariable : selon le nombre de variables
Un modèle qui possède une seule entrée et une seule sortie est dit monovariable (SISO). Dans
le cas contraire, on parle d’un modèle multivariable (MIMO).
Déterministe/stochastique : selon l’évolution des paramètres
Un modèle est déterministe si les sorties futures peuvent être complétement déterminées à partir
de l’état actuel et des entrées futures. Dans un modèle stochastique, le hasard joue un rôle
important et on peut associer une probabilité aux sorties du modèle. Les perturbations affectant
le procédé varient de façon aléatoire.
Continu/discret : selon la façon de considérer le temps (temps continu/temps discret)
Un modèle est continu si ses variables temporelles (entrées, état, sorties) sont définies pour tout
temps 𝑡. Il est discret si celles-ci ne sont définies qu’en des instants particuliers, par exemple à
des instants d’échantillonnage.
Linéaire/non linéaire : selon la description mathématique
Un modèle est linéaire s’il obéit au principe de superposition défini par les propriétés
d’additivité et de proportionnalité. Un modèle est non linéaire s’il renferme au moins un
élément non linéaire. La linéarisation autour d’un point de fonctionnement est la représentation
d’un procédé industriel non linéaire par un modèle linéaire.
Stationnaire/non stationnaire :
Un modèle dont la structure et les paramètres (et non pas les entrées et sorties) ne varient pas
avec le temps est appelé stationnaire. On dit aussi qu’un système stationnaire ne vieillit pas. Il
se comportera plus tard de la même façon que maintenant. Dans le cas contraire, on parle d’un
système non stationnaire (ou évolutif).
Causal/anti-causal :
Un modèle causal est un modèle dont la réponse ne précède pas la variation de l’entrée. Tous
les systèmes physiques réels sont nécessairement causals, l’effet ne pouvant pas précéder la
cause.
Le modèle de représentation résultant d’une identification expérimentale à partir des signaux
d’entrée et de sortie du système, peut être :
• Paramétrique : modèle caractérisé par un ensemble fini de paramètres (exemple
fonction de transfert, équation différentielle ou aux différences, représentation d’état)
• Non Paramétrique : caractérisé par un ensemble infini de paramètres (exemple :
réponse fréquentielle, réponse indicielle).
Représentation d’un modèle linéaire stationnaire non paramétrique d’entrée 𝑢 et de sortie 𝑦 :
Modèle continu Modèle discret
Réponse impulsionnelle
𝑔(𝑡) 𝑔(𝑘)
FST-Settat 3
+∞ +∞
𝑦(𝑡) = ∫ 𝑔(𝜏)𝑢(𝑡 − 𝜏)𝑑𝜏 𝑦(𝑘) = ∑ 𝑔(𝑙)𝑢(𝑘 − 𝑙) ; 𝑘 = 0,1,2 …
0 𝑙=0
Réponse indicielle
𝑡 𝑘
𝑦(𝑡) = ∫ 𝑔(𝜏)𝑑𝜏 𝑦(𝑘) = ∑ 𝑔(𝑙)
0 𝑙=0
Réponse harmonique
𝑌(𝑗𝑤) 𝑌(𝑒 𝑗𝑤𝑇𝑒 )
𝐺(𝑗𝑤) = 𝐺(𝑒 𝑗𝑤𝑇𝑒 ) =
𝑈(𝑗𝑤) 𝑈(𝑒 𝑗𝑤𝑇𝑒 )
+∞ +∞
𝐺(𝑗𝑤) = ∫ 𝑔(𝑡)𝑒 −𝑗𝑤𝑡
𝑑𝑡 𝐺(𝜈) = ∑ 𝑔(𝑘)𝑒 −𝑗𝑘𝑤𝑇𝑒
0 𝑘=0

avec 𝑇𝑒 est la période d’échantillonnage du système. Le résultat de l’identification du système


dynamie est sous forme graphique (relevé de la réponse indicielle, impulsionnelle ou
harmonique), ou numérique (calcul de la réponse impulsionnelle 𝑔(𝑘) ou harmonique à partir
des signaux d’entrée et de sortie).
Représentation d’un modèle linéaire stationnaire paramétrique d’entrée 𝑢 et de sortie 𝑦 :

Modèle continu Modèle discret


Equations différentielles, aux différences
𝑦(𝑡) + 𝑎1 𝑦̇ (𝑡) + ⋯ 𝑎𝑛 𝑦 (𝑛) (𝑡) 𝑦(𝑘) + 𝑎1 𝑦(𝑘 − 1) + ⋯ 𝑎𝑛 𝑦(𝑘 − 𝑛)
(𝑛)
= 𝑏0 𝑢(𝑡) + 𝑏1 𝑢̇ (𝑡) + ⋯ 𝑏𝑛 𝑢 (𝑡) = 𝑏0 𝑢(𝑘) + 𝑏1 𝑢(𝑘 − 1) + ⋯ 𝑏𝑛 𝑢(𝑘 − 𝑛)
Fonction de transfert
𝑌(𝑝) 𝑏0 + 𝑏1 𝑝 + ⋯ 𝑏𝑛 𝑝𝑛 𝑌(𝑧) 𝑏0 + 𝑏1 𝑧 −1 + ⋯ 𝑏𝑛 𝑧 −𝑛
𝐺(𝑝) = = 𝐺(𝑧) = =
𝑈(𝑝) 1 + 𝑎1 𝑝 + ⋯ 𝑎𝑛 𝑝𝑛 𝑈(𝑧) 1 + 𝑎1 𝑧 −1 + ⋯ 𝑎𝑛 𝑧 −𝑛
Equation d’état
(
𝑥̇ 𝑡) = 𝐴𝑥(𝑡) + 𝐵𝑢(𝑡) 𝑥(𝑘 + 1) = 𝐴𝑥(𝑘) + 𝐵𝑢(𝑘)
{ {
𝑦(𝑡) = 𝐶𝑥(𝑡) 𝑦(𝑘) = 𝐶𝑥(𝑘)
Les équations précédentes ne peuvent décrire le comportement d’un procédé que lorsque celui-
ci est faiblement perturbé. Si ce n’est pas le cas, une représentation stochastique est nécessaire.
Nous nous intéresserons par la suite à l’identification des modèles dynamiques paramétriques
échantillonnés (Pour des raisons liées à l’implantation numérique, car les signaux disponibles
dans l’ordinateur sont de nature numérique) qui sont les plus appropriés pour la conception et
l’ajustement des systèmes numériques de commande et régulation.
L’identification est une approche expérimentale basée sur un certain nombre de techniques
algorithmiques pour traiter les données expérimentales. Elle comporte quatre étapes :
✓ Acquisition des entrées/sorties sous un protocole d’expérimentation. L’objectif est de
réaliser une expérience donnant le maximum d’informations sur le système tout en
minimisant l’influence des perturbations. Les données mesurées doivent contenir
suffisamment d’informations concernant le système (richesse de l’excitation). Le choix
(quand c’est possible) des conditions d’expérimentation est important : le type de
signaux d’entrées utilisés (amplitudes, durées, spectre fréquentiel…), la cadence des
mesures…
✓ Choix de la structure du modèle du processus, il détermine la classe dans laquelle une
description souhaitable du système est cherchée. Les éléments généraux qui doivent être
pris en compte dans cette étape sont : la forme de représentation du modèle (linéaire/non
linéaire, déterministe/stochastique,…), l’ordre du modèle, la nature des perturbations …
Le choix d’une classe de modèles n’est pas toujours évident et nécessite quelques
FST-Settat 4
connaissances a priori sur le système (ordre, retard, niveau de bruit de mesure, …) ou
de tests simples effectués sur le système à identifier, mais cette classe peut être modifiée
plus tard de façon itérative si nécessaire.
✓ Estimation des paramètres du modèle (algorithme d’identification) : méthode de calcul
des paramètres qui se base sur la classe de modèle choisie et les données collectées,
pour trouver le meilleur modèle de cette classe au sens d’un critère de performance
choisi d’avance : par exemple minimiser l’erreur de sortie (différence entre la sortie du
modèle et celle du vrai système),
✓ Validation du modèle identifié (structure et valeur des paramètres), il est nécessaire de
réaliser plusieurs tests de vérification qui impliquent des procédures et des signaux
d’excitation différents, pour évaluer la façon dont le modèle identifié est représentatif
des comportements entrées/sorties du procédé. Pour cette étape il est nécessaire
d’utiliser des mesures différentes de celles utilisées pour l’identification.
Connaissances a
priori
Choix des conditions
d’expérimentation

Acquisition de données
Choix d’une structure de
modèle

Choix du critère de
performance

Identification des paramètres du modèle


Non accepté
Validation du modèle
Accepté (utilisation)
Figure 1.1 : Procédure d’identification
Si les résultats obtenus avec le modèle identifié ne sont pas satisfaisants, il sera nécessaire de
revenir aux étapes précédentes et d’analyser en particulier si les données sont assez riches, si la
structure de modèle, le critère de performance et la méthode d’identification sont
convenablement choisies. Le modèle sera reconstruit jusqu’à ce que la validation soit effectuée
avec succès.
1.2.3. Choix du signal d’excitation
Pour obtenir un modèle consistant, il est important d’exciter le processus avec toutes les
fréquences de sa plage de fonctionnement. Le signal d’entrée appliqué doit donc être riche en
fréquences (possède un large spectre de fréquence susceptible de contenir des constantes de
temps associées aux pôles et zéros du système) pour permettre la sollicitation de toutes les
dynamiques que l’on cherche à identifier.
On se propose les signaux suivants :
✓ Signal sinusoïdal : parfait d’un point de vue spectre (balayage en fréquence) mais peu
de systèmes acceptent ce genre d’entrées,
✓ Impulsion de Dirac : parfait du point de vue théorique, mais, il est difficile de réaliser
un tel signal (sauf en électronique),

FST-Settat 5
✓ Echelon : moins bon d’un point de vue spectral (𝑈(𝑓) = 𝑠𝑖𝑛𝑐(𝑓)), mais facile à
implanter,
✓ Bruit blanc : idéal d’un point de vue spectral mais difficile à réaliser.
En général, on applique un signal périodique pseudo-aléatoire appelé aussi séquence binaire
pseudo-aléatoire SBPA proche d’un bruit blanc. Une SBPA est un signal parfaitement
déterministe, périodique à deux niveaux. Elle est facilement générée à l’aide de registre à
décalage.
Soit un registre à décalage de 𝑁 bits dont le contenu est décalé vers la droite à chaque coup
d’horloge.

Conversion
𝐵1 𝐵2 𝐵3 … 𝐵 … 𝐵𝑗 … 𝐵𝑁 1 +𝑎
0 −𝑎
𝐵 𝐵𝑗

Ou exclusif ou
additionneur modulo 2
Figure 1.2 : Génération de SBPA à l’aide d’un registre à décalage
Pour que le système fonctionne, on doit initialiser le registre à n’importe quelle valeur binaire
sauf zéro. La forme du signal est déterminée par le mot initial dans le registre. Le signal généré
est périodique car le registre ne peut prendre qu’un maximum de 2𝑁 − 1 états distincts. Une
séquence sur 𝑁 bits à une longueur maximale 𝐿 = 2𝑁 − 1.
𝑢(𝑘)

+𝑎

𝑘𝑇𝑆𝐵𝑃𝐴
𝑇𝑆𝐵𝑃𝐴
−𝑎

15𝑇𝑆𝐵𝑃𝐴
Figure 1.3 : Diagramme temporel d’une séquence binaire pseudo aléatoire de période 15𝑇𝑆𝐵𝑃𝐴
Les bits à utiliser pour obtenir une séquence de longueur maximale :
N Bits
3 𝐵1 ⨁𝐵3
4 𝐵3 ⨁𝐵4
5 𝐵3 ⨁𝐵5
6 𝐵5 ⨁𝐵6
7 𝐵4 ⨁𝐵7
8 𝐵2 ⨁𝐵3 ⨁𝐵4 ⨁𝐵8
9 𝐵5 ⨁𝐵9
10 𝐵7 ⨁𝐵10

FST-Settat 6
Choix des paramètres d’une SBPA
Lorsqu’on utilise une excitation pseudo aléatoire pour identifier un système dynamique, il est
nécessaire de vérifier certaines conditions d’expérimentation afin d’obtenir une estimation
fiable du modèle.
Il faut donc déterminer 𝑎; 𝐿 (donc 𝑁) et la période 𝑇𝑆𝐵𝑃𝐴 de l’horloge (de décalage du registre)
optimum vis-à-vis du système à identifier.
Le choix de l’amplitude 𝑎 est lié au bruit présent dans le système. On choisit 𝑎 juste assez grand
pour avoir du signal en sortie du système.
Une SBPA envoyée à la fréquence 𝑓𝑆𝐵𝑃𝐴 = 1/𝑇𝑆𝐵𝑃𝐴 présente un plateau de longueur maximale
𝑁𝑇𝑆𝐵𝑃𝐴 (la plus large impulsion est de longueur 𝑁 pas). Le plus petit plateau étant de longueur
𝑇𝑆𝐵𝑃𝐴 .
Le choix de 𝑁 et 𝑇𝑆𝐵𝑃𝐴 est donc, un compromis entre une bonne identification du gain statique
et une bonne excitation sur la bande de fréquence du système.
Si 𝑡𝑚 est le temps de monté du procédé et 𝑡𝑑 la durée de l’expérience et 𝑀 le nombre de données
à prélever sur le système.
Pour une bonne identification du gain statique du système, on choisit 𝑁𝑇𝑆𝐵𝑃𝐴 > 𝑡𝑚 . D’autre
part, pour balayer tout le spectre des fréquences disponibles, il faut une durée d’essai 𝑡𝑑 au
moins égale à une période complète de l’excitation 𝑡𝑑 > 𝐿𝑇𝑆𝐵𝑃𝐴 .
Pour un procédé lent, 𝑡𝑚 est grand ce qui peut conduire à des valeurs assez grandes de 𝑁
correspondant à des longueurs SBPA de durée prohibitive. Pour cela, on choisit souvent comme
fréquence d’horloge 𝑓𝑆𝐵𝑃𝐴 pour la SBPA un sou multiple de la fréquence d’échantillonnage
𝑓𝑒 = 1/𝑇𝑒 du procédé : (𝑓𝑆𝐵𝑃𝐴 = 𝑓𝑒 /𝑝 ; pour 𝑝 = 1,2,3 … ; soit encore 𝑇𝑆𝐵𝑃𝐴 = 𝑝𝑇𝑒 ).
Alors la condition précédente devient : 𝑁𝑝𝑇𝑒 > 𝑡𝑚 et 𝑀𝑇𝑒 > (2𝑁 − 1)𝑝𝑇𝑒 ; ceci permet de
choisir une valeur raisonnable de 𝑁.

Plateau maximum de 𝑁𝑇𝑆𝐵𝑃𝐴

SBPA

Sortie du
procédé 𝑡𝑚
Figure 1.4 : Identification du gain statique
1.3. Identification paramétrique
L’identification paramétrique permet l’estimation des paramètres d’un modèle choisi au
préalable, à partir de données expérimentales exploitant uniquement les mesures prélevées sur
les écarts par rapport au point de fonctionnement des entrées/sorties, et de connaissances
préalables sur le système (plage des fréquences, amplitude du signal d’entrée, ordre, retard, …).
1.3.1. Structures de modèle
Les modèles d’identification utilisent le plus souvent une représentation discrète, bien que les
processus physiques réels soient généralement de nature continue, en raison du développement
de l’informatique et du matériel de mesure numérique. Ceci résulte du fait que, d’une part,
l’ordinateur qui se charge de l’identification voit un processus discret à travers les
convertisseurs A/N et N/A et que, d’autre part, l’identification des paramètres, la synthèse du
régulateur et la simulation du système sont plus simples sous forme numérique que sous forme
analogique.

FST-Settat 7
Les signaux d’entrée 𝑢 et de sortie 𝑦 sont échantillonnés à la période d’échantillonnage 𝑇𝑒 . La
mesure apporte un bruit de mesure, ou bruit de capteur 𝑣.
𝑣(𝑘)

C C + 𝑦(𝑘)
𝑢(𝑘) +
N Procédé A
A N
Figure 1.5 : Système discret équivalent
L’identification à partir d’une représentation paramétrique présente de nombreux avantages :
✓ Possibilité d’utiliser des signaux d’excitation d’amplitude réduite,
✓ Meilleure précision,
✓ Suivi des paramètres du modèle en temps réel permettant, si nécessaire, un ajustement
du régulateur pendant le fonctionnement du processus,
✓ Identification des perturbations et des bruits de mesure ce qui permet de mieux identifier
le processus lui-même,
✓ Procédure d’identification plus courte,
✓ Possibilité de valider le modèle obtenu.
Il existe différentes structures de modèle, la différence réside principalement dans la
modélisation de la perturbation.
1.3.1.1. Modèle ARX (Auto Regressive with eXogenous input)
L’identification d’un modèle linéaire se base souvent sur une représentation externe
fréquentielle, c’est-à-dire une fonction de transfert. Celle-ci est représentée dans le cas
échantillonné par l’équation aux différences suivante :
𝑛𝑎 𝑛𝑏
𝑦(𝑘) + ∑ =1 𝑎 𝑦(𝑘 − 𝑖) = ∑𝑗=0 𝑏𝑗 𝑢(𝑘 − 𝑗 − 𝑑) + 𝑒(𝑘) ; 𝑘 = 0,1,2, … (1.1)
où 𝑑 représente le retard exprimé comme un multiple entier de la période d’échantillonnage 𝑇𝑒 ,
et 𝑘 l’instant d’échantillonnage 𝑡 = 𝑘𝑇𝑒 . On suppose que les valeurs de 𝑛𝑎 , 𝑛𝑏 et 𝑑 sont connues
a priori.
𝑒(𝑘) est une perturbation stochastique de type bruit blanc (processus stochastique non
prédictible) de moyenne nulle 𝐸[𝑒(𝑘)] = 𝜇 = 0 ; de variance 𝐸[(𝑒(𝑘) − 𝜇)2 ] = 𝜎 2 . Le bruit
𝑒(𝑘) est indépendant de l’entrée déterministe 𝑢(𝑘). Notons que 𝜎 (écart type) représente ici la
(vraie) valeur efficace du bruit 𝑒(𝑘). Le bruit 𝑒(𝑘) représente l’effet global de plusieurs sources
d’erreur (bruits de mesure, perturbations, …).
La transformée en 𝑧 de l’équation aux différences (1.1), donne la fonction de transfert du
système :
𝑏0 +𝑏1 𝑧 −1 +𝑏2 𝑧 −2 +⋯+𝑏𝑛𝑏 𝑧 −𝑛𝑏 𝐵(𝑧 −1 )
𝐺(𝑧) = 𝑧 −𝑑 = 𝑧 −𝑑 𝐴(𝑧 −1 ) (1.2)
1+𝑎1 𝑧 −1 +𝑎2 𝑧 −2 +⋯+𝑎𝑛𝑎 𝑧 −𝑛𝑎
Le bruit 𝑒(𝑘) perturbe la sortie brute de la fonction de transfert 𝐺(𝑧) du système via la
dynamique 1/𝐴(𝑧 −1 ).
Dans le but de simplifier l’écriture des équations aux différences, on introduit l’opérateur retard
𝑞 −1 qui s’applique directement aux signaux temporels, défini comme suit :
𝑞 −1 𝑦(𝑘) = 𝑦(𝑘 − 1) ; 𝑘 ≥ 1 ; 𝑞 −1 𝑦(0) = 0
L’équation (1.1) s’écrit ainsi sous une forme plus compacte :
𝐴(𝑞 −1 )𝑦(𝑘) = 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) + 𝑒(𝑘) (1.3)
−1 −1
Les polynômes 𝐴(𝑞 ) et 𝐵(𝑞 ) sont données par :
𝐴(𝑞 −1 ) = 1 + 𝑎1 𝑞 −1 + 𝑎2 𝑞 −2 + ⋯ + 𝑎𝑛𝑎 𝑞 −𝑛𝑎
𝐵(𝑞 −1 ) = 𝑏0 + 𝑏1 𝑞 −1 + 𝑏2 𝑞 −2 + ⋯ + 𝑏𝑛𝑏 𝑞 −𝑛𝑏
Le nombre de paramètres à estimer est 𝑛𝑎 + (𝑛𝑏 + 1) et le retard 𝑑.

FST-Settat 8
Le modèle ARX est le plus simple, donne souvent de bons résultats, mais le traitement du bruit
est soumis à la même dynamique que l’entrée. A utiliser en première approximation ou lorsque
le bruit est surtout à l’entrée.
𝑒(𝑘)

𝑣(𝑘)
𝑢(𝑘) + 𝑦(𝑘)
+

Figure 1.6 : Structure du modèle ARX


La structure ARX modélise le bruit 𝑣(𝑘) par un bruit blanc filtré à l’aide du dénominateur du
modèle du processus.
1.3.1.2. Modèle ARMAX (Auto Regressive, Moving average with eXogenous input)
Proche du modèle ARX, il s’utilise dans les mêmes cas. Il permet en outre de créer un modèle
de bruit un peu plus réaliste. C’est le modèle le plus utilisé, il suppose l’existence d’un modèle
de bruit blanc filtré à moyenne mobile ou glissante (moving average) :
𝐴(𝑞 −1 )𝑦(𝑘) = 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) + 𝐶(𝑞 −1 )𝑒(𝑘) (1.4)
−1 ) −1 −2 −𝑛𝑐
avec : 𝐶(𝑞 = 1 + 𝑐1 𝑞 + 𝑐2 𝑞 + ⋯ + 𝑐𝑛𝑐 𝑞
La structure ARMAX inclut une fonction de transfert avec une moyenne ajustable sur le bruit
blanc. Elle offre un degré de liberté supplémentaire pour modéliser la dynamique des
perturbations 𝑒(𝑘). En général le bruit blanc permet de modéliser des perturbations non-
mesurables dans le modèle. Or, ces perturbations non-mesurables (fluctuations thermiques,
vibrations du sol…) sont rarement de moyenne nulle et peuvent aussi répondre à un modèle. La
plupart des perturbations aléatoires peuvent être décrites comme un bruit blanc passé par un
filtre.
Le nombre de paramètres à identifier est 𝑛𝑎 + (𝑛𝑏 + 1) + 𝑛𝑐 et le retard 𝑑.

𝑒(𝑘)

𝑣(𝑘)
𝑢(𝑘) + 𝑦(𝑘)
+

Figure 1.7 : Structure du modèle ARMAX

FST-Settat 9
1.3.1.3. Modèle OE (Output Error)
Le modèle à erreur de sortie, est le meilleur lorsque le bruit est surtout un bruit de capteur, donc
proche de la sortie.
𝐵(𝑞 −1 )
𝑦(𝑘) = 𝑞 −𝑑 𝐴(𝑞−1 ) 𝑢(𝑘) + 𝑒(𝑘) (1.5)
Le nombre de paramètres à estimer est 𝑛𝑎 + (𝑛𝑏 + 1) et le retard 𝑑.
𝑒(𝑘)

𝑣(𝑘)
𝑢(𝑘) + 𝑦(𝑘)
+

Figure 1.8 : Structure du modèle OE


1.3.1.4. Modèle Box-Jenkins
La structure proposée par Box et Jenkins est plus générale. Le modèle complet par excellence,
car les modèles du procédé et du bruit n’ont pas de facteur communs (dynamique différente
pour l’entrée 𝑢(𝑘) et le bruit 𝑒(𝑘) : 𝐴(𝑞 −1 ) ≠ 𝐷(𝑞 −1 )). Ainsi, on a plus de degré de liberté
pour modéliser le bruit mais également plus de paramètres à identifier. La sortie du modèle est
représentée par :
𝐵(𝑞 −1 ) 𝐶(𝑞 −1 )
𝑦(𝑘) = 𝑞 −𝑑 𝐴(𝑞−1 ) 𝑢(𝑘) + 𝐷(𝑞−1 ) 𝑒(𝑘) (1.6)
avec : 𝐷(𝑞 −1 ) = 1 + 𝑑1 𝑞 −1 + 𝑑2 𝑞 −2 + ⋯ + 𝑐𝑛𝑑 𝑞 −𝑛𝑑
Le nombre de paramètres à estimer est 𝑛𝑎 + (𝑛𝑏 + 1) + 𝑛𝑐 + 𝑛𝑑 et le retard 𝑑.
𝑒(𝑘)

𝑣(𝑘)
𝑢(𝑘) + 𝑦(𝑘)
+

Figure 1.9 : Structure du modèle Box-Jenkins


1.3.1.5. Modèle général
La structure générale permet de représenter des systèmes physiques linéaires ayant une entrée
déterministe 𝑢(𝑘), une entrée stochastique 𝑒(𝑘) et une sortie 𝑦(𝑘) et de modéliser, l’influence
du bruit/des perturbations agissant sur le système avec une dynamique appropriée. L’ensemble
des effets des bruits et perturbations sont représentées par le signal stochastique 𝑣(𝑘), lui-même
étant généré en filtrant un bruit blanc 𝑒(𝑘) avec la dynamique 𝐻(𝑞 −1 ).
𝑦(𝑘) = 𝐺(𝑞 −1 )𝑢(𝑘) + 𝐻(𝑞 −1 )𝑒(𝑘) (1.7)

FST-Settat 10
𝑒(𝑘)

𝐻(𝑞−1 )

𝑣(𝑘)
𝑢(𝑘) + 𝑦(𝑘)
+
𝐺(𝑞−1 )

Figure 1.10 : Structure du modèle général


Deux cas peuvent se présenter :
✓ 𝐻(𝑞 −1 ) et 𝐺(𝑞 −1 ) ont des pôles communs, l’entrée de commande et la perturbation ont
des dynamiques communes.
✓ 𝐻(𝑞 −1 ) et 𝐺(𝑞 −1 ) n’ont pas de pôles communs, les dynamiques de l’entrée de
commande et celle de la perturbation sont découplées (plus réaliste).
Il existe deux analyses possibles de l’identification :
✓ Si le bruit est de nature aléatoire négligeable, la sortie est donc de nature déterministe,
les paramètres estimés sont alors également déterministes et peuvent être obtenus à
partir d’un nombre réduit de mesures.
✓ Si le bruit est un signal aléatoire important, la sortie est de nature stochastique, les
paramètres estimés sont à leur tour, des variables aléatoires qu’il convient de les
caractériser statistiquement.
1.3.2. Forme de régression et prédiction optimale
Prédicteur optimale : Le prédicteur optimal de la sortie 𝑦(𝑘) à l’instant 𝑘, sur la base des
informations précédentes disponibles jusqu’ à l’instant 𝑘 − 1, qui minimise la variance de
l’erreur de prédiction qui est la différence entre la sortie mesurée et la sortie prédite du modèle:
𝐽(𝑥) = 𝐸[(𝑦(𝑘) − 𝑦̂(𝑘/𝑘 − 1))2 ] = 𝐸[(𝑦(𝑘) − 𝑥)2 ] ; 𝑥 = 𝑦̂(𝑘/𝑘 − 1) (1.8)
Le prédicteur est une fonction des paramètres 𝜃 du modèle à identifier et des signaux d’entrée
et de sortie : 𝑦̂(𝑘/𝑘 − 1, 𝜃) = 𝐹(𝜃, 𝑦(𝑘 − 1), 𝑦(𝑘 − 2), … , 𝑢(𝑘 − 1), 𝑢(𝑘 − 2), … )
Forme de régression : La forme de régression exprime la sortie 𝑦(𝑘) en fonction d’un vecteur
d’observations et du vecteur de paramètres. La forme de régression est utilisée pour estimer les
paramètres du modèle par un algorithme d’identification.
1.3.2.1. Modèle ARX
Forme de régression :
L’équation aux différences correspondante au modèle ARX 𝐴(𝑞 −1 )𝑦(𝑘) = 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) +
𝑒(𝑘) est :
𝑦(𝑘) = −𝑎1 𝑦(𝑘 − 1) − 𝑎2 𝑦(𝑘 − 2) − ⋯ − 𝑎𝑛𝑎 𝑦(𝑘 − 𝑛𝑎 ) + 𝑏0 𝑢(𝑘 − 𝑑) + 𝑏1 𝑢(𝑘 − 1 −
𝑑) + 𝑏2 𝑢(𝑘 − 2 − 𝑑) + ⋯ + 𝑏𝑛𝑏 𝑢(𝑘 − 𝑛𝑏 − 𝑑) + 𝑒(𝑘)
On peut également écrire cette équation sous la forme de régression suivante :
𝑦(𝑘) = 𝜑 𝑇 (𝑘)𝜃 + 𝑒(𝑘) (1.8)
avec :
𝜑 𝑇 (𝑘) = [−𝑦(𝑘 − 1) ⋯ − 𝑦(𝑘 − 𝑛𝑎 ) 𝑢(𝑘 − 𝑑) 𝑢(𝑘 − 1 − 𝑑) ⋯ 𝑢(𝑘 − 𝑛𝑏 − 𝑑)]
𝑇
𝜃 = [𝑎1 ⋯ 𝑎𝑛 𝑎 𝑏0 𝑏1 ⋯ 𝑏𝑛 𝑏 ]

FST-Settat 11
où 𝜑 𝑇 (𝑘) représente le vecteur d’observation (ou régresseur) qui dépend des valeurs passées
des entrées et sorties mesurées et 𝜃 représente le vecteur des paramètres 𝑎 et 𝑏𝑗 à identifier.
La forme de régression (1.8) est linéaire par rapport au vecteur de paramètres du modèle à
identifier.
Prédicteur optimal :
On cherche à prédire la sortie à l’instant 𝑘 sachant que la sortie et l’entrée sont connues aux
instants précédents. Le prédicteur optimal est le nombre 𝑥 qui minimise la fonction :
𝐽(𝑥) = 𝐸[(𝑦(𝑘) − 𝑥)2 ] (1.9)
On note 𝑥 = 𝑦̂(𝑘/𝑘 − 1, 𝜃) l’estimé de 𝑦(𝑘) à l’instant 𝑘 calculé à partir de toutes les
informations disponibles jusqu’à l’instant 𝑘-1, (la sortie prédite est paramétrisée par le vecteur
de paramètres 𝜃).
On a :
𝐴(𝑞 −1 )𝑦(𝑘) = 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) + 𝑒(𝑘)
Ce qui implique :
𝑦(𝑘) = (1 − 𝐴(𝑞 −1 ))𝑦(𝑘) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) + 𝑒(𝑘) (1.10)
On pose :
𝛾 = (1 − 𝐴(𝑞 −1 ))𝑦(𝑘) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) (1.11)
Le terme 𝛾 et déterminé à partir des mesures d’entrée/sortie 𝑦(𝑘 − 1),…, 𝑦(𝑘 − 𝑛𝑎 ),𝑢(𝑘 −
𝑑), 𝑢(𝑘 − 1 − 𝑑),…, 𝑢(𝑘 − 𝑛𝑏 − 𝑑) qui sont connues à l’instant 𝑘 − 1.
Le critère 𝐽(𝑥) devient :
𝐽(𝑥) = 𝐸[(𝛾 + 𝑒(𝑘) − 𝑥)2 ] = 𝐸[(𝛾 − 𝑥)2 ] + 2𝐸[(𝛾 − 𝑥)𝑒(𝑘)] + 𝐸[𝑒(𝑘)2 ]
Le bruit blanc 𝑒(𝑘) est non corrélé avec la quantité déterministe (𝛾 − 𝑥), donc
𝐸[(𝛾 − 𝑥)𝑒(𝑘)] = 𝐸[𝛾 − 𝑥]. 𝐸[𝑒(𝑘)] = 0 ; on obtient :
𝐽(𝑥) = (𝛾 − 𝑥)2 + 𝜎 2
Le prédicteur optimal correspond au minimum du critère 𝐽(𝑥) :
𝜕𝐽(𝑥)
= 0 ⟹ −2(𝛾 − 𝑥) = 0 ⟹ 𝑥 = 𝛾
𝜕𝑥
𝜕2 𝐽(𝑥)
On vérifie également que 𝜕𝑥 2 = 2 > 0, ceci implique que 𝑥 corresponde bien à un minimum
de 𝐽(𝑥).
Le prédicteur optimal de la sortie pour la structure ARX est :
𝑦̂(𝑘/𝑘 − 1, 𝜃) = (1 − 𝐴(𝑞 −1 ))𝑦(𝑘) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) (1.12)
Ce prédicteur est particulièrement simple à calculer car il définit une régression linéaire par
rapport aux paramètres 𝜃 que l’on écrit généralement sous la forme :
𝑦̂(𝑘/𝑘 − 1, 𝜃) = 𝜑 𝑇 (𝑘)𝜃 (1.13)
L’erreur de prédiction du modèle ARX : 𝛿(𝑘, 𝜃) = 𝑦(𝑘) − 𝑦̂(𝑘/𝑘 − 1) = 𝑒(𝑘) est un bruit
blanc.
1.3.2.2. Modèle ARMAX
L’équation associée à cette structure 𝐴(𝑞 −1 )𝑦(𝑘) = 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) + 𝐶(𝑞 −1 )𝑒(𝑘), peut
s’écrire :
𝐴(𝑞 −1 ) 𝐵(𝑞 −1 )
𝑦(𝑘) = 𝑞 −𝑑 𝐶(𝑞−1 ) 𝑢(𝑘) + 𝑒(𝑘) (1.14)
𝐶(𝑞 −1 )
Que l’on écrit également :
𝐴(𝑞 −1 ) 𝐵(𝑞 −1 )
𝑦(𝑘) = (1 − 𝐶(𝑞−1 ) ) 𝑦(𝑘) + 𝑞 −𝑑 𝐶(𝑞−1 ) 𝑢(𝑘) + 𝑒(𝑘) (1.15)
Supposons qu’on soit à l’instant 𝑘 − 1 et qu’on veuille prédire la sortie du système à l’instant
𝑘 (prédicteur à un pas).
𝐴(𝑞 −1 ) 𝐵(𝑞 −1 )
En posant : 𝛾 = (1 − 𝐶(𝑞−1 ) ) 𝑦(𝑘) + 𝑞 −𝑑 𝐶(𝑞−1 ) 𝑢(𝑘)
Ce qui donne :
FST-Settat 12
𝐶(𝑞 −1 )𝛾 = (𝐶(𝑞 −1 ) − 𝐴(𝑞 −1 ))𝑦(𝑘) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) (1.16)
On obtient :
𝛾 = (1 − 𝐶(𝑞 −1 ))𝛾 + (𝐶(𝑞 −1 ) − 𝐴(𝑞 −1 ))𝑦(𝑘) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) (1.17)
On constate que le terme 𝛾 est déterministe, il dépend des valeurs passées de 𝑦(𝑘) et 𝑢(𝑘)
disponibles à l’instant 𝑘 − 1, (𝑦(𝑘 − 1),…, 𝑦(𝑘 − 𝑛𝑎 ), 𝑢(𝑘 − 𝑑), 𝑢(𝑘 − 1 − 𝑑),…, 𝑢(𝑘 −
𝑛𝑏 − 𝑑)). Il dépend aussi des valeurs passées 𝛾(𝑘 − 1), 𝛾(𝑘 − 2),…, accessibles à l’instant
𝑘 − 1.
La sortie s’écrit alors 𝑦(𝑘) = 𝛾 + 𝑒(𝑘), où 𝛾 est une quantité déterministe donc indépendante
du bruit blanc 𝑒(𝑘), on montre de la même façon que le prédicteur optimal de la sortie pour la
structure ARMAX est :
𝐴(𝑞 −1 ) 𝐵(𝑞 −1 )
𝑦̂(𝑘/𝑘 − 1, 𝜃) = (1 − 𝐶(𝑞−1 ) ) 𝑦(𝑘) + 𝑞 −𝑑 𝐶(𝑞−1 ) 𝑢(𝑘) (1.18)
Que l’on peut écrire sous la forme la plus pratique :
𝑦̂(𝑘/𝑘 − 1, 𝜃) = (1 − 𝐶(𝑞 −1 ))𝑦̂(𝑘/𝑘 − 1) + (𝐶(𝑞 −1 ) − 𝐴(𝑞 −1 ))𝑦(𝑘) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘)
(1.19)
Soit encore :
𝑦̂(𝑘/𝑘 − 1, 𝜃) = (𝐶(𝑞 −1 ) − 1)(𝑦(𝑘) − 𝑦̂(𝑘/𝑘 − 1, 𝜃)) + (1 − 𝐴(𝑞 −1 ))𝑦(𝑘) +
𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) (1.20)
On introduit l’erreur de prédiction 𝛿(𝑘, 𝜃) = 𝑦(𝑘) − 𝑦̂(𝑘/𝑘 − 1, 𝜃), on obtient :
𝑦̂(𝑘/𝑘 − 1, 𝜃) = (𝐶(𝑞 −1 ) − 1)𝛿(𝑘, 𝜃) + (1 − 𝐴(𝑞 −1 ))𝑦(𝑘) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) (1.21)
On peut écrire ce prédicteur sous la forme compacte :
𝑦̂(𝑘/𝑘 − 1, 𝜃) = 𝜑 𝑇 (𝑘, 𝜃)𝜃 (1.22)
avec :
𝜑 𝑇 (𝑘, 𝜃) = [−𝑦(𝑘 − 1) ⋯
− 𝑦(𝑘 − 𝑛𝑎 ) 𝑢(𝑘 − 𝑑) 𝑢(𝑘 − 1 − 𝑑) ⋯ 𝑢(𝑘 − 𝑛𝑏 − 𝑑) 𝛿(𝑘 − 1, 𝜃) ⋯ 𝛿(𝑘
− 𝑛𝑐 , 𝜃)]
𝑇
𝜃 = [𝑎1 ⋯ 𝑎𝑛 𝑎 𝑏0 𝑏1 ⋯ 𝑏𝑛 𝑏 𝑐1 ⋯ 𝑐𝑛 𝑐 ]
L’erreur de prédiction 𝛿(𝑘, 𝜃) = 𝑦(𝑘) − 𝑦̂(𝑘/𝑘 − 1, 𝜃) = 𝑒(𝑘) est un bruit blanc. La forme
de régression est donnée par :
𝑦(𝑘) = 𝑦̂(𝑘/𝑘 − 1, 𝜃) + 𝑒(𝑘) = 𝜑 𝑇 (𝑘, 𝜃)𝜃 + 𝑒(𝑘) (1.23)
Le prédicteur définit une régression non linéaire par rapport aux paramètres 𝜃 du modèle du
processus. Il est généralement qualifié de régression pseudo-linéaire.
1.3.2.3. Modèle OE
La sortie du modèle du système est :
𝐵(𝑞 −1 )
𝑦(𝑘) = 𝑞 −𝑑 𝑢(𝑘) + 𝑒(𝑘)
𝐴(𝑞 −1 )
Le prédicteur optimal pour cette structure est :
𝐵(𝑞 −1 )
𝑦̂(𝑘/𝑘 − 1, 𝜃) = 𝑞 −𝑑 𝐴(𝑞−1 ) 𝑢(𝑘) (1.24)
Forme pratique de ce prédicteur :
𝑦̂(𝑘/𝑘 − 1, 𝜃) = (1 − 𝐴(𝑞 −1 ))𝑦̂(𝑘/𝑘 − 1) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) (1.25)
Ce qui donne :
𝑦̂(𝑘/𝑘 − 1, 𝜃) = 𝜑 𝑇 (𝑘, 𝜃)𝜃 (1.26)
avec :
𝜑 𝑇 (𝑘, 𝜃) = [−𝑦̂(𝑘 − 1/𝑘 − 2, 𝜃) ⋯ − 𝑦̂(𝑘 − 𝑛𝑎 /𝑘 − 𝑛𝑎
− 1, 𝜃) 𝑢(𝑘 − 𝑑) 𝑢(𝑘 − 1 − 𝑑) ⋯ 𝑢(𝑘 − 𝑛𝑏 − 𝑑) ]
𝑇
𝜃 = [𝑎1 ⋯ 𝑎𝑛 𝑎 𝑏0 𝑏1 ⋯ 𝑏𝑛 𝑏 ]

FST-Settat 13
L’erreur de prédiction 𝛿(𝑘, 𝜃) = 𝑦(𝑘) − 𝑦̂(𝑘/𝑘 − 1, 𝜃) = 𝑒(𝑘) est un bruit blanc. La forme
de régression pseudo-linéaire est donnée par :
𝑦(𝑘) = 𝜑 𝑇 (𝑘, 𝜃)𝜃 + 𝑒(𝑘) (1.27)
1.3.2.4. Modèle Box-Jenkins
𝐵(𝑞 −1 ) 𝐶(𝑞 −1 )
La structure BJ est : 𝑦(𝑘) = 𝑞 −𝑑 𝐴(𝑞−1 ) 𝑢(𝑘) + 𝐷(𝑞−1 ) 𝑒(𝑘),
On peut écrire :
𝐷(𝑞 −1 ) 𝐷(𝑞 −1 )𝐵(𝑞 −1 )
𝑦(𝑘) = 𝑞 −𝑑 𝑢(𝑘) + 𝑒(𝑘) (1.28)
𝐶(𝑞 −1 ) 𝐶(𝑞 −1 )𝐴(𝑞 −1 )
D’où :
𝐷(𝑞 −1 ) 𝐷(𝑞 −1 )𝐵(𝑞 −1 )
𝑦(𝑘) = (1 − 𝐶(𝑞−1 ) ) 𝑦(𝑘) + 𝑞 −𝑑 𝑢(𝑘) + 𝑒(𝑘) (1.29)
𝐶(𝑞 −1 )𝐴(𝑞 −1 )
Le meilleur prédicteur de la sortie pour le modèle BJ est :
𝐷(𝑞 −1 ) 𝐷(𝑞 −1 )𝐵(𝑞 −1 )
𝑦̂(𝑘/𝑘 − 1, 𝜃) = (1 − 𝐶(𝑞−1 ) ) 𝑦(𝑘) + 𝑞 −𝑑 𝑢(𝑘) (1.30)
𝐶(𝑞 −1 )𝐴(𝑞 −1 )
L’erreur de prédiction s’écrit :
𝐷(𝑞 −1 ) 𝐷(𝑞 −1 )𝐵(𝑞 −1 )
𝛿(𝑘, 𝜃) = 𝑦(𝑘) − 𝑦̂(𝑘/𝑘 − 1, 𝜃) = 𝑒(𝑘) = 𝑦(𝑘) − 𝑞 −𝑑 𝑢(𝑘) (1.31)
𝐶(𝑞 −1 ) 𝐶(𝑞 −1 )𝐴(𝑞 −1 )
D’où :
𝐷(𝑞 −1 ) 𝐵(𝑞 −1 )
𝛿(𝑘, 𝜃) = (𝑦(𝑘) − 𝑞 −𝑑 𝐴(𝑞−1 ) 𝑢(𝑘)) (1.32)
𝐶(𝑞 −1 )

1.4. Estimation des paramètres du modèle


1.4.1. Algorithme des moindres carrés simples (non récursif)
Le traitement des données entrées/sorties se fait par paquets obtenus sur un horizon de temps.
Pas d’estimation des paramètres pendant l’acquisition ou la lecture du fichier de données (hors
ligne).
Soit le modèle ARX :
𝐴(𝑞 −1 )𝑦(𝑘) = 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) + 𝑒(𝑘)
Le prédicteur optimal est 𝑦̂(𝑘/𝑘 − 1, 𝜃) = 𝜑 𝑇 (𝑘)𝜃. La forme de régression est linéaire :
𝑦(𝑘) = 𝜑 𝑇 (𝑘)𝜃 + 𝑒(𝑘)
Ceci permet d’utiliser l’algorithme des moindres carrés pour la minimisation du critère
quadratique basé sur l’erreur de prédiction.
𝑇
L’objectif est d’estimer le vecteur de paramètres inconnus 𝜃 = [𝑎1 ⋯ 𝑎𝑛 𝑎 𝑏0 𝑏1 ⋯ 𝑏𝑛 𝑏 ] .
On suppose que le système est stationnaire 𝜃 = 𝑐𝑠𝑡 et 𝑛𝑎 , 𝑛𝑏 et 𝑑 sont connus. On dispose de
𝑁 mesure d’entrée/sortie {𝑢(1), 𝑦(1)}, {𝑢(2), 𝑦(2)},… {𝑢(𝑁), 𝑦(𝑁)}. La durée de l’expérience
sur le système est 𝑁𝑇𝑒
Le principe de la méthode des moindres carrés simples, consiste à déterminer l’estimation 𝜃̂ des
paramètres 𝜃 qui minimise le critère quadratique basé sur l’erreur de prédiction :
𝐽(𝜃) = ∑𝑁 𝑘=1(𝑦(𝑘) − 𝑦 ̂(𝑘/𝑘 − 1, 𝜃))2 = ∑𝑁 𝑇
𝑘=1(𝑦(𝑘) − 𝜑 (𝑘)𝜃)
2
(1.33)
̂
Le vecteur de paramètres 𝜃 qui minimise l’équation (1.33) annule le gradient de 𝐽 par rapport à
𝜃:
𝜕𝐽
| = −2 ∑𝑁 𝑇 ̂
𝑘=1 𝜑(𝑘). (𝑦(𝑘) − 𝜑 (𝑘)𝜃 ) = 0 (1.34)
𝜕𝜃 ̂
𝜃=𝜃
Ce qui donne :
∑𝑁 𝑁 𝑇 ̂
𝑘=1 𝜑(𝑘)𝑦(𝑘) = ∑𝑘=1 𝜑(𝑘)𝜑 (𝑘)𝜃 (1.35)
D’où :
𝜃̂ = [∑𝑁 𝑇 −1 𝑁
𝑘=1 𝜑(𝑘)𝜑 (𝑘)] . ∑𝑘=1 𝜑(𝑘)𝑦(𝑘) (1.36)
Il reste à vérifier que la valeur obtenue est bien un minimum

FST-Settat 14
𝜕2 𝐽
| = 2 ∑𝑁 𝑇
𝑘=1 𝜑(𝑘)𝜑 (𝑘) > 0 (1.37)
𝜕𝜃2 𝜃=𝜃
̂
C’est une matrice symétrique définie positive. Ceci implique que 𝜃̂ corresponde bien à un
minimum de 𝐽.
Calcul du biais de l’estimateur
Comme 𝑒(𝑘) est une variable aléatoire, le vecteur des paramètres estimés le sera aussi. La
valeur moyenne (Espérance mathématique) de 𝜃̂ est :
𝐸[𝜃̂] = 𝐸[[∑𝑁 𝑇 −1 𝑁
𝑘=1 𝜑(𝑘)𝜑 (𝑘)] . ∑𝑘=1 𝜑(𝑘)𝑦(𝑘)] (1.38)
𝑁 𝑇 −1
On pose : 𝑃𝑁 = [∑𝑘=1 𝜑(𝑘)𝜑 (𝑘)]
On obtient :
𝐸[𝜃̂] = 𝐸[𝑃𝑁 . ∑𝑁 𝑇
𝑘=1 𝜑(𝑘)(𝜑 (𝑘)𝜃 + 𝑒(𝑘))] (1.39)
où 𝜃 est le vecteur de vrais paramètres (réels). Ce qui permet d’écrire :
𝐸[𝜃̂] = 𝐸[𝑃𝑁 . ∑𝑁 𝑇 𝑁 𝑁
𝑘=1 𝜑(𝑘)𝜑 (𝑘)𝜃 + 𝑃𝑁 . ∑𝑘=1 𝜑(𝑘)𝑒(𝑘)] = 𝜃 + 𝐸[𝑃𝑁 . ∑𝑘=1 𝜑(𝑘)𝑒(𝑘)]
(1.40)
L’estimateur est non biaisé si 𝐸[𝜃̂] = 𝜃 (l’erreur d’estimation des paramètres est nulle, la
valeur estimée des paramètres est proche de la vraie valeur moyenne en répétant 𝑁 fois les
expériences ), donc si 𝐸[𝑃𝑁 . ∑𝑁𝑘=1 𝜑(𝑘)𝑒(𝑘)] = 0, il faut donc que 𝑒(𝑘) est un bruit centré (de
moyenne nulle) et non corrélé avec le vecteur d’observation 𝜑(𝑘) (bruit non corrélé avec les
données d’expériences).
Remarque 1 : Influence d’un bruit blanc
✓ Si l’amplitude du bruit < 10 % du signal d’entrée, l’identification n’est pas affectée.
✓ Si l’amplitude du bruit > 10 % du signal d’entrée : le biais devient significatif. Il devient
utile de définir le modèle du bruit.
La condition pour que 𝑒(𝑘) soit blanc de moyenne nulle est difficilement vérifiée en pratique.
Cependant, l’utilisation du filtre rend le bruit coloré. L’estimateur est alors toujours biaisé car
𝑒(𝑘) est corrélé avec le régresseur 𝜑(𝑘), où les observations sont affectées d’un bruit corrélé
avec les mesures. Cependant, cet estimateur reste très utilisé car il est facile à utiliser. On utilise
alors souvent les moindres carrés simples pour initialiser d’autres méthodes d’identification.
Remarque 2 :
✓ La mise en œuvre de l’algorithme des moindres carrés simples est assez lourde
(Nécessite plus de puissance de calcul et de mémoire : stocker toutes les données en
mémoire et inversion de la matrice 𝑃𝑁 ).
✓ L’algorithme n’est pas sous une forme appropriée pour l’identification en temps réel.
1.4.2. Algorithmes récursifs
L’identification paramétrique par un algorithme récursif permet d’estimer le vecteur des
paramètres en ligne (au fur et à mesure de l’acquisition de données ou lors de la lecture d’un
fichier de données), à chaque instant d’échantillonnage le vecteur de paramètres est estimé en
fonction du vecteur précédemment trouvé en minimisant un critère quadratique basé sur l’erreur
de prédiction. On suppose que le modèle obtenu est un prédicteur.
L’identification récursive offre les avantages suivants :
✓ Estimation du modèle en temps réel (au fur et à mesure que le procédé évolue),
✓ Estimation des systèmes variants dans le temps (suivi en temps réel des paramètres
variables dans le temps), permettant un réajustement des régulateurs pendant le
fonctionnement,
✓ Compression importante des données, car l’algorithme récurrent traite à chaque instant
une seule paire entrée/sortie au lieu de l’ensemble des données (permet de ne pas
impliquer des calculs avec un grand nombre de données),

FST-Settat 15
✓ Exigences mémoire et puissance de calcul plus faibles,
✓ Implantation aisée sur microprocesseur.
Procédé discrétisé
𝑢(𝑘) 𝑢(𝑡) 𝑦(𝑡) 𝑦(𝑘)
CNA Procédé CAN

+ 𝛿(𝑘)
-
Modèle 𝑦̂(𝑘)
échantillonnée
ajustable
Algorithme
d’adaptation
Paramètres du modèle 𝜃̂(𝑘) paramétrique
Figure 1.11 : Principe des algorithmes d’adaptation paramétrique
1.4.2.1. Algorithme des moindres carrés récursifs
Si les données sont en nombre trop important ou si on souhaite utiliser le modèle à l’instant 𝑘
sans attendre la fin des mesures, il est nécessaire d’utiliser un algorithme récursif. La méthode
recalcule une nouvelle estimation des paramètres 𝜃̂(𝑘) à chaque instant sur la base de
l’estimation précédente 𝜃̂(𝑘 − 1) sans effectuer à chaque fois l’inversion matricielle.
Le critère à minimiser devient : 𝐽(𝜃) = ∑𝑘=1(𝑦(𝑖) − 𝜑 𝑇 (𝑖)𝜃)2
−1
On considère les mesures jusqu’à l’instant 𝑘𝑇𝑒 , on pose 𝑃(𝑘) = [∑𝑘=1 𝜑(𝑖)𝜑𝑇 (𝑖)] .
L’estimation des paramètres peut s’écrire sous forme récurrente :
𝜃̂(𝑘) = 𝑃(𝑘). ∑𝑘=1 𝜑(𝑖)𝑦(𝑖) (1.41)
−1
La matrice 𝑃 (𝑘) se calcule de façon récurrente comme suit :
𝑃−1 (𝑘) = ∑𝑘=1 𝜑(𝑖)𝜑𝑇 (𝑖) = 𝑃 −1 (𝑘 − 1) + 𝜑(𝑘)𝜑 𝑇 (𝑘) (1.42)
Le vecteur de paramètres à l’instant 𝑘 peut s’écrire sous forme récursive :
𝑘−1
𝜃̂ (𝑘) = 𝑃(𝑘). [∑ 𝜑(𝑖)𝑦(𝑖) + 𝜑(𝑘)𝑦(𝑘)]
=1
= 𝑃(𝑘). [𝑃−1 (𝑘 − 1). 𝜃̂(𝑘 − 1) + 𝜑(𝑘)𝑦(𝑘)]
= 𝑃(𝑘). [[𝑃(𝑘)−1 − 𝜑(𝑘)𝜑 𝑇 (𝑘)]𝜃̂(𝑘 − 1) + 𝜑(𝑘)𝑦(𝑘)]
=𝜃̂ (𝑘 − 1) + 𝑃(𝑘)𝜑(𝑘)[𝑦(𝑘) − 𝜑 𝑇 (𝑘)𝜃̂(𝑘 − 1)] (1.43)
Le terme 𝑦(𝑘) − 𝜑 𝑇 (𝑘)𝜃̂ (𝑘 − 1) correspond à l’erreur de prédiction 𝛿(𝑘) = 𝑦(𝑘) − 𝜑 (𝑘)𝜃 𝑇
̂
calculée à partir de 𝜃(𝑘 − 1). Cette erreur est pondérée par le gain 𝑃(𝑘)𝜑(𝑘), ce qui génère
une correction de 𝜃̂(𝑘) proportionnelle à l’erreur de prédiction. La nouvelle estimation est
l’ancienne estimation corrigée par un terme proportionnel à l’erreur de prédiction.
L’algorithme des moindres carrés peut être présenté par les deux équations récurrentes
suivantes :
𝜃̂(𝑘) = 𝜃̂(𝑘 − 1) + 𝑃(𝑘)𝜑(𝑘)[𝑦(𝑘) − 𝜑 𝑇 (𝑘)𝜃̂(𝑘 − 1)]
‖ −1 (1.44)
𝑃 (𝑘) = 𝑃−1 (𝑘 − 1) + 𝜑(𝑘)𝜑 𝑇 (𝑘)
Pour éviter l’inversion de la matrice 𝑃(𝑘) à chaque itération, qui peut conduire à des volumes
de calcul importants rendant l’implantation en temps réel difficile à réaliser ; on peut utiliser le
lemme d’inversion matricielle :

FST-Settat 16
(𝐴 + 𝐵𝐶𝐷)−1 = 𝐴−1 − 𝐴−1 𝐵[𝐶 −1 + 𝐷𝐴−1 𝐵]−1 𝐷𝐴−1
En posant 𝐴 = 𝑃−1 (𝑘 − 1), 𝐵 = 𝜑(𝑘), 𝐶 = 1, 𝐷 = 𝜑 𝑇 (𝑘), on obtient la mise à jour suivante :
𝛿(𝑘) = 𝑦(𝑘) − 𝜑 𝑇 (𝑘)𝜃̂(𝑘 − 1)
‖ 𝜃̂(𝑘) = 𝜃̂(𝑘 − 1) + 𝑃(𝑘)𝜑(𝑘)𝛿(𝑘) (1.45)
𝑃(𝑘−1)𝜑(𝑘)𝜑 𝑇 (𝑘)𝑃(𝑘−1)
𝑃(𝑘) = 𝑃(𝑘 − 1) − 1+𝜑𝑇 (𝑘)𝑃(𝑘−1)𝜑(𝑘)
Autre forme équivalente des moindres carrés récursives :
On a :
𝑃(𝑘−1)𝜑(𝑘)𝜑 𝑇 (𝑘)𝑃(𝑘−1)𝜑(𝑘)
𝑃(𝑘)𝜑(𝑘) = 𝑃(𝑘 − 1)𝜑(𝑘) − (1.46)
1+𝜑𝑇 (𝑘)𝑃(𝑘−1)𝜑(𝑘)
Donc :
𝑃(𝑘−1)𝜑(𝑘)
𝑃(𝑘)𝜑(𝑘) = (1.47)
1+𝜑𝑇 (𝑘)𝑃(𝑘−1)𝜑(𝑘)
D’où :
𝛿(𝑘) = 𝑦(𝑘) − 𝜑 𝑇 (𝑘)𝜃̂(𝑘 − 1)
𝑃(𝑘−1)𝜑(𝑘)𝛿(𝑘)
‖ 𝜃̂(𝑘) = 𝜃̂(𝑘 − 1) + 1+𝜑𝑇 (𝑘)𝑃(𝑘−1)𝜑(𝑘) (1.48)

𝑃(𝑘−1)𝜑(𝑘)𝜑 𝑇 (𝑘)𝑃(𝑘−1)
𝑃(𝑘) = 𝑃(𝑘 − 1) − 1+𝜑𝑇 (𝑘)𝑃(𝑘−1)𝜑(𝑘)
L’initialisation de l’algorithme se fait de deux façons :
✓ Si on connaît une première estimation des paramètres (en provenance d’une méthode
non récursive par exemple), on l’utilise 𝜃̂(0) = 𝜃̂0 . Dans ce cas, on prend 𝑃0 = 𝛼𝐼 avec
𝛼 petit, 𝐼 est la matrice identité.
✓ Si on ne connaît pas de première approximation, on prend 𝜃̂(0) = 0 et 𝑃0 = 𝛼𝐼 avec 𝛼
grand (par exemple 𝛼 = 1000, 10000…).
Cet algorithme n’est pas adapté si les paramètres du système sont variants dans le temps, en
effet, à partir de l’équation (1.44), 𝑃−1 (𝑘) = 𝑃−1 (𝑘 − 1) + 𝜑(𝑘)𝜑 𝑇 (𝑘), et comme la matrice
𝜑(𝑘)𝜑 𝑇 (𝑘) est définit positive. La matrice 𝑃(𝑘)−1 augmente de façon monotone avec 𝑘. Donc
𝑃(𝑘) diminue avec 𝑘 (algorithme à gain décroissant). Lorsque 𝑘 tend vers l’infini, 𝑃(𝑘) tend
vers 0, et donc également l’effet du gain d’adaptation 𝑃(𝑘)𝜑(𝑘) dans la mise à jour de 𝜃̂(𝑘)
selon les équations (1.45) devient nul. L’algorithme cesse la mise à jour des paramètres et ceci
même s’il y a une erreur de prédiction notable.
1.4.2.2. Méthode des moindres carrés récursifs avec facteur d’oubli
Dans un procédé industriel les paramètres du modèle sont souvent variables dans le temps à
cause de la présence des perturbations et des non linéarités. Dans le cas où les paramètres du
modèle évoluent de manière lente, on utilise la méthode des moindres carrés récursifs avec
facteur d’oubli.
Dans ce cas, on introduit une pondération qui accorde plus de poids aux informations récentes
relativement aux mesures passées (diminution du poids des anciennes mesures au profit des
plus récentes d’où le principe du facteur d’oubli du passé). Le critère à minimiser devient, si
𝛼(𝑘, 𝑖) est une séquence de pondérations positives :
𝐽(𝜃) = ∑𝑘=1 𝛼(𝑘, 𝑖)(𝑦(𝑖) − 𝜑 𝑇 (𝑖)𝜃)2 (1.49)
Toutes les erreurs de prédiction ne doivent pas nécessairement avoir la même importance dans
le critère quadratique. Cette pondération permet de fixer un compromis entre la précision de
l’estimation des paramètres et la possibilité de suivre des variations de ces derniers en évitant
que la matrice de gain 𝑃(𝑘) soit décroissante.
L’algorithme général permettant de dépasser le problème de la décroissance de la matrice de
gain, et d’obtenir différents profils de variation du gain d’adaptation est :

FST-Settat 17
𝛿(𝑘) = 𝑦(𝑘) − 𝜑 𝑇 (𝑘)𝜃̂(𝑘 − 1)
̂ ̂
‖ 𝜃 (𝑘) = 𝜃(𝑘 − 1) + 𝑃(𝑘)𝜑(𝑘)𝛿(𝑘) (1.50)
‖ 1 𝑃(𝑘−1)𝜑(𝑘)𝜑 𝑇 (𝑘)𝑃(𝑘−1)
𝑃(𝑘) = 𝜆 (𝑘) [𝑃(𝑘 − 1) − 𝜆1 (𝑘) 𝑇 ]
1 +𝜑 (𝑘)𝑃(𝑘−1)𝜑(𝑘)
𝜆2 (𝑘)
Où 0 < 𝜆1 (𝑘) ≤ 1, 0 < 𝜆2 (𝑘) < 2 sont des facteurs introduits pour fixer un compromis entre
la précision de l’estimation et la capacité de poursuite des paramètres. 𝜆1 (𝑘) < 1 tend à
augmenter le gain d’adaptation tandis que 𝜆2 (𝑘) > 0 tend à le diminuer.
Moindres carrés récursifs à facteur d’oubli constant :
𝜆1 (𝑘) = 𝜆1 = 𝑐𝑠𝑡 < 1 et 𝜆2 (𝑘) = 1, valeurs typiques pour 𝜆1 ∈ [0,95 0,99]. Cet algorithme
convient pour l’dentification des systèmes lentement variables, mais peut provoquer l’explosion
1
de la matrice 𝑃(𝑘) (en absence d’excitation 𝜑(𝑘)𝜑𝑇 (𝑘) 0 ; 𝑃(𝑘) ≈ 𝑃(𝑘 − 1) ; 𝜆1 < 1 ;
𝜆1
risque de divergence de 𝑃(𝑘).
Moindres carrés récursifs à facteur d’oubli transitoire ou variable :
𝜆1 (𝑘) = 𝜆0 𝜆1 (𝑘 − 1) + (1 − 𝜆0 ), 0 < 𝜆0 < 1 et 𝜆2 (𝑘) = 1, valeurs typiques : 𝜆0 ∈
[0,95 0,99] et 𝜆1 (0) ∈ [0,95 0,99]. Comme 𝜆1 (𝑘) tend vers 1 pour 𝑘 grand, on retrouve
l’algorithme des moindres carrés récursifs. Cet algorithme est recommandé pour l’identification
des systèmes stationnaires. Il permet d’accélérer la convergence en régime transitoire et moins
sensible aux conditions initiales.
Moindres carrés récursifs à matrice de gain à trace constante :
𝜆1 (𝑘)
= 𝑐, avec 0 < 𝑐 < 0,5, 𝜆1 (𝑘) est choisi automatiquement à chaque pas tel que :
𝜆 (𝑘)
2
𝑡𝑟𝑎𝑐𝑒[𝑃(𝑘)] = 𝑡𝑟𝑎𝑐𝑒[𝑃(𝑘 − 1)] = ⋯ = 𝑡𝑟𝑎𝑐𝑒[𝑃(0)] = 𝑐𝑠𝑡. Donc :
1 𝑃(𝑘 − 1)𝜑(𝑘)𝜑 𝑇 (𝑘)𝑃(𝑘 − 1)
𝑡𝑟𝑎𝑐𝑒[𝑃(𝑘)] = 𝑡𝑟𝑎𝑐𝑒 [𝑃(𝑘 − 1) − ]
𝜆1 (𝑘) 𝑐 + 𝜑 𝑇 (𝑘)𝑃(𝑘 − 1)𝜑(𝑘)
Cet algorithme convient pour l’identification d’un système à paramètres variants dans le temps.
𝑡𝑟𝑎𝑐𝑒[𝑃(𝑘)] = 𝑐𝑠𝑡, il vient que les valeurs propres de 𝑃(𝑘) restent bornées, donc il n’y a pas
de risque de divergence de la matrice de gain 𝑃(𝑘).
On choisit comme valeur de 𝑡𝑟𝑎𝑐𝑒[𝑃(𝑘)] = 𝑛𝐺 avec 𝐺 le gain initial et 𝑛 le nombre de
paramètres (valeurs typiques 𝐺 = 1 à 4). Le gain d’adaptation initial est de la forme 𝑃(0) = 𝐺𝐼.
1.4.2.3. Algorithme de gradient
On cherche un algorithme d’adaptation paramétrique récursif et avec mémoire. La structure
d’un tel algorithme est : 𝜃̂ (𝑘) = 𝜃̂(𝑘 − 1) + ∆𝜃̂(𝑘)
Le terme de correction ∆𝜃̂(𝑘) doit permettre de minimiser à chaque pas le critère :
1
𝐽(𝜃) = 2 (𝑦(𝑘) − 𝜑 𝑇 (𝑘)𝜃(𝑘))2 (1.51)
On définit l’erreur de prédiction 𝛿(𝑘) = 𝑦(𝑘) − 𝜑 𝑇 (𝑘)𝜃̂(𝑘 − 1) calculée à partir de 𝜃̂(𝑘 − 1).
Le calcul du vecteur de paramètres est donné par l’équation récursive suivante :
̂ (𝑘))
𝜕𝐽(𝜃
𝜃̂(𝑘) = 𝜃̂(𝑘 − 1) − 𝜆 ̂ (𝑘) = 𝜃̂(𝑘 − 1) + 𝜆𝜑(𝑘)(𝑦(𝑘) − 𝜑 𝑇 (𝑘)𝜃̂(𝑘)) (1.52)
𝜕𝜃
Le paramètre de réglage 𝜆 de l’algorithme désigne un gain positif à ajuster pour assurer une
bonne convergence de l’algorithme. Pour avoir une bonne vitesse de convergence au début,
quand on est loin de l’optimum, il serait souhaitable d’avoir un grand gain d’adaptation.
L’équation (1.52) peut être réécrite :
𝜃̂(𝑘) − 𝜃̂ (𝑘 − 1) = 𝜆[𝑦(𝑘) − 𝜑 𝑇 (𝑘)𝜃̂(𝑘) + 𝜑 𝑇 (𝑘)𝜃̂(𝑘 − 1) − 𝜑 𝑇 (𝑘)𝜃̂(𝑘 − 1)]𝜑(𝑘) (1.53)
Donc :
𝜃̂(𝑘) − 𝜃̂ (𝑘 − 1) = 𝜆[𝑦(𝑘) − 𝜑 𝑇 (𝑘)𝜃̂(𝑘 − 1)]𝜑(𝑘) − 𝜆𝜑 𝑇 (𝑘)[𝜃̂(𝑘) − 𝜃̂(𝑘 − 1)]𝜑(𝑘)
(1.54)
FST-Settat 18
On obtient donc l’algorithme de gradient :
𝜆𝜑(𝑘)𝛿(𝑘)
𝜃̂(𝑘) = 𝜃̂(𝑘 − 1) + 1+𝜆𝜑 𝑇 (𝑘)𝜑(𝑘)
‖ 𝛿(𝑘) = 𝑦(𝑘) − 𝜑 𝑇 (𝑘)𝜃̂(𝑘 − 1) (1.55)
𝜃̂0 = 0
La matrice de gain est constante 𝑃(𝑘) = 𝜆𝐼 = 𝑐𝑠𝑡, donc pas de risque de décroissance de la
matrice de gain.
1.4.2.4. Méthode des moindres carrés récursifs étendus
L’idée est d’appliquer un algorithme des moindres carrés récursifs comme pour un modèle
ARX, pour estimer les paramètres d’un modèle affecté d’un bruit corrélé. La méthode permet
d’obtenir un estimateur non biaisé de paramètres si les observations sont affectées d’un bruit
corrélé avec les mesures.
Soit le modèle ARMAX du procédé :
𝐴(𝑞 −1 )𝑦(𝑘) = 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) + 𝐶(𝑞 −1 )𝑒(𝑘) ; 𝑣̅ (𝑘) = 𝐶(𝑞 −1 )𝑒(𝑘) ; 𝐶(𝑞 −1 ) ≠ 1
Le bruit 𝑣̅ (𝑘) est généré par un bruit blanc 𝑒(𝑘) à travers un filtre 𝐶(𝑞 −1 ).
La forme de régression est pseudo-linéaire 𝑦(𝑘) = 𝜑 𝑇 (𝑘, 𝜃)𝜃 + 𝑒(𝑘), le prédicteur optimal est
𝑦̂(𝑘/𝑘 − 1, 𝜃) = 𝜑 𝑇 (𝑘, 𝜃)𝜃 = (𝐶(𝑞 −1 ) − 1)𝛿(𝑘, 𝜃) + (1 − 𝐴(𝑞 −1 ))𝑦(𝑘) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘)
Comme le vecteur de paramètre n’est pas connu, on remplace dans la forme de régression et
dans le prédicteur optimal 𝜃 par 𝜃̂(𝑘 − 1).
Le vecteur d’observation et de paramètres sont augmentés des informations relatives au
processus perturbateur :
𝜑 𝑇 (𝑘, 𝜃̂(𝑘 − 1)) = [−𝑦(𝑘 − 1) ⋯ − 𝑦(𝑘 − 𝑛𝑎 ) 𝑢(𝑘 − 𝑑) 𝑢(𝑘 − 1 − 𝑑) ⋯ 𝑢(𝑘 − 𝑛𝑏 −
𝑑) 𝛿 (𝑘 − 1, 𝜃̂(𝑘 − 2)) ⋯ 𝛿 (𝑘 − 𝑛𝑐 , 𝜃̂(𝑘 − 𝑛𝑐 − 1))]
𝑇
𝜃̂ = [𝑎̂1 ⋯ 𝑎̂𝑛 𝑎 𝑏̂0 𝑏̂1 ⋯ 𝑏̂𝑛 𝑏 𝑐̂1 ⋯ 𝑐̂𝑛 𝑐 ]
Algorithme des moindres carrés récursif étendus :
𝛿(𝑘) = 𝑦(𝑘) − 𝜑 𝑇 (𝑘, 𝜃̂ (𝑘 − 1)) 𝜃̂(𝑘 − 1)
‖ ̂ (𝑘−1))𝛿(𝑘)
𝑃(𝑘−1)𝜑(𝑘,𝜃
𝜃̂(𝑘) = 𝜃̂(𝑘 − 1) + ̂ (𝑘−1))𝑃(𝑘−1)𝜑(𝑘,𝜃
̂ (𝑘−1)) (1.56)
1+𝜑𝑇 (𝑘,𝜃
‖ ̂ (𝑘−1))𝜑 𝑇 (𝑘,𝜃
𝑃(𝑘−1)𝜑(𝑘,𝜃 ̂ (𝑘−1))𝑃(𝑘−1)
𝑃(𝑘) = 𝑃(𝑘 − 1) − 𝑇 ̂ ̂
1+𝜑 (𝑘,𝜃(𝑘−1))𝑃(𝑘−1)𝜑(𝑘,𝜃(𝑘−1))

1.4.3. Validation du modèle


La procédure d’identification des paramètres choisit le meilleur modèle compte tenu des
données disponibles, de la structure de modèle proposée, du critère de performance et de
l’algorithme d’identification utilisés. Le modèle est valide s’il est capable de reproduire le
comportement du système.
Plusieurs approches de validation d’un modèle identifié :
✓ Validation par rapport au but du modèle : il s’agit de voir si le but du modèle est atteint,
le modèle est considéré bon,
✓ Validation du modèle avec des données expérimentales : il s’agit de comparer la sortie
du modèle et la sortie mesurée du procédé (comparaison des réponses temporelles du
système réel et du prédicteur),
✓ Validation par des méthodes statistiques : basées sur le test de blanchissement de
l’erreur de prédiction et le test d’indépendance entre les entrées passées et l’erreur de
prédiction

FST-Settat 19
Test de blanchissement de l’erreur de prédiction (test des résidus)
Si les modèles du processus et du bruit sont corrects, l’erreur de prédiction 𝛿(𝑘) = 𝑦(𝑘) −
𝑦̂ (𝑘/𝑘 − 1, 𝜃̂(𝑘 − 1)) appelée aussi résidus est un bruit blanc dont la fonction
d’autocorrélation est :
1
𝑅𝛿 (𝑙) = 𝑁 ∑𝑁
𝑘=1 𝛿(𝑘)𝛿(𝑘 + 𝑙) ; 𝑙 = 0,1, … 𝑁 (1.57)
La fonction d’autocorrélation doit tendre vers zéro dès que 𝑙 ≥ 1 si l’erreur de prédiction est un
bruit blanc. Plus la fonction d’autocorrélation se rapproche à cella d’un bruit blanc plus le
modèle est meilleur.
Test d’indépendance entre les entrées passées et l’erreur de prédiction
Si le modèle du processus est correct, l’erreur de prédiction sera indépendante des entrées
passées, car l’effet de ces entrées sera entièrement expliqué par le modèle et ne se retrouvera
donc pas dans l’erreur de prédiction.
Si l’entrée et l’erreur de prédiction sont indépendants, alors 𝐸[𝑢(𝑘)𝛿(𝑘 + 𝑙)] = 0 ; ∀𝑙. On
calcule la fonction de corrélation entre les résidus 𝛿 et l’entrée 𝑢 :
1
𝑅𝑢𝛿 (𝑙) = 𝑁 ∑𝑁 𝑘=1 𝑢(𝑘)𝛿(𝑘 + 𝑙) ; 𝑙 = 0,1, … 𝑁 (1.58)
Plus la fonction de corrélation se rapproche de zéro plus le modèle est meilleur.
1.5. Identification en boucle fermée
Ce domaine de l’identification est actuellement très actif. En effet ces modèles sont nécessaires
dans le cadre de la commande adaptative et prédictive, rappelons que le plus souvent
l’identification en milieu industriel s’effectue sur une machine en production. Il est par
conséquent difficile voire impossible d’ouvrir la boucle pour procéder à une identification.
C’est particulièrement le cas des systèmes instables. L’identification en boucle fermée est
motivée aussi quand un régulateur existe déjà.
Il reste néanmoins possible d’obtenir un modèle. Le système de la figure 1.12 représente le
système à identifier en boucle fermée. Le correcteur du système est représenté par la fraction
𝑃(𝑞 −1 )
rationnelle 𝐶𝑅 (𝑞 −1 ) = 𝑄(𝑞−1 ).
𝑒(𝑘)

𝑣(𝑘)
𝑦𝑐 (𝑘) + 𝑢(𝑘) + 𝑦(𝑘)
+
-
𝐶𝑅 (𝑞−1 ) 𝐺(𝑞−1 )

Figure 1.12 : Identification en boucle fermée


Trois approches sont alors possibles :
Méthode directe : Dans ce cas on utilise l’entrée 𝑢 et la sortie 𝑦. L’identification se fait alors
comme en boucle ouverte. L’avantage de cette approche est de ne pas nécessiter la connaissance
du régulateur. Les méthodes ARX, ARMAX donnent de bons résultats. Les meilleurs résultats
seront obtenus si :
✓ Le modèle de bruit est bon,
✓ La boucle de retour n’affecte pas ou peu le spectre du signal d’entrée 𝑢(𝑘),

FST-Settat 20
✓ Le rapport signal/bruit est important (peu de bruit).
Dans le cas contraire, l’estimateur est biaisé.
Méthode indirecte : Dans ce cas on utilise la consigne 𝑦𝑐 (𝑘) et la sortie 𝑦(𝑘). On identifie
alors le système en boucle fermée soit :
𝑦(𝑘) 𝐶𝑅 (𝑞 −1 )𝐺(𝑞 −1 ) 𝑞 −𝑑 𝑃(𝑞 −1 )𝐵(𝑞 −1 )
𝑀(𝑞 −1 ) = = =
𝑦𝑐 (𝑘) 1 + 𝐶𝑅 (𝑞 −1 )𝐺(𝑞 −1 ) 𝑞 −𝑑 𝑃(𝑞 −1 )𝐵(𝑞 −1 ) + 𝑄(𝑞 −1 )𝐴(𝑞 −1 )
La connaissance du régulateur nous permet de déterminer le modèle du système :
−1 )
𝑀(𝑞 −1 )
𝐺(𝑞 =
𝐶𝑅 (𝑞 −1 ) − 𝑀(𝑞 −1 )𝐶𝑅 (𝑞 −1 )
L’avantage de cette méthode est que n’importe quelle méthode d’identification est applicable
et donnera un modèle 𝑀(𝑞 −1 ) du système en boucle fermée. Par contre, la moindre erreur sur
le régulateur (pas forcement bien connu, paramètres, saturations ...) se retrouve dans le modèle.
Remarque :
Le signal de commande généré par le régulateur, peut ne pas être satisfaisant pour exciter le
système (par exemple 𝑢 = 𝑐𝑠𝑡 en régime statique). Il faut donc superposer une SBPA (riche en
fréquence) à la valeur statique de la commande correspondant au point de fonctionnement
autour duquel on souhaite faire l’identification du procédé. L’amplitude du signale de
commande doit être supérieure à l’amplitude de SBPA pour que le système fonctionne toujours
autour de son point de fonctionnement nominal.
Pour l’identification en boucle fermée, deux possibilités peuvent être considérées :
✓ Excitation du procédé superposée au régulateur (la SBPA est additionnée à la sortie du
régulateur) et on procède à l’acquisition de l’entrée réelle du procédé et de la sortie.
✓ Excitation sur la consigne (SBPA est additionnée à la consigne, définissant le point de
fonctionnement) et on procède à l’acquisition de l’entrée de consigne et de la sortie du
procédé.
1.6. Aspects pratiques de l’identification
Le succès de l’identification d’un système dynamique dépend du :
✓ Choix de la période d’échantillonnage et du signal d’excitation (amplitude et contenu
fréquentiel),
✓ Choix du modèle pour le processus et pour le bruit (nombre de pôles et de zéros, retard
pur),
✓ Choix de l’algorithme d’identification.
Prétraitement des données :
Le modèle linéaire du procédé étant dynamique et ne considère que des variations de la sortie
en fonction des variations de l’entrée autour du point de fonctionnement, il faut alors éliminer
les composantes continues du point de fonctionnement dans les données entrées-sorties.
Si le point de fonctionnement (𝑢̅, 𝑦̅) est connu, on peut éliminer la composante constante en
choisissant l’entrée et la sortie du modèle comme des déviations autour du point de
fonctionnement : 𝑢(𝑘) = 𝑢𝑚𝑒𝑠 (𝑘) − 𝑢̅ ; 𝑦(𝑘) = 𝑦𝑚𝑒𝑠 (𝑘) − 𝑦̅, où 𝑢𝑚𝑒𝑠 (𝑘) et 𝑦𝑚𝑒𝑠 (𝑘)
indiquent les valeurs mesurées, les signaux 𝑢(𝑘) et 𝑦(𝑘) représentent des variables écart de
moyenne nulle. Si le point de fonctionnement n’est pas connu, on peut l’estimer à l’aide des
1 1
valeurs moyennes suivantes : 𝑢̅ = 𝑁 ∑𝑁=1 𝑢𝑚𝑒𝑠 (𝑖) et 𝑦̅ = 𝑁 ∑𝑁=1 𝑦𝑚𝑒𝑠 (𝑖).
De façon générale, on peut utiliser un filtre passe-haut pour réduire l’influence des perturbations
basses fréquences. Les signaux filtrés 𝑢(𝑘) = 𝐹(𝑞 −1 )𝑢𝑚𝑒𝑠 (𝑘) et 𝑦(𝑘) = 𝐹(𝑞 −1 )𝑦𝑚𝑒𝑠 (𝑘) par
le filtre 𝐹(𝑞 −1 ) qui seront utilisés pour identifier un modèle dynamique du processus.

FST-Settat 21
Choix de la période d’échantillonnage :
L’acquisition se fait le plus souvent à l’aide d’un calculateur muni d’une carte d’acquisition
entrées-sorties (comportant des convertisseurs N/A et A/N).
1
Pour éviter un recouvrement (ou repliement) de spectre du signal échantillonné, 𝑓𝑒 = 𝑇 ≥
𝑒
2𝑓𝑚𝑎𝑥 (condition de Shannon), où 𝑓𝑚𝑎𝑥 est la plus grande fréquence contenue dans les signaux
analogiques d’entrée/sortie. Il convient donc d’utiliser pour la mesure, un filtre analogique anti-
repliement (filtre passe bas). La période d’échantillonnage 𝑇𝑒 > 𝑡𝑐 doit être supérieure au temps
de calcul des algorithmes d’identification. En pratique, il est recommandé de choisir la
fréquence d’échantillonnage dans une fourchette de l’ordre de 6 à 24 fois la fréquence de
coupure (bande passante) du procédé.
Choix du signal d’excitation :
En pratique, on utilise souvent un signal d’excitation binaires pseudo-aléatoire.
Caractéristiques du signal d’excitation :
✓ Amplitude faible, mais supérieure au niveau du bruit résiduel,
✓ Rapport signal/bruit faible requiert l’allongement de l’essai,
✓ Amplitude limitée : ne pas trop perturber le processus, l’augmentation excessive de
l’amplitude n’est pas souhaitable (des phénomènes non-linéaires liés au procédé
peuvent apparaître). Valeurs typiques : 0.5% à 10% de la valeur de la commande
statique (point de fonctionnement),
✓ Spectre riche : recueillir le maximum d’information sur le système (exciter sur toute la
bande de fréquence intéressante),
✓ Le coup d’horloge du signal d’excitation est un multiple de la période 𝑇𝑒 ,
✓ Déterministe : Physiquement réalisable.
Choix de la structure du modèle
Les connaissances a priori sur le système peuvent aider à trouver rapidement un modèle
satisfaisant pour une application donnée sans faire beaucoup d’essais. En général, on commence
par une classe simple ARX et faire des essais à la recherche du modèle. Si on obtient un modèle
avec un ordre élevé, le bruit est mal modélisé, il faut changer la classe et augmenter la
complexité si nécessaire en essayant ARMAX ou OE.
Estimation du retard
A partir de la réponse indicielle du système, en mesurant le temps entre l’application d’échelon
et la réaction du système, on peut estimer approximativement le retard 𝑑 du modèle.
Estimation de l’ordre :
Lors d’une identification, la structure « procédé + bruit » à identifier peut prendre différentes
formes. Les ordres des polynômes représentés par les degrés 𝑛𝑎 , 𝑛𝑏 , 𝑛𝑐 et 𝑛𝑑 , pour lancer les
méthodes d’estimation des paramètres sont a priori inconnus. Il est important de tester différents
modèles et ordres afin de trouver la combinaison qui représente le mieux les données
identifiées.
✓ Une première approche pour estimer l’ordre du système, c’est-à-dire les valeurs des
degrés est d’étudier les représentations non paramétriques, une estimation grossière du
retard et de l’ordre 𝑛𝑎 du dénominateur peut être obtenue de la réponse indicielle ou
impulsionnelle.
✓ Une deuxième approche utilise les méthodes d’identification paramétrique peut aussi
être utilisée pour estimer l’ordre d’un système. On trace l’évolution du critère
d’identification 𝐽 pour la structure ARX en fonction de la valeur de 𝑛 = 𝑛𝑎 = 𝑛𝑏 pour
𝑛 = 0,…, 𝑛𝑚𝑎𝑥 où 𝑛𝑚𝑎𝑥 est l’ordre maximum. Pour chaque valeur de 𝑛, on lance
l’algorithme d’identification avec la structure ARX et on calcule les résidus en fonction
de 𝑛 comme 𝐽(𝑛) = ∑𝑁 2
𝑘=1 𝛿(𝑘) . On retient le meilleur ordre 𝑛̂ qui minimise le critère
FST-Settat 22
𝐽, au-delà de 𝑛̂, il n’y a plus une grande amélioration dans la qualité du modèle. Pour
les structures avec un modèle du bruit, en règle générale et en absence d’informations a
priori, on choisit comme ordre 𝑛𝑐 du modèle du bruit la valeur de 𝑛.
Remarque :
MATLAB propose un algorithme dans lequel le critère d’identification 𝐽(𝑛𝑎 , 𝑛𝑏 , 𝑑) pour la
structure ARX est déterminé pour toutes les combinaisons possibles de 𝑛𝑎 ∈ [𝑛𝑎𝑚 𝑛 𝑛𝑎𝑚𝑎𝑥 ]
𝑛𝑏 ∈ [𝑛𝑏𝑚 𝑛 𝑛𝑏𝑚𝑎𝑥 ] et 𝑑 ∈ [𝑑𝑚 𝑛 𝑑𝑚𝑎𝑥 ]. Ensuite, l’évolution du critère en fonction du
nombre de paramètres (𝑛𝑎 + 𝑛𝑏 ) est tracée pour chaque 𝑛𝑎 + 𝑛𝑏 = 𝑐𝑠𝑡, le minimum du critère
pour différentes valeurs de 𝑛𝑎 , 𝑛𝑏 et 𝑑 est retenu.

FST-Settat 23
Chapitre 2 : Commande adaptative

2.1. Introduction :
Dans le cas des systèmes variants dans le temps, la forme récursive permet de suivre les
paramètres du modèle du système. Dans ce cas, l’identification en ligne est généralement suivie
d’une commande qui elle aussi s’adapte aux paramètres courants du modèle, on entre alors dans
le domaine des commandes auto-adaptatives, dans le but d’améliorer les performances et le
rendement des procédés industriels et d’augmenter la production.
2.2. Principe de la commande adaptative
2.2.1. Définition
La commande adaptative est l’ensemble des techniques utilisées pour l’ajustement automatique
en ligne et en temps réel des régulateurs des boucles de commande, afin de réaliser ou de
maintenir un certain niveau de performances, quand les paramètres du procédé à commander
sont soit inconnus soit/et variables dans le temps.
2.2.2. Tâches typiques de la commande adaptative
Les techniques de commande adaptative peuvent réaliser quelques tâches typiques à savoir :
✓ Ajustement automatique des régulateurs à la mise en œuvre,
✓ Détermination automatique des paramètres optimaux des régulateurs dans les différents
points de fonctionnement du procédé,
✓ Maintien des performances du système quand les caractéristiques du procédé changent,
✓ Détection des variations anormales des caractéristiques des procédés (ces variations se
reflètent dans les valeurs des paramètres fournis par l’algorithme d’adaptation
paramétrique),
✓ Possibilité de mise en œuvre des régulateurs plus complexes et plus performants que le
P.I.D (ceci comme conséquence de l’ajustement automatique des paramètres du
régulateur),
✓ Conception de nouveaux procédés technologiques utilisant la commande adaptative qui
assure le bon fonctionnement du procédé.
2.2.3. Domaines d’application de la commande adaptative
La commande adaptative est utilisée quand c’est techniquement nécessaire et économiquement
rentable. Les techniques de commande adaptative ont été utilisées avec succès pour un grand
nombre d’applications dans l’industrie : Asservissements des moteurs électriques ; robots
manipulateurs ; cimenteries ; réacteurs chimiques ; colonnes à distiller ; machines à papier ;
régulation de pH ; échangeur de chaleur ; … etc.
L’utilisation de la commande adaptative connaît aujourd’hui un essor certain, d’une part, à
cause de leur complexité raisonnable, et d’autre part, à cause du développement des cartes à
microprocesseurs (ayant une rapidité et une capacité de traitement nettement supérieures)
pouvant servir de support pour leur mise en œuvre. En ce qui concerne la rentabilité, les
éléments suivants sont à prendre en compte : Amélioration de la qualité des produits,
augmentation de la production, économie d’énergie, détection des anomalies.
2.2.4. Similarités et différences entre la commande adaptative et la commande
conventionnelle
Les méthodes classiques de la commande sont basées sur la connaissance de la dynamique du
procédé et sur la connaissance des paramètres du modèle et des caractéristiques des
perturbations. Les changements fréquents des conditions de fonctionnement et les variations
non-mesurables et inconnues des paramètres d’un procédé affectent les performances d’un
système de commande utilisant un régulateur à paramètres fixes. Ces variations sont

FST-Settat 24
provoquées par des variations paramétriques en plus des perturbations externes stochastiques
inconnues agissant sur le procédé. La commande adaptative permet d’ajuster de manière
automatique les paramètres du régulateur afin d’obtenir un certain niveau de performance quand
le comportement dynamique du procédé est inconnu ou variable dans le temps.
2.2.5. Différentes techniques de commande adaptative
Il existe plusieurs types de schémas de commande adaptative :
✓ Commande Adaptative « directe » avec Modèle de Référence, (en anglais : Model
Reference Adaptive Control) ;
✓ Commande adaptative « indirecte » : Commande Auto-Ajustable, (en anglais : Self
Tuning Control).
✓ Commande Auto-Ajustable avec re-paramétrisation du prédicteur.
Commande Adaptative « directe » avec modèle de référence
Une commande Adaptative est dite « directe » si les paramètres du régulateur sont directement
ajustés en une seule étape.
Les cahiers de charges représentant le comportement dynamique du système en boucle fermée
sont définis par un modèle de référence qui décrit la réponse désirée à la sortie du procédé à un
signal de référence donné. Le correcteur peut être considéré comme constitué de deux boucles.
La boucle interne est une boucle de commande classique comprenant le procédé et le régulateur.
Les paramètres du régulateur sont ajustés par la boucle externe de façon à minimiser l’erreur
entre la sortie du modèle de référence et la sortie du procédé. La boucle externe agit donc
comme une boucle de régulation.

Modèle de 𝑦𝑚 (𝑘)
référence

Ajustement des Mécanisme


d’ajustement
𝜃̂𝑅 (𝑘) paramètres du
régulateur

𝑦 (𝑘)
𝑢(𝑘) 𝑦(𝑘)
Régulateur rocédé

Figure 2.1 : Schéma d’une commande adaptative directe avec modèle de référence.
Commande adaptative « indirecte » auto-ajustable
Une commande adaptative est dite « indirecte » si les paramètres du régulateur sont adaptés
en deux étapes :
Etape 1 : Estimation en ligne des paramètres du modèle du procédé ;
Etape 2 : Calcul des paramètres du régulateur à partir des paramètres estimés.
Ce régulateur peut être constitué de deux boucles. La boucle interne comprend le procédé et le
correcteur. Les paramètres du correcteur sont ajustés par la boucle externe qui est composée
d’un estimateur de paramètres récurrent (mécanisme d’adaptation paramétrique), et d’un
algorithme de conception du correcteur. Le contrôleur ajuste automatiquement ses paramètres
afin d’obtenir les propriétés désirées en boucle fermée.
Ce type de commande adaptative est basé sur les principes de séparation et d’équivalence
certaine :

FST-Settat 25
✓ Une loi de commande capable d’atteindre le niveau désiré des performances est conçue
en supposant connus tous les paramètres du procédé ;
✓ Une loi d’adaptation est conçue pour estimer en ligne les paramètres inconnus.

Performances désirées Calcul des 𝜃̂(𝑘)


paramètres du Estimation des
régulateur paramètres

𝜃𝑅 (𝑘)
𝑦 (𝑘)
𝑢(𝑘) 𝑦(𝑘)
Régulateur Procédé

Figure 2.2 : Schéma d’une commande adaptative indirecte auto-ajustable


Commande auto-ajustable avec re-paramétrisation du prédicteur.
Cette méthode consiste à reformuler les deux étapes de la méthode adaptative indirecte auto-
ajustable en une seule étape. Le principe consiste à reparamétriser d’une manière appropriée le
prédicteur qui fait apparaître les paramètres du régulateur. On obtient un seul mécanisme
d’adaptation qui adapte (estime) les paramètres du prédicteur et ceux du régulateur ajustable.
L’idée de base dans la re-paramétrisation est de tenir compte des relations entre les
performances, les paramètres du régulateur et ceux du procédé afin de réécrire les équations du
modèle en termes des paramètres du régulateur et des performances désirées (le modèle du
procédé est directement paramétriser en fonction des paramètres du régulateur).
Performances désirées

Estimation des
paramètres du
𝜃̂𝑅 (𝑘) régulateur

𝑦 (𝑘)
𝑢(𝑘) 𝑦(𝑘)
Régulateur Procédé

Figure 2.3 : Schéma d’une commande auto-ajustable avec re-paramétrisation du prédicteur


2.2.6. Classes des systèmes à commander
On considère la classe la plus rencontrée dans la pratique de systèmes dont le comportement
dynamique est décrit par un modèle paramétrique perturbé que l’on peut écrire sous forme
polynomiale :
𝐶(𝑞 −1 ) 𝐶(𝑞 −1 )
𝐴(𝑞 −1 )𝑦(𝑘) = 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) + 𝐷(𝑞−1 ) 𝑒(𝑘) ; 𝑣(𝑘) = 𝐴(𝑞−1 )𝐷(𝑞−1 ) 𝑒(𝑘) (2.1)
où 𝐷(𝑞 −1 ) = 𝐶(𝑞 −1 ) = 1 pour le modèle ARX, 𝐷(𝑞 −1 ) = 1 pour le modèle ARMAX et
𝐷(𝑞 −1 ) = ∆(𝑞 −1 ) = 1 − 𝑞 −1 pour le modèle ARIMAX (ARMAX Integrated). ∆ est
l’opérateur différentiateur ∆𝑥(𝑘) = 𝑥(𝑘) − 𝑥(𝑘 − 1). Cette structure apporte un terme

FST-Settat 26
intégrateur au sein de la loi de commande et garantie l’annulation de toute erreur statique vis-
à-vis d’une consigne ou d’une perturbation constante.
𝑞 −𝑑 𝐵(𝑞 −1 )
La fonction de transfert du système échantillonné en boucle ouverte est , le système
𝐴(𝑞 −1 )
est stable si les racines du polynôme 𝐴(𝑞 −1 ) sont telles que |𝑞| < 1. Le système est à phase
minimum (inverse stable) si les racines du polynôme 𝐵(𝑞 −1 ) sont telles que |𝑞| < 1. Le
système est à phase non minimum si au moins une racine en 𝑞 de 𝐵(𝑞 −1 ) est à l’extérieur du
cercle unité.
2.2.7. Structure générale des régulateurs numériques
On adopte la forme RST de la commande numérique correspondant au schéma bloc représenté
dans la figure (2.4). La commande prend la forme :
𝑅(𝑞 −1 ) 𝑇(𝑞 −1 )
𝑆(𝑞 −1 )𝑢(𝑘) = −𝑅(𝑞 −1 )𝑦(𝑘) + 𝑇(𝑞 −1 )𝑦 (𝑘) ⟺ 𝑢(𝑘) = − 𝑦(𝑘) + 𝑦 (𝑘) (2.2)
𝑆(𝑞 −1 ) 𝑆(𝑞 −1 )
avec :
𝑅(𝑞 −1 ) = 𝑟0 + 𝑟1 𝑞 −1 + ⋯ + 𝑟𝑛𝑟 𝑞 −𝑛𝑟
𝑆(𝑞 −1 ) = 𝑠0 + 𝑠1 𝑞 −1 + ⋯ + 𝑠𝑛𝑠 𝑞 −𝑛𝑠
𝑇(𝑞 −1 ) = 𝑡0 + 𝑡1 𝑞 −1 + ⋯ + 𝑡𝑛𝑡 𝑞 −𝑛𝑡
𝑣(𝑘)

𝑦 (𝑘) + 𝑢(𝑘) 𝑦(𝑘)


𝑇(𝑞−1)
-

𝑅(𝑞−1 )

Régulateur Procédé
Figure 2.4 : Principe de la commande RST.
Quand les performances acceptables ne peuvent plus être obtenues avec des correcteurs
classiques (PID,…), on utilise un régulateur RST basé sur une structure à 3 branches R, S
et T. Ce régulateur permet :
✓ de gérer indépendamment la dynamique de poursuite (asservissement) et la
dynamique de réjection de perturbation (régulation) ;
✓ de spécifier indépendamment les temps de montée et le dépassement sur la
consigne ;
✓ de tenir compte du retard pur important du procédé ;
✓ d’obtenir une régulation robuste vis à vis : des variations du procédé, des
changements des points de consigne, des variations des produits (Variations des
caractéristiques dynamiques des systèmes en cours de fonctionnement) ;
✓ d’implémenter l’algorithme sur toute cible programmable (carte contrôleur,
automate programmable, PC, DSP, FPGA …).
Avec perturbations, le transfert entrée/sortie du système en boucle fermée est décrit par :
𝑞 −𝑑 𝐵(𝑞 −1 )𝑇(𝑞 −1 ) 𝐴(𝑞 −1 )𝑆(𝑞 −1 )
𝑦(𝑘) = 𝐴(𝑞−1 )𝑆(𝑞−1 )+𝑞−𝑑 𝐵(𝑞−1 )𝑅(𝑞−1 ) 𝑦 (𝑘) + 𝐴(𝑞−1 )𝑆(𝑞−1 )+𝑞−𝑑 𝐵(𝑞−1 )𝑅(𝑞−1 ) 𝑣(𝑘) (2.3)
L’équation (2.3) montre que le modèle bouclé contient deux transferts différents :
✓ Dynamique de poursuite (ou d’asservissement) pour traiter la référence 𝑦 :
𝑞 −𝑑 𝐵(𝑞 −1 )𝑇(𝑞 −1 )
𝐴(𝑞 −1 )𝑆(𝑞 −1 ) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑅(𝑞 −1 )
FST-Settat 27
✓ Dynamique de régulation (ou de réjection de perturbation) pour traiter la perturbation
𝑣:
𝐴(𝑞 −1 )𝑆(𝑞 −1 )
𝐴(𝑞 −1 )𝑆(𝑞 −1 ) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑅(𝑞 −1 )
Les deux dynamiques ont les mêmes pôles en boucle fermée, ces pôles sont donnés par le
polynôme caractéristique : 𝑃𝑏𝑓 (𝑞 −1 ) = 𝐴(𝑞 −1 )𝑆(𝑞 −1 ) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑅(𝑞 −1 )
Le problème de la commande se ramène au calcul des polynômes 𝑅(𝑞 −1 ), 𝑆(𝑞 −1 ) et 𝑇(𝑞 −1 )
qui assurent les performances désirées et permettent d’atteindre l’objectif imposé.
2.3. Commande à variance minimale
L’objectif est l’élaboration d’une commande qui, en présence de perturbations et de retard pur,
permet de réduire la variance de la sortie autour de la trajectoire de la consigne dans la poursuite
et la régulation. Cet objectif se traduit par le calcul d’une loi de commande minimisant la somme
des carrés des erreurs entre la sortie du procédé à commander et la trajectoire de référence
imposée. La formulation mathématique consiste à minimiser la variance de l’erreur de poursuite
𝜀(𝑘 + 𝑑) = 𝑦(𝑘 + 𝑑) − 𝑦 (𝑘 + 𝑑) sur un horizon 𝑁. Le critère d’optimisation est :
2 1 2
𝐽 = 𝔼 [(𝑦(𝑘 + 𝑑) − 𝑦 (𝑘 + 𝑑)) ] ≈ 𝑁 ∑𝑁 𝑘=1(𝑦(𝑘 + 𝑑) − 𝑦 (𝑘 + 𝑑)) (2.4)
Le modèle pour le processus et la perturbation est de type ARMAX, qui est largement employé
dans les applications industrielles :
𝐴(𝑞 −1 )𝑦(𝑘) = 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) + 𝐶(𝑞 −1 )𝑒(𝑘) (2.5)
−1 ), −1 )
𝐴(𝑞 𝐵(𝑞 et 𝐶(𝑞 −1 ) sont des polynômes stables, avec en général 𝑛𝑐 = 𝑛𝑎
On peut écrire la sortie à l’instant 𝑘 + 𝑑 :
𝐵(𝑞 −1 ) 𝐶(𝑞 −1 )
𝑦(𝑘 + 𝑑) = −1 ) 𝑢(𝑘) + 𝑒(𝑘 + 𝑑) (2.6)
𝐴(𝑞 𝐴(𝑞 −1 )
Le bruit blanc à l’instant 𝑘 + 𝑑 est non prédictible. On considère la division euclidienne de
𝐶(𝑞 −1 ) par 𝐴(𝑞 −1 ) et on introduit l’identité polynomiale (équation Diophantienne ou équation
de Bezout) :
𝐶(𝑞 −1 ) 𝐹(𝑞 −1 )
= 𝐸(𝑞 −1 ) + 𝑞 −𝑑 𝐴(𝑞−1 ) ⟺ 𝐶(𝑞 −1 ) = 𝐸(𝑞 −1 )𝐴(𝑞 −1 ) + 𝑞 −𝑑 𝐹(𝑞 −1 ) (2.7)
𝐴(𝑞 −1 )
La solution unique de l’identité (2.7) est donnée par les polynômes 𝐸(𝑞 −1 ) = 1 + 𝑒1 𝑞 −1 + ⋯ +
𝑒𝑛𝑒 𝑞 −𝑛𝑒 de degré 𝑛𝑒 = 𝑑 − 1 et 𝐹(𝑞 −1 ) = 𝑓0 + 𝑓1 𝑞 −1 + ⋯ + 𝑓𝑛𝑓 𝑞 −𝑛𝑓 de degré 𝑛𝑓 = 𝑛𝑎 − 1.
Ces polynômes sont obtenus en utilisant la division euclidienne de 𝐶 par 𝐴 ; le polynôme
𝐸(𝑞 −1 ) correspond au quotient et 𝑞 −𝑑 𝐹(𝑞 −1 ) correspond au reste de cette division. Une autre
méthode consiste à identifier les coefficients des différentes puissances en 𝑞 −1 de l’identité
polynomiale.
On remplace l’équation (2.7) dans l’expression de la sortie, on obtient :
𝐵(𝑞 −1 ) 𝐹(𝑞 −1 )
𝑦(𝑘 + 𝑑) = 𝑢(𝑘) + 𝐴(𝑞−1 ) 𝑒(𝑘) + 𝐸(𝑞 −1 )𝑒(𝑘 + 𝑑) (2.8)
𝐴(𝑞 −1 )
A partir du modèle du procédé, on a :
𝐴(𝑞 −1 ) 𝐵(𝑞 −1 )
𝑒(𝑘) = 𝑦(𝑘) − 𝑞 −𝑑 𝐶(𝑞−1 ) 𝑢(𝑘) (2.9)
𝐶(𝑞 −1 )
La sortie 𝑦(𝑘 + 𝑑) s’écrit donc comme suit :
𝐹(𝑞 −1 ) 𝐵(𝑞 −1 )
𝑦(𝑘 + 𝑑) = 𝐶(𝑞−1 ) 𝑦(𝑘) + 𝐶(𝑞−1 )𝐴(𝑞−1 ) (𝐶(𝑞 −1 ) − 𝑞 −𝑑 𝐹(𝑞 −1 ))𝑢(𝑘) + 𝐸(𝑞 −1 )𝑒(𝑘 + 𝑑)
(2.10)
En utilisant l’identité (2.7), on obtient :
𝐹(𝑞 −1 ) 𝐵(𝑞 −1 )𝐸(𝑞 −1 )
𝑦(𝑘 + 𝑑) = 𝐶(𝑞−1 ) 𝑦(𝑘) + 𝑢(𝑘) + 𝐸(𝑞 −1 )𝑒(𝑘 + 𝑑) (2.11)
𝐶(𝑞 −1 )
Le critère 𝐽 peut s’écrire :

FST-Settat 28
2
𝐹(𝑞 −1 ) 𝐵(𝑞 −1 )𝐸(𝑞 −1 ) −1 )𝑒(𝑘
𝐽 = 𝔼 [(𝐶(𝑞−1 ) 𝑦(𝑘) + 𝑢(𝑘) + 𝐸(𝑞 + 𝑑) − 𝑦 (𝑘 + 𝑑)) ] (2.12)
𝐶(𝑞 −1 )

Si on développe le critère en trois termes 𝐽1 , 𝐽2 et 𝐽3 , on peut écrire 𝐽 = 𝐽1 + 𝐽2 + 𝐽3


avec :
2
𝐹(𝑞 −1 ) 𝐵(𝑞 −1 )𝐸(𝑞 −1 )
𝐽1 = 𝔼 [(𝐶(𝑞−1 ) 𝑦(𝑘) + 𝑢(𝑘) − 𝑦 (𝑘 + 𝑑)) ] ; 𝐽2 = 𝔼[(𝐸(𝑞 −1 )𝑒(𝑘 + 𝑑))2 ] ;
𝐶(𝑞 −1 )

𝐹(𝑞 −1 ) 𝐵(𝑞 −1 )𝐸(𝑞 −1 )


𝐽3 = 2𝔼 [(𝐶(𝑞−1 ) 𝑦(𝑘) + 𝑢(𝑘) − 𝑦 (𝑘 + 𝑑)) . 𝐸(𝑞 −1 )𝑒(𝑘 + 𝑑)]
𝐶(𝑞 −1 )

𝐽3 est nul, puisque le bruit 𝑒(𝑘 + 𝑑) est indépendant de la référence et des mesures
d’entrée/sortie. 𝐽2 ne dépend pas de la commande 𝑢(𝑘). 𝐽1 dépend de 𝑢(𝑘).
𝜕𝐽
La commande optimale 𝑢(𝑘) correspond à la minimisation du critère : 𝜕𝑢(𝑘) = 0, ce qui donne :
𝐹(𝑞 −1 )𝑦(𝑘) + 𝐵(𝑞 −1 )𝐸(𝑞 −1 )𝑢(𝑘) − 𝐶(𝑞 −1 )𝑦 (𝑘 + 𝑑) = 0 (2.13)
La loi de commande est donnée par :
𝐶(𝑞 −1 )𝑦𝑟 (𝑘+𝑑)−𝐹(𝑞 −1 )𝑦(𝑘)
𝑢(𝑘) = (2.14)
𝐵(𝑞 −1 )𝐸(𝑞 −1 )
−1 )
Avec la structure RST (2.2), on peut déduire : 𝑅(𝑞 = 𝐹(𝑞 −1 ) ; 𝑆(𝑞 −1 ) = 𝐵(𝑞 −1 )𝐸(𝑞 −1) et
−1 ) −1 ).
𝑇(𝑞 = 𝐶(𝑞 L’équation (2.14) montre que cette commande ne peut être appliquée qu’aux
procédés à zéros stables (stabilité du régulateur).
Les équations (2.11) et (2.14), montrent que l’erreur de poursuite est un bruit blanc filtré :
𝑦(𝑘 + 𝑑) − 𝑦 (𝑘 + 𝑑) = 𝐸(𝑞 −1 )𝑒(𝑘 + 𝑑).
La fonction de transfert en boucle fermée du système :
𝑦(𝑘) 𝑞 −𝑑 𝐵(𝑞 −1 )𝑇(𝑞 −1 ) 𝑞 −𝑑 𝑇(𝑞 −1 ) 𝑞 −𝑑 𝑇(𝑞 −1 )
= 𝐴(𝑞−1 )𝑆(𝑞−1 )+𝑞−𝑑 𝐵(𝑞−1 )𝑅(𝑞−1 ) = 𝐴(𝑞−1 )𝐸(𝑞−1 )+𝑞−𝑑 𝐹(𝑞−1 ) = (2.15)
𝑦𝑟 (𝑘+𝑑) 𝐶(𝑞 −1 )
−1
Le polynôme caractéristique définit donc les pôles en boucle fermée 𝑃𝑏𝑓 = 𝐶(𝑞 −1 ) et en (𝑞 )
conséquence le comportement du procédé en asservissement et en régulation. Le polynôme
𝑇(𝑞 −1 ) doit compenser les pôles en boucle fermée 𝑇(𝑞 −1 ) = 𝐶(𝑞 −1 ).
Remarque :
La commande à variance minimale s’applique aux systèmes stables, à phase minimale et à
retard pur connu.
2.3.1. Commande à variance minimale généralisée
Pour généraliser la technique de commande à des procédés à zéros instable (à non minimum de
phase), le critère à minimiser peut être formulé comme suit :
2
𝑄(𝑞 −1 )
𝐽 = 𝔼 [(𝑦(𝑘 + 𝑑) − 𝑦 (𝑘 + 𝑑) + 𝐶(𝑞−1 ) 𝑢(𝑘)) ] (2.16)
𝜆(1−𝑞−1 )
avec : 𝑄(𝑞 −1 ) = , ce terme permet d’éviter la simplification entre éléments instables.
1+𝛼𝑞 −1
𝜆 > 0 est une constante de pondération pour la variation de la commande (𝑢(𝑘) − 𝑢(𝑘 − 1)).
Le terme 1 + 𝛼𝑞 −1 produit un filtrage (−1 < 𝛼 ≤ 0).
𝑄(𝑞 −1 )
L’expression 𝑦(𝑘 + 𝑑) + 𝐶(𝑞−1 ) 𝑢(𝑘) est dite sortie généralisée et la technique de commande
est dite à variance minimale généralisée.
En utilisant l’équation (2.11), le critère de commande devient :
2
𝐹(𝑞 −1 ) 𝐵(𝑞 −1 )𝐸(𝑞 −1 ) 𝑄(𝑞 −1 ) −1 )𝑒(𝑘
𝐽 = 𝔼 [(𝐶(𝑞−1 ) 𝑦(𝑘) + 𝑢(𝑘) + 𝐶(𝑞−1 ) 𝑢(𝑘) + 𝐸(𝑞 + 𝑑) − 𝑦 (𝑘 + 𝑑)) ]
𝐶(𝑞 −1 )

(2.17)
On pose :

FST-Settat 29
2
𝐹(𝑞 −1 ) 𝐵(𝑞 −1 )𝐸(𝑞 −1 )+𝑄(𝑞 −1 )
𝐽1 = 𝔼 [(𝐶(𝑞−1 ) 𝑦(𝑘) + 𝑢(𝑘) − 𝑦 (𝑘 + 𝑑)) ] ;
𝐶(𝑞 −1 )

𝐽2 = 𝔼[(𝐸(𝑞 −1 )𝑒(𝑘 + 𝑑))2 ] ;


𝐹(𝑞 −1 ) 𝐵(𝑞 −1 )𝐸(𝑞 −1 )+𝑄(𝑞 −1 )
𝐽3 = 2𝔼 [(𝐶(𝑞−1 ) 𝑦(𝑘) + 𝑢(𝑘) − 𝑦 (𝑘 + 𝑑)) 𝐸(𝑞 −1 )𝑒(𝑘 + 𝑑)] ;
𝐶(𝑞 −1 )

La commande qui minimise le critère (qui annule le terme 𝐽1 ) est donc :


𝐶(𝑞 −1 )𝑦𝑟 (𝑘+𝑑)−𝐹(𝑞 −1 )𝑦(𝑘) 𝑇(𝑞 −1 )𝑦𝑟 (𝑘+𝑑)−𝑅(𝑞 −1 )𝑦(𝑘)
𝑢(𝑘) = = (2.18)
𝐵(𝑞 −1 )𝐸(𝑞 −1 )+𝑄(𝑞 −1 ) 𝑆(𝑞 −1 )+𝑄(𝑞 −1 )
Le calcul de la commande peut se faire en deux étapes :
✓ On détermine 𝑅(𝑞 −1 ) = 𝐹(𝑞 −1 ) ; 𝑆(𝑞 −1 ) = 𝐵(𝑞 −1 )𝐸(𝑞 −1 ) et 𝑇(𝑞 −1 ) = 𝐶(𝑞 −1 ) pour
𝑄(𝑞 −1 ) = 0 ;
𝜆(1−𝑞 −1 )
✓ On introduit ensuite 𝑄(𝑞 −1 ) = ; 𝜆 > 0 pour éviter la simplification par des
1+𝛼𝑞 −1
éléments instables.
La fonction de transfert en boucle fermée s’écrit comme suit :
𝑦(𝑘) 𝑞 −𝑑 𝐵(𝑞 −1 )𝑇(𝑞 −1 )
= 𝐴(𝑞−1 )𝑆(𝑞−1 )+𝑞−𝑑 𝐵(𝑞−1 )𝑅(𝑞−1 )+𝐴(𝑞−1 )𝑄(𝑞−1 ) (2.19)
𝑦𝑟 (𝑘+𝑑)
En utilisant l’équation diophantienne (2.7), on obtient :
𝑦(𝑘) 𝑞 −𝑑 𝐵(𝑞 −1 )𝑇(𝑞 −1 ) 𝑞 −𝑑 𝐵(𝑞 −1 )𝑇(𝑞 −1 )
= = 𝐶(𝑞−1 )𝐵(𝑞−1 )+𝐴(𝑞−1 )𝑄(𝑞−1 ) (2.20)
𝑦𝑟 (𝑘+𝑑) (𝐸(𝑞 −1 )𝐴(𝑞 −1 )+𝑞 −𝑑 𝐹(𝑞 −1 ))𝐵(𝑞 −1 )+𝐴(𝑞 −1 )𝑄(𝑞 −1 )
On choisit 0 < 𝜆 < 1, de façon à assurer la stabilité du procédé en boucle fermée (racines en 𝑞
de 𝐶(𝑞 −1 )𝐵(𝑞 −1 ) + 𝐴(𝑞 −1 )𝑄(𝑞 −1 ) = 0 de modules inférieurs à l’unité) et à obtenir une
commande réalisable (racines de 𝑆(𝑞 −1 ) + 𝑄(𝑞 −1 ) stables).
2.3.2. Commande auto-ajustable à variance minimale
La version adaptative de l’algorithme de commande est l’association de la loi de commande à
variance minimale et d’un algorithme récursif d’adaptation paramétrique.
2.3.2.1. Schéma indirect de la commande adaptative à variance minimale
𝑢(𝑘) 𝑦(𝑘)
Procédé

Estimation des
paramètres du
modèle

Calcul des
paramètres du
régulateur

Loi de commande

Figure 2.5 : Schéma de commande adaptative indirect


Cette forme de l’algorithme consiste à remplacer les paramètres inconnus 𝑎 , 𝑏 et 𝑐 du modèle
par leurs estimés pour calculer les paramètres du régulateur 𝑒 et 𝑓 en résolvant l’équation
polynomiale : 𝐶̂ (𝑞 −1 ) = 𝐸(𝑞 −1 )𝐴̂(𝑞 −1 ) + 𝑞 −𝑑 𝐹(𝑞 −1 ).
Etapes de l’algorithme de commande :
FST-Settat 30
A chaque instant d’échantillonnage 𝑡 = 𝑘𝑇𝑒 , on réitère les étapes suivantes :
✓ Acquérir la sortie 𝑦(𝑘) ;
✓ Estimer les paramètres du modèle : 𝑎̂ , 𝑏̂ et 𝑐̂
✓ Déterminer les paramètres du régulateur : 𝑒 et 𝑓
𝑅(𝑞 −1 ) 𝑇(𝑞 −1 )
✓ Calculer la commande : 𝑢(𝑘) = − 𝑆(𝑞−1 ) 𝑦(𝑘) + 𝑆(𝑞−1 ) 𝑦 (𝑘 + 𝑑) ; 𝑅(𝑞 −1 ) = 𝐹(𝑞 −1 ) ;
𝑆(𝑞 −1 ) = 𝐵̂ (𝑞−1 )𝐸(𝑞 −1 ) ; 𝑇(𝑞 −1 ) = 𝐶̂ (𝑞 −1 ) ;
✓ Appliquer la commande 𝑢(𝑘) ;
✓ Attendre la fin de la période d’échantillonnage et retour à la première étape.
2.3.2.2. Schéma direct de la commande adaptative à variance minimale
On cherche une forme du modèle paramétrisé en fonction des paramètres du régulateur.
La sortie du modèle du procédé est donnée par :
𝐴(𝑞 −1 )𝑦(𝑘) = 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) + 𝐶(𝑞 −1 )𝑒(𝑘)
La loi de commande est :
𝐶(𝑞 −1 )𝑦 (𝑘 + 𝑑) − 𝐹(𝑞 −1)𝑦(𝑘)
𝑢(𝑘) =
𝐵(𝑞 −1 )𝐸(𝑞 −1 )
où :
𝑆(𝑞 −1 )𝑢(𝑘) = −𝑅(𝑞 −1 )𝑦(𝑘) + 𝑇(𝑞 −1 )𝑦 (𝑘 + 𝑑)
−1 ) −1 )
avec : 𝑅(𝑞 = 𝐹(𝑞 ; 𝑆(𝑞 −1 ) = 𝐵(𝑞 −1 )𝐸(𝑞 −1 ) ; 𝑇(𝑞 −1 ) = 𝐶(𝑞 −1 ) ;
Pour simplifier, on prend 𝐶(𝑞 −1 ) = 1, l’équation diophantienne devient : 1 =
𝐴(𝑞 −1 )𝐸(𝑞 −1 ) + 𝑞 −𝑑 𝐹(𝑞 −1 ), avec 𝑛𝑒 = 𝑑 − 1 et 𝑛𝑓 = 𝑛𝑎 − 1.
En utilisant l’équation (2.11), la sortie à l’instant 𝑘 + 𝑑 est :
𝑦(𝑘 + 𝑑) = 𝐹(𝑞 −1 )𝑦(𝑘) + 𝐵(𝑞 −1 )𝐸(𝑞 −1 )𝑢(𝑘) + 𝐸(𝑞 −1 )𝑒(𝑘 + 𝑑) (2.21)
Soit encore :
𝑦(𝑘 + 𝑑) = 𝑅(𝑞 −1 )𝑦(𝑘) + 𝑆(𝑞 −1 )𝑢(𝑘) + 𝐸(𝑞 −1 )𝑒(𝑘 + 𝑑) (2.22)
La sortie à l’instant 𝑘
𝑦(𝑘) = 𝑅(𝑞 −1 )𝑦(𝑘 − 𝑑) + 𝑆(𝑞 −1 )𝑢(𝑘 − 𝑑) + 𝑤(𝑘) ; 𝑤(𝑘) = 𝐸(𝑞 −1 )𝑒(𝑘) (2.23)
avec :
𝑅(𝑞 −1 ) = 𝑟0 + 𝑟1 𝑞 −1 + ⋯ + 𝑟𝑛𝑟 𝑞 −𝑛𝑟 ; 𝑛 = 𝑛𝑓 = 𝑛𝑎 − 1
𝑆(𝑞 −1 ) = 𝑠0 + 𝑠1 𝑞 −1 + ⋯ + 𝑠𝑛𝑠 𝑞 −𝑛𝑠 ; 𝑛𝑠 = 𝑛𝑏 + 𝑑 − 1
La sortie s’écrit alors :
𝑦(𝑘) = 𝑟0 𝑦(𝑘 − 𝑑) + 𝑟1 𝑦(𝑘 − 𝑑 − 1) + ⋯ 𝑟𝑛𝑟 𝑦(𝑘 − 𝑑 − 𝑛 ) + 𝑠0 𝑢(𝑘 − 𝑑) +
𝑠1 𝑢(𝑘 − 𝑑 − 1) + ⋯ 𝑠𝑛𝑠 𝑢(𝑘 − 𝑑 − 𝑛𝑠 ) + 𝑤(𝑘) (2.24)
Que l’on peut mettre sous la forme de régression :
𝑦(𝑘) = 𝜑 𝑇 (𝑘)𝜃𝑅 + 𝑤(𝑘) (2.25)
avec : 𝜑(𝑘) est le vecteur d’observation, 𝜑 𝑇 (𝑘) = [𝑦(𝑘 − 𝑑) ⋯ 𝑦(𝑘 − 𝑑 − 𝑛 ) 𝑢(𝑘 −
𝑑) ⋯ 𝑢(𝑘 − 𝑑 − 𝑛𝑠 )] ; 𝜃𝑅 est le vecteur des paramètres du régulateur, 𝜃𝑅 =
𝑇
[𝑟0 𝑟1 ⋯ 𝑟𝑛 𝑠0 𝑠1 ⋯ 𝑠𝑛 𝑠 ] . Le prédicteur optimal de la sortie est 𝑦̂(𝑘/𝑘 − 1, 𝜃𝑅 ) = 𝜑 𝑇 (𝑘)𝜃𝑅 .
L’identification donne directement les paramètres estimés du régulateur 𝜃̂𝑅 .
L’expression de la loi de commande s’écrit :
𝑛𝑠 𝑛𝑟
𝑠0 𝑢(𝑘) + ∑ =1 𝑠 𝑢(𝑘 − 𝑖) = − ∑ =0 𝑟 𝑦(𝑘 − 𝑖) + 𝑦 (𝑘 + 𝑑) (2.26)
d’où :
1 𝑛𝑠 𝑛𝑟
𝑢(𝑘) = 𝑠 [− ∑ =1 𝑠 𝑢(𝑘 − 𝑖) − ∑ =0 𝑟 𝑦(𝑘 − 𝑖) + 𝑦 (𝑘 + 𝑑)] (2.27)
0
Etapes de l’algorithme de commande :
A chaque instant d’échantillonnage 𝑡 = 𝑘𝑇𝑒 , on réitère les étapes suivantes :
✓ Acquisition de la sortie 𝑦(𝑘) ;
✓ Estimation des paramètres du régulateur : 𝑟̂ et 𝑠̂

FST-Settat 31
𝑛𝑠 1 𝑛𝑟
✓ Calcul de la commande : 𝑢(𝑘) = 𝑠̂ [− ∑ =1 𝑠̂ 𝑢(𝑘 − 𝑖) − ∑ =0 𝑟̂ 𝑦(𝑘 − 𝑖) + 𝑦 (𝑘 +
0
𝑑)]
✓ Application de la commande 𝑢(𝑘) ;
✓ Attendre la fin de la période d’échantillonnage et retour à la première étape.

𝑢(𝑘) 𝑦(𝑘)
Procédé

Estimation des
paramètres du
régulateur

Loi de commande
Figure 2.6 : Schéma de commande adaptative direct
2.4. Commande par placement de pôles
La technique de placement de pôles est très répandue par le calcul des régulateurs RST
numériques. Elle s’applique aux systèmes ayant des zéros et des pôles stables ou instables.
L’idée est de déterminer le régulateur qui impose les pôles désirés en boucle fermée.
Le modèle du système à commander est :
𝐴(𝑞 −1 )𝑦(𝑘) = 𝑞 −𝑑 𝐵(𝑞 −1 )𝑢(𝑘) + 𝐶(𝑞 −1 )𝑒(𝑘) (2.28)
−1 ) −1 )
Les polynômes 𝐴(𝑞 et 𝐵(𝑞 sont premiers entre eux (n’ont pas de racines communes).
Considérons la loi de commande linéaire :
𝑆(𝑞 −1 )𝑢(𝑘) = −𝑅(𝑞 −1 )𝑦(𝑘) + 𝑇(𝑞 −1 )𝑦 (𝑘) (2.29)
−1 ), −1 ) −1 )
où 𝑅(𝑞 𝑆(𝑞 et 𝑇(𝑞 sont des polynômes de degrés appropriés.
La sortie du système en boucle fermée est :
𝑞 −𝑑 𝐵(𝑞 −1 )𝑇(𝑞 −1 ) 𝐶(𝑞 −1 )𝑆(𝑞 −1 )
𝑦(𝑘) = 𝐴(𝑞−1 )𝑆(𝑞−1 )+𝑞−𝑑 𝐵(𝑞−1 )𝑅(𝑞−1 ) 𝑦 (𝑘) + 𝐴(𝑞−1 )𝑆(𝑞−1 )+𝑞−𝑑 𝐵(𝑞−1 )𝑅(𝑞−1 ) 𝑒(𝑘) (2.30)
Le polynôme caractéristique en boucle fermée définissant les pôles désirés :
𝑃𝑏𝑓 (𝑞 −1 ) = 𝐴(𝑞 −1 )𝑆(𝑞 −1 ) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑅(𝑞 −1 ) (2.31)
−1 ) −1 )
Les polynômes 𝑅(𝑞 et 𝑆(𝑞 du régulateur sont solution de l’équation polynomiale (2.31).
Choix des pôles en boucle fermée : polynôme 𝑃𝑏𝑓 (𝑞−1 )
Le choix de 𝑃𝑏𝑓 (𝑞 −1 ) fixe les pôles du transfert en asservissement et en régulation.
Généralement le degré de 𝑃𝑏𝑓 (𝑞 −1 ) est suffisant pour fixer les pôles principaux ou dominats
𝑃𝑑 (𝑞 −1 ) donnant la dynamique désirée et des pôles auxiliaires 𝑃𝑎 (𝑞 −1 ). Donc 𝑃𝑏𝑓 (𝑞 −1 ) =
𝑃𝑑 (𝑞 −1 )𝑃𝑎 (𝑞−1 ).
où 𝑃𝑑 (𝑞 −1 ) représente les pôles dominants choisis en fonction des performances désirées du
système ; et 𝑃𝑎 (𝑞 −1 ) correspond aux pôles auxiliaires qui sont introduits pour améliorer la
robustesse de la commande, ils sont choisis plus rapides que les pôles dominants.
En général 𝑃𝑑 (𝑞 −1 ) est choisi sous forme d’un second ordre, on fixe les performances désirées
en continu (temps de réponse 𝑡 et dépassement 𝐷1 %) et on détermine le coefficient
d’amortissement 𝜉 et la pulsation propre non amortie 𝜔𝑛 désirés en boucle fermée, en s’assurant
que la période d’échantillonnage 𝑇𝑒 vérifie la condition 0,25 ≤ 𝜔𝑛 𝑇𝑒 ≤ 1,5 ; pour 0,7 ≤ 𝜉 ≤
1. Les pôles d’un second ordre en continu pour 𝜉 < 1 sont : 𝑝𝑐(1,2) = −𝜉𝜔𝑛 ± 𝑗𝜔𝑛 √1 − 𝜉 2 ;

FST-Settat 32
2
les pôles en discret sont donnés par : 𝑧1,2 = 𝑒 𝑝𝑐(1,2)𝑇𝑒 = 𝑒 −𝜉𝜔𝑛𝑇𝑒 𝑒 ±𝑗𝜔𝑛𝑇𝑒√1−𝜉 . Le polynôme
dominant s’écrit alors :
𝑃𝑑 (𝑞 −1 ) = 1 + 𝑝1 𝑞 −1 + 𝑝2 𝑞 −2 (2.32)
−𝜉𝜔𝑛 𝑇𝑒 2 −2𝜉𝜔𝑛 𝑇𝑒
avec : 𝑝1 = 𝑧1 + 𝑧2 = −2𝑒 cos(𝜔𝑛 𝑇𝑒 √1 − 𝜉 ) et 𝑝2 = 𝑧1 𝑧2 = 𝑒
Pré-caractérisation des polynômes 𝑅(𝑞 −1 ) et 𝑆(𝑞 −1 )
Il est possible, compte tenu des connaissances a priori sur les perturbations et les bruits de
mesures, de pré-caractériser des racines dans les polynômes 𝑅(𝑞 −1 ) et 𝑆(𝑞 −1 ) qui contiennent
des parties fixes pré-spécifiées avant la résolution de l’équation diophantienne (2.31).
Pré-caractérisation de 𝑆(𝑞 −1 ) :
Pour un processus non intégrateur, si on désire annuler l’erreur statique en présence d’une
perturbation constante, le polynôme 𝑆(𝑞 −1 ) doit contenir une racine (pôle) en 𝑞 = 1
(intégrateur). Pour cela, on pose : 𝑆(𝑞 −1 ) = (1 − 𝑞 −1 )𝑆1 (𝑞 −1 ). En général : 𝑆(𝑞 −1 ) =
𝑆𝑝 (𝑞−1 )𝑆1 (𝑞−1 ) ; où 𝑆𝑝 (𝑞 −1 ) est la partie pré-spécifiée permettant le rejet de perturbation pour
certaines fréquences.
Pré-caractérisation de 𝑅(𝑞 −1 ) :
Pour le filtrage des bruits de mesure, le polynôme 𝑅(𝑞 −1 ) doit posséder une partie pré-spécifiée
𝑅𝑝 (𝑞 −1 ), on pose 𝑅(𝑞 −1 ) = 𝑅𝑝 (𝑞 −1 )𝑅1 (𝑞−1 ).
Calcul des polynômes 𝑅(𝑞 −1 ) et 𝑆(𝑞 −1)
Dans l’équation polynomiale (2.31), les polynômes 𝐴(𝑞 −1 ) , 𝐵(𝑞 −1 ) et 𝑃𝑏𝑓 (𝑞 −1 ) sont connus
alors que 𝑅(𝑞 −1 ) et 𝑆(𝑞 −1 ) sont à déterminer. Il existe une solution unique minimale par
rapport aux degrés de 𝑅(𝑞 −1 ) et de 𝑆(𝑞 −1 ) :
𝑛𝑝 = deg(𝑃𝑏𝑓 ) ≤ 𝑛𝑎 + 𝑛𝑏 + 𝑑 − 1
{𝑛𝑠 = deg(𝑆) = 𝑛𝑏 + 𝑑 − 1
𝑛 = deg(𝑅) = 𝑛𝑎 − 1
L’équation polynomiale peut se mettre sous la forme matricielle :
𝑀𝑋 = 𝑃 (2.33)
−1 ) −1
avec : 𝑋 le vecteur contenant les coefficients des polynômes 𝑆(𝑞 = 1 + 𝑠1 𝑞 + ⋯ +
−𝑛𝑠 −1 ) −1 −𝑛𝑟 𝑇
𝑠𝑛𝑠 𝑞 et 𝑅(𝑞 = 𝑟0 + 𝑟1 𝑞 + ⋯ + 𝑟𝑛𝑟 𝑞 : 𝑋 = [1 𝑠1 ⋯ 𝑠𝑛 𝑠 𝑟0 𝑟1 ⋯ 𝑟𝑛 ] ; 𝑃 est le
𝑇
vecteur des coefficients du polynôme 𝑃𝑏𝑓 (𝑞−1 ) : 𝑃 = [1 𝑝1 𝑝2 ⋯ 𝑝𝑛 𝑝 ] .
La résolution du système d’équations linéaires suivante :
𝑛𝑎 1
𝑛𝑏 +𝑑 1
⏞1 0 ⋯ ⋯ 0 ⏞𝑏′0 0 ⋯ ⋯ 0 𝑠1 𝑝1
𝑎1 1 ⋱ 𝑏′1 𝑏′0 ⋱ ⋮ 𝑠2 𝑝 2
𝑎2 𝑎1 ⋱ ⋱ 𝑏′2 𝑏′ 1 ⋱ ⋱ ⋮ ⋮ ⋮
⋮ 𝑎2 ⋱ ⋱ 0 ⋮ 𝑏′2 ⋱ ⋱ 0 ⋮ ⋮
⋮ ⋮ ⋱ ⋱ 1 ⋮ ⋮ ⋱ ⋱ 𝑏′0 . 𝑠𝑛𝑠 =
𝑎𝑛𝑎 ⋮ ⋮ ⋱ 𝑎1 𝑏′𝑛 ⋮ ⋮ ⋱ 𝑏′1 𝑟0
𝑏
0 𝑎𝑛𝑎 ⋮ ⋮ 𝑎 2 0 𝑏′𝑛𝑏 ⋮ ⋮ 𝑏′2 𝑟1 ⋮
⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋮ ⋱ ⋮ ⋮ 2 ⋮
⋮ ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋮ ⋱ ⋮ ⋮ ⋮
0 0 0 0 𝑎𝑛𝑎 0 0 0 0 𝑏′𝑛𝑏 ⋮ ⋮
[ 𝑟 𝑝
] [ 𝑛𝑟 ] [ 𝑛𝑝 ]
donne les polynômes 𝑅(𝑞 −1 ) et 𝑆(𝑞 −1 ) du régulateur : 𝑋 = 𝑀−1 𝑃 ; la matrice 𝑀(𝑛𝑎 + 𝑛𝑏 +
𝑑, 𝑛𝑎 + 𝑛𝑏 + 𝑑) (matrice de Sylverster) contenant les paramètres du modèle du système.
avec 𝑏′ = 0 ; pour 𝑖 = 0,1,2 … , 𝑑 − 1 ; et 𝑏′ = 𝑏 −𝑑 ; pour 𝑖 ≥ 𝑑. La matrice 𝑀 est inversible
si les polynômes 𝐴(𝑞 −1 ) et 𝐵(𝑞 −1 ) sont premiers entre eux.

FST-Settat 33
Exemple :
Pour 𝐴(𝑞 −1 ) = 1 + 𝑎1 𝑞 −1 + 𝑎2 𝑞 −2 ; 𝐵(𝑞 −1 ) = 𝑏1 𝑞 −1 + 𝑏2 𝑞 −2 ; 𝑛𝑎 = 2, 𝑛𝑏 = 2, 𝑑 = 1
𝑛𝑝 = deg(𝑃𝑏𝑓 ) ≤ 4
{𝑛𝑠 = deg(𝑆) = 2
𝑛 = deg(𝑅) = 1
1 0 0 0 0 1 1
𝑎1 1 0 0 0 𝑠1 𝑝1
𝑀 = 𝑎2 𝑎1 1 𝑏1 0 ; 𝑋 = 𝑠2 ; 𝑃 = 𝑝2
0 𝑎2 𝑎1 𝑏2 𝑏1 𝑟0 𝑝3
[0 0 𝑎2 0 𝑏2 ] [ 𝑟1 ] [𝑝4 ]
Remarque :
Dans le cas où les polynômes 𝑅(𝑞 −1 ) et 𝑆(𝑞 −1) contiennent des parties fixes pré-spécifiées,
l’équation polynomiale devient :
𝑃𝑏𝑓 (𝑞 −1 ) = 𝐴(𝑞 −1 )𝑆𝑝 (𝑞−1 )𝑆1 (𝑞−1 ) + 𝑞 −𝑑 𝐵(𝑞 −1 )𝑅𝑝 (𝑞 −1 )𝑅1 (𝑞 −1 ) (2.34)
Cette équation peut se mettre sous la forme générale :
𝑃𝑏𝑓 (𝑞 −1 ) = 𝐴1 (𝑞 −1 )𝑆1 (𝑞 −1 ) + 𝑞 −𝑑 𝐵1 (𝑞 −1 )𝑅1 (𝑞 −1 ) (2.35)
−1 −1 −1 −1 −1 −1
où les polynômes 𝐴1 (𝑞 ) = 𝐴(𝑞 )𝑆𝑝 (𝑞 ) et 𝐵1 (𝑞 ) = 𝐵(𝑞 )𝑅𝑝 (𝑞 ) sont connues.
L’utilisation de l’identité polynomiale (2.35) permet de calculer 𝑆1 (𝑞−1 ) et 𝑅1 (𝑞 −1 ).
𝑛𝑝 = deg(𝑃𝑏𝑓 ) ≤ 𝑛𝐴1 + 𝑛𝐵1 + 𝑑 − 1
{𝑛𝑆1 = deg(𝑆1 ) = 𝑛𝐵1 + 𝑑 − 1 (2.36)
𝑛𝑅1 = deg(𝑅1 ) = 𝑛𝐴1 − 1
−1 )
Calcul du polynôme 𝑇(𝑞
Les polynômes 𝑅(𝑞 −1 ) et 𝑆(𝑞 −1 ) assurent les performances dynamiques et la stabilité du
système. Le polynôme 𝑇(𝑞 −1 ) assure les performances statiques, il permet d’avoir un gain
statique unitaire entre la sorte 𝑦 et sa valeur de référence 𝑦 . La dynamique de poursuite est
donnée par :
𝑞 −𝑑 𝐵(𝑞 −1 )𝑇(𝑞 −1 )
𝐻𝑦𝑟 ⟶𝑦 (𝑞 −1 ) = (2.37)
𝑃𝑏𝑓 (𝑞 −1 )
On peut choisir le polynôme 𝑇(𝑞 −1 ) de façon à éliminer 𝑃𝑏𝑓 (𝑞 −1 ) tout en maintenant un gain
statique unitaire dans la transmittance entre 𝑦 et 𝑦 :
1
−1 ) −1 ) ; 𝑠𝑖 𝐵(1) ≠ 0
𝑇(𝑞 = 𝛽𝑃𝑏𝑓 (𝑞 ; où 𝛽 = {𝐵(1) (2.38)
1 ; 𝑠𝑖 𝐵(1) = 0
Dans ce cas :
𝑞 −𝑑 𝐵(𝑞 −1 )
𝐻𝑦𝑟 ⟶𝑦 (𝑞 −1 ) = (2.39)
𝐵(1)

2.4.1. Schéma de la commande adaptative par placement de pôles


L’implantation de la loi de commande par placement de pôles nécessite la connaissance des
paramètres du modèle du système. Si ces paramètres sont inconnus, on les estime par un
algorithme d’identification paramétrique.
La loi de commande est :
𝑆(𝑞 −1 )𝑢(𝑘) = −𝑅(𝑞 −1 )𝑦(𝑘) + 𝑇(𝑞 −1 )𝑦 (𝑘) (2.40)
−1 ) −1 )
où 𝑅(𝑞 et 𝑆(𝑞 sont solution unique de l’équation :
𝐴̂(𝑞 −1 )𝑆(𝑞 −1 ) + 𝑞 −𝑑 𝐵̂ (𝑞 −1 )𝑅(𝑞 −1 ) = 𝑃𝑏𝑓 (𝑞 −1 ) (2.41)
1
et 𝑇(𝑞 −1 ) ̂ −1 ̂
= 𝛽 𝑃𝑏𝑓 (𝑞 ) ; 𝛽 = ̂ (1)
𝐵
Etapes de l’algorithme de commande :
A chaque instant d’échantillonnage 𝑡 = 𝑘𝑇𝑒 , on réitère les étapes suivantes :
✓ Acquisition de la sortie 𝑦(𝑘) ;
FST-Settat 34
✓ Estimation des paramètres du modèle du procédé : 𝑎̂ et 𝑏̂
✓ Calcul des paramètres du régulateur : 𝑟 , 𝑠 et 𝑡
✓ Calcul de loi la commande : 𝑆(𝑞 −1 )𝑢(𝑘) = −𝑅(𝑞 −1 )𝑦(𝑘) + 𝑇(𝑞 −1 )𝑦 (𝑘)
✓ Application de la commande 𝑢(𝑘) ;
✓ Attendre la fin de la période d’échantillonnage et retour à la première étape.
2.4.2. Comportement en asservissement
Le polynôme caractéristique en boucle fermée, fixe la dynamique d’asservissement de la
consigne et la dynamique de rejet de perturbation.
✓ Une dynamique rapide entraine lors d’un changement de consigne, le suivi rapide de
consigne et la compensation rapide de la perturbation ; mais peut provoquer la saturation
de l’actionneur du système ;
✓ Pour éviter la saturation de la commande, la dynamique d’asservissement doit être plus
lente que la dynamique de rejet de perturbation.
✓ La dynamique d’asservissement est fixé par un modèle de référence en amont de 𝑇(𝑞 −1 )
𝐵 (𝑞 −1 )
et donnée par : 𝑦 ∗ (𝑘) = 𝑞 −𝑑 𝐴𝑚 (𝑞−1 ) 𝑦 (𝑘), où 𝑦 ∗ est la trajectoire désirée de la sortie
𝑚
(référence intermédiaire). Ce qui permet la gestion indépendante des dynamiques de
poursuite (changement de consigne) et de régulation (rejet de perturbations).
✓ Le modèle de référence de poursuite est en général un modèle normalisé du second
𝑏 𝑞 −1 +𝑏𝑚2 𝑞 −2
ordre en spécifiant 𝜉𝑚 ; 𝜔𝑛𝑚 et 𝑇𝑒 : 𝐻𝑚 (𝑞 −1 ) = 𝑞 −𝑑 1+𝑎𝑚1 −1 +𝑎 −2
𝑚1 𝑞 𝑚2 𝑞
✓ La dynamique de rejet de perturbation est fixée par les pôles en boucle fermée du
polynôme caractéristique 𝑃𝑏𝑓 (𝑞 −1 ).
𝑣(𝑘)

𝑦 (𝑘) 𝑦 ∗(𝑘 + 𝑑) + 𝑢(𝑘) 𝑦(𝑘)


𝑇(𝑞−1)
-

𝑅(𝑞−1 )

𝐵(𝑞 −1)
𝑞 −𝑑
𝑃𝑏𝑓 𝑞 −1
𝐵(𝑞 −1)𝑇(𝑞 −1 ) 𝐵(𝑞 −1)
𝑞 −𝑑 = 𝑞 −𝑑
𝑃𝑏𝑓 𝑞−1 𝐵 1

𝐵𝑚 𝑞−1 𝐵(𝑞 −1 )
𝑞 −𝑑
𝐴𝑚 𝑞−1 𝐵 1
Figure 2.7 : Comportement en asservissement/régulation de la commande par placement de
pôles
2.5. Commande prédictive
La commande prédictive est une technique de commande basée sur la notion de prédiction du
comportement de la dynamique des systèmes. Elle est connue dans les domaines industriels
complexes (industrie chimique, agro-alimentaire, automobile, aérospatial, métallurgie,
séchage, fours…), à cause de la dynamique lente de ces systèmes. La commande prédictive est
bien adaptée aux problèmes de suivi de trajectoires, pour lesquels la trajectoire à suivre est
parfaitement connue à l’avance et planifiée. Elle peut être employée pour les systèmes instables,
avec retard assez long, à phase non minimale et très peut amortis, et c’est généralement le cas
pour les grands systèmes industriels.

FST-Settat 35
Toutes les techniques de la commande prédictive réalisent les mêmes étapes :
✓ Utilisation d’un modèle du système permettant de prédire les sorties à des instants
futures (notion d’horizon de prédiction) ;
✓ Elaboration d’une séquence de commande optimale futures par minimisation d’une
fonction de cout sur un horizon fini (notion d’horizon de commande) ;
✓ A chaque instant d’échantillonnage, l’horizon de prédiction est déplacé vers le futur, et
seule la première valeur de la séquence de commande calculée est effectivement
appliquée sur le système (notion d’horizon fuyant).
2.5.1. Principe de fonctionnement de la commande prédictive
Dans sa formulation la plus générale, la méthodologie discrète de l’approche de la commande
prédictive peut s’illustrer sur le schéma représenté sur la figure 2.8 :
✓ A chaque instant 𝑘 les sorties futures (sur un horizon de prédiction de taille 𝑁𝑝 ), sont
prédites à l’aide d’un modèle de comportement du processus à commander. Ces
prédictions sont notées 𝑦̂(𝑘 + 𝑗/𝑘), avec 𝑗 = 1,2 … , 𝑁𝑝 pour indiquer la valeur de la
sortie à l’instant 𝑘 + 𝑗 connaissant les valeurs d’entrée/sortie jusqu’au temps 𝑘 (entrées
et sorties passées) et des commandes futures 𝑢(𝑘 + 𝑗), 𝑗 = 0,1,2 … , 𝑁𝑝 − 1,
✓ Les futurs signaux de commande 𝑢(𝑘 + 𝑗) sont calculés en optimisant une fonction de
coût spécifiée pour que la sortie du procédé soit aussi proche que possible de la
trajectoire de référence 𝑦 (𝑘 + 𝑗), tout en réduisant les efforts de la commande ; des
contraintes sur la sortie et/ou sur la commande peuvent être également imposées,
✓ Finalement seul le premier élément 𝑢(𝑘) du vecteur du signal de commande optimale
𝑢(𝑘 + 𝑗), 𝑗 = 0,1,2 … , 𝑁𝑝 − 1 est appliqué au système pendant le prochain temps
d’échantillonnage et la résolution recommence avec la première étape en prenant en
compte les mesures actualisées 𝑦(𝑘 + 1) du procédé. Ceci est connu comme le concept
de l’horizon fuyant (ou glissant), qui consiste à déplacer l’horizon 𝑘 ⟶ 𝑘 + 1 à chaque
instant d’échantillonnage après l’application du premier éléments 𝑢(𝑘) de la séquence
optimale de commande.

Horizon de prédiction: 𝑁𝑝

Trajectoire de
référence : 𝑦 (𝑘)
Sortie prédite : 𝑦̂(𝑘 + 𝑗)

Sortie du procédé : 𝑦(𝑘) Horizon de commande : 𝑁𝑢

𝑢 𝑘+𝑗
𝑁𝑢 ≤ 𝑗 ≤ 𝑁𝑝
𝑘 𝑘 + 𝑁𝑢 𝑘 + 𝑁𝑝 temps
Passé Présent Futur
Figure 2.8 : Représentation schématique du fonctionnement de la commande prédictive

Remarque :

FST-Settat 36
Une des raisons principales du succès de la commande prédictive sur les procédés relativement
lents est le temps suffisamment long pour résoudre le problème d’optimisation avant la fin de
la période d’échantillonnage.
2.5.2. Commande prédictive généralisée
La commande prédictive généralisée est considérée comme étant la plus populaire des méthodes
de commande prédictive, particulièrement pour les processus industriels. Elle combine la
prédiction du comportement futur du procédé avec la commande de rétroaction.
Le schéma fonctionnel de la commande prédictive généralisée est présenté sur la figure
suivante :

𝑦 (𝑘) 𝑢(𝑘) 𝑢(𝑡) 𝑦(𝑡) 𝑦(𝑘)


Régulateur CNA Procédé CAN

Modèle 𝑦̂(𝑘)

Partie numérique
Figure 2.9 : Schéma de principe da la commande prédictive généralisée
2.5.3. Modèle de représentation
Tous les algorithmes de commande prédictive ne diffèrent entre eux que par le modèle utilisé
pour représenter le procédé et par la fonction de coût à minimiser. Le modèle numérique de
représentation pour la commande prédictive généralisée est basé sur un modèle CARIMA
(Controlled Auto-Regressive and Integrated Moving-Average) dont l’équation est donnée par :
𝐶(𝑞 −1 )
𝐴(𝑞 −1 )𝑦(𝑘) = 𝑞 −1 𝐵(𝑞 −1 )𝑢(𝑘) + ∆(𝑞−1 ) 𝑒(𝑘) (2.42)
où ∆(𝑞 −1 ) = 1 − 𝑞 −1 est l’opérateur de différentiation.
2.5.4. Prédicteur optimal
Pour la simplicité du développement, on prend par la suite 𝐶(𝑞 −1 ) = 1.
1
𝐴(𝑞 −1 )𝑦(𝑘) = 𝐵(𝑞 −1 )𝑢(𝑘 − 1) + ∆(𝑞−1 ) 𝑒(𝑘) (2.43)
On obtient :
𝐴(𝑞 −1 )∆𝑦(𝑘) = 𝐵(𝑞 −1 )∆𝑢(𝑘 − 1) + 𝑒(𝑘) (2.44)
La prédiction de la sortie à 𝑗 pas se fait en s’appuyant sur l’équation de Diophantienne donnée
par :
𝐸𝑗 (𝑞 −1 )𝐴(𝑞 −1 )∆ + 𝑞 −𝑗 𝐹𝑗 (𝑞 −1 ) = 1 (2.45)
−1 )
où 𝐸𝑗 de degré 𝑗 − 1 et 𝐹𝑗 de degré 𝑛𝑎 sont des polynômes définis à partir de 𝐴(𝑞 et de
l’intervalle de prédiction 𝑗.
avec :
𝐸𝑗 (𝑞 −1 ) = 𝑒𝑗0 + 𝑒𝑗1 𝑞 −1 + ⋯ + 𝑒𝑗(𝑗−1) 𝑞 −(𝑗−1) et 𝐹𝑗 (𝑞 −1 ) = 𝑓𝑗0 + 𝑓𝑗1 𝑞 −1 + ⋯ + 𝑓𝑗𝑛𝑎 𝑞 −𝑛𝑎
On multiplie l’équation (2.44) à l’instant 𝑘 + 𝑗 par le polynôme 𝐸𝑗 (𝑞 −1 ) :
𝐸𝑗 (𝑞 −1 )𝐴(𝑞 −1 )∆𝑦(𝑘 + 𝑗) = 𝐸𝑗 (𝑞 −1 )𝐵(𝑞 −1 )∆𝑢(𝑘 + 𝑗 − 1) + 𝐸𝑗 (𝑞 −1 )𝑒(𝑘 + 𝑗) (2.46)
En utilisant l’identité polynomiale (2.45), on obtient la sortie à l’instant 𝑘 + 𝑗 :
𝑦(𝑘 + 𝑗) = 𝐸𝑗 (𝑞 −1 )𝐵(𝑞 −1 )∆𝑢(𝑘 + 𝑗 − 1) + 𝐹𝑗 (𝑞 −1 )𝑦(𝑘) + 𝐸𝑗 (𝑞 −1 )𝑒(𝑘 + 𝑗) (2.47)
Le prédicteur optimal de la sortie à 𝑗 pas s’écrit :

FST-Settat 37
𝑦̂(𝑘 + 𝑗/𝑘) = 𝐺𝑗 (𝑞 −1 )∆𝑢(𝑘 + 𝑗 − 1) + 𝐹𝑗 (𝑞 −1 )𝑦(𝑘) (2.48)
−1 −1 −1
avec : 𝐺𝑗 (𝑞 ) = 𝐸𝑗 (𝑞 )𝐵(𝑞 ) ; ∆𝑢(𝑘 + 𝑗 − 1) = 𝑢(𝑘 + 𝑗 − 1) − 𝑢(𝑘 + 𝑗 − 2)
Le calcul des polynômes 𝐸𝑗 et 𝐹𝑗 se fait de manière récursive, on peut trouver 𝐸𝑗+1 et 𝐹𝑗+1 à
partir de 𝐸𝑗 et 𝐹𝑗 , on effet, on a :
1 = 𝐸𝑗 (𝑞 −1 )𝐴(𝑞 −1 )∆ + 𝑞 −𝑗 𝐹𝑗 (𝑞 −1 ) (2.49)
−1 −1 −(𝑗+1) −1
1 = 𝐸𝑗+1 (𝑞 )𝐴(𝑞 )∆ + 𝑞 𝐹𝑗+1 (𝑞 ) (2.50)
La soustraction de ces deux équations donne :
(𝐸𝑗+1 (𝑞 −1 ) − 𝐸𝑗 (𝑞 −1 )) 𝐴(𝑞 −1 )∆ + 𝑞 −(𝑗+1) (𝐹𝑗+1 (𝑞 −1 ) − 𝑞𝐹𝑗 (𝑞 −1 )) = 0 (2.51)
Le polynôme 𝐸𝑗+1 − 𝐸𝑗 est de degré 𝑗, et peut être décomposé en deux termes :
𝐸𝑗+1 (𝑞 −1 ) − 𝐸𝑗 (𝑞 −1 ) = 𝑅̅ (𝑞 −1 ) + 𝑟̅𝑗 𝑞 −𝑗 ; deg(𝑅̅ ) = 𝑗 − 1 (2.52)
En remplaçant dans l’expression (2.51), on obtient :
𝑅
⏟̅ (𝑞 −1 )𝐴(𝑞 −1 )∆ + 𝑞 −𝑗 (𝑞 −1 −1 −1
⏟ 𝐹𝑗+1 (𝑞 ) − 𝐹𝑗 (𝑞 ) + 𝑟̅𝑗 𝐴(𝑞 )∆) = 0
−1
(2.53)
=0 =0
Comme 𝐴(𝑞 −1 )∆≠ 0, il est clair que 𝑅̅ (𝑞 −1 ) = 0, d’où :
𝐸𝑗+1 (𝑞 −1 ) = 𝐸𝑗 (𝑞 −1 ) + 𝑟̅𝑗 𝑞 −𝑗 ; 𝐺𝑗+1 (𝑞 −1 ) = 𝐸𝑗+1 (𝑞 −1 )𝐵(𝑞 −1 ) (2.54)
Pour calculer 𝑟̅𝑗 , on utilise l’équation :
𝑞 −1 𝐹𝑗+1 (𝑞 −1 ) − 𝐹𝑗 (𝑞 −1 ) + 𝑟̅𝑗 𝐴(𝑞 −1 )∆= 0 (2.55)
Alors :
𝐹𝑗+1 (𝑞 −1 ) = 𝑞(𝐹𝑗 (𝑞 −1 ) − 𝑟̅𝑗 𝐴(𝑞 −1 )∆) (2.56)
Sachant que :
𝐴(𝑞 −1 )∆= 1 + (𝑎1 − 1)𝑞 −1 + (𝑎2 − 𝑎1 )𝑞 −2 + ⋯ + (𝑎𝑛𝑎 − 𝑎𝑛𝑎−1 )𝑞 −𝑛𝑎 − 𝑎𝑛𝑎 𝑞 −(𝑛𝑎+1) ;
𝐹𝑗+1 (𝑞 −1 ) = 𝑓(𝑗+1)0 + 𝑓(𝑗+1)1 𝑞 −1 + ⋯ + 𝑓(𝑗+1)𝑛𝑎 𝑞 −𝑛𝑎
Après l’identification de l’équation (2.56), on obtient :
𝑟̅𝑗 = 𝑓𝑗0
{𝑓(𝑗+1) = 𝑓 +1 − 𝑟̅𝑗 (𝑎 +1 − 𝑎 ) ; 𝑖 = 0,1, … , 𝑛𝑎 − 1; 𝑎0 = 1 (2.57)
𝑓(𝑗+1)𝑛𝑎 = −𝑟̅𝑗 𝑎𝑛𝑎
Initialisation des itérations de calcul :
Pour 𝑗 = 1, on a : 𝐸1 (𝑞 −1 )𝐴(𝑞 −1 )∆ + 𝑞 −1 𝐹1 (𝑞 −1 ) = 1, deg(𝐸1 ) = 0, donc 𝐸1 (𝑞 −1 ) = 𝑐𝑠𝑡 ;
comme le premier terme de 𝐴(𝑞 −1 )∆ est égal à 1, donc on choisie 𝐸1 (𝑞 −1 ) = 1, d’où 𝐹1 (𝑞 −1 ) =
𝑞(1 − 𝐴(𝑞 −1 )∆).
Finalement, on obtient la forme récursive suivante :
𝐸1 = 1 ; 𝐹1 (𝑞 −1 ) = 𝑞(1 − 𝐴(𝑞 −1 )∆)
‖ 𝐸𝑗+1 (𝑞 −1 ) = 𝐸𝑗 (𝑞 −1 ) + 𝑟̅𝑗 𝑞 −𝑗 ; 𝐺𝑗+1 (𝑞 −1 ) = 𝐸𝑗+1 (𝑞 −1 )𝐵(𝑞 −1 ) (2.58)
𝐹𝑗+1 (𝑞 −1 ) = 𝑞(𝐹𝑗 (𝑞 −1 ) − 𝑟̅𝑗 𝐴(𝑞 −1 )∆) ; 𝑟̅𝑗 = 𝑓𝑗0 ; 𝑗 = 1,2, … , 𝑁𝑝
Les sorties futures du système s’écrivent :
𝑦̂(𝑘 + 𝑗/𝑘) = 𝐺𝑗 (𝑞 −1 )∆𝑢(𝑘 + 𝑗 − 1) + 𝐹𝑗 (𝑞 −1 )𝑦(𝑘) ; 𝑗 = 1,2, … , 𝑁𝑝 (2.59)
−1 −1 −𝑗 −𝑛
avec : 𝐺𝑗 (𝑞 ) = 𝑔𝑗0 + 𝑔𝑗1 𝑞 + ⋯ + 𝑔𝑗𝑗 𝑞 … + 𝑔𝑗𝑛𝑔 𝑞 𝑔 ; 𝑛𝑔 = 𝑛𝑏 + 𝑗 − 1, alors :
𝐺𝑗 (𝑞 −1 )∆𝑢(𝑘 + 𝑗 − 1) = 𝑔𝑗0 ∆𝑢(𝑘 + 𝑗 − 1) + 𝑔𝑗1 ∆𝑢(𝑘 + 𝑗) + ⋯ + 𝑔𝑗(𝑗−1) ∆𝑢(𝑘) +
𝑔𝑗𝑗 ∆𝑢(𝑘 − 1) + ⋯ + 𝑔𝑗𝑛𝑔 ∆𝑢(𝑘 + 𝑗 − 1 − 𝑛𝑔 ) (2.60)
Le prédicteur devient :
𝑦̂(𝑘 + 𝑗/𝑘) = 𝑔𝑗0 ∆𝑢(𝑘 + 𝑗 − 1) + 𝑔𝑗1 ∆𝑢(𝑘 + 𝑗) + ⋯ + 𝑔𝑗(𝑗−1) ∆𝑢(𝑘) + 𝑔𝑗𝑗 ∆𝑢(𝑘 − 1) + ⋯
+ 𝑔𝑗𝑛𝑔 ∆𝑢(𝑘 + 𝑗 − 1 − 𝑛𝑔 ) + 𝐹𝑗 (𝑞 −1 )𝑦(𝑘)

FST-Settat 38
Le terme 𝑔𝑗𝑗 ∆𝑢(𝑘 − 1) + ⋯ + 𝑔𝑗𝑛𝑔 ∆𝑢(𝑘 + 𝑗 − 1 − 𝑛𝑔 ) + 𝐹𝑗 (𝑞 −1 )𝑦(𝑘) du prédicteur est
disponible à l’instant 𝑘, on peut écrire la partie disponible de 𝐺𝑗 (𝑞 −1 )∆𝑢(𝑘 + 𝑗 − 1) sous la
forme :
𝑞 𝑗−1 [𝐺𝑗 (𝑞 −1 ) − 𝑔𝑗0 + 𝑔𝑗1 𝑞 −1 + ⋯ + 𝑔𝑗𝑗 𝑞 −(𝑗−1) ]∆𝑢(𝑘) (2.61)
Le terme 𝑔𝑗0 ∆𝑢(𝑘 + 𝑗 − 1) + 𝑔𝑗1 ∆𝑢(𝑘 + 𝑗) + ⋯ + 𝑔𝑗(𝑗−1) ∆𝑢(𝑘) est non disponible à l’instant
𝑘.
Notons 𝑓(𝑘 + 𝑗) le terme de 𝑦̂(𝑘 + 𝑗/𝑘) composé des information d’entrées/sorties disponibles
à l’instant 𝑘 :
𝑗−1
𝑓(𝑘 + 𝑗) = 𝑞 𝑗−1 [𝐺𝑗 (𝑞 −1 ) − ∑ =0 𝑔𝑗 𝑞 − ]∆𝑢(𝑘) + 𝐹𝑗 (𝑞 −1 )𝑦(𝑘) (2.62)
L’ensemble des équations de sorties futures s’écrit sous forme :
𝑦̂(𝑘 + 1/𝑘) = 𝑔10 ∆𝑢(𝑘) + 𝑓(𝑘 + 1)
𝑦̂(𝑘 + 2/𝑘) = 𝑔21 ∆𝑢(𝑘) + 𝑔20 ∆𝑢(𝑘 + 1) + 𝑓(𝑘 + 2)

𝑦̂(𝑘 + 𝑗/𝑘) = 𝑔𝑗(𝑗−1) ∆𝑢(𝑘) + ⋯ + 𝑔𝑗0 ∆𝑢(𝑘 + 𝑗 − 1) + 𝑓(𝑘 + 𝑗) (2.63)

{ 𝑦̂(𝑘 + 𝑁𝑝 /𝑘) = 𝑔𝑁𝑝 (𝑁𝑝 −1) ∆𝑢(𝑘) + ⋯ + 𝑔𝑁𝑝 0 ∆𝑢(𝑘 + 𝑁𝑝 − 1) + 𝑓(𝑘 + 𝑁𝑝 )
Après une écriture sous forme matricielle du prédicteur optimal à 𝑗 pas, on obtient :
𝑌̂ = 𝐺∆𝑈 + 𝑓 (2.64)
avec :
La séquence des sorties futures : 𝑌̂ = [𝑦̂(𝑘 + 1/𝑘) 𝑦̂(𝑘 + 2/𝑘) ⋯ 𝑦̂(𝑘 + 𝑗/𝑘) ⋯ 𝑦̂(𝑘 + 𝑁𝑝 /
𝑇
𝑘) ] ; La séquence des incréments futurs de la commande : ∆𝑈 = [∆𝑢(𝑘) ∆𝑢(𝑘 +
𝑇
1) ⋯ ∆𝑢(𝑘 + 𝑗 − 1) ⋯ ∆𝑢(𝑘 + 𝑁𝑝 − 1) ] ; et 𝑓 = [𝑓(𝑘 + 1) 𝑓(𝑘 + 2) ⋯ 𝑓(𝑘 + 𝑗) ⋯ 𝑓(𝑘 +
𝑇
𝑁𝑝 ) ] . La matrice 𝐺 est triangulaire inférieure (𝑁𝑝 × 𝑁𝑝 ) :
𝑔10 0 ⋯ 0
𝑔21 𝑔20 ⋱ ⋱
𝐺= ⋮ ⋮ ⋱ 0
𝑔 𝑔
[ 𝑁𝑝 (𝑁𝑝 −1) 𝑁𝑝 (𝑁𝑝 −2) ⋯ 𝑔𝑁𝑝 0 ]
2.5.5. Critère d’optimisation
Le critère de performance à minimiser est un compromis entre une fonction quadratique des
erreurs entre les sorties futures 𝑦̂(𝑘 + 𝑗/𝑘) et la trajectoire de référence 𝑦 (𝑘 + 𝑗) et un coût de
l’effort de commande. La fonction de coût est de la forme :
𝑁𝑝
𝐽 = ∑𝑗=1 [𝑦̂(𝑘 + 𝑗/𝑘) − 𝑦 (𝑘 + 𝑗)]2 + 𝜆 ∑𝑁 𝑗=1[∆𝑢(𝑘 + 𝑗 − 1)]
𝑢 2
(2.65)
avec :
𝑁𝑝 : horizon de prédiction de la sortie ;
𝑁𝑢 : horizon de prédiction sur la commande ;
𝜆 > 0 : facteur de pondération sur la commande ;
∆𝑢(𝑘 + 𝑗 − 1) : incrément de commande future ;
Sous l’hypothèse ∆𝑢(𝑘 + 𝑗) = 0 ; 𝑁𝑢 ≤ 𝑗 ≤ 𝑁𝑝 , la matrice 𝐺 devient :
𝑔10 0 ⋯ 0
𝑔21 𝑔20 ⋱ ⋱
⋮ ⋮ ⋱ 0
𝐺(𝑁𝑝 × 𝑁𝑢 ) = ⋮ ⋮ ⋮ 𝑔𝑁𝑢 0
⋮ ⋮ ⋮ ⋮
𝑔
[ 𝑁𝑝 (𝑁𝑝 −1) 𝑔𝑁𝑝 (𝑁𝑝 −2) ⋯ 𝑔𝑁𝑝 (𝑁𝑝 −𝑁𝑢) ]
𝑇
On pose : 𝑌 = [𝑦 (𝑘 + 1) 𝑦 (𝑘 + 2) ⋯ 𝑦 (𝑘 + 𝑗) ⋯ 𝑦 (𝑘 + 𝑁𝑝 ) ]

FST-Settat 39
La synthèse de la commande prédictive généralisée est obtenue par la minimisation du critère
quadratique, exprimé sous forme matricielle :
𝐽 = (𝐺∆𝑈 + 𝑓 − 𝑌 )𝑇 (𝐺∆𝑈 + 𝑓 − 𝑌 ) + 𝜆∆𝑈 𝑇 ∆𝑈 (2.66)
La séquence de commande optimale ∆𝑈𝑜𝑝𝑡 qui minimise le critère 𝐽, soit :
𝜕𝐽
= 2[𝐺 𝑇 𝐺 + 𝜆𝐼]∆𝑈 + 2𝐺 𝑇 (𝑓 − 𝑌 ) = 0 (2.67)
𝜕∆𝑈
où 𝐼 est la matrice identité (𝑁𝑢 × 𝑁𝑢 )
Donc la commande optimale :
∆𝑈𝑜𝑝𝑡 = [𝐺 𝑇 𝐺 + 𝜆𝐼]−1 𝐺 𝑇 (𝑌 − 𝑓) (2.68)
Selon le principe de l’horizon fuyant, seule la première valeur ∆𝑢(𝑘) de la séquence de
commande ∆𝑈𝑜𝑝𝑡 est appliquée au système. La commande à l’instant 𝑘 est :
𝑢(𝑘) = 𝑢(𝑘 − 1) + ∆𝑢(𝑘) = 𝑢(𝑘 − 1) + 𝑔𝑇 (𝑌 − 𝑓) (2.69)
où 𝑔 représente la première ligne de la matrice [𝐺 𝑇 𝐺 + 𝜆𝐼]−1 𝐺 𝑇 .
𝑇

Choix des paramètres de synthèse :


Le choix des paramètres de synthèse a pour objectif d’assurer les meilleures performances en
asservissement ou/et en régulation et d’obtenir un degré de stabilité en boucle fermée.
✓ L’horizon de prédiction sur la sortie est choisi conformément à la règle suivante : 𝑁𝑝 ≥
2 × 𝑚𝑎𝑥(𝑛𝑎 + 1, 𝑛𝑏 + 𝑑), il est à noter que plus 𝑁𝑝 est grand, plus le système corrigé
est stable et lent et plus le temps de calcul est long.
✓ L’horizon de prédiction de la commande est choisi tel que : 1 ≤ 𝑁𝑢 ≤ 𝑁𝑝 ,
l’augmentation de 𝑁𝑢 améliore la rapidité du système et dégrade le degré de stabilité en
boucle fermée, et augmente le temps de calcul.
✓ Le facteur de pondération de la commande peut agir sur la stabilité du système bouclé.
En effet, si 𝜆 est très élevé, il permet de pondérer l’influence des commandes dans
l’optimisation et ainsi permet de générer un correcteur plus ou moins énergique donc
plus ou moins rapide.
Remarque :
Pour les processus stables est bien amortis, 𝑁𝑝 est choisi de sorte que le produit 𝑁𝑝 𝑇𝑒 soit limité
par la valeur du temps de réponse souhaité (𝑁𝑝 𝑇𝑒 ≥ 𝑡𝑚 ). En effet augmenter la prédiction au-
delà du temps de réponse n’apporte aucune information supplémentaire. On convient de choisir
𝑁𝑢 égal 1. 𝜆 est choisi très petit.
Si le retard 𝑑 du système est connu, on minimise le critère :
𝑁𝑝 𝑁𝑢
𝐽=∑ [𝑦̂(𝑘 + 𝑗/𝑘) − 𝑦 (𝑘 + 𝑗)]2 + 𝜆 ∑ [∆𝑢(𝑘 + 𝑗 − 1)]2
𝑗=𝑑 𝑗=1

2.5.6. Commande prédictive adaptative


Après un choix des paramètres de synthèse du régulateur (𝑁𝑝 , 𝑁𝑢 , 𝜆)
A chaque instant d’échantillonnage 𝑡 = 𝑘𝑇𝑒 , on réitère :
✓ Lecture de la sortie 𝑦(𝑘) ;
✓ Estimation des paramètres inconnus de modèle du procédé ;
✓ Calcul des polynômes 𝐸𝑗 et 𝐹𝑗 , 𝐺𝑗 = 𝐸𝑗 𝐵̂ ;
✓ Calcul de la commande prédite : ∆𝑈𝑜𝑝𝑡 = [𝐺 𝑇 𝐺 + 𝜆𝐼]−1 𝐺 𝑇 (𝑌 − 𝑓) ;
✓ Application du premier élément ∆𝑢(𝑘) du vecteur ∆𝑈𝑜𝑝𝑡 sur le système.

FST-Settat 40
Bibliographie :
Eric Walter, Luc Pronzato. Identification de modèles paramétriques à partir de données
expérimentales. Livre, 1994.
Ioan Doré Landau, Gianluca Zito. Digital Control Systems: Design, Identification and
Implementation. Springer-Verlag, 2006
Hanus Raymond. Automatique avancée 1 : Techniques d'identification et d'estimation. Livre,
2007.
Rolf Isermann, Marco Munchhof. Identification of Dynamic Systems: An Introduction with
Applications, Springer-Verlag Berlin Heidelberg, 2011
Han-Fu Chen, Wenxiao Zhao. Recursive Identification and Parameter Estimation. Book, 2014.
P. Borne, G. Dauphin-Tanguy, J.- P. Richard, F. Rotella, I. Zambettakls. Analyse et Régulation
des processus industriels. Tome 2. Régulation numérique. 1993
Jacques Richalet, Guy Lavielle, Joëlle Mallet. La commande prédictive : Mise en œuvre et
applications industrielles. Livre, 2004.
Dumitru Popescu, Roumanie, Amira Gharbi, Dan Stefanoiu, Pierre Borne. Conception de la
commande de processus pour les applications industrielles. Livre, 20017.
Boucher Patrick, Dumur Didier. La commande prédictive : avancées et perspectives. Livre,
2006.
Ridha, Ben Abdennour. Identification et commande numérique des procèdes industriels. Livre,
2011.
Roland Longchamp. Commande numérique de systèmes dynamiques : cours d'automatique.
Livre, 2006.
Richalet, J., Rault, A., Testud, J. L., et Papon, J. Model predictive heuristic control :
Applications to industrial processes. Automatica, 14 : 413–428, 1978.
D.W. Clarke, C. Mohtadiand and P.S. Tuffs “Generalized predictive control- part I. The basic
algorithm,” Automatica, 23(2), pp. 137-148, 1987.

FST-Settat 41
Annexe A : Simulation des algorithmes d’identification et de commande
adaptative
• Algorithme des moindres carrés simples (MCS)

%système : A(q^-1)y(k)=(q^- %estimation des paramètres par l'algo


d)*B(q^-1)*u(k)+e(k)==> modèle MCS non récursif
ARX %phi(k)=[-y(k-1);-y(k-2);u(k-1);u(k-2)];
%système objet: y(k)-1.4y(k- %FF=somme(phi*phi') et FY=somme(phi*y)
1)+o.5y(k-2)=-0.8u(k-1)+0.6u(k- FF=zeros(4,4); FY=zeros(4,1);
2)+e(k) ==> na=2; nb=2 et d=0 phi=[0;0;0;0]; %pour k=1
A=[1 -1.4 0.5]; B=[0 -0.8 0.6]; FF=FF+phi*phi';
a1=A(2); a2=A(3); b1=B(2); FY=FY+phi*y(1);
b2=B(3); phi=[-y(1);0;u(1);0]; %pour k=2
%initialisation des variables : FF=FF+phi*phi';
k=0 FY=FY+phi*y(2);
y=0; %sortie du système réel %calcul de F et FY
yp=0; %sortie prédite for k=3:N
u=0; %entrée phi=[-y(k-1);-y(k-2);u(k-1);u(k-2)];
Te=0.1; %période FF=FF+phi*phi';
d'échantillonnage FY=FY+phi*y(k);
N=1000; %nombre de données end
e=randn(1,N); %bruit blanc de %vecteur des paramètres estimés
moyenne nulle et d'écart type=1 thetae=inv(FF)*FY;
%génération d'une séquence % validation du modèle par le test de
binaire pseudo aléatoire SBPA blanchissement de l'erreur de
umax=3; %amplitude de la SBPA %prédiction de la sortie à partir du
x=ones(5,1); %initialisation du modèle obtenu
registre à décalage (de 5bit) à yp(1)=0;
1 yp(2)=-thetae(1)*y(1)-
for j=1:N thetae(2)*0+thetae(3)*u(1)+thetae(4)*0;
z=xor(x(5),x(4)); %ou %prédicteur optimal de la sortie du
exclusif des bits x4 et x5 modèle ARX
for i=5:-1:2 for k=3:N
x(i)=x(i-1);%décalage à yp(k)=-thetae(1)*y(k-1)-
droite thetae(2)*y(k-2)+thetae(3)*u(k-
end 1)+thetae(4)*u(k-2);
x(1)=z; end
u(j)=x(5)*umax; %signal delta=y-yp; %erreur de prédiction
SBPA %affichage de la sortie/sortie prédite
end et de l’erreur de prédiction
%simulation du système, calcul figure(2)
de la sortie à partir de plot(t,y)
l'entrée, en pratique, les hold on
données mesurées sont obtenues plot(t,yp,'r'), title('sortie du système
sur le procédé réel réel et sortie prédite')
%conditions initiales supposées figure(3)
nulles plot(t,delta), title('erreur de
y(1)=0; prédiction')
y(2)=0+b1*u(1)+e(2); %*****
for k=3:N figure(4) %test de blanchissement
y(k)=-a1*y(k-1)-a2*y(k- subplot(3,1,1)
2)+b1*u(k-1)+b2*u(k-2)+e(k); [c,lags]=xcorr(delta,20,'coeff');
t(k)=k*Te; %temps t=kTe: stem(lags,c,'r');title('autocorrélation
end de l’erreur de prédiction: delta')
%affichage de l’entrée/sortie hold on;
et la perturbation subplot(2,1,2)
figure (1) [c,lags]=xcorr(e,20,'coeff');
subplot(3,1,1) stem(lags,c); title('autocorrélation du
plot(t,u), title('entrée') bruit: e')

FST-Settat 42
subplot(3,1,2)
plot(t,y), title('sortie') figure(5) %test d'indépendance
subplot(3,1,3) [c,lags]=xcorr(delta,u,20,'coeff');
plot(t,e), stem(lags,c); title('corrélation entre
title('perturbation') deltra et u')

4
entrée

0
0 10 20 30 40 50 60 70 80 90 100

20
sortie

-20
0 10 20 30 40 50 60 70 80 90 100

5
perturbation

-5
0 10 20 30 40 50 60 70 80 90 100
temps

Figure A.1 : Evolution de l’entrée, la sortie et la perturbation

10
sortie réelle
sortie prédite

0
sortie

-5

-10

-15

-20
0 10 20 30 40 50 60 70 80 90 100
temps

Figure A.2 : Superposition de la sortie du système et la sortie prédite

FST-Settat 43
erreur de prediction
4

-1

-2

-3

-4
0 10 20 30 40 50 60 70 80 90 100
temps

Figure A.3 : Evolution de l’erreur de prédiction


autocorrélation de l'erreur de prediction
1

0.5

-0.5
-20 -15 -10 -5 0 5 10 15 20

autocorrélation du bruit
1

0.5

-0.5
-20 -15 -10 -5 0 5 10 15 20

Figure A.4 : Fonction d’autocorrélation de l’erreur de prédiction et du bruit

FST-Settat 44
corrélation entre l'erreur de prédction et l'entrée
0.03

0.02

0.01

-0.01

-0.02

-0.03

-0.04

-0.05

-0.06

-0.07
-20 -15 -10 -5 0 5 10 15 20

Figure A.5 : Fonction de corrélation entre l’erreur de prédiction et l’entrée


• Algorithmes récursifs

%algorithmes récursifs alpha=1000000;


d’identification : méthode P=alpha*eye(na+nb);
du gradient, moindres carrés %paramètre de réglage de l'algorithme MCR
récursifs (MCR) et MCR avec avec facteur d'oubli constant
facteur d’oubli %lamda=0.98;
%système : A(q^-1)y(k)=(q^- %paramètre de réglage de l'algorithme du
d)B(q^-1)u(k)+e(k) ==> gradient
modèle ARX %lambda=10000;
%collecte de données sur le for k=na+1:N
système simulé %******algo MCR *********
A=[1 -0.67 -0.48 0.156]; phi=[-y(k-1);-y(k-2);-y(k-3);u(k-1);u(k-
B=[0 1.2 0.8 -0.12]; 2);u(k-3)];
na=3; nb=3; delta(k)=y(k)-phi'*thetae(:,k-1);
N=1000; thetae(:,k)=thetae(:,k-
Te=0.1; %période 1)+P*phi*delta(k)/(1+phi'*P*phi);
d'échantillonnage Ts P=P-P*phi*phi'*P/(1+phi'*P*phi);
u=idinput(N); %entrée
générée pour %*** algo MCR avec facteur d'oubli
l’identification=séquence constant***
binaire pseudo aléatoire %lambda=0.98;
m=idpoly(A,B,1,1,1,0.5,0.1); %phi=[-y(k-1);-y(k-2);-y(k-3);u(k-1);u(k-
%création du modèle m (ARX), 2);u(k-3)];
C=1, D=F=1, %delta(k)=y(k)-phi'*thetae(:,k-1);
NoiseVariance=0.5 (variance %thetae(:,k)=thetae(:,k-
du bruit ou niveau du 1)+P*phi*delta(k)/(lambda+phi'*P*phi);
bruit), Ts=0.1 %P=[P-
%get(m) P*phi*phi'*P/(lambda+phi'*P*phi)]/lambda;
%y=sim(m,u); %collecte
de données sur le système %*** algo du gradient****
sans bruit %lambda=10000;

FST-Settat 45
y=sim(m,u,'noise'); %phi=[-y(k-1);-y(k-2);-y(k-3);u(k-1);u(k-
%collecte de données sur le 2);u(k-3)];
système perturbé %delta(k)=y(k)-phi'*thetae(:,k-1);
%initialisation du vecteur %thetae(:,k)=thetae(:,k-
de paramètres estimés (theta 1)+lambda*phi*delta(k)/(1+lambda*phi'*phi);
estimé) a1e(k)=thetae(1,k); a2e(k)=thetae(2,k);
for i=1:na a3e(k)=thetae(3,k); b1e(k)=thetae(4,k);
thetae(:,i)=zeros(na+nb,1); b2e(k)=thetae(5,k); b3e(k)=thetae(6,k);
end %*******
%initialisation de la t(k)=k*Te;
matrice de gain d'adaptation end
P0=alpha*I, pour l’algo MCR

2 2
a1
a1 estimé
0 0 b1
b1 estimé
-2 -2
0 50 100 0 50 100
temps temps
1 2
a2 b2
a2 estimé b2 estimé
0 1

-1 0
0 50 100 0 50 100
temps temps
0.5 2 b3
b3 estimé
0 a3 0
a3 estimé
-0.5 -2
0 50 100 0 50 100
temps temps

Figure A.6 : Evolution des paramètres estimés par la méthode des moindres carrés récursifs
• Algorithme des moindres carrés récursifs étendus
%algorithme des moindres carrés alpha=5000;
récursifs étendus P=alpha*eye(na+nb+nc);
%système : A(q^-1)y(k)=(q^-d)B(q^- delta=zeros(nc,1);
1)u(k)+ A(q^-1e(k) ==> modèle for k=na+1:N
ARMAX phi=[-y(k-1);-y(k-2);u(k-1);u(k-
A=[1 -1.4 0.48]; B=[0 -0.1 0.7]; 2);delta(k-1);delta(k-2)];
C=[1 -0.3 0.2]; delta(k)=y(k)-phi'*thetae(:,k-1);
na=2; nb=2; nc=2; thetae(:,k)=thetae(:,k-
N=1000; Te=0.1; 1)+P*phi*delta(k)/(1+phi'*P*phi);
u=idinput(N); P=P-P*phi*phi'*P/(1+phi'*P*phi);
m=idpoly(A,B,C,1,1,0.5,0.1); a1e(k)=thetae(1,k);
y=sim(m,u,'noise'); a2e(k)=thetae(2,k);
for i=1:na b1e(k)=thetae(3,k);
thetae(:,i)=zeros(na+nb+nc,1); b2e(k)=thetae(4,k);
end c1e(k)=thetae(5,k);
for i=1:nc c2e(k)=thetae(6,k);
delta(i)=0; t(k)=k*Te;
end end

FST-Settat 46
5 2
a1
a1 estimé
0 0
a2
a2 estimé
-5 -2
0 50 100 0 50 100
temps temps
1 2
b1
0 b1 estimé 0 b2
b2 estimé
-1 -2
0 50 100 0 50 100
temps temps
5 c1 5 c2
c1 estimé c2 estimé
0 0

-5 -5
0 50 100 0 50 100
temps temps

Figure A.7 : Evolution des paramètres estimés par l’algorithme des moindres carrés récursifs
étendus
• Commande adaptative par placement de pôles
La fonction de transfert du système à commander est :
𝐾
𝐻𝑏𝑜 (𝑝) = 2𝜉 𝑝 2
; 𝐾 = 1 ; 𝜉 = 0,2 ; 𝜔𝑛 = 1𝑟𝑎𝑑/𝑠
1+ 𝑝+( )
𝜔𝑛 𝜔𝑛
Les performances désirées en boucle fermée :
✓ Erreur statique nulle,
✓ Le système en boucle fermée doit suivre la trajectoire définie pas le modèle de référence
𝐾𝑏𝑓
suivant : 𝐻𝑚 (𝑝) = 2 ; 𝐾𝑏𝑓 = 1 ; 𝜉𝑏𝑓 = 0,7 ; 𝜔𝑛 𝑏𝑓 = 1𝑟𝑎𝑑/𝑠
2𝜉𝑏𝑓 𝑝
1+ 𝑝+( )
𝜔𝑛 𝑏𝑓 𝜔𝑛 𝑏𝑓

La discrétisation du système avec un bloqueur d’ordre zéro à la période d’échantillonnage 𝑇𝑒


est de la forme :
𝑏1 𝑞 −1 + 𝑏2 𝑞 −2 𝐵(𝑞 −1 )
𝐺(𝑞 −1 ) = =
1 + 𝑎1 𝑞 −1 + 𝑎2 𝑞 −2 𝐴(𝑞 −1 )
La sortie du système est :
𝑦(𝑘) = −𝑎1 𝑦(𝑘 − 1) − 𝑎2 𝑦(𝑘 − 2) + 𝑏1 𝑢(𝑘 − 1) + 𝑏2 𝑢(𝑘 − 2)
La forme de régression est linéaire : 𝑦(𝑘) = 𝜑 𝑇 (𝑘)𝜃, avec 𝜑 𝑇 (𝑘) = [−𝑦(𝑘 − 1) −
𝑦(𝑘 − 2) 𝑢(𝑘 − 1) 𝑢(𝑘 − 2)] et 𝜃 = [𝑎1 𝑎2 𝑏1 𝑏2 ]𝑇
La forme RST du régulateur PID numérique est :
𝑆(𝑞 −1 )𝑢(𝑘) = −𝑅(𝑞 −1 )𝑦(𝑘) + 𝑇(𝑞 −1 )𝑦 (𝑘)
avec 𝑆(𝑞 −1 ) = (1 − 𝑞 −1 )𝑆1 (𝑞 −1 ). Les polynômes 𝑅(𝑞 −1 ) et 𝑆1 (𝑞 −1 ) sont solution de
l’équation caractéristique désirée en boucle fermée :
𝐴(𝑞 −1 )(1 − 𝑞 −1 ) 𝑆1 (𝑞 −1) + 𝐵(𝑞 −1 )𝑅(𝑞 −1 ) = 𝑃𝑏𝑓 (𝑞 −1 )

𝐴1 (𝑞 −1 )
avec 𝐴1 (𝑞 −1 ) = 1 + (𝑎1 − 1)𝑞 −1 + (𝑎2 − 𝑎1 )𝑞 −2 − 𝑎2 𝑞 −3
FST-Settat 47
Calcul des polynômes R, S et T :
𝑛𝑝 = deg(𝑃𝑏𝑓 ) = 𝑛𝐴1 + 𝑛𝐵 + 𝑑 − 1 = 3 + 2 + 0 − 1 = 4
{𝑛𝑆1 = deg(𝑆1 ) = 𝑛𝐵 + 𝑑 − 1 = 2 + 0 − 1 = 1
𝑛𝑅 = deg(𝑅) = 𝑛𝐴1 − 1 = 3 − 1 = 2
Donc : 𝑆1 (𝑞 ) = 1 + 𝑠1 𝑞 −1 ; 𝑅(𝑞 −1 ) = 𝑟0 + 𝑟1 𝑞 −1 + 𝑟2 𝑞 −2
−1

Sous forme matricielle :


1 0 0 0 0 1 1
𝑎1 − 1 1 𝑏1 0 0 𝑠1 𝑝1
𝑀𝑋 = 𝑃 ; 𝑎2 − 𝑎1 𝑎1 − 1 𝑏2 𝑏1 0 𝑟0 = 𝑝2
−𝑎2 𝑎2 − 𝑎1 0 𝑏2 𝑏2 𝑟1 0
[ 0 −𝑎2 0 0 𝑏2 ] [𝑟2 ] [ 0 ]
1
Le polynôme 𝑇(𝑞 −1 ) = 𝑃𝑏𝑓 (𝑞 −1)
𝐵(1)
Le code sous Matlab est donné par :

%Modèle du système en temps continu for i=3:N


en BO if i<=100
k=1; ksi=0.2; wn=1; yref(i)=1;
H_bo=tf(k,[1/(wn^2) 2*ksi/wn 1]); else
%Modèle échantillonné en BO : B/A yref(i)=2;
Te=0.3; end
Hd_bo = c2d(H_bo,Te,'z0h'); %Simulation du système, pour
[B,A] = tfdata(Hd_bo,'v'); obtenir les mesures
a1=A(2); a2=A(3); b1=B(2); b2=B(3); d’entrée/sortie
%Dynamique désirée en BF : polynôme y(i)=-a1*y(i-1)-a2*y(i-2)+b1*u(i-
P-bf=1+p1*z^-1+p2*z^-2 1)+b2*u(i-2);
ksi_bf=0.7; wn_bf=1; %Estimation des paramètres du
%H_bf = tf(1,[1/(wn_bf^2) modèle par la méthode des moindres
2*ksi_bf/wn_bf 1]); carrés récursifs
%Hd_bf = c2d(H_bf,Te,'z0h'); phi=[-y(i-1);-y(i-2);u(i-1);u(i-
%[num,den] = tfdata(Hd_bf,'v'); 2)];
%p1=den(2); p2=den(3); delta(i)=y(i)-phi'*thetae(:,i-1);
%pôles désirés en continu en BF thetae(:,i)=thetae(:,i-
pole1=-ksi_bf*wn_bf+i*sqrt(1- 1)+P*phi*delta(i)/(1+phi'*P*phi);
ksi_bf^2)*wn_bf; P=P-P*phi*phi'*P/(1+phi'*P*phi);
pole2=-ksi_bf*wn_bf-i*sqrt(1- %paramètres estimés :
ksi_bf^2)*wn_bf; a1e(i)=thetae(1,i);
%pôles désirés en discret en BF a2e(i)=thetae(2,i);
z1=exp(pole1*Te); z2=exp(pole2*Te); b1e(i)=thetae(3,i);
%polynôme caractéristique désiré en b2e(i)=thetae(4,i);
BF: P_bf=1+p1*z^-1+p2*z^-2 %Calcul des paramètres du
p1=-(z1+z2); p2=z1*z2; régulateur PID numérique adaptatif
Pf=[1;p1;p2;0;0]; M=[1 0 0 0 0;a1e(i)-1 1 b1e(i) 0
%Initialisation des variables 0;a2e(i)-a1e(i) a1e(i)-1 b2e(i)
N=300; % nombre d’échantillons b1e(i) 0;-a2e(i) a2e(i)-a1e(i) 0
y(1)=0; y(2)=0; u(1)=0; u(2)=0; b2e(i) b1e(i);0 -a2e(i) 0 0
yref=1; yref(1)=1; yref(2)=1; b2e(i)];
%Déclaration et initialisation de X=inv(M)*Pf;
l’algorithme d’identification s1=X(2); r0=X(3); r1=X(4);
for i=1:2 r2=X(5);
thetae(:,i)=[a1;a2;b1;b2];%paramètres %loi de commande
estimés u(i)=-r0*y(i)-r1*y(i-1)-r2*y(i-2)-
end (s1-1)*u(i-1)+s1*u(i-
P=5000*eye(4); %gain d’adaptation 2)+[(1+p1+p2)/(b1+b2)]*yref(i);
phi=zeros(4,1);%vecteur d’observation %temps discrétisé
t(i)=i*Te;
end

FST-Settat 48
3
y
yref
2
sortie

0
0 10 20 30 40 50 60
temps

3
u
commande

0
0 10 20 30 40 50 60
temps

Figure A.8 : Evolution de la sortie et de la commande du système

0 1
a1
-0.5 a1 estimé
a2
a2 estimé
-1 0.5

-1.5

-2 0
0 20 40 60 0 20 40 60
temps temps

0.06 b1 0.06
b2
b2 estimé b2 estimé
0.04 0.04

0.02 0.02

0 0
0 20 40 60 0 20 40 60
temps temps

Figure A.9 : Evolution des paramètres estimés du modèle

FST-Settat 49

Vous aimerez peut-être aussi