Vous êtes sur la page 1sur 130

SYNTHÈSE MULTIMODÈLE

D'UN RÉGULATEUR POLYNOMIAL ROBUSTE

THÈSE NO 1747 (1997)

PRÉSENTÉE AU DÉPARTEMENT DE GÉNIE MÉCANIQUE

ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE

POUR L'OBTENTION DU GRADE DE DOCTEUR ÈS SCIENCES

PAR

Yves PIGUET
Ingénieur en microtechnique diplômé EPF
originaire du Chenit (VD)

acceptée sur proposition du jury:

Prof. R. Longchamp, directeur de thèse


Prof. H. Bleuler, corapporteur
Dr U. Holmberg, corapporteur
Dr E. Irving, corapporteur
Dr H.F. Raynaud, corapporteur

Lausanne, EPFL
1997
Remerciements

Le travail de th•se prŽsentŽ dans cet ouvrage nÕaurait pu se faire sans lÕaide et
le soutien dÕun grand nombre de personnes.
Je remercie le Professeur R. Longchamp, tout dÕabord pour son
enseignement qui mÕa marquŽ sufÞsamment pendant mes Žtudes pour que je
dŽsire revenir ˆ lÕautomatique, puis pour son accueil et son soutien ˆ lÕInstitut
dÕautomatique. Sandra Brella-Macris et Olivier Ramambason, mes assistants
pendant mes travaux de semestre et de dipl™me, ont Žgalement droit ˆ toute
ma gratitude.
Le Dr Ulf Holmberg nÕa jamais mŽnagŽ ses conseils, son Žcoute attentive
et ses suggestions. QuÕil en soit remerciŽ.
Je remercie aussi les Drs Irving et Raynaud et le Professeur Bleuler dÕavoir
acceptŽ la t‰che de corapporteurs. Leur analyse de mon travail, leurs remarques,
leurs critiques ont ŽtŽ tr•s apprŽciŽes.
Ce rapport ne serait pas ce quÕil est sans la relecture attentive de mon p•re,
dÕUlf et du Prof. Longchamp. Ici, cÕest au lecteur que je mÕassocie pour les en
remercier.
LÕInstitut dÕautomatique est un endroit o• il fait bon travailler et discuter.
Je remercie les Professeurs Roland Longchamp et Dominique Bonvin,
Marie-Claire Corminboeuf et tous mes coll•gues pour leur aide, les
discussions fructueuses que nous avons ŽchangŽes et leur amitiŽ.
Le travail de th•se est une t‰che de longue haleine, avec des moments
exaltants et dÕautres plus difÞciles. Que Pierre Flury, Francesco Mondada et
Laurent Rey, qui mÕont prŽcŽdŽ dans cette voie, soient remerciŽs pour leurs
encouragements et leurs conseils.
Je tiens Žgalement ˆ remercier le Laboratoire dÕAutomatique de Greno-
ble, ˆ lÕENSIEG, dont le bras souple a permis de valider les idŽes prŽsentŽes
dans cette th•se. Je veux citer en particulier le Professeur I. D. Landau, qui
ii Synth•se multimod•le

a proposŽ plusieurs benchmarks et permis de comparer diffŽrentes approches


de synth•se de rŽgulateurs robustes, et J.-M. Devesne, qui a essayŽ les rŽgu-
lateurs sur lÕinstallation et mÕa permis ainsi de complŽter ce travail par des
rŽsultats expŽrimentaux. La formulation m•me du benchmark a inßuencŽ ma
comprŽhension de lÕautomatique robuste.
EnÞn, jÕexprime ma profonde reconnaissance ˆ mes parents, ˆ mon fr•re
Jean-Christophe, ˆ ma belle-soeur Isabelle et ˆ mes neveux Adrien et LŽonard
pour leur soutien pendant ces quatre derni•res annŽes (ou moins !) et leur af-
fection.
RŽsumŽ

Deux nouvelles approches de synth•se multimod•le dÕun rŽgulateur polynomial


ˆ deux degrŽs de libertŽ sont proposŽes : le placement de p™les multimod•le et
lÕoptimisation multiobjective. La prise en compte de plusieurs mod•les per-
met de tenir compte de variations paramŽtriques du syst•me ˆ commander sans
introduire de conservatisme, que celles-ci soient dues ˆ des erreurs de modŽli-
sation ou ˆ des changements des conditions de fonctionnement. Le rŽgulateur
qui en rŽsulte est robuste ˆ la fois en stabilitŽ et en performances.
Le placement de p™les multimod•le consiste ˆ spŽciÞer la position des p™les
en boucle fermŽe correspondant ˆ lÕensemble des mod•les. On montre que seul
un placement approximatif est possible. La distance entre les p™les dŽsirŽs et les
p™les effectifs est pondŽrŽe aÞn de pŽnaliser davantage les erreurs associŽes aux
p™les dŽterminants pour la stabilitŽ et les performances, et minimisŽe avec la mŽ-
thode des moindres carrŽs. Une approche itŽrative est proposŽe pour amŽliorer
les performances, et un programme de conception interactive est dŽveloppŽ
pour permettre ˆ lÕutilisateur de dŽterminer facilement quels compromis entre
performances et robustesse sont possibles.
Dans lÕoptimisation multiobjective, basŽe elle aussi sur plusieurs mod•les,
on consid•re un ensemble de mesures de performances que lÕon veut approcher
le plus possible de valeurs cibles. Il en rŽsulte un probl•me de type minimax. La
prise en compte de la norme H∞ de la sensibilitŽ assure la robustesse en stabilitŽ.
Des objectifs tr•s variŽs peuvent •tre inclus, tels que des bornes sur les rŽponses
harmoniques et temporelles. Le rŽsultat est un compromis entre toutes les spŽ-
ciÞcations, ce qui est souvent lÕobjectif visŽ. Suivant la mŽthode dÕoptimisation
utilisŽe, des minima locaux risquent dÕemp•cher dÕatteindre lÕoptimum global ;
cependant, cette mŽthode peut amŽliorer substantiellement une solution exis-
tante.
Les deux approches sont appliquŽes ˆ la synth•se dÕun rŽgulateur pour un
iv Synth•se multimod•le

bras souple. Ce syst•me prŽsente des modes mal amortis et de grandes varia-
tions paramŽtriques. Le cahier des charges inclut des spŽciÞcations de stabilitŽ
et de performances robustes. Le placement de p™les multimod•le est utilisŽ pour
obtenir un rŽgulateur qui satisfait toutes les exigences. LÕoptimisation multiob-
jective permet ensuite dÕamŽliorer les performances dans leur ensemble, puis
plus spŽciÞquement de rŽduire lÕeffort au niveau du signal de commande.
Abstract

Two new approaches are proposed for the multimodel synthesis of a two-
degrees-of-freedom polynomial controller : the multimodel pole placement and
the multiobjective optimisation. Using several models enables taking into ac-
count the parametric variations of the controlled system without introducing
conservativeness, be they due to modelling mismatch or changes in the oper-
ating conditions. The resulting controller is robust with respect to stability and
performances.
Multimodel pole placement consists in specifying the closed-loop pole po-
sition corresponding to the whole set of models. It is shown that only an ap-
proximate pole placement is possible. The distances between the desired and
the actual poles are weighted to penalize more the error on the poles which
have the most effect on the stability and the performances, and minimized with
the least-squares method. An iterative approach is proposed for improving the
performances, and an interactive computer-aided design program is developed
that enables the user Þnding easily which compromises are possible between
performances and robustness.
In multiobjective optimisation, one considers a set of performance criteria
which should be made as close as possible to goal values, also for several mod-
els. This results in a minimax problem. Taking into account the H∞ norm of
the sensitivity guarantees robust stability. Many different objectives can be in-
cluded, such as limits on the time- and frequency-domain responses. The result
is a compromise between all the speciÞcations, which is often the purpose of
the design. Depending on the optimisation method used, local minima may pre-
vent from reaching the global optimum ; however, this method can signiÞcantly
improve an existing solution.
Both approaches are applied to the design of a controller for a ßexible arm.
This system exhibits poorly damped modes and large parametric variations.
vi Synth•se multimod•le

The speciÞcations concern robust stability and performances. Multimodel pole


placement is used to obtain a controller which satisÞes all of them. Then multi-
objective optimisation enables improving the whole set of performance criteria,
or more speciÞcally reducing the amplitude of the control signal.
Table des mati•res

Remerciements i

RŽsumŽ iii

Abstract v

1 Introduction 1
1.1 IdŽes ma”tresses du travail . . . . . . . . . . . . . . . . . . . 1
1.2 Description gŽnŽrale . . . . . . . . . . . . . . . . . . . . . . 1
1.3 DŽÞnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Etat de lÕart . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.1 Commande robuste et multimod•le . . . . . . . . . . 5
1.4.2 Conception assistŽe par ordinateur . . . . . . . . . . . 8
1.5 RŽgulateur RST . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.1 Mod•le du syst•me . . . . . . . . . . . . . . . . . . 9
1.5.2 Structure du rŽgulateur . . . . . . . . . . . . . . . . . 10
1.5.3 Placement des p™les . . . . . . . . . . . . . . . . . . 12
1.5.4 Filtrage de la consigne . . . . . . . . . . . . . . . . . 15
1.5.5 Fonctions de sensibilitŽ . . . . . . . . . . . . . . . . 16
1.5.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . 17

2 Placement de p™les multimod•le 19


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Placement de p™les multimod•le exact . . . . . . . . . . . . . 21
2.3 Compromis entre plusieurs mod•les . . . . . . . . . . . . . . 23
2.4 PondŽration . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.5 SensibilitŽ rŽgulateurÐp™les . . . . . . . . . . . . . . . . . . 26
viii Synth•se multimod•le

2.6 Algorithme de synth•se . . . . . . . . . . . . . . . . . . . . 31


2.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3 Optimisation multiobjective 33
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2 Optimisation multiobjective . . . . . . . . . . . . . . . . . . 34
3.3 ParamŽtrisation du rŽgulateur . . . . . . . . . . . . . . . . . 40
3.4 Fonctions de sensibilitŽ . . . . . . . . . . . . . . . . . . . . 42
3.5 RŽponses temporelles . . . . . . . . . . . . . . . . . . . . . 43
3.6 Optimisation simultanŽe . . . . . . . . . . . . . . . . . . . . 46
3.7 Optimisation sŽparŽe du prŽÞltre . . . . . . . . . . . . . . . . 46
3.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4 Conception assistŽe par ordinateur 49


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2 Structure du programme . . . . . . . . . . . . . . . . . . . . 50
4.3 Fonctions de transfert . . . . . . . . . . . . . . . . . . . . . 53
4.4 ZŽros et p™les . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.5 RŽponses temporelles . . . . . . . . . . . . . . . . . . . . . 55
4.6 RŽponses harmoniques . . . . . . . . . . . . . . . . . . . . . 56
4.7 Placement de p™les multimod•le . . . . . . . . . . . . . . . . 59
4.8 Crit•res de performances . . . . . . . . . . . . . . . . . . . . 62
4.9 EntrŽes-sorties . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.10 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5 Exemple dÕapplication 65
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2 Description du syst•me . . . . . . . . . . . . . . . . . . . . 66
5.3 SpŽciÞcations . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3.1 Structure du rŽgulateur . . . . . . . . . . . . . . . . . 69
5.3.2 StabilitŽ et performances robustes en rŽgulation . . . . 71
5.3.3 Performances robustes en asservissement . . . . . . . 71
5.3.4 Remarques . . . . . . . . . . . . . . . . . . . . . . . 71
5.4 Placement de p™les multimod•le . . . . . . . . . . . . . . . . 72
5.4.1 RŽgulateur initial . . . . . . . . . . . . . . . . . . . 72
5.4.2 Synth•se interactive de la contre-rŽaction . . . . . . . 74
5.4.3 Optimisation du prŽÞltre . . . . . . . . . . . . . . . . 76
5.4.4 RŽsultats . . . . . . . . . . . . . . . . . . . . . . . . 77
5.5 Optimisation multiobjective . . . . . . . . . . . . . . . . . . 87
Table des mati•res ix

5.5.1 Synth•se du rŽgulateur . . . . . . . . . . . . . . . . . 87


5.5.2 RŽsultats . . . . . . . . . . . . . . . . . . . . . . . . 89
5.6 Comparaison avec dÕautres mŽthodes . . . . . . . . . . . . . 96
5.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 97

6 Conclusions gŽnŽrales 99
6.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2 Extensions possibles . . . . . . . . . . . . . . . . . . . . . . 100

Notations 103

Bibliographie 107

Index 113

Curriculum vitae 117


Chapitre 1

Introduction

1.1 IdŽes ma”tresses du travail


Le but de ce travail est double. Pour un syst•me monovariable, linŽaire et inva-
riant, nous voulons montrer les points suivants :

• La reprŽsentation dÕun syst•me soumis ˆ des variations paramŽtriques est


faite avantageusement par un ensemble Þni de mod•les. Des mŽthodes
de synth•se qui exploitent directement ce formalisme Žvitent le conser-
vatisme liŽ aux incertitudes non structurŽes et ˆ celles bornŽes par des
volumes convexes. De plus, la prise en compte des spŽciÞcations telles
quÕelles sont fournies par le cahier des charges autorise des performances
ŽlevŽes.

• LÕutilisation dÕoutils de conception assistŽe par ordinateur vŽritablement


interactifs, avec lesquels lÕutilisateur voit instantanŽment lÕeffet de ses
choix sur les rŽponses harmoniques et temporelles, facilite la synth•se
de rŽgulateurs performants, m•me pour des syst•mes rŽputŽs difÞciles ˆ
commander.

1.2 Description gŽnŽrale


La suite du chapitre commence par dŽÞnir les termes essentiels utilisŽs dans ce
travail, ˆ commencer par son titre. La section 1.4 situe le travail par rapport aux
2 Synth•se multimod•le

tendances actuelles de la commande robuste et en justiÞe lÕintŽr•t. Pour Þnir,


le mod•le du syst•me, le rŽgulateur ˆ deux degrŽs de libertŽ et le placement de
p™les standard sont prŽsentŽs dans la section 1.5 ; ils permettent dÕintroduire les
notions de base sur lesquelles reposent les chapitres suivants.

Le chapitre 2 est consacrŽ ˆ la synth•se multimod•le de la contre-rŽaction


par placement de p™les. Un placement approximatif qui rŽsulte dÕun compro-
mis entre les mod•les est proposŽ. Il est justiÞŽ par lÕimpossibilitŽ de spŽciÞer
arbitrairement les p™les de tous les mod•les. Une approche itŽrative est dŽcrite,
au cours de laquelle la robustesse et les performances sont amŽliorŽes par le dŽ-
placement des p™les en boucle fermŽe. LÕutilisation de poids est introduite pour
pŽnaliser lÕerreur sur les p™les dominants quant ˆ leur effet sur les performances,
et leur importance est montrŽe par des exemples.

Le chapitre 3 dŽcrit une procŽdure dÕoptimisation qui vise ˆ amŽliorer les


performances selon des crit•res tr•s divers. Tous les crit•res sont amŽliorŽs
simultanŽment par une procŽdure de type minimax, ce qui permet dÕaboutir
ˆ un compromis ŽquilibrŽ. LÕoptimisation touche ˆ la fois les param•tres de
la contre-rŽaction et du Þltre de consigne. Dans le cas o• lÕon ne dŽsire pas
modiÞer la contre-rŽaction, une mŽthode simpliÞŽe est proposŽe pour satisfaire
les spŽciÞcations sur lÕasservissement.

Dans le chapitre 4, le programme de conception assistŽe par ordinateur que


nous avons Žcrit pour exploiter le placement de p™les multimod•le de fa•on
interactive est prŽsentŽ. Ses apports vis-ˆ-vis de programmes existants sont
exposŽs. En plus de son utilitŽ pour la synth•se multimod•le, un exemple montre
son intŽr•t dans le cadre de lÕautomatique classique.

Le chapitre 5 montre lÕefÞcacitŽ des mŽthodes proposŽes pour la commande


dÕun syst•me oscillant ˆ larges variations paramŽtriques et soumis ˆ un cahier des
charges contraignant, en lÕoccurrence un bras souple. Quatre rŽgulateurs sont
proposŽs. Les deux premiers sont obtenus par placement de p™les multimod•le
et optimisation du prŽÞltre. Des simulations et des rŽsultats expŽrimentaux
sont prŽsentŽs et discutŽs. Ensuite, pour amŽliorer les performances, le second
rŽgulateur est modiÞŽ par optimisation multiobjective. Les rŽsultats permettent
de comparer les deux mŽthodes entre elles et avec dÕautres rŽgulateurs proposŽs
pour le m•me syst•me.

Pour Þnir, le chapitre 6 fournit des conclusions sur lÕapport de ce travail ˆ


la commande robuste et donne quelques pistes pour des extensions possibles.
Introduction 3

1.3 DŽÞnitions
Par commande, nous entendrons les techniques qui permettent dÕŽlaborer un
ou plusieurs signaux de commande en fonction de consigne(s) et de mesure(s).
On rencontre deux types de probl•mes : la rŽgulation, qui consiste ˆ rendre la
ou les sorties du syst•me insensibles par rapport ˆ des perturbations ou ˆ une
modŽlisation imparfaite, et lÕasservissement, o• la sortie doit suivre la consigne.
Nous appellerons synth•se les algorithmes qui permettent dÕobtenir des valeurs
numŽriques pour les param•tres du rŽgulateur, m•me si une part dÕintervention
humaine est nŽcessaire, par exemple pour modiÞer une spŽciÞcation ; certains
automaticiens rŽservent ce terme pour un calcul purement mŽcanique [RM78].
Les deux buts essentiels que doit remplir un rŽgulateur sont dÕassurer la
stabilitŽ et un certain niveau de performances, ŽvaluŽes selon des crit•res tels
que temps de montŽe, intŽgrale de la valeur absolue de lÕerreur apr•s une pertur-
bation ou ampliÞcation ˆ certaines frŽquences [YL96]. Ils sont le plus souvent
contradictoires : la stabilitŽ est dÕautant plus facile ˆ garantir que le rŽgulateur
impose une dynamique lente.
La synth•se est le plus souvent basŽe sur un mod•le du syst•me. Le mod•le
ne reprŽsente quÕimparfaitement le syst•me, pour les raisons suivantes :

• la structure du mod•le est toujours une simpliÞcation de la rŽalitŽ ;

• les param•tres du mod•le sont entachŽs dÕerreurs de mesure ou


dÕestimation ;

• les param•tres peuvent varier au cours du temps ;

• si le mod•le est la reprŽsentation linŽarisŽe dÕun syst•me non linŽaire,


le changement des conditions de fonctionnement modiÞe la valeur des
param•tres.

Le rŽgulateur est robuste sÕil garantit le niveau de performances spŽciÞŽ m•me


lorsque le syst•me sÕŽcarte du mod•le. On parle de commande robuste si les
incertitudes sont explicitement prises en compte ; cÕest en cela quÕelle se dis-
tingue de lÕautomatique classique, qui assure elle aussi une certaine robustesse
ŽvaluŽe typiquement par les marges de gain et de phase. La robustesse peut
porter aussi bien sur la stabilitŽ que sur les performances.
Dans ce travail, on considŽrera uniquement des syst•mes linŽaires, inva-
riants, au repos, SISO (Single-Input Single-Output, ˆ une entrŽe et une sortie),
et discrets. Ni la numŽrisation des signaux, ni celle des param•tres du rŽgulateur
4 Synth•se multimod•le

nÕest prise en compte. Les mod•les et les rŽgulateurs sont reprŽsentŽs par des
fonctions de transfert en z. Les rŽgulateurs ŽtudiŽs sont ˆ deux degrŽs de libertŽ.

• LinŽaritŽ et invariance La linŽaritŽ rend lÕanalyse des syst•mes beau-


coup plus facile. On peut considŽrer sŽparŽment lÕeffet des diffŽrentes
entrŽes, telles que la consigne et les perturbations, et appliquer le principe
de superposition. La linŽaritŽ et lÕinvariance permettent la reprŽsentation
des syst•mes par des fonctions de transfert qui facilitent leur combinaison
et le calcul de leur rŽponse harmonique.

• SISO La restriction du nombre dÕentrŽes et de sorties simpliÞe considŽ-


rablement les calculs et Žvite le recours ˆ une reprŽsentation par mod•le
dÕŽtat. De nombreux syst•mes multivariables peuvent •tre rŽduits ˆ un
ensemble de syst•mes SISO, en considŽrant des sous-syst•mes dŽcou-
plŽs naturellement [Owe87], en dŽcouplant lÕeffet des entrŽes sur les sor-
ties [May73, Mun87], ou par des boucles de contre-rŽaction en cascade
[OR94].

• DiscrŽtisation Les rŽgulateurs modernes sont pratiquement toujours


implantŽs sur des microprocesseurs qui travaillent sur des suites de nom-
bres. LÕavantage des microprocesseurs est de permettre de changer les
coefÞcients du rŽgulateur, ou m•me sa structure, beaucoup plus rapide-
ment quÕavec de lÕŽlectronique analogique c‰blŽe ou des solutions mŽ-
caniques, hydrauliques ou pneumatiques. De plus, une solution purement
informatique facilite la supervision et la tŽlŽmaintenance.
Certaines mŽthodes de synth•se sont mieux adaptŽes aux processus et
aux rŽgulateurs continus. LÕimplantation sur un microprocesseur requiert
alors la numŽrisation du rŽgulateur, qui peut introduire des probl•mes
dus aux dŽformations des rŽponses harmoniques pr•s de la frŽquence
de Nyquist [SSH96]. Quand elle est possible, la prise en compte de
lÕŽchantillonnage durant la synth•se est prŽfŽrable, surtout lorsque les
marges de robustesse sont faibles.

• Signaux rŽels Les effets de la quantiÞcation, qui rend le syst•me non


linŽaire, ne sont pas ŽtudiŽs dans ce travail. Nous veillerons ˆ ne pas
exiger une prŽcision exagŽrŽe pour les coefÞcients des rŽgulateurs que
nous obtiendrons [KB97]. Les simulations sont faites avec des nombres
ˆ virgule ßottante dont la mantisse est codŽe sur 53 bits.
Introduction 5

• Fonctions de transfert en z La restriction ˆ des syst•mes SISO,


linŽaires, invariants, au repos et ŽchantillonnŽs rend possible lÕutilisation
de fonctions de transfert en z, plus simples ˆ manipuler que la reprŽsen-
tation par mod•les dÕŽtat. Les fonctions de transfert seront gŽnŽralement
Žcrites sous forme de fonctions rationnelles de polyn™mes en lÕopŽrateur
dÕavance q. On peut ainsi aisŽment Žcrire la rŽponse dÕun signal ÞltrŽ
par une fonction de transfert, sans dŽÞnir la transformŽe en z des si-
gnaux. LÕopŽrateur dÕavance q est ˆ notre avis plus naturel que lÕopŽrateur
de retard q −1 ; en effet, les p™les et les zŽros dÕune fonction de trans-
fert se dŽÞnissent toujours par rapport ˆ q (ou ˆ z). La transformŽe
en δ a lÕavantage de conduire ˆ une reprŽsentation mieux conditionnŽe
numŽriquement [MG90], mais elle est peu rŽpandue. Une fois la synth•se
faite dans le domaine de la transformŽe en z, il est toujours possible, si des
probl•mes numŽriques se posent, de passer ˆ une Žquation aux diffŽrences
en δ pour lÕimplantation du rŽgulateur.

• RŽgulateur ˆ deux degrŽs de libertŽ On distingue les rŽgulateurs qui


basent le calcul de la commande exclusivement sur lÕŽcart entre la sortie
et la consigne de ceux qui Þltrent diffŽremment ces deux signaux. Ces
derniers sont dits ˆ deux degrŽs de libertŽ. Ils offrent la possibilitŽ de
spŽciÞer indŽpendamment les performances en rŽgulation (qui est basŽe
sur la contre-rŽaction et doit tenir compte des contraintes de stabilitŽ) et
en asservissement.

1.4 Etat de lÕart


1.4.1 Commande robuste et multimod•le
Pour mieux situer notre approche de synth•se multimod•le, il est judicieux de
rŽsumer les grandes tendances de la commande robuste.
LÕimportance de la robustesse nÕa pas ŽchappŽ aux p•res de lÕautomatique.
En 1927, Harold S. Black imagina lÕutilisation dÕune contre-rŽaction de gain
important pour rŽduire la sensibilitŽ aux perturbations. En 1932, H. Nyquist
prŽsenta le crit•re de stabilitŽ qui porte son nom. H. W. Bode reprit ces rŽsul-
tats pour proposer en 1945 une mŽthode de synth•se basŽe sur les propriŽtŽs
harmoniques de la fonction de transfert en boucle ouverte. Ces travaux sont ˆ la
base de ce que lÕon appelle lÕautomatique classique. La Quantitative Feedback
Theory, ou QFT, est une mise en oeuvre plus ŽvoluŽe de ces principes, dans
6 Synth•se multimod•le

laquelle les spŽciÞcations aussi bien que les incertitudes sont ŽvaluŽes dans
le domaine harmonique [Hor91b]. La Commande Robuste dÕOrdre Non Entier
(CRONE) utilise une dŽrivation dÕordre fractionnaire (qui est ensuite approchŽe
par un ensemble de p™les et de zŽros) pour obtenir une variation de phase telle
que les incertitudes paramŽtriques du syst•me affectent aussi faiblement que
possible la rŽponse harmonique en boucle ouverte [OLM95].
LÕautomatique moderne, basŽe sur une reprŽsentation par mod•le dÕŽtat,
nŽgligea longtemps les incertitudes sur le syst•me, qui sont pourtant la prin-
cipale raison dÕ•tre de la contre-rŽaction [Hor91a]. Ce dŽfaut conduisit ˆ des
rŽgulateurs peu robustes. La commande adaptative, qui a pour but de rem-
placer ce manque de robustesse par une identiÞcation en ligne du syst•me pour
pouvoir modiÞer les param•tres du rŽgulateur et conserver les propriŽtŽs dy-
namiques souhaitŽes, devait y remŽdier ; mais son caract•re intrins•quement
non linŽaire en rend lÕanalyse dŽlicate et les garanties de stabilitŽ difÞciles ˆ
û
obtenir [AW90, Lon95].
Depuis les annŽes quatre-vingt, la commande robuste sÕattache ˆ exploiter
la connaissance des incertitudes pour garantir la stabilitŽ et les performances du
syst•me commandŽ. La synth•se H∞ se base sur des incertitudes non structurŽes
pour minimiser le module de lÕamplitude de diverses fonctions de transfert
[DFT92]. Elle permet notamment de garantir la stabilitŽ robuste et de maximiser
les performances, et, en ce sens, est une forme dÕoptimisation multiobjective.
En 1978, Kharitonov donna une condition nŽcessaire et sufÞsante simple
pour tester la stabilitŽ robuste dÕun polyn™me dont les coefÞcients varient dans
des plages connues [Bar94]. Le principe dÕexclusion des zŽros (Zero Exclu-
sion Principle), basŽ sur la continuitŽ des zŽros dÕun polyn™me par rapport aux
variations de ses coefÞcients, donne lieu ˆ des mŽthodes dÕanalyse de la ro-
bustesse pour diffŽrents types dÕincertitudes paramŽtriques. Lorsque celles-ci
sont bornŽes par un ellipso•de, on peut calculer facilement un rayon de ro-
bustesse, Žgal au facteur maximal par lequel lÕellipso•de peut •tre multipliŽ
tout en assurant la stabilitŽ robuste. Il existe diverses mŽthodes de synth•se qui
maximisent le rayon de robustesse. [RB91] propose de maximiser une borne
infŽrieure donnŽe par une norme H∞ , et [HPB95] lÕapproximation dÕune borne
infŽrieure moins conservatrice. Une optimisation dans lÕespace des coefÞcients
du rŽgulateur est dŽcrite dans [Per94].
Pour Žviter le conservatisme causŽ par une surestimation des incertitudes,
on sÕest intŽressŽ ˆ des approches multimod•les. La stabilisation simultanŽe
consiste ˆ dŽterminer le rŽgulateur qui stabilise un ensemble Þni de fonctions
de transfert. M•me sÕil existe des rŽsultats prometteurs sur lÕexistence de tels
Introduction 7

rŽgulateurs, le probl•me de la synth•se nÕest rŽsolu que pour deux mod•les


[DFM92]. La stabilisation robuste des syst•mes intermŽdiaires, donnŽs par
G(s,λ) = (λB1 (s) + (1 − λ)B2 (s))/(λA1 (s) + (1 − λ)A2 (s)), 0 ≤ λ ≤ 1,
est rŽsolue notamment dans [ADPD95]. Une approche plus interactive est pro-
posŽe par [ABK+ 94] ; pour chaque mod•le, on dŽtermine la rŽgion dans lÕespace
des param•tres qui correspond ˆ la rŽgion dŽsirŽe pour les p™les en boucle fer-
mŽe dans le plan complexe. Le rŽgulateur est choisi dans lÕintersection de ces
rŽgions, si elle existe. Pratiquement, pour permettre une reprŽsentation gra-
phique, on se restreint ˆ leur intersection avec un hyperplan dans lÕespace des
param•tres du rŽgulateur. Le choix des hyperplans, de m•me que celui de la
rŽgion admise pour les p™les, peut rendre la synth•se difÞcile.
DÕautres mŽthodes sÕattachent ˆ utiliser plusieurs mod•les dans des procŽ-
dures dÕoptimisation. [PT94] propose une optimisation mixte H2 /H∞ mul-
timod•le avec descente de gradient. LÕutilitŽ de cette approche a ŽtŽ mon-
trŽe notamment dans lÕaŽronautique [GBBL86, Miy90] et lÕindustrie chimique
[STsW91, TT90].
LÕidŽe du placement de p™les multimod•le a dŽjˆ ŽtŽ exploitŽe par
[LvdW94], qui calcule le rŽgulateur par placement de p™les multimod•le et
utilise la mŽthode des moindres carrŽs en minimisant lÕerreur au niveau des
coefÞcients du rŽgulateur. Cela prŽsente un grave inconvŽnient : les
performances sont tr•s sensibles aux variations des coefÞcients. La synth•se
dÕun bon rŽgulateur est le rŽsultat dÕun compromis. Ici, les seuls param•tres de
synth•se sont les p™les dŽsirŽs des diffŽrents mod•les en boucle fermŽe et un
Žventuel poids diffŽrent pour chaque mod•le. Mais comme les coefÞcients des
polyn™mes sont une reprŽsentation mal conditionnŽe des p™les, une faible
variation risque de donner des rŽsultats tr•s diffŽrents de ceux attendus.
LÕoptimisation multiobjective consiste ˆ amŽliorer simultanŽment plusieurs
mesures de performances. Introduite dans le domaine Žconomique par Vilfredo
Pareto1 en 1896, elle est reprise dans le contexte de lÕautomatique par L. A.
Zadeh [Zad63]. Elle dŽcoule de lÕobservation quÕil est impossible dÕŽtablir
un classement de toutes les solutions en fonctions de plusieurs crit•res ; cer-
taines solutions peuvent •tre meilleures que dÕautres selon un certain crit•re
et moins bonnes selon un autre crit•re. Une solution est dite Pareto-optimale
si aucune autre solution nÕest meilleure selon au moins un crit•re et Žquiva-
lente selon les autres. De nombreuses mŽthodes de synth•se de rŽgulateur peu-
vent •tre basŽes sur ce principe. [Dor91] parle de conception multiobjective
robuste lorsquÕau moins un des crit•res concerne la stabilitŽ robuste. Zadeh
1 Economiste et sociologue italien, 1848Ð1923
8 Synth•se multimod•le

propose de considŽrer lÕensemble des rŽgulateurs Pareto-optimaux avant de


choisir celui qui rŽalise le compromis le plus acceptable ; mais cela pose des
probl•mes insolubles lorsquÕils sont nombreux ou difÞciles ˆ obtenir. Une ap-
proche plus rŽaliste consiste ˆ remplacer lÕoptimisation multiobjective par un
objectif scalaire unique. La difÞcultŽ consiste ˆ ne pas retomber sur le dŽfaut
essentiel de lÕoptimisation dÕune valeur scalaire, ˆ savoir le manque de contr™le
sur le compromis obtenu. La minimisation dÕune somme pondŽrŽe des objec-
tifs est ˆ Žviter pour cette raison. On peut ne retenir que lÕun des objectifs et
considŽrer tous les autres comme des contraintes, par exemple en minimisant la
norme H∞ pondŽrŽe de la sensibilitŽ complŽmentaire pour obtenir des perfor-
mances maximales avec une contrainte sur celle de la sensibilitŽ pour assurer
la stabilitŽ robuste [CS88]. EnÞn, il convient de noter quÕau-delˆ des capacitŽs
des mŽthodes de synth•se dÕobtenir de bons rŽgulateurs, les performances sont
plafonnŽes par des limites thŽoriques [SBG97].

1.4.2 Conception assistŽe par ordinateur

Les syst•mes de conception assistŽe par ordinateur (CAO) pour lÕautomatique


sont souvent basŽs sur un langage de commande spŽcialisŽ pour la manipulation
des objets mathŽmatiques propres ˆ la commande (polyn™mes, matrices, suites
temporelles et harmoniques, etc.), avec des extensions pour gŽnŽrer des gra-
phiques. Leur avantage principal est une grande souplesse dÕutilisation [RJ96] ;
de nouvelles approches peuvent •tre essayŽes facilement et rapidement, et de
nombreuses bo”tes ˆ outils, sous forme de collections de dŽÞnitions de nouvelles
commandes, couvrent un large domaine de lÕautomatique. Le plus rŽpandu des
logiciels de ce type est sans doute Matlab [Mat97].
Parall•lement ˆ ces syst•mes, dont lÕutilitŽ est Žvidente, existe le besoin de
programmes davantage ciblŽs. Le dŽsir dÕune plus grande interactivitŽ a donnŽ
lieu ˆ des outils souvent programmŽs avec Matlab ; par exemple la toolbox
QFT [YCB97], qui permet ˆ lÕutilisateur de spŽciÞer facilement des gabarits
dans le diagramme de Black, et PARADISE [SAB97], basŽ sur la mŽthode
dÕAckermann [ABK+ 94]. Les logiciels qui permettent la manipulation directe
du rŽgulateur et lÕafÞchage des performances en temps rŽel semblent encore
peu rŽpandus.
Introduction 9

1.5 RŽgulateur RST


La Þn de ce chapitre est consacrŽe ˆ la description de la synth•se dÕun rŽgulateur
ˆ deux degrŽs de libertŽ de type RST. Elle permet entre autres dÕintroduire les
notations utilisŽes dans la suite de ce travail.

1.5.1 Mod•le du syst•me


Le processus est un syst•me ˆ une entrŽe u(t), appelŽe signal de commande ou
simplement commande, et une sortie y(t). Il est modŽlisŽ par une fonction de
transfert H (q) = B(q)/A(q) strictement propre entre la commande et la sortie.
Le caract•re strictement propre (deg A > deg B) assure un retard dÕau moins une
pŽriode dÕŽchantillonnage entre la commande et la sortie, ce qui sera nŽcessaire
pour permettre la synth•se du rŽgulateur. Ce nÕest pas une limitation g•nante, car
tout syst•me physique poss•de un retard strictement positif qui, vu ˆ travers les
Žchantillonneurs, devient supŽrieur ou Žgal ˆ une pŽriode dÕŽchantillonnage.
Les polyn™mes A(q) et B(q) sont choisis premiers entre eux. A la sortie du
syst•me sÕajoute une perturbation d(t) non mesurable directement. La sortie
compl•te est donc
B(q)
y(t) = u(t) + d(t) (1.1)
A(q)

Le mod•le peut •tre obtenu de diffŽrentes fa•ons [Lju87]. On peut soit


partir du mod•le physique du processus, Žtablir les Žquations diffŽrentielles,
remplacer les constantes physiques par leurs valeurs mesurŽes, linŽariser le
mod•le autour dÕun point de fonctionnement et passer dans le domaine de la
transformŽe en z (mod•le de connaissance) ; soit Þxer lÕordre du mod•le et
identiÞer ses param•tres en procŽdant ˆ une sŽrie dÕexpŽrimentations (mod•le
de reprŽsentation) ; soit utiliser un mŽlange des deux mŽthodes. Une partie
importante de la modŽlisation consiste ˆ Žvaluer la validitŽ du mod•le, soit
par une quantiÞcation des incertitudes, soit par une dŽpendance par rapport ˆ
certaines variations paramŽtriques. Les mŽthodes particuli•res pour modŽliser
le processus dŽpassent le cadre de ce travail.
Dans ce chapitre, nous nous baserons sur un mod•le unique, appelŽ mod•le
nominal. Les chapitres suivants sont dŽvolus ˆ la commande robuste et par
consŽquent prennent en compte explicitement les imperfections du mod•le.
10 Synth•se multimod•le

d(t)
r (t) 1 u(t) B(q) y(t)
T (q)
- R(q) A(q)

S(q)

Figure 1.1 Syst•me ŽchantillonnŽ et rŽgulateur RST.

1.5.2 Structure du rŽgulateur


Dans ce travail, on consid•re un rŽgulateur polynomial ˆ deux degrŽs de libertŽ
de la forme suivante (cf. Þg. 1.1) :

R(q)u(t) = −S(q)y(t) + T (q)r (t) (1.2)

Les degrŽs de libertŽ se rŽf•rent ˆ la prise en compte diffŽrenciŽe de la


sortie et de la consigne pour lÕŽlaboration du signal de commande. Dans un
rŽgulateur ˆ un degrŽ de libertŽ, la commande se base sur le signal dÕerreur
e(t) = r (t) − y(t), ce qui force ˆ choisir un compromis entre la stabilitŽ et
le rejet des perturbations dÕune part, et lÕasservissement ˆ une grandeur de
consigne dÕautre part.
Sans perte de gŽnŽralitŽ, on suppose R(q) monique. Pour faciliter la syn-
th•se, on factorise les polyn™mes R, S et T en une partie ÞxŽe a priori (respec-
tivement R f , S f et T f ) et une partie que lÕon dŽsire synthŽtiser en se basant sur
des spŽciÞcations de stabilitŽ et de performances en boucle fermŽe (R 0 , S 0 et
T 0 ). Les parties Þxes permettent de garantir le rejet de certaines classes de per-
turbations ou dÕŽviter dÕexciter le signal de commande ˆ certaines frŽquences ;
par exemple, un facteur (q − 1) dans R f impose un intŽgrateur dans le rŽgu-
lateur, qui a la propriŽtŽ bien connue [Lon95] dÕŽliminer le statisme dž ˆ une
perturbation constante m•me si le syst•me nÕa pas dÕeffet intŽgrateur. On a ainsi

R(q) = R f (q)R 0 (q) (1.3)


Introduction 11

S(q) = S f (q)S 0 (q) (1.4)


T (q) = T f (q)T 0 (q) (1.5)

avec R f (q) et S f (q) moniques et T f (1) = 1 (sans perte de gŽnŽralitŽ puisque


R 0 (q) est monique et que les gains statiques de S 0 (q) et T 0 (q) ne sont pas
spŽciÞŽs). On dŽÞnit aussi

A0 (q) = A(q)R f (q) (1.6)


B 0 (q) = B(q)S f (q) (1.7)

La fa•on de dŽterminer au mieux (nous verrons dans les prochains chapitres


ce quÕil faut entendre par lˆ) la valeur des coefÞcients de R 0 , S 0 et T 0 sera
le but essentiel de notre travail. Avec le syst•me et les parties Þxes du rŽgu-
lateur, les coefÞcients de R 0 et S 0 dŽterminent les propriŽtŽs de la rŽgulation
(cÕest-ˆ-dire de stabilisation, de rejet des perturbations et de dŽsensibilisation
par rapport aux incertitudes du mod•le). Le polyn™me T 0 nÕa dÕeffet que sur
lÕasservissement ˆ une grandeur de consigne, qui est Žgalement inßuencŽ par
R 0 et S 0 . Les param•tres de la partie contre-rŽaction, cÕest-ˆ-dire les coefÞcients
de R 0 (sans r00 = 1) et S 0 , sont rŽunis dans le vecteur-colonne x :
h iT
x = r10 · · · rdeg
0 0 0
R 0 s0 · · · sdeg S 0 (1.8)

Pour que le rŽgulateur soit causal, les conditions suivantes doivent •tre
remplies :
deg R ≥ deg S
(1.9)
deg R ≥ deg T

En boucle fermŽe, la fonction de transfert Hc (q) entre la consigne et la sortie


est
B(q)T (q)
Hc (q) = (1.10)
A(q)R(q) + B(q)S(q)
et la fonction de transfert H p (q) entre la perturbation d(t) et la sortie y(t)
A(q)R(q)
H p (q) = (1.11)
A(q)R(q) + B(q)S(q)
La sortie vaut alors

y(t) = Hc (q)r (t) + H p (q)d(t) (1.12)


12 Synth•se multimod•le

Et la simpliÞcation zŽros-p™les ?
Une fa•on rŽpandue [Lon95] de Þxer les polyn™mes dÕun rŽgulateur RST
consiste ˆ imposer lÕŽgalitŽ BT /(A R + B S) = Bm /Am , o• Bm /Am est la
fonction de transfert dŽsirŽe en asservissement. On peut d•s lors introduire
deux simpliÞcations entre les zŽros des diffŽrents polyn™mes. En imposant
un facteur commun A0 entre A R + B S et T (couramment appelŽ polyn™me
observateur par analogie avec la commande dÕŽtat), on fait dispara”tre une
partie de la dynamique interne de la fonction de transfert en asservissement,
qui reste prŽsente en rŽgulation. En imposant un facteur commun B + entre
B et R, on obtient un effet similaire. Dans le cadre de ce travail, aucune de
ces simpliÞcations nÕest envisagŽe. Elles ne sont en effet valables que lorsque
le syst•me est exactement identique au mod•le, hypoth•se difÞcilement justi-
Þable en commande robuste. DÕautre part, nous nous intŽressons explicitement
au comportement en rŽgulation et nous voulons prendre en compte le signal
de commande.

Le dŽnominateur C(q) de Hc (q) et de H p (q), identique, est le polyn™me


caractŽristique, dont les zŽros sont les p™les en boucle fermŽe :

C(q,x) = A(q)R f (q)R 0 (q) + B(q)S f (q)S 0 (q) (1.13)

Le polyn™me caractŽristique dŽtermine la stabilitŽ du syst•me en boucle


fermŽe et contribue largement ˆ ses propriŽtŽs dynamiques. Celles-ci dŽpen-
dent Žgalement des zŽros des fonctions de transfert entre diffŽrents types de
perturbations et la commande ou la sortie, mais on ne peut pas les spŽciÞer
indŽpendamment du polyn™me caractŽristique (voir aussi lÕencadrŽ ci-dessus).

1.5.3 Placement des p™les


Une fa•on de Þxer la valeur des polyn™mes R 0 (q) et S 0 (q) est dÕimposer un cer-
tain polyn™me caractŽristique C D (q)2 . On obtient ainsi lÕŽquation diophantine3
suivante :
A(q)R f (q)R 0 (q) + B(q)S f (q)S 0 (q) = C D (q) (1.14)
2 Nous distinguons C(q,x) de C D (q) non pas par pŽdantisme, mais parce que par la suite, nous

utiliserons la dŽrivŽe ∂C/∂ x. Comme C D (q) ne dŽpend pas de x, sa dŽrivŽe est Žvidemment nulle.
3 Du nom du mathŽmaticien Diophante (IIIe si•cle).
Introduction 13

Les inconnues sont les coefÞcients des polyn™mes R 0 (q) et S 0 (q). Le thŽor•me
suivant donne les conditions dÕexistence dÕune solution.

ThŽor•me 1.1 Soient les polyn™mes ÞxŽs A(q), B(q) et C D (q), et


deux polyn™mes inconnus X (q) et Y (q). LÕŽquation diophantine
A(q)X (q) + B(q)Y (q) = C D (q) admet au moins une solution si et seulement
si le plus grand commun diviseur de A(q) et B(q) est un facteur de C D (q).
û
DŽmonstration Voir [AW90].

Parmi lÕinÞnitŽ de solutions, le thŽor•me suivant en donne une qui corres-


pond ˆ un rŽgulateur causal :

ThŽor•me 1.2 Soient le polyn™me caractŽristique (1.13), avec deg A > deg B,
et le polyn™me caractŽristique dŽsirŽ C D (q) de degrŽ deg C D ≥ 2 deg A +
deg R f + deg S f − 1. Si lÕŽquation diophantine (1.14) admet des solutions,
lÕune dÕentre elles correspond ˆ un rŽgulateur causal avec les degrŽs suivants :

deg R 0 = deg C D − deg A − deg R f


(1.15)
deg S 0 ≤ deg A + deg R f − 1

DŽmonstration Soit la solution R00 ,S00 . Alors R 0 = R00 + Q B S f ,S 0 = S00 −


Q A R f , o• Q est un polyn™me arbitraire, en est aussi une. Si deg S00 ≥ deg A +
deg R f , on peut choisir Q de telle sorte que le terme de plus haut degrŽ soit
annulŽ, et ceci itŽrativement jusquÕˆ ce que deg S 0 ≤ deg A + deg R f − 1.
On a donc deg(B S f S 0 ) ≤ deg A + deg B + deg R f + deg S f − 1 ; comme
deg C D ≥ 2 deg A + deg R f + deg S f − 1 > deg A + deg B + deg R f +
deg S f − 1 ≥ deg(B S f S 0 ) et C D = A R f R 0 + B S f S 0 , deg(A R f R 0 ) = deg C D
et deg R 0 = deg C D − deg A − deg R f . Le retard pur du rŽgulateur vaut deg R −
deg S ≥ deg C D − deg A − (deg A + deg R f − 1 + deg S f ), positif ou nul en
raison de lÕhypoth•se sur deg C D . Le rŽgulateur est donc causal.

LÕinŽgalitŽ sur deg S 0 dans (1.15) vient de ce que pour certaines valeurs des
polyn™mes A R f , B S f et C D , des termes de S 0 peuvent sÕannuler. Par la suite,
on entendra par deg S ou deg S 0 le degrŽ maximum que peut prendre S ou S 0 .
Pour Žviter dÕintroduire un retard superßu dans la boucle de contre-rŽaction,
ce qui a gŽnŽralement pour effet de diminuer la robustesse, il est prŽfŽrable de
choisir deg C D de telle sorte que deg R = deg S, ou deg R = deg S + 1 si
le temps de calcul de la commande est signiÞcatif par rapport ˆ la pŽriode
dÕŽchantillonnage ; autrement dit, deg S f = deg R − deg S 0 = deg C D −
14 Synth•se multimod•le

2 deg A −deg R f +1. Le tableau 1.1 rŽsume les Žtapes que lÕon peut suivre pour
choisir le degrŽ du polyn™me caractŽristique et lÕordre du rŽgulateur. On vŽriÞe
aisŽment que deg R 0 + deg S 0 + 1 = deg C D , condition nŽcessaire pour imposer
les deg C D p™les en boucle fermŽe. Il est important de noter que seul le choix
dÕun polyn™me caractŽristique arbitraire impose cette limite. Les mŽthodes de
synth•se robuste que nous dŽvelopperons dans les prochains chapitres nÕont ˆ
respecter que les contraintes de causalitŽ (1.9).
LÕŽquation diophantine (1.14) est linŽaire par rapport aux coefÞcients de
R 0 (q) et S 0 (q). En imposant lÕŽgalitŽ des coefÞcients des diffŽrentes puissances
de q, on obtient lÕŽquation matricielle suivante :
   
1 ··· 0 0 ··· 0 c1D − a10
 .. .. .. ..   c2D − a20 
 a10 . . . .   
   .. 
 .. ..   . 
 . 1 b00 .   
   c D − a0 0 
 .. .. .. ..   deg A deg A 
 . a10 . . . x =  D 
   cdeg A0 +1 
 0 ..   
 a . 0
bdeg b00   D
cdeg A0 +2 
 deg A0 B0   .. 
 .. .. .. .. .. ..   
 . . . . . .   . 
D
0 0
· · · adeg 0 0
· · · bdeg cdeg CD
A0 B0
| {z } | {z }
deg R 0 deg S 0 +1
(1.16)
La matrice de gauche est la matrice de Sylvester M dont les ŽlŽments ai0 et bi0
sont les coefÞcients des polyn™mes A(q)R f (q) et B(q)S f (q). Comme il existe
une solution quels que soient les coefÞcients de C D (q) et A(q), elle est de rang
plein, et la solution est unique.
Si les p™les dŽsirŽs en boucle fermŽe piD sont tous distincts, une autre fa•on
de calculer les coefÞcients de R 0 (q) et S 0 (q) consiste ˆ Žvaluer le polyn™me
caractŽristique pour chaque p™le (nous laissons de c™tŽ le cas des p™les mul-
tiples). On obtient un syst•me dÕŽquations linŽaires C( piD ) = 0 ayant une
solution unique, comme le montre le corollaire suivant.

Corollaire 1.1 Soit le polyn™me caractŽristique C(q) = A(q)R f (q)R 0 (q) +


B(q)S f (q)R 0 (q) de degrŽ deg C o• les degrŽs de R 0 (q) et S 0 (q) sont donnŽs
par (1.15) et un ensemble de deg C p™les dŽsirŽs distincts piD . Alors le syst•me
dÕŽquations C( piD ) = 0, i = 1, . . . , deg C, poss•de une solution unique R 0 (q),
S 0 (q).
Introduction 15

Tableau 1.1 Choix du degrŽ de la contre-rŽaction pour le placement de p™les

1. Choisir deg R f
2. Choisir deg S f
(augmenter deg S f si davantage de p™les en b.f. sont dŽsirŽs)
3. Choisir d = deg R − deg S ≥ 0
(d = temps de calcul de la commande, typiquement 0 ou 1)
4. Fixer deg R 0 = deg A + deg S f + d − 1
5. Fixer deg S 0 = deg A + deg R f − 1
6. deg C D = deg A + deg R 0 + deg R f

DŽmonstration Comme les p™les piD sont distincts, il nÕexiste quÕun seul
polyn™me monique C D (q) de degrŽ deg C qui poss•de deg C zŽros piD . DÕapr•s
le thŽor•me 1.2, une solution existe ; elle satisfait (1.16), donc elle est unique.

1.5.4 Filtrage de la consigne


En plus de la partie contre-rŽaction, le rŽgulateur ˆ deux degrŽs de libertŽ
comporte un polyn™me T (q) qui Þltre spŽciÞquement la consigne ; nous
lÕappellerons prŽÞltre. Par rapport aux rŽgulateurs classiques o• seule la
diffŽrence entre la consigne et la sortie est prise en compte pour lÕŽlaboration
de la grandeur de commande, cela offre les avantages suivants :

• Le gain statique de la fonction de transfert en boucle fermŽe


BT /(A R + B S) dŽpend directement de T . En Þxant
T (1) = (A(1)R(1) + B(1)S(1))/B(1), on garantit lÕabsence de
statisme vis-ˆ-vis dÕune consigne constante.

• De fa•on similaire, on peut imposer sans erreur permanente


lÕasservissement de consignes sinuso•dales de pulsation4 ω en Þxant
T (ejω ) = (A(ejω )R(ejω ) + B(ejω )S(ejω ))/B(ejω ).

• DÕautres types de trajectoires peuvent •tre poursuivis sans erreur perma-


nente [EK91, Tun92].
4 Sauf mention explicite, la pŽriode dÕŽchantillonnage h est normalisŽe ˆ 1.
16 Synth•se multimod•le

• Lorsque tous les p™les sont rŽels, des bornes sur le nombre dÕextrema
peuvent •tre dŽterminŽes en fonction de la position des zŽros, ce qui
permet dans certains cas de garantir lÕabsence de dŽpassement [EK91].

• Un comportement vicieux, o• la rŽponse transitoire dŽmarre dans le sens


opposŽ ˆ la consigne, peut •tre attŽnuŽ par lÕajout de zŽros supplŽmen-
taires au prix dÕun retard de la sortie ou dÕune anticipation de la consigne
[HMPL95].

• Plus gŽnŽralement, le Þltre de consigne permet dÕajuster le dŽpassement,


le dŽpassement nŽgatif, le temps de montŽe, le temps dÕŽtablissement et
les effets transitoires sur la commande.

La synth•se de T (q) pour un mod•le nominal unique (rŽgulateur non ro-


buste) nÕest pas discutŽe davantage dans ce travail.

1.5.5 Fonctions de sensibilitŽ


Une des multiples fa•ons dÕanalyser la robustesse et les performances dÕun
syst•me rŽgulŽ consiste ˆ considŽrer lÕamplitude de la rŽponse harmonique de
diffŽrentes fonctions de transfert. On appelle couramment fonction de sensibilitŽ
Ŝ la fonction de transfert entre la perturbation en sortie d(t) et la sortie y(t) :

A(q)R(q)
Ŝ(q) = (1.17)
A(q)R(q) + B(q)S(q)
On peut remarquer quÕelle est lÕinverse de la distance entre le point critique
-1 et la fonction de transfert en boucle ouverte B(q)S(q)/A(q)R(q). Le point
critique permet de dŽÞnir diffŽrentes marges de robustesse, telles que la marge de
gain et la marge de phase [Lon95]. La marge de module est la distance minimale
entre la rŽponse harmonique et le point critique dans le plan complexe. Ainsi,
la marge de module correspond ˆ lÕinverse de la norme H∞ de la fonction de
sensibilitŽ. La marge de retard est le retard maximal que lÕon peut ajouter ˆ la
boucle avant de la dŽstabiliser.
La fonction de sensibilitŽ complŽmentaire est dŽÞnie par

B(q)S(q)
T̂ (q) = (1.18)
A(q)R(q) + B(q)S(q)

Elle tire son nom du fait que Ŝ(q) + T̂ (q) = 1.


Introduction 17

LÕimportance des fonctions de sensibilitŽ quant aux performances est Žvi-


dente. Elles permettent de caractŽriser les propriŽtŽs de rejet de perturbations ˆ
certaines frŽquences. En ce qui concerne la robustesse, elles garantissent la sta-
bilitŽ robuste vis-ˆ-vis dÕincertitudes additives ou multiplicatives sur le syst•me.
Elles sont utilisŽes directement dans la synth•se H∞ [BA94].
La position des p™les dŽtermine la frŽquence des pics de rŽsonance des
rŽponses harmoniques. Appelons pi les p™les en boucle fermŽe ; le module de
Ŝ(ejω ) peut sÕŽcrire
|A(ejω )R(ejω )|
| Ŝ(ejω )| = Q jω
i |e − pi |

Le pic associŽ au p™le pi est dÕautant plus prononcŽ que pi est proche du
cercle unitŽ, et sa pulsation dŽpend de arg pi . LÕusage veut que lÕon utilise
plut™t la notion de frŽquence naturelle, ou pulsation naturelle ωn [ABK+ 94],
qui correspond ˆ la pulsation du mode en lÕabsence dÕamortissement. Au mode
de rŽsonance p
e−ζi ωni t cos(ωni t 1 − ζi )
correspond la paire de p™les complexes conjuguŽs
√ 
−ωni ζi +j 1−ζi2
pi = e
√ 
−ωni ζi −j 1−ζi2
p̄i = e

LÕamplitude et le dŽphasage de lÕoscillation dŽpendent du numŽrateur de la


fonction de transfert considŽrŽe. La pulsation naturelle correspond dÕautant
moins bien au pic de rŽsonance que lÕamortissement est grand, mais est utile
pour estimer le comportement harmonique asymptotique.

1.5.6 Conclusions
Dans cette section, nous avons passŽ en revue les bases nŽcessaires ˆ la suite de
ce travail. La structure du mod•le et du rŽgulateur ont ŽtŽ dŽÞnies. Les spŽciÞca-
tions que lÕon cherche ˆ satisfaire ont pour certaines dÕentre elles une inßuence
directe sur le rŽgulateur, alors que dÕautres correspondent ˆ des propriŽtŽs du
syst•me rŽgulŽ considŽrŽ dans son ensemble. Cela se reß•te dans la factorisation
des polyn™mes du rŽgulateur en parties ÞxŽes a priori dÕune part, et en parties
dites libres dÕautre part. CÕest la synth•se de ces parties libres qui fait lÕobjet
du reste de ce travail.
18 Synth•se multimod•le

Le r™le des deux degrŽs de libertŽ du rŽgulateur RST a ŽtŽ dŽtaillŽ. La partie
contre-rŽaction dŽtermine les capacitŽs de rŽgulation, cÕest-ˆ-dire de stabili-
sation et de rejet des perturbations ; la partie Þltrage de la consigne inßuence
uniquement les capacitŽs dÕasservissement. Les performances en asservisse-
ment dŽpendent aussi de la contre-rŽaction. On peut ainsi synthŽtiser la contre-
rŽaction en se basant sur les spŽciÞcations sur la rŽgulation, puis ajuster les
performances en asservissement en jouant sur le prŽÞltre.
EnÞn, des conditions sur le degrŽ des polyn™mes ont ŽtŽ dŽÞnies. Elles
permettent dÕassurer la causalitŽ du rŽgulateur. Des conditions plus strictes sont
nŽcessaires pour permettre la synth•se par placement de p™les standard ; nous
ne les utiliserons pas pour les mŽthodes dŽveloppŽes dans les deux prochains
chapitres.
Chapitre 2

Placement de p™les multimod•le

2.1 Introduction
Nous avons vu au chapitre 1 lÕintŽr•t de la synth•se par placement de p™les. Il
vaut la peine dÕen examiner les dŽfauts pour voir dans quelle mesure on peut y
remŽdier.
Contrairement aux mŽthodes classiques de synth•se, dans lesquelles on im-
pose certaines marges de gain et de phase en manipulant la rŽponse harmonique
en boucle ouverte, le placement de p™les ne donne aucune garantie de robustesse.
Dans le plan complexe des p™les en boucle fermŽe, le fait de sÕŽloigner de la
limite entre les zones de stabilitŽ et dÕinstabilitŽ nÕaugmente pas la robustesse ;
au contraire, la rapiditŽ de p™les bien amortis correspond ˆ un gain ŽlevŽ, sy-
nonyme de faibles marges de robustesse. Cela rend problŽmatique la synth•se
dÕun rŽgulateur basŽ sur un mod•le nominal.
Pour lÕillustrer, considŽrons un syst•me dont les modes de rŽsonance, au
nombre de trois, varient fortement en fonction du changement dÕun param•tre
physique (il sÕagit du bras souple qui sera prŽsentŽ au chapitre 5). On dŽsire
obtenir un rŽgulateur Þxe pour trois charges diffŽrentes. La synth•se est faite par
placement de p™les ; comme mod•le nominal, on choisit celui qui correspond
ˆ la charge intermŽdiaire. En rŽpartissant rŽguli•rement les p™les en boucle
fermŽe sur lÕaxe rŽel entre 0 et 0,8 pour Žviter les probl•mes numŽriques causŽs
par des p™les multiples, on sÕaper•oit que les p™les des autres mod•les sont tr•s
ŽloignŽs (Þg. 2.1). Les caractŽristiques dynamiques en boucle fermŽe varient
donc tr•s fortement en fonction de la charge. M•me si le choix des p™les en
20 Synth•se multimod•le

0.5

-0.5

-1
-1 0 1

Figure 2.1
P™les en boucle fermŽe du mod•le nominal (croix) et des deux autres mod•les (4 et 5)

boucle fermŽe est arbitraire, le placement de p™les basŽ sur un mod•le nominal
unique nÕest de toute Žvidence pas intrins•quement robuste. On voit ainsi la
nŽcessitŽ de complŽter le placement de p™les par une prise en compte de la
robustesse.
Ce comportement paradoxal, souvent dŽroutant pour le dŽbutant, peut •tre
pris en compte de diffŽrentes fa•ons. [Oga96] prŽconise de complŽter la synth•se
dans le plan des p™les en boucle fermŽe par lÕanalyse des rŽponses harmoniques
et temporelles, qui donnent des indications claires quant ˆ la robustesse du
rŽgulateur. Pour des syst•mes simples o• le nombre de p™les est faible, cela
peut donner de bons rŽsultats si les outils logiciels sont bien adaptŽs. [LCR93]
propose dÕagir aussi bien sur les p™les en boucle fermŽe quÕau niveau des parties
Þxes du rŽgulateur pour modiÞer lÕamplitude de la fonction de sensibilitŽ.
Comme ce sont les gains de contre-rŽaction ŽlevŽs qui diminuent la ro-
bustesse, on peut tenter de les Žviter en limitant le dŽplacement des p™les du
syst•me : ˆ un dŽplacement nul correspondrait une contre-rŽaction nulle, et
une robustesse de stabilitŽ totale si le syst•me est stable en boucle ouverte.
Ainsi, [dL93] propose de conserver les p™les rapides du syst•me (ainsi que le
symŽtrique des p™les instables par rapport ˆ lÕaxe imaginaire dans le domaine
de Laplace) et de projeter les p™les lents sur une droite Re s = −1/Tc , o• Tc
permet de spŽciÞer la dynamique en boucle fermŽe. Les p™les ajoutŽs par le
rŽgulateur correspondent ˆ la reconstruction de lÕŽtat du syst•me et sont placŽs
Placement de p™les multimod•le 21

de fa•on similaire.
EnÞn, on peut tenir compte des incertitudes sur le syst•me directement au
niveau des p™les en boucle fermŽe. Lorsque les incertitudes sur les coefÞcients
de la fonction de transfert du mod•le sont contenues dans des ellipso•des, on peut
dŽterminer le rŽgulateur qui maximise le facteur par lequel on peut multiplier les
incertitudes tout en assurant la stabilitŽ robuste [RB91, PKG92, HPB95]. Les
approches multimod•les Žvitent le conservatisme liŽ aux incertitudes bornŽes
par des ensembles convexes. Rappelons ˆ ce propos les approches dÕAckermann
[ABK+ 94] et de Lšhnberg [LvdW94] (cf. p. 7).
Notre placement de p™les multimod•le est proche de celui proposŽ par
Lšhnberg. Tout comme lui, il est basŽ sur un compromis entre plusieurs mo-
d•les obtenu par la mŽthode des moindre carrŽs. Il en diff•re par les termes de
la fonction-cožt. Au lieu de considŽrer les coefÞcients du polyn™me caractŽris-
tique, qui ne reß•tent quÕindirectement les propriŽtŽs dynamiques du syst•me
en boucle fermŽe, on minimise lÕerreur entre les p™les dŽsirŽs et les p™les effec-
tifs [PHL97a]. Des poids sont spŽciÞŽs indŽpendamment pour chacun dÕentre
eux. AssociŽ ˆ un programme de CAO interactive, cela permet de dŽplacer les
p™les de fa•on ˆ amŽliorer les performances.
Ce chapitre est consacrŽ exclusivement ˆ la synth•se de la contre-rŽaction,
cÕest-ˆ-dire des polyn™mes R 0 (q) et S 0 (q). Elle seule est dŽterminŽe par les
p™les en boucle fermŽe. Les spŽciÞcations qui peuvent •tre prises en compte
concernent les marges de robustesse et le rejet des perturbations.
La section 2.1 dŽmontre lÕimpossibilitŽ de placer arbitrairement les p™les
en boucle fermŽe de plusieurs mod•les. La section 2.2 prŽsente le placement
de p™les multimod•le approximatif, qui donne un compromis entre plusieurs
mod•les. La fa•on de pondŽrer les diffŽrents p™les est traitŽe dans la section 2.3.
La sensibilitŽ des p™les par rapport aux variations du rŽgulateur, nŽcessaire au
calcul du rŽgulateur, est Žtablie dans la section 2.4. Un algorithme de synth•se
itŽratif est proposŽ dans la section 2.5. EnÞn, la derni•re section conclut le
chapitre en rappelant ses idŽes ma”tresses.

2.2 Placement de p™les multimod•le exact


Supposons que le syst•me soit modŽlisŽ par un ensemble de n fonctions de
transfert qui couvrent le domaine des incertitudes paramŽtriques, et que nous
voulions synthŽtiser un rŽgulateur Þxe. Est-il possible dÕŽtendre le placement
de p™les dŽcrit au chapitre 1 pour imposer arbitrairement les p™les en boucle
22 Synth•se multimod•le

fermŽe pour chacun des mod•les ? Le thŽor•me suivant montre que la nŽcessitŽ
dÕun rŽgulateur causal lÕinterdit.

ThŽor•me 2.1 Soient n mod•les strictement causals Bk (q)/Ak (q),


k = 1, . . . ,n dont les numŽrateurs et dŽnominateurs sont tous de degrŽ deg B
et deg A. Soit la contre-rŽaction causale S(q)/R(q) dŽÞnie par (1.3-1.4). Il
est possible de choisir les degrŽs des polyn™mes du rŽgulateur de telle sorte
que les p™les en boucle fermŽe associŽs ˆ tous les mod•les puissent •tre
spŽciÞŽs arbitrairement si et seulement si n = 1.

DŽmonstration Le placement exact des p™les en boucle fermŽe associŽs ˆ


plusieurs mod•les ne peut se faire que si la partie contre-rŽaction du rŽgula-
teur (qui seule affecte le polyn™me caractŽristique) poss•de au moins autant de
param•tres quÕil y a de p™les ˆ placer. DÕautre part, le degrŽ du polyn™me carac-
tŽristique augmente avec celui de R 0 (q). Pour n mod•les et deg C = deg A +
deg R f +deg R 0 p™les, il faut donc que n deg C = n(deg A+deg R f +deg R 0 ) ≤
deg R 0 + deg S 0 + 1, ou

deg S 0 − (n − 1) deg R 0 ≥ n(deg A + deg R f ) − 1

Pour un ordre de mod•le donnŽ, le degrŽ de S 0 (q) doit augmenter avec le nombre
de mod•les. En tenant compte de la condition de causalitŽ 1.9 que lÕon peut Žcrire
deg S 0 ≤ deg R 0 + deg R f − deg S f ,

deg R 0 + deg R f − deg S f ≥ deg S 0 ≥ (n − 1) deg R 0 + n(deg A + deg R f ) − 1

En Žliminant deg S 0 , on a Þnalement

(2 − n) deg R 0 ≥ n deg A + (n − 1) deg R f + deg S f − 1

Pour un mod•le unique, le terme de gauche, deg R 0 , peut •tre choisi sufÞsamment
grand pour respecter cette condition. Pour un ensemble de deux mod•les, le
terme de droite doit •tre nŽgatif ou nul. Comme tous les degrŽs sont non nŽgatifs,
sauf deg A qui est strictement positif (les mod•les sont strictement causals par
hypoth•se), il nÕexiste aucune solution. CÕest Žgalement le cas si n > 2.

Si un placement de tous les p™les est impossible, un placement partiel


pourrait sembler intŽressant : Þnalement, seuls les p™les dominants ont de
lÕimportance. Le corollaire 1.1 peut facilement •tre Žtendu au placement de
deg R 0 + deg S 0 + 1 p™les associŽs ˆ diffŽrents mod•les. Or, cette fa•on de
Placement de p™les multimod•le 23

procŽder conduit inŽvitablement ˆ une mauvaise solution, gŽnŽralement


instable. En effet, rien ne permet dÕimposer que les p™les spŽciÞŽs soient
dominants. Les p™les restants sont extr•mement sensibles vis-ˆ-vis des p™les
spŽciÞŽs.

2.3 Compromis entre plusieurs mod•les


Le placement de p™les multimod•le exact Žtant impossible, il nous reste la
possibilitŽ de spŽciÞer les p™les dŽsirŽs en boucle fermŽe, et de faire en sorte
que les p™les effectifs soient proches dÕeux pour obtenir les caractŽristiques
voulues. On obtient ainsi un compromis entre les diffŽrents mod•les, et une
pondŽration judicieuse permet de remplir des spŽciÞcations de mani•re robuste,
ou du moins de sÕen approcher.
La minimisation de la distance entre les p™les dŽsirŽs et les p™les effectifs
pose un certain nombre de probl•mes. Le premier dÕentre eux rŽside dans le fait
que les p™les ne sont pas ordonnŽs ; si les p™les dŽsirŽs sont spŽciÞŽs en vrac,
on ne peut pas associer de fa•on unique chaque p™le ˆ lÕun dÕentre eux. A la
place, on spŽciÞe un dŽplacement dŽsirŽ pour chaque p™le. Cela implique une
synth•se itŽrative, au cours de laquelle les p™les sont dŽplacŽs progressivement
pour amŽliorer les performances du rŽgulateur. LÕapproche itŽrative se justiÞe
aussi par le fait que la position relative des p™les entre les diffŽrents mod•les
est inconnue avant le dŽbut de la synth•se. La spŽciÞcation a priori de p™les
dŽsirŽs nÕaurait de sens que si ceux-ci Žtaient les m•mes pour tous les mod•les ;
or une dispersion des p™les effectifs autour du p™le dŽsirŽ peut donner des
rŽsultats tr•s diffŽrents sÕils sont proches du cercle unitŽ. Les performances
dŽpendent de la position des p™les dans leur ensemble, et non seulement de
chaque p™le considŽrŽ sŽparŽment. Avec une approche itŽrative, on peut agir
indŽpendamment sur chaque p™le de chaque mod•le.
Pour une certaine itŽration, nous partons du rŽgulateur x et le rŽsultat de
lÕoptimisation donne de nouveaux coefÞcients x + 1x. Nous pouvons dŽÞnir
trois p™les (cf. Þg. 2.2) : le p™le pi (x) au dŽbut de lÕitŽration, le p™le dŽsirŽ piD ,
et le p™le pi (x + 1x) ˆ la Þn de lÕitŽration. On cherche ˆ minimiser la longueur
(nous verrons dans la prochaine section ce quÕil faut entendre par lˆ) de
εi (1x) = pi (x + 1x) − piD (2.1)

La relation entre les p™les et les coefÞcients du polyn™me caractŽristique


nÕest Žvidemment pas linŽaire ; il en va de m•me entre les p™les et les coefÞcients
24 Synth•se multimod•le

pi (x)
1piD

1pi (1x) piD


εi (1x)
pi (x + 1x)

Figure 2.2
P™les au dŽbut de lÕitŽration ( pi (x)), ˆ la Þn ( pi (x + 1x)), et dŽsirŽ ( piD ).

du rŽgulateur. Pour pouvoir utiliser la mŽthode standard des moindres carrŽs


pour la minimisation, nous linŽarisons le dŽplacement des p™les par rapport ˆ
une variation des coefÞcients du rŽgulateur 1x. Nous obtenons ainsi
d pi
pi (x + 1x) = pi (x) + (x)1x + O(1x 2 ) (2.2)
dx
Nous dŽÞnissons le dŽplacement dŽsirŽ
1piD = piD − pi (x) (2.3)
En substituant pi (x + 1x) et piD
dans (2.1) et en nŽgligeant les termes de degrŽ
supŽrieur ˆ 1, nous obtenons lÕapproximation linŽaire ε̂i (1x) de εi (1x)
d pi
ε̂i (1x) = (x)1x − 1piD (2.4)
dx
Le nouveau rŽgulateur est obtenu en minimisant une fonction-cožt J :
1xopt = arg min J (ε̂i (1x)) (2.5)
1x

Il reste ˆ dŽÞnir la forme exacte de J . Le gradient de la position des p™les


par rapport aux coefÞcients du rŽgulateur sera Žtabli ˆ la section 2.5.

2.4 PondŽration
Le calcul de la sensibilitŽ des p™les en boucle fermŽe par rapport aux param•tres
du rŽgulateur permet de normaliser lÕeffet de spŽciÞcations sur les p™les. On
Placement de p™les multimod•le 25

Re[ejϕi εi (1x)] piD ϕi

Im[ejϕi εi (1x)]
εi (1x)
Im
pi (x + 1x) Re

Figure 2.3
PondŽration de lÕerreur entre le p™le dŽsirŽ piD et le nouveau p™le en boucle fermŽe
pi (x + 1x) selon les directions ϕi et ϕi + π/2.

peut trouver ainsi un compromis qui minimise la somme des carrŽs des distances
entre les p™les dŽsirŽs et les p™les rŽellement obtenus. En fait, la robustesse et
les performances du syst•me rŽgulŽ dŽpendent essentiellement des p™les do-
minants. Ceux-ci provoquent en effet des pics de rŽsonance sur lÕamplitude
des rŽponses harmoniques dÕautant plus marquŽs quÕils sont proches du cer-
cle unitŽ ; les p™les proches de lÕorigine, par contre, ont peu dÕinßuence sur
lÕamplitude.
Par ailleurs, le dŽplacement dÕun p™le dominant peut avoir un effet tr•s
diffŽrent selon la direction ; par exemple, un faible dŽplacement en direction
du cercle unitŽ peut faire appara”tre ou ampliÞer un pic de rŽsonance. Un dŽ-
placement perpendiculaire au rayon ne changera que la frŽquence ˆ laquelle
appara”t la rŽsonance, ce qui est souvent moins g•nant1 . Ces deux raisons ren-
dent souhaitable la pondŽration diffŽrenciŽe de lÕerreur entre les p™les dŽsirŽs
et les p™les effectifs selon le p™le et la direction.
Pour chaque paire constituŽe dÕun p™le dŽsirŽ piD et dÕun p™le en boucle
fermŽe pi (x +1x), nous dŽÞnissons une rotation dÕangle ϕi , puis pondŽrons les
parties rŽelle et imaginaire de lÕerreur εi (1x) respectivement par wi et wi⊥ (cf.
Þg. 2.3). Nous utilisons lÕapproximation (2.4) aÞn dÕobtenir des termes linŽaires
par rapport ˆ 1x et minimiser la fonction-cožt avec la mŽthode standard des
moindres carrŽs pondŽrŽs. Pour n mod•les k = 1, . . . ,n et deg C p™les en boucle

1 La prŽsence de zŽros peut changer lÕeffet du dŽplacement dÕun p™le, mais ne remet pas en

cause notre conclusion.


26 Synth•se multimod•le

fermŽe par mod•le, la fonction-cožt J (ε̂i (1x)) vaut


X XC 
n deg
2 2 
J (ε̂i (1x)) = wi Re[ejϕi ε̂i (1x)] + wi⊥ Im[ejϕi ε̂i (1x)]
k=1 i=1
(2.6)

Pour que la solution soit rŽelle, il faut bien entendu que les dŽplacements
dŽsirŽs et les poids soient symŽtriques par rapport ˆ lÕaxe rŽel.

2.5 SensibilitŽ rŽgulateurÐp™les


Lorsque les param•tres du rŽgulateur varient, les p™les en boucle fermŽe
changent de position. LÕŽtude de ces variations est nŽcessaire pour permettre
dÕaborder le probl•me inverse, ˆ savoir la modiÞcation des param•tres du
rŽgulateur en fonction du dŽplacement des p™les dans le but dÕamŽliorer la
dynamique du syst•me en boucle fermŽe.
LÕapproximation (2.2) requiert le calcul de la dŽrivŽe du p™le pi (x) par
rapport aux coefÞcients du rŽgulateur x. Il nÕexiste pas de relation explicite entre
un polyn™me de degrŽ quelconque et ses zŽros, mais nous pouvons recourir au
thŽor•me de la fonction implicite [MH93], dont le thŽor•me suivant constitue
le corollaire.
ThŽor•me 2.2 Soient C(q,x) un polyn™me caractŽristique basŽ sur les coefÞ-
cients du rŽgulateur x, et pi (x) un zŽro simple de C(q,x). Alors
∂C
d pi ∂x
( pi (x),x)
(x) = − ∂C (2.7)
dx ∂q
( pi (x),x)
DŽmonstration Comme pi (x) est un zŽro de C(q,x), C( pi (x),x) = 0. Soit
1x un petit changement des coefÞcients du rŽgulateur. Le p™le se dŽplace en
pi (x + 1x), et respecte lÕŽgalitŽ C( pi (x + 1x),x + 1x) = 0. Le terme de
gauche peut •tre dŽveloppŽ en sŽrie de Taylor ; on obtient
0
z }| {
C( pi (x + 1x),x + 1x) =
∂C
C( pi (x),x) + ( p ,x) ( pi (x + 1x) − pi (x))
| {z } ∂q i
0
∂C
+ ( pi ,x)1x + O(1x 2 )
∂x
Placement de p™les multimod•le 27

∂C ∂C
( pi ,x) ( pi (x + 1x) − pi (x)) + ( pi ,x)1x = O(1x 2 )
∂q ∂x
La dŽrivŽe ∂C
∂q
( pi ,x) est non nulle. En effet, comme pi est un zŽro simple de
C(q,x), on peut factoriser C(q,x) en (q − pi )C 0 (q) ; alors ∂C
∂q
( pi ) = C 0 ( pi ) 6=
0.
Le passage ˆ la limite donne la dŽrivŽe recherchŽe :
d pi pi (x + 1x) − pi (x)
(x) = lim
dx 1x→0 1x
!
∂C
∂x
( pi (x),x)
= − lim ∂C + O(1x )
2
1x→0
∂q
( pi (x),x)
∂C
∂x
( pi (x),x)
= − ∂C
∂q
( pi (x),x)

Le terme ∂C/∂ x peut sÕexprimer sous la forme


∂C h i
( pi (x),x) = pideg C−1 deg C−2
pi ··· 1 M
∂x
o• M est la matrice de Sylvester dŽÞnie par (1.16).

Exemple 2.1 Soit un syst•me du premier ordre avec intŽgrateur. Les deux mo-
d•les considŽrŽs sont H1 (q) = 0,2q/(q − 0,9)(q − 1) et H2 (q) = 0,4q/(q −
0,8)(q − 1). Un premier rŽgulateur de type proportionnel-dŽrivateur numŽrique
a ŽtŽ synthŽtisŽ ; sa fonction de transfert est S(q)/R(q) = (2q −1)/q. En boucle
fermŽe, il engendre un p™le ˆ lÕorigine et deux p™les complexes conjuguŽs, par-
ticuli•rement mal amortis pour lÕun des mod•les (cf. Þg. 2.4). On dŽsire les
dŽplacer de 1p2,3 D
= −0,1 ± 0,1j en direction de lÕorigine. Dans un premier
temps, on utilise des poids identiques pour les trois p™les des deux mod•les. Le
gradient des p™les par rapport aux coefÞcients du rŽgulateur est donnŽ par (2.7)
avec les valeurs suivantes :
 T
x = 0 2 −1
 
 2  1 0,4 0
∂C1
( pi ) = p1i p1i 1  −1,9 0 0,4 
∂x 0,9 0 0
28 Synth•se multimod•le

0.5 0.5 0.5

0 0 0

-0.5 -0.5 -0.5


0 0.5 1 0 0.5 1 0 0.5 1

Figure 2.4
Effet de la pondŽration de lÕerreur entre les p™les dŽsirŽs et les p™les effectifs. A gauche,
situation initiale ; au centre, poids identique sur tous les p™les (la direction nÕa aucune
inßuence) ; ˆ droite, pondŽration plus forte dans la direction critique. Le centre des croix
reprŽsente les p™les dŽsirŽs piD , et leurs branches, les poids wi et wi⊥ .

 
  1 0,2 0
∂C2  −1,8
( pi ) = 2
p2i p2i 1 0 0,2 
∂x 0,8 0 0

C1 (q,x) = q 3 − 1,5q 2 + 0,7q

C2 (q,x) = q 3 − q 2 + 0,4q

∂C1
( p1i ,x) = 3 p1i
2
− 3 p1i + 0,7
∂q

∂C2
( p2i ,x) = 3 p2i
2
− 2 p2i + 0,4
∂q
La fonction-cožt ˆ minimiser est

X
2 X
3

J= Re2 ε̂ki (1x) + Im2 ε̂ki (1x)
k=1 i=1

o• ε̂ki est donnŽ par (2.4) ; lÕindice k identiÞe le mod•le.


Les p™les mal amortis suivent relativement mal les p™les dŽsirŽs. On aug-
mente alors dÕun facteur 10 leur poids dans la direction de lÕorigine, et lÕon
Placement de p™les multimod•le 29

diminue dÕun facteur 5 le poids des p™les complexes dans la direction perpen-
diculaire ˆ lÕorigine. La fonction-cožt est remplacŽe par

X
2 X
3


J= wki Re[ejϕi ε̂ki (1x)]2 + wki Im[ejϕi ε̂ki (1x)]2
k=1 i=1

On constate alors que les p™les critiques sont nettement mieux amortis. Cette
amŽlioration se fait au dŽtriment de la position dŽsirŽe pour les p™les complexes
de lÕautre mod•le, ce qui nÕest pas g•nant ici.

Si le p™le est multiple, sa dŽrivŽe par rapport ˆ une variation du rŽgulateur


est inÞnie. En effet, le polyn™me caractŽristique peut sÕŽcrire sous la forme
C(q) = (q − pm )2 C 0 (q), o• pm reprŽsente le p™le multiple ; alors
∂C ∂C 0
= 2(q − pm )C 0 (q) + (q − pm )2
∂q ∂q
sÕannule pour q = pm . Lorsque deux p™les sont proches lÕun de lÕautre, le terme
(2.4) est mal conditionnŽ, ce qui peut provoquer des probl•mes numŽriques.
Lorsque les p™les dŽsirŽs sont trop ŽloignŽs des p™les associŽs ˆ x,
lÕapproximation (2.2) est mauvaise. La minimisation de J tend ˆ garder les
pi (x) + d pi /dx1x proches de piD , alors que ce qui nous intŽresse est de
positionner pi (x + 1x). Cette approximation est une seconde raison dÕutiliser
une approche itŽrative. Lorsque lÕattraction quÕexerce piD sur pi (x + 1x)
diminue, on pose x ← x + 1x et on calcule les nouveaux gradients.

Exemple 2.2 Reprenons le syst•me et le rŽgulateur PD initial de lÕexemple 2.1.


On veut amortir davantage les p™les en boucle fermŽe en les dŽpla•ant vers
lÕorigine. Les p™les dŽsirŽs sont obtenus en multipliant les p™les en boucle
fermŽe associŽs au rŽgulateur initial par un facteur λ. La Þgure 2.5 montre les
p™les effectifs pi (x + 1x) et approximŽs pi (x) + d pi /dx 1x pour λ = 0,8 et
0,5. On constate que plus les dŽplacements sont grands, plus les p™les effectifs
sÕŽloignent de leur approximation.

Pour mieux comprendre les causes de lÕerreur, on dŽveloppe C( pi (x +


1x),x + 1x) en sŽrie de Taylor jusquÕaux termes du deuxi•me degrŽ (toutes
les dŽrivŽes sont ŽvaluŽes en pi et x) :
0
z }| {
C( pi (x + 1x),x + 1x) =
30 Synth•se multimod•le

0.6 0.6

0.4 0.4

0.2 0.2

0 0

-0.2 -0.2

-0.4 -0.4

0 0.5 1 0 0.5 1

Figure 2.5
Effet de lÕapproximation du dŽplacement des p™les. A gauche, les dŽplacements dŽsirŽs
valent 1piD = −0,2 pi ; ˆ droite, 1piD = −0,5 pi . Les p™les initiaux pi sont reprŽsen-
tŽs par , les p™les dŽsirŽs piD par +, les nouveaux p™les pi (x + 1x) par × et leurs
approximations par 4.

∂C ∂C
C( pi (x),x) + 1pi + 1x
| {z } ∂q ∂x
0
 T
∂ C
2
∂ 2C ∂ ∂C
+ 1pi2 + 1pi 1x + 1x T 1x + O(1x 3 )
∂q 2 ∂q∂ x ∂x ∂x

Comme C(q,x) est linŽaire par rapport ˆ x, lÕavant-dernier terme est nul. En
nŽgligeant les termes dÕordre supŽrieur, on a

∂C ∂2C ∂2C
∂x ∂ x∂q ∂q 2
1pi ≈ − ∂C 1x − ∂C
1pi 1x − ∂C
1pi2
∂q ∂q ∂q

LÕapproximation linŽaire est dÕautant meilleure que les deux derniers termes
sont faibles. Ils deviennent inÞnis pour les p™les multiples, pour la m•me raison
que celle ŽvoquŽe ˆ la page 29. Par continuitŽ, ils sont grands lorsque pi est
proche dÕun autre p™le. Par contre, lÕaugmentation du nombre de mod•les nÕa
pas dÕinßuence nŽgative sur la qualitŽ de lÕapproximation.
Placement de p™les multimod•le 31

2.6 Algorithme de synth•se


Les p™les en boucle fermŽe dŽterminent la dynamique du syst•me rŽgulŽ. Cepen-
dant, d•s que le nombre de p™les et de zŽros dŽpasse deux, il devient difÞcile
de prŽvoir lÕallure des rŽponses harmoniques et temporelles. DÕautre part, il est
relativement facile dÕidentiÞer visuellement les p™les critiques, cÕest-ˆ-dire les
p™les en boucle fermŽe responsables de tel ou tel effet au niveau des perfor-
mances, tel que pics de rŽsonance, temps dÕŽtablissement ou dŽpassement. Cela
nous conduit ˆ vouloir amŽliorer successivement le rŽgulateur en examinant
les rŽponses harmoniques et temporelles, ˆ identiÞer les p™les responsables des
effets non dŽsirŽs, et ˆ dŽplacer ceux-ci pour amŽliorer les performances. Nous
obtenons lÕalgorithme suivant :

1) Calculer un rŽgulateur initial x

2) Tracer les rŽponses harmoniques et temporelles

3) SÕarr•ter si les performances sont satisfaisantes

4) Placer tous les p™les dŽsirŽs aux m•mes positions que les p™les en boucle
fermŽe et leur donner un poids Žgal

5) IdentiÞer les p™les critiques

6) Augmenter leur poids dans la direction qui inßuence les performances

7) DŽplacer les p™les critiques dans la direction qui tend ˆ amŽliorer les
performances

8) Calculer 1xopt avec (2.5) et le nouveau rŽgulateur x + 1xopt

9) ItŽrer ˆ partir de lÕŽtape 6 ou 7 jusquÕˆ ce que lÕapproximation de lÕerreur


entre les p™les dŽsirŽs et les p™les obtenus devienne trop mauvaise pour
continuer ˆ amŽliorer les performances

10) Remplacer x par x + 1xopt

11) ItŽrer ˆ partir de lÕŽtape 2.

Les Žtapes 2Ð9 peuvent •tre rendues beaucoup plus commodes si lÕon dis-
pose dÕun logiciel qui les rend interactives. Le chapitre 4 dŽcrit un tel outil,
SysQuake, dŽveloppŽ dans le cadre de ce travail. Le rŽgulateur initial doit avoir
32 Synth•se multimod•le

les degrŽs et les parties Þxes voulus, mais ses coefÞcients peuvent •tre quel-
conques. Cependant, il vaut mieux partir dÕun rŽgulateur proche dÕune solution
acceptable pour limiter le nombre dÕitŽrations de placement de p™les multimo-
d•le. Parmi toutes les mŽthodes de synth•se qui pourraient •tre utilisŽes, nous
en retenons deux. La premi•re consiste ˆ avoir un polyn™me S 0 (q) = 0 (ce
qui est possible puisque S 0 (q) nÕa pas besoin dÕ•tre monique) et ˆ choisir pour
R 0 (q) deg R 0 p™les distincts bien amortis et diffŽrents des zŽros de A(q)R f (q).
Le syst•me rŽgulŽ est instable si A(q)R f (q) contient un intŽgrateur (ce qui est
souvent le cas), ou plus gŽnŽralement si le syst•me est instable, mais ce nÕest
pas g•nant pour le placement de p™les multimod•le.
La seconde mŽthode est le placement de p™les standard interactif. Un pro-
gramme qui permet de manipuler les p™les correspondant ˆ un mod•le tout en
observant le dŽplacement des autres p™les peut •tre tr•s efÞcace. On dŽplace
successivement chaque paire de p™les instables dans la rŽgion de stabilitŽ en
Žvitant dans la mesure du possible de dŽstabiliser dÕautres p™les, sans se prŽoc-
cuper de savoir ˆ quel mod•le ils correspondent. SysQuake permet aussi ce
genre de manipulation.

2.7 Conclusions
Nous avons vu que le placement de p™les basŽ sur un mod•le nominal ne per-
met pas dÕobtenir de bonnes performances lors de variations paramŽtriques
importantes. Pour y pallier, nous avons ŽtudiŽ lÕutilisation de plusieurs mo-
d•les associŽs ˆ diffŽrents points de fonctionnement. Le placement de p™les
multimod•le exact est impossible ; il faut recourir ˆ un placement approximatif.
Une mŽthode permettant de spŽciÞer des dŽplacements dŽsirŽs pour les p™les
en boucle fermŽe de tous les mod•les et dÕobtenir un rŽgulateur qui assure un
compromis acceptable a ŽtŽ dŽveloppŽe. La distance entre les p™les dŽsirŽs et les
p™les effectifs est linŽarisŽe par rapport aux coefÞcients du rŽgulateur, pondŽrŽe
selon des directions prŽfŽrentielles (les directions critiques), et minimisŽe avec
la mŽthode des moindres carrŽs.
La mŽthode proposŽe peut •tre utilisŽe dans le cadre dÕune synth•se itŽra-
tive, au cours de laquelle les performances du syst•me rŽgulŽ sont amŽliorŽes
en fonction du cahier des charges. Comme lÕeffet des p™les sur les rŽponses har-
moniques et temporelles est bien connu, des spŽciÞcations tr•s diverses peuvent
•tre prises en compte.
Chapitre 3

Optimisation multiobjective

3.1 Introduction
Le placement de p™les multimod•le donne de bons rŽsultats, mais on peut lui
faire un reproche : ce qui nous intŽresse Þnalement est dÕobtenir un certain
niveau de performances, et celles-ci sont rarement spŽciÞŽes en termes de p™les
en boucle fermŽe. Un cahier des charges typique inclut des contraintes sur les
rŽponses harmoniques pour garantir la stabilitŽ robuste vis-ˆ-vis dÕincertitudes
non structurŽes et le rejet de perturbations ˆ certaines frŽquences, ainsi que
sur les rŽponses temporelles pour obtenir le comportement transitoire dŽsirŽ. Il
serait commode dÕagir non pas sur les p™les, mais directement sur les rŽponses
harmoniques et temporelles, tout en conservant les avantages de lÕapproche
prŽsentŽe au chapitre 2 :

• la synth•se multimod•le, qui fournit la robustesse par rapport ˆ de larges


variations paramŽtriques ;

• la synth•se itŽrative, qui permet dÕamŽliorer les performances jusquÕˆ un


compromis acceptable.

LÕidŽe gŽnŽrale consiste ˆ utiliser un indice de performances multiobjectif


unique qui prend une valeur infŽrieure ˆ 1 lorsque toutes les spŽciÞcations sont
remplies. Cet indice dŽpend dÕun certain nombre de valeurs scalaires, telles
que le dŽpassement de la rŽponse indicielle et les maxima de lÕamplitude de
fonctions de sensibilitŽ. Sa minimisation conduit ˆ un rŽgulateur qui rŽalise
34 Synth•se multimod•le

un compromis entre toutes les spŽciÞcations. Au lieu dÕun algorithme basŽ sur
la mŽthode des moindres carrŽs, analogue au placement de p™les multimod•le
[PHL97b], nous rŽsoudrons un probl•me de type minimax [PD77].
La suite de ce chapitre commence, ˆ la section 3.2, par une description
gŽnŽrale de notre mŽthode dÕoptimisation multiobjective. La paramŽtrisation
du rŽgulateur sera exposŽe ˆ la section 3.3. Les expressions des gradients uti-
lisŽs pour les spŽciÞcations sur les rŽponses temporelles et harmoniques sont
dŽveloppŽes respectivement dans les sections 3.4 et 3.5. LÕoptimisation multi-
objective peut •tre utilisŽe soit pour obtenir directement les coefÞcients des trois
polyn™mes du rŽgulateur RST, soit uniquement pour le prŽÞltre, ce qui simpliÞe
beaucoup lÕalgorithme ; ces deux approches sont dŽcrites dans les sections 3.6
et 3.7. La section 3.8 termine le chapitre par la conclusion.

3.2 Optimisation multiobjective


Le cahier des charges pour la conception dÕun rŽgulateur comprend typiquement
un certain nombre de spŽciÞcations sur des grandeurs liŽes ˆ la robustesse et
aux performances. Ces grandeurs peuvent •tre de trois types :

• fonctions continues, telles que le module des fonctions de sensibilitŽ ;

• fonctions ŽchantillonnŽes, telles que les signaux de sortie ou de com-


mande ;

• nombres scalaires, tels que lÕintŽgrale ie de la valeur absolue de lÕerreur.

DŽnotons par j le numŽro de la spŽciÞcation, par k celui du mod•le et par


ξ la pulsation ou le temps si la spŽciÞcation ne porte pas sur une grandeur
scalaire. Nous utiliserons la variable  = { j, k, ξ } pour reprŽsenter ces trois
valeurs. Les grandeurs considŽrŽes associŽes au rŽgulateur RST paramŽtrŽ par
x 0 sont dŽsignŽes par α(,x 0 ).
Les spŽciÞcations sont donnŽes sous la forme de bornes supŽrieures ou
infŽrieures β() (cf. Þg. 3.1). Pour chaque spŽciÞcation, une valeur cible
β̄() 6= β() est dŽÞnie, m•me si elle est au-delˆ de ce quÕil est possible
dÕatteindre [SBG97] ; elle donne la direction dans laquelle les grandeurs con-
sidŽrŽes doivent tendre. Ainsi β est une borne supŽrieure si β > β̄, et infŽrieure
si β < β̄. Le choix de β̄ ne dŽpend que de β ; un croisement dÕα et β̄ nÕa
aucune importance. Cette fa•on de dŽÞnir α, β et β̄ permet de calculer, pour un
mod•le, une spŽciÞcation et Žventuellement une pulsation ou un temps donnŽs,
Optimisation multiobjective 35

Mod•le 1
ω ω t t

Mod•le 2
ω ω t t

Figure 3.1
Exemple de spŽciÞcations pour deux mod•les. Les grandeurs considŽrŽs α(,x 0 ) sont
en trait plein, les spŽciÞcation β() en traitillŽ et les valeurs cibles β̄() en pointillŽ.
Les ß•ches indiquent la direction de lÕoptimisation. Le cercle dŽsigne la violation dÕune
spŽciÞcation.

un indice (α − β̄)/(β − β̄) qui est infŽrieur ˆ 1 si et seulement si la spŽciÞcation


est respectŽe.

Exemple 3.1 On dŽsire une marge de module supŽrieure ˆ −6 dB et un dŽ-


passement de la rŽponse indicielle infŽrieur ˆ 10 % pour tous les mod•les
k = 1, . . . ,n. La marge de module est lÕinverse de la norme H∞ de la sen-
sibilitŽ Ŝ(ejω ). La grandeur optimisŽe est donc α({1,k,ω},x 0 ) = | Ŝ(ejω ,x 0 )|, et
la borne β({1,k,ω}) = 6 dB = 2 pour 0 ≤ ω ≤ π. La valeur cible, qui donne
la direction de lÕoptimisation, est β̄({1,k,ω}) = 0. Cela permet de changer
facilement la borne β({1,k,ω}) si lÕon veut par exemple attŽnuer davantage les
perturbations ˆ basse frŽquence, sans risquer de provoquer le croisement de
β({1,k,ω}) et de β̄({1,k,ω}).
Pour limiter le dŽpassement de la rŽponse indicielle, la grandeur optimisŽe
est tout naturellement la rŽponse indicielle α({2,k,t},x 0 ) = Hck (q,x 0 )s(t), et
la borne β({2,k,t}) = 1,1 pour t ≥ 0. Pour la valeur cible, le plus simple est
de poser β̄({2,k,t}) = 1. DŽÞnir β̄({2,k,t}) = 0 serait maladroit, car lÕindice
(α − β̄)/(β − β̄) ne pourrait pas descendre au-dessous de 1/1,1 = 91 % du
gain statique en asservissement ; comme nous allons le voir, cela limiterait
inutilement lÕoptimisation.
36 Synth•se multimod•le

Tableau 3.1
SpŽciÞcations pour lÕexemple 3.2. Les rŽfŽrences au mod•le k sont omises par manque
de place.

Grandeur ˆ optimiser Borne Valeur cible


α({1,ω},x 0 ) = | Ŝ(jω)| β({1,ω}) = 2 β̄({1,ω}) = 0

BS 1,1 si t < 30
α({2,t},x 0 ) = s(t) β({2,t},t) = β̄({2,t},t) = 1
AR + BS 1,02 si t ≥ 30

BS −∞ si t < 30
α({3,t},x 0 ) = s(t) β({3,t},t) = β̄({3,t},t) = 1
AR + BS 0,98 si t ≥ 30

A partir de lˆ, on dŽÞnit lÕindice de performances multiobjectif χ(x 0 ) associŽ


au rŽgulateur x 0 , qui est infŽrieur ˆ 1 si toutes les spŽciÞcations sont respectŽes :

α(,x 0 ) − β̄()
χ(x 0 ) = sup (3.1)
 β() − β̄()

LÕindice de performances permet de modiÞer les spŽciÞcations de telle sorte


quÕelles soient toutes satisfaites et quÕau moins lÕune dÕentre elles soit ˆ la limite
des performances. Ces nouvelles spŽciÞcations β ∗ valent

β ∗ () = 1 − χ (x 0 ) β̄() + χ (x 0 )β() (3.2)

Exemple 3.2 Reprenons le syst•me de lÕexemple 2.1 (p. 27) et son rŽgulateur
PD. Nous voulons que lÕamplitude de la fonction de sensibilitŽ soit infŽrieure ˆ 2
ˆ toutes les frŽquences (ce qui garantit des marges de robustesse raisonnables),
et que la rŽponse indicielle ait un dŽpassement infŽrieur ˆ 10 % et un temps
dÕŽtablissement ˆ ±2 % infŽrieur ˆ 30. Avec les notations que nous avons in-
troduites, on obtient les spŽciÞcations du tableau 3.1. La Þgure 3.2 montre les
fonctions de sensibilitŽ et les rŽponses indicielles associŽes aux deux mod•les,
les bornes β() et les bornes modiÞŽes β ∗ (). LÕindice de performances vaut
χ(x 0 ) = 3,96 > 1, ce qui signiÞe que toutes les spŽciÞcations ne sont pas
respectŽes. On remarque en effet que le dŽpassement est pr•s de quatre fois trop
grand.
Optimisation multiobjective 37

1.5
2

1.5 1
| Ŝ| y
1
0.5
0.5

0 0
0 1 2 3 0 10 20 30 40 50
ω t

Figure 3.2
Crit•res de performances pris en compte pour lÕexemple 3.2. A gauche, amplitude de
la fonction de sensibilitŽ ; ˆ droite, rŽponse indicielle. Les spŽciÞcations β() sont en
traitillŽ, et les spŽciÞcations modiÞŽes β ∗ () en pointillŽ.

0
Le rŽgulateur xopt que nous cherchons ˆ obtenir est solution du probl•me
dÕoptimisation suivant :
 
0 α(,x 0 ) − β̄()
minimiser χ(x ) = sup (3.3)
x0
 β() − β̄()

Une recherche exhaustive dans une rŽgion de lÕespace de x 0 nÕest envisageable


que si le nombre de param•tres ne dŽpasse pas 2 ou 3.

Exemple 3.3 Le rŽgulateur PD de lÕexemple 3.2 peut •tre paramŽtrŽ par x 0 =


[x 1 x2 ] ; sa fonction de transfert est S(q)/R(q) = (x1 q + x2 )/q. Une recherche
du rŽgulateur qui minimise χ(x 0 ) dans lÕespace de x 0 conduit ˆ la solution
optimale S(q)/R(q) = (0,8910q −0,7480)/q, avec χopt = 0,6113 ; la solution
satisfait donc toutes les spŽciÞcations, comme on peut le vŽriÞer sur la Þgure 3.3.

Remarquons la ressemblance entre lÕoptimisation (3.3) et dÕautres mŽthodes


de synth•se de rŽgulateurs robustes, telles que la minimisation de la norme H∞
des fonctions de sensibilitŽ. Les m•mes mŽthodes de rŽsolution ne peuvent pas
38 Synth•se multimod•le

1.5
2

1.5 1
| Ŝ| y
1
0.5
0.5

0 0
0 1 2 3 0 10 20 30 40 50
ω t

Figure 3.3
Crit•res de performances pris en compte pour lÕexemple 3.3 avec le rŽgulateur optimal.
A gauche, amplitude de la fonction de sensibilitŽ ; ˆ droite, rŽponse indicielle. Les
spŽciÞcations β() sont en traitillŽ, et les spŽciÞcations modiÞŽes β ∗ () en pointillŽ.

•tre utilisŽes, car dans notre cas les spŽciÞcations portent sur des crit•res de
performances quelconques.
LÕoptimisation directe est un probl•me difÞcile. Nous proposons de rem-
placer dans (3.3) les fonctions continues et ŽchantillonnŽes par un ensemble Þni
de termes ŽvaluŽs en i . Les points i , appelŽs objectifs critiques, sont choisis
de telle sorte quÕils correspondent aux maxima locaux de (α − β̄)/(β − β̄) par
rapport ˆ t ou ˆ ω (cf. Þg. 3.4). Ils sont redŽÞnis ˆ chaque itŽration durant
lÕoptimisation. En posant

α(i ,x 0 ) − β̄(i )
χi (x 0 ) = (3.4)
β(i ) − β̄(i )
le probl•me dÕoptimisation multiobjective devient
 
0 0
minimiser
0
χ(x ) = max χ i (x ) (3.5)
x i

Une mŽthode de descente de gradient sous contraintes peut •tre utilisŽe, pour
autant que le minimum local obtenu donne satisfaction. Dans ce cas, le point
de dŽpart a une grande importance. Il est prŽfŽrable de partir dÕun rŽgulateur
Optimisation multiobjective 39

ω ω t

Figure 3.4
Choix des objectifs critiques. Les grandeurs considŽrŽs α(,x 0 ) sont en trait plein, les
spŽciÞcation β() en traitillŽ et les valeurs cibles β̄() en pointillŽ. Les cercles dŽsignent
les objectifs critiques.

proche des spŽciÞcations. DÕautres approches peuvent •tre envisagŽes, telles


que le recuit simulŽ [PTVF92].
La solution de (3.5) nÕest pas forcŽment Pareto-optimale. En effet, la mi-
nimisation de χ peut •tre bloquŽe par lÕun des χi , alors que dÕautres objectifs
pourraient encore •tre amŽliorŽs. Prenons le cas dÕun rŽgulateur ˆ deux degrŽs de
libertŽ. En ne tenant compte que de la rŽgulation, on obtient une contre-rŽaction
S(q)/R(q) qui donne une borne infŽrieure pour χ . Suivant les spŽciÞcations
sur lÕasservissement, il se peut que le maximum des χi qui leur sont asso-
ciŽs soit infŽrieur. Mais lÕoptimisation globale ne conduira pas ˆ cet optimum.
Cette situation doit •tre assez rare, car dans la plupart des cas les objectifs sont
contradictoires et agissent simultanŽment sur tous les param•tres du rŽgulateur ;
lÕoptimum est alors rŽellement un compromis.
Si lÕon dŽsire nŽanmoins garantir que la solution soit Pareto-optimale,
on peut procŽder en deux Žtapes. Dans un premier temps, on rŽsout le pro-
0
bl•me (3.5) qui donne la solution xopt . Puis on optimise le probl•me suivant
pour forcer chaque objectif vers un minimum, et on obtient une solution Pareto-
0
optimale xP−opt .
X
minimiser
0
χi (x 0 )
x
i (3.6)
sous contraintes χi (x 0 ) − χi (xopt
0
) ≤ 0 ∀i

Les contraintes assurent que lÕindice de performances multiobjectif est


conservŽ.
0
ThŽor•me 3.1 Le rŽgulateur qui est solution de (3.6), o• xopt est solution de
(3.5), est Pareto-optimal et minimise maxi χi .
40 Synth•se multimod•le

DŽmonstration Les contraintes χi (x 0 ) − χi (xopt 0


) ≤ 0 imposent que
0 0 0 0
maxi χi (xP−opt ) ≤ maxi χi (xopt ). Comme xopt minimise maxi χi (xopt ),
0 0 0
maxi χi (xP−opt ) = maxi χi (xopt ) et il en est de m•me pour xP−opt .
0
Pour montrer que xP−opt est Pareto-optimal, supposons que tel ne soit pas
0
le cas et quÕil existe une solution x<0 telle que pour certains j, χ j (xP−opt )−
χ j (x< ) =  j > 0, et χi (x< ) = χi (xP−opt ) pour i 6= j. Les contraintes χi (x<0 ) −
0 0
0
χi (xopt ) ≤ 0 seraient respectŽes. Mais

>0
X X z }| { X
X
χi (x<0 ) = 0
χi (xP−opt ) − j < 0
χi (xP−opt )
i i j i

0
P 0
ce qui est impossible puisque xP−opt minimise i χi (xP−opt ).

Notons que si les mŽthodes dÕoptimisation utilisŽes pour rŽsoudre les pro-
bl•mes (3.5) et (3.6) ne fournissent que des optima locaux, le thŽor•me 3.1
lui-m•me doit •tre compris dans un sens local.

3.3 ParamŽtrisation du rŽgulateur


De fa•on analogue au placement de p™les multimod•le, nous rassemblons les
param•tres du rŽgulateur dans un vecteur x 0 . En plus des polyn™mes libres de
la contre-rŽaction R 0 (q) et S 0 (q), nous ajoutons le prŽÞltre T 0 (q) :
 T
x0 = r10 0
· · · rdeg R0 s00 0
· · · sdeg S0 t10 0
· · · tdeg T0 (3.7)

Les param•tres r0 et t0 sont omis, le premier parce que R 0 (q) est monique, et
le second parce que nous for•ons un gain statique unitŽ pour la fonction de trans-
fert consigne-sortie. Par souci de simplicitŽ, nous supposons que A(q)R f (q)
contient un zŽro en 1, cÕest-ˆ-dire que le syst•me rŽgulŽ poss•de un intŽgrateur en
boucle ouverte. Ainsi le gain statique vaut B(1)T (1)/(A(1)R(1)+ B(1)S(1)) =
T (1)/S(1). Comme par dŽÞnition S f (1) = T f (1) = 1,
0 0
XS
deg XT
deg
t00 = si0 − ti0 (3.8)
i=0 i=1
Optimisation multiobjective 41

Les gradients des indices de performances liŽs aux rŽponses harmoniques


sont fonctions des gradients de R 0 (ejω ), S 0 (ejω ) et T 0 (ejω ) par rapport ˆ x 0 . La
dŽÞnition de x 0 rend leur expression tr•s simple.

Lemme 3.1 Les gradients de R 0 (ejω ), S 0 (ejω ) et T 0 (ejω ) valent respectivement


dR 0 jω  0 
0
(e ) = ejω·(deg R −1) · · · ejω 1 0 ··· 0 (3.9)
dx

dS 0 jω  0 
0
(e ) = 0 ··· 0 ejω·(deg S ) · · · ejω 1 0 ··· 0 (3.10)
dx
dT 0 jω  0 
(e ) = 0 · · · 0 ejω(deg T −1) · · · ejω 1 +
dx 0 0  
ejω deg T 0 · · · 0 1 · · · 1 −1 · · · −1
(3.11)

DŽmonstration Les gradients de R 0 (ejω ) et S 0 (ejω ) rŽsultent directement de


la dŽÞnition
 de x 0 . Celui de T 0 (ejω ) sÕexprime plus facilement par rapport ˆ
x∗0 = r10 · · · rdeg 0
R0 s00 · · · sdeg0
S0 t00 t10 · · · tdeg
0
T0 qui contient
0
t0 :
dT 0 jω  0 
0
(e ) = 0 · · · 0 ejω deg T · · · ejω 1
dx∗
LÕŽquation (3.8) donne
 
I 0 0
dx∗0  0 I 0 
=
 0 ··· 0

dx 0 1 · · · 1 −1 · · · − 1 
0 0 I
dT 0 dT 0 dx∗0
et la r•gle dx 0
= dx∗0
· dx 0
lÕŽquation (3.11).

LÕensemble des rŽgulateurs paramŽtrŽs par x comprend ceux qui


dŽstabilisent les mod•les du syst•me. Il faut donc vŽriÞer ˆ chaque pas de
lÕoptimisation que la stabilitŽ est bien respectŽe. Dans la plupart des cas, des
objectifs de stabilitŽ robuste Þgurent parmi les spŽciÞcations qui tendent ˆ
Žviter les rŽgulateurs dŽstabilisants ; citons par exemple une borne sur le
module de la sensibilitŽ, ou sur lÕerreur apr•s un saut de perturbation ou de
consigne si la fen•tre de temps est assez large. Le rŽgulateur optimal assure
alors la stabilitŽ robuste.
42 Synth•se multimod•le

DÕautres mŽthodes dÕoptimisation Žvitent ce probl•me en choisissant une


paramŽtrisation qui garantisse la stabilitŽ [YJB76]. Ce nÕest pas possible dans
notre cas, car la stabilitŽ doit •tre respectŽe pour plusieurs mod•les.

3.4 Fonctions de sensibilitŽ


Comme nous lÕavons vu au chapitre 1, lÕamplitude de la fonction de sensibilitŽ
Ŝ(ejω ) est directement liŽe ˆ la robustesse vis-ˆ-vis de la stabilitŽ. Des contraintes
permettent dÕassurer de bonnes marges de robustesse. De m•me, la fonction de
sensibilitŽ complŽmentaire T̂ (ejω ) donne (au signe pr•s) la sensibilitŽ au bruit
de mesure sur la sortie, que lÕon souhaite attŽnuer en dehors de la bande passante
pour Žviter dÕexciter les modes non modŽlisŽs et de saturer la commande. Dans
la bande passante, par contre, il vaut mieux ne donner aucune spŽciÞcation
sur T̂ . DÕune part, la relation Ŝ + T̂ = 1 emp•che de diminuer simultanŽ-
ment les deux sensibilitŽs aux m•mes frŽquences ; dÕautre part, m•me avec un
rŽgulateur ˆ deux degrŽs de libertŽ, lÕeffet bŽnŽÞque de la contre-rŽaction sur
lÕasservissement (lÕinsensibilisation par rapport aux dŽfauts de modŽlisation ou
aux variations du syst•me) serait diminuŽ. EnÞn, dÕautres fonctions, telles que
la sensibilitŽ perturbation-commande, peuvent •tre envisagŽes.
Seul le module des fonctions de sensibilitŽ nous intŽresse. Leur phase a
certes une inßuence sur la forme des rŽponses temporelles, et notamment leur
comportement transitoire, mais il est beaucoup plus facile dÕobtenir lÕeffet dŽsirŽ
en imposant des gabarits directement sur elles. Le lemme suivant permet de
calculer le gradient de la valeur absolue dÕune fonction complexe ˆ partir du
gradient de la fonction.

`
Lemme 3.2 Soit une fonction f : → , x 7→ f (x). Le gradient de sa
valeur absolue | f (x)| vaut
 
d 1 df df
| f (x)| = · Re f (x) Re (x) + Im f (x) Im (x) (3.12)
dx | f (x)| dx dx

DŽmonstration Soit g(x) = | f (x)|2 = Re2 f (x) + Im2 f (x). Comme x est
rŽel, dxd Re f (x) = Re ddxf (x), dxd Im f (x) = Im ddxf (x), et

dg df df
(x) = 2 Re f (x) Re (x) + 2 Im f (x) Im (x)
dx dx dx
Optimisation multiobjective 43

Tableau 3.2 Gradient des fonctions de sensibilitŽ

SensibilitŽ Fonction de transfert Gradient


 0 0
AR AB R f S f 0 dR 0 dS
Ŝ(ejω ) S − R
C C2 dx 0 dx 0
 0 0
BS AB R f S f 0 dS 0 dR
T̂ (ejω ) R − S
C C2 dx 0 dx 0
2  0 0
AS A Rf Sf 0 dR 0 dS
Ŝup (ejω ) − S − R
C C2 dx 0 dx 0

Par ailleurs,
d dp
| f (x)| = g(x)
dx dx
1 dg 1 dg
= √ · (x) = · (x)
2 g(x) dx 2 | f (x)| dx
Ces deux Žquations donnent Þnalement (3.12).

LÕapplication de ce lemme au calcul du gradient du module de diffŽrentes


fonctions de sensibilitŽ est aisŽe. Le tableau 3.2 donne le gradient de Ŝ(ejω ),
T̂ (ejω ) et Ŝup (ejω ).
La Þgure 3.5 montre des spŽciÞcations possibles sur le module de la fonction
de sensibilitŽ | Ŝ(ejω )|, de la fonction de sensibilitŽ complŽmentaire |T̂ (ejω )| et de
la fonction de sensibilitŽ perturbation-entrŽe | Ŝup (ejω )|. La borne supŽrieure sur
| Ŝ(ejω )| est Žquivalente ˆ une limite sur la marge de module ; celle sur |T̂ (ejω )|
permet de limiter lÕeffet du bruit de mesure sur la sortie, et | Ŝup (ejω )| celui de
la perturbation sur la commande. A basse frŽquence, la borne supŽrieure sur
| Ŝ(ejω )| garantit le rejet de perturbations dans la bande passante.

3.5 RŽponses temporelles


Le cahier des charges contient le plus souvent des spŽciÞcations sur les rŽponses
temporelles. Des temps de rejet de perturbations peuvent •tre demandŽs en
rŽgulation, m•me si des conditions sur les fonctions de sensibilitŽ sufÞsent
souvent ˆ assurer un bon comportement. En effet, on conna”t gŽnŽralement
44 Synth•se multimod•le

| Ŝ| |T̂ | | Ŝup |


3 3 3

2 2 2

1 1 1

0 0 0
0 2 0 2 0 2
ω ω ω

Figure 3.5
De gauche ˆ droite, exemples de spŽciÞcations sur le module de Ŝ(ejω ), de T̂ (ejω ) et de
Ŝup (ejω ).

mieux le contenu harmonique des perturbations que leur forme. CÕest donc
surtout pour lÕasservissement que des conditions tr•s strictes sont nŽcessaires
pour conserver la forme des signaux et Žviter les saturations.
La Þgure 3.6 montre des spŽciÞcations sur la sortie apr•s un saut de consigne
(asservissement) ou de perturbation (rŽgulation). Pour lÕasservissement, la
borne supŽrieure limite le dŽpassement et le temps dÕŽtablissement ; la borne
infŽrieure limite les temps de montŽe et dÕŽtablissement. En rŽgulation, les
bornes supŽrieures et infŽrieures imposent un certain temps dÕamortissement.
En plus de bornes sur lÕamplitude des rŽponses, on peut considŽrer lÕintŽgrale
de la valeur absolue de lÕerreur.
ConsidŽrons la rŽponse indicielle de N (q)/C(q), o• N (q) = n 0 q deg N +
· · · + n deg N dŽpend des signaux considŽrŽs. En boucle fermŽe, le dŽnominateur
est toujours le polyn™me caractŽristique C(q). Le signal de sortie considŽrŽ est

XC,t)
min(deg X
deg N +min(0,t−deg C)
v(t) = − ci v(t − i) + ni
i=1 i=0

et son gradient par rapport ˆ x 0

dv(t) XC,t) 
min(deg
dci dv(t − i)
 X
deg N +min(0,t−deg C)
dn i
=− v(t − i) − ci +
dx 0 i=1
dx 0 dx 0 i=0
dx 0
Optimisation multiobjective 45

y y
1.5 2

1
1

0.5
-1

0 -2
0 50 100 0 50 100
t t

Figure 3.6
Exemples de spŽciÞcations sur la sortie apr•s un saut de consigne (ˆ gauche) ou de
perturbation.

Le gradient dv(k)/dx 0 peut •tre calculŽ rŽcursivement pour nÕimporte quel


Žchantillon t. En plus des rŽponses indicielles, on limite parfois lÕintŽgrale de
la valeur absolue de lÕerreur apr•s un saut de perturbation, ie, dont la version
ŽchantillonnŽe vaut
X

ie = |v(t)| (3.13)
t=0

Son gradient vaut


die X ∞
dv(t)
0
= signv(t) (3.14)
dx t=0
dx 0

Pour la rŽponse indicielle en asservissement, le temps dÕŽtablissement et


le dŽpassement maximum peuvent •tre spŽciÞŽs au moyen de bornes. Il en va
diffŽremment pour le temps de montŽe tm . Si on le dŽÞnit comme le temps
nŽcessaire pour atteindre 90 % de la valeur de consigne, une fa•on de faire est
de maximiser lÕŽchantillon de plus grande amplitude compris entre 0 et tm . Le
risque est malheureusement de rendre plus difÞcile la convergence vers une
solution au cas o• deux maxima sont sŽlectionnŽs alternativement. Cela reß•te
en fait le manque de robustesse du choix du temps de montŽe comme crit•re de
performance. Il vaut mieux le remplacer par des temps dÕŽtablissement dŽÞnis
46 Synth•se multimod•le

pour diffŽrentes amplitudes lorsque quÕon a la libertŽ dÕadapter le cahier des


charges.

3.6 Optimisation simultanŽe


Comme nous lÕavons vu au chapitre 1, la synth•se dÕun rŽgulateur ˆ deux degrŽs
de libertŽ peut facilement •tre scindŽe en deux Žtapes : tout dÕabord la contre-
rŽaction S(q)/R(q), qui est seule ˆ dŽterminer les capacitŽs de stabilisation et
de rejet des perturbations, puis le prŽÞltre. Il faut noter cependant que les perfor-
mances en asservissement dŽpendent elles aussi de la contre-rŽaction. Suivant
les spŽciÞcations, il peut •tre difÞcile dÕobtenir lÕasservissement demandŽ sans
modiÞer R(q) et S(q).
Le placement de p™les multimod•le ne concerne que la contre-rŽaction, ce
qui impose cette sŽparation en deux Žtapes. Par contre, lÕoptimisation multiob-
jective permet de tenir compte de toutes les spŽciÞcations simultanŽment. Le
prix ˆ payer est un espace dÕoptimisation de plus grande dimension, ce qui peut
augmenter les probl•mes dus aux minima locaux.

3.7 Optimisation sŽparŽe du prŽÞltre


LÕoptimisation multiobjective permet dÕamŽliorer simultanŽment la
contre-rŽaction et le prŽÞltre, au prix dÕune certaine lourdeur des calculs et
dÕune description prŽcise de tous les objectifs. Au cas o• la contre-rŽaction
obtenue par exemple par placement de p™les multimod•le donne satisfaction,
on peut se contenter dÕoptimiser le prŽÞltre pour obtenir les performances
dŽsirŽes en asservissement.
La mŽthode que nous proposons consiste ˆ minimiser lÕŽcart entre les
rŽponses indicielles et une rŽponse de rŽfŽrence. Des coefÞcients de pondŽra-
tion permettent de donner plus dÕimportance aux rŽgions o• la rŽponse sÕŽcarte
des spŽciÞcations, par exemple au dŽpassement maximum. Ils peuvent •tre
ajustŽs automatiquement au cours dÕune procŽdure itŽrative, vu la simplicitŽ
des calculs. LÕoptimisation porte sur lÕensemble des mod•les et tient compte du
signal de commande. Ce sont ces trois points qui la distinguent dÕune mŽthode
similaire proposŽe par [XM95].
Optimisation multiobjective 47

La fonction-cožt ˆ minimiser vaut


X
m X
tmax
 
J (T (q)) = w yk (t)(yk (t) − yref (t))2 + wuk (t)u 2k (t) (3.15)
k=1 t=1

o• la sortie yk (t) et lÕentrŽe u k (t) valent respectivement


T (q)B(q)
yk (t) = s(t)
A(q)R(q) + B(q)S(q)
T (q)A(q)
u k (t) = s(t)
A(q)R(q) + B(q)S(q)
Contrairement ˆ (3.5), elle peut •tre rŽsolue analytiquement. Elle nÕest pas
sans rappeler celle de certains rŽgulateurs prŽdictifs [Soe92]. La diffŽrence
essentielle est que lÕoptimisation porte ici uniquement sur le prŽÞltre qui agit
en boucle ouverte, et que celui-ci est un Þltre ˆ rŽponse impulsionnelle Þnie.
On Žvite ainsi tout risque dÕinstabilitŽ, contrairement par exemple au rŽgulateur
GPC (Generalized Predictive Control). Le danger dÕune inversion partielle de la
dynamique du syst•me, qui aurait de graves inconvŽnients en prŽsence de zŽros
ˆ non-minimum de phase, est ŽvitŽ si la fen•tre de temps nÕest pas exagŽrŽment
Žtroite, m•me si la pondŽration sur la commande est nulle.
Il est difÞcile de spŽciÞer a priori les poids w yk (t) et wuk (t). Nous suggŽrons
de calculer un premier prŽÞltre avec w yk (t) = 1 et wuk (t) = 0, de calculer les
rŽponses, et au besoin dÕajuster les poids aux endroits o• celles-ci sÕŽcartent
trop de la rŽponse de rŽfŽrence. Ces Žtapes sont rŽsumŽes dans lÕalgorithme
suivant :
1) Fixer w yk (t) ← 1 et wuk (t) ← 0 pour k = 1,2, . . . ,n et t = 1, . . . ,tmax
2) Calculer un polyn™me T (q) qui minimise (3.15)
3) SÕarr•ter si les rŽponses indicielles ont les caractŽristiques demandŽes
4) Si le dŽpassement est trop grand, augmenter le poids w yk (t) des Žchan-
tillons concernŽs
5) Si le temps de montŽe ou le temps dÕŽtablissement est trop faible, aug-
menter le poids w yk (t) des Žchantillons des mod•les qui posent probl•me
dans la rŽgion o• ils sont trop ŽloignŽs de la rŽponse de rŽfŽrence
6) Augmenter le poids w yk (t) des Žchantillons infŽrieurs ˆ 0 pour Žviter un
dŽpassement nŽgatif
48 Synth•se multimod•le

7) Augmenter le poids wuk (t) des Žchantillons pour lesquels lÕamplitude de


la commande est trop grande
8) ItŽrer ˆ partir du pas 2.

3.8 Conclusions
Dans ce chapitre, nous avons vu une mŽthode dÕoptimisation multimod•le qui
vise ˆ satisfaire des objectifs tr•s variŽs, aussi bien dans le domaine harmonique
que temporel. Le niveau de performances est dŽcrit par un param•tre scalaire
unique qui est minimisŽ. La solution nÕest pas forcŽment Pareto-optimale ; un
second probl•me dÕoptimisation permet dÕy remŽdier.
Par rapport au placement de p™les multimod•le, lÕutilisation directe des in-
dices de performances que lÕon veut amŽliorer permet dÕautomatiser la procŽ-
dure dÕoptimisation. Plus besoin en effet dÕidentiÞer visuellement les p™les
prŽdominants quant ˆ leur effet sur telle ou telle rŽponse. Cela ne sufÞt pour-
tant pas pour en faire une mŽthode universelle ; les minima locaux rendent
difÞcile lÕobtention dÕun bon rŽgulateur ˆ partir de zŽro. LÕoptimisation multi-
objective doit plut™t •tre considŽrŽe comme une derni•re phase dÕamŽlioration
apr•s quÕun rŽgulateur proche des performances recherchŽes a ŽtŽ obtenu, par
exemple par placement de p™les multimod•le.
Nous ne nous sommes pas attardŽ sur le choix de la mŽthode dÕoptimisation.
Notre probl•me poss•de la particularitŽ dÕavoir une structure variable au cours
de lÕoptimisation, ce qui rend difÞcile lÕutilisation de mŽthodes de program-
mation quadratique o• le hessien doit •tre estimŽ. Il vaut mieux utiliser une
approche basŽe sur la descente de gradient.
Les objectifs considŽrŽs dans ce chapitre peuvent •tre Žtendus ˆ dÕautres
crit•res, tels que lÕerreur lors du suivi dÕautres types de trajectoires ou la mini-
misation de lÕamplitude de signaux internes du syst•me. On peut par exemple
Žviter la saturation dÕactionneurs.
Chapitre 4

Conception assistŽe par ordinateur

4.1 Introduction
Comme nous lÕavons vu au chapitre 2, le placement de p™les multimod•le
ne permet en gŽnŽral pas dÕobtenir un rŽgulateur adŽquat en une seule itŽra-
tion. Les p™les doivent •tre dŽplacŽs de telle sorte que les crit•res de perfor-
mances pris en compte soient progressivement amŽliorŽs. Cela peut difÞcile-
ment sÕautomatiser ; en effet, un compromis acceptable doit •tre trouvŽ entre
la rapiditŽ du rejet des perturbations, la stabilitŽ robuste et lÕaction sur la com-
mande. Ainsi, un syst•me interactif est souhaitable, pour autant que la synth•se
soit raisonnablement facile et rapide.
CÕest pour rŽpondre ˆ cet objectif que nous avons dŽveloppŽ un programme
de synth•se multimod•le interactive, nommŽ SysQuake. Par rapport aux logi-
ciels existants, et notamment ˆ Matlab qui est tr•s utilisŽ dans le domaine de
lÕautomatique, SysQuake offre lÕavantage dÕ•tre sufÞsamment rapide pour faire
immŽdiatement ressentir ˆ lÕutilisateur dans quel sens varient les grandeurs af-
ÞchŽes lorsquÕil manipule un p™le ou un gain (Matlab 5 est environ dix fois
plus lent pour lÕafÞchage dÕun lieu des p™les). Une fonction dÕannulation lui
permet de revenir en arri•re au cas o• il dŽgraderait tellement le rŽgulateur quÕil
ne pourrait plus retrouver son point de dŽpart. Il faut aussi mentionner quÕau
niveau de lÕinterface-utilisateur, malgrŽ des amŽliorations dans les derni•res
versions, Matlab nÕest pas vraiment con•u pour la manipulation directe de gra-
phiques et nÕautorise donc pas le m•me niveau dÕinteraction. SysQuake est Žcrit
en langage C et ne dŽpend dÕaucune librairie de haut niveau. Il reprŽsente 15 700
50 Synth•se multimod•le

lignes de code, ou 338 Ko, ou encore 210 Ko une fois compilŽ pour le PowerPC.
Ce chapitre se veut descriptif ; lÕutilitŽ des diffŽrents graphiques a ŽtŽ bri•ve-
ment expliquŽe au chapitre 1, et le placement de p™les multimod•le a fait
lÕobjet du chapitre 2. La section 4.2 dŽcrit la structure et le fonctionnement
du programme. LÕafÞchage et lÕŽdition des fonctions de transfert entre diverses
grandeurs sont dŽcrits ˆ la section 4.3. Les diffŽrents graphiques et la fa•on
dont ils peuvent •tre manipulŽs par lÕutilisateur sont passŽs en revue dans les
sections 4.4 pour les zŽros et p™les dans le plan complexe, 4.5 pour les rŽponses
temporelles, 4.6 pour les rŽponses harmoniques, et 4.7 pour le placement de
p™les multimod•le. Les crit•res de stabilitŽ et de performances donnŽs sous
forme numŽrique sont dŽcrits ˆ la section 4.8, et les possibilitŽs dÕentrŽe-sortie
et de transfert dÕinformation avec dÕautres programmes ˆ la section 4.9. Le
chapitre se termine par la conclusion.

4.2 Structure du programme


Le programme SysQuake contient une reprŽsentation du syst•me, modŽlisŽ
par une ou plusieurs fonctions de transfert en z, et du rŽgulateur RST, avec
Žventuellement des parties Þxes R f (z) et S f (z). LÕutilisateur peut analyser les
propriŽtŽs du syst•me et de son rŽgulateur ˆ lÕaide de multiples reprŽsentations
graphiques et numŽriques, telles que les p™les en boucle fermŽe, les rŽponses in-
dicielles ou le diagramme de Bode. Il peut Žgalement les modiÞer, soit en entrant
des valeurs numŽriques, soit en manipulant directement les graphiques avec la
souris. Chaque modiÞcation est immŽdiatement rŽpercutŽe sur le rŽgulateur, et
toutes les donnŽes afÞchŽes sont mises ˆ jour (cf. Þg. 4.1).
Si le syst•me est modŽlisŽ par plusieurs fonctions de transfert, chaque gra-
phique contient plusieurs tracŽs (Þg. 4.2). Les mŽthodes de synth•se classiques,
telles que le placement de p™les, se basent sur le mod•le sŽlectionnŽ lorsque
lÕutilisateur fait glisser un ŽlŽment du graphique avec la souris.
Certaines mŽthodes de synth•se nŽcessitent une forme particuli•re du rŽgu-
lateur. Par exemple, le placement de p™les standard impose des restrictions sur
les degrŽs de R 0 et S 0 . LorsquÕil ne remplit pas ces conditions, le rŽgulateur est
modiÞŽ d•s que lÕutilisateur tente dÕutiliser la mŽthode de synth•se qui pose
probl•me.
Chaque modiÞcation peut •tre annulŽe, ce qui permet ˆ lÕutilisateur de tenter
des modiÞcations sans craindre de perdre les performances atteintes jusque lˆ.
Conception assistŽe par ordinateur 51

Fichiers
Coeff. mod•les
Mod•les Coeff. rŽgulateur
Coeff. boucle ouverte
Coeff. boucle fermŽe
RŽgulateur PID

Presse-
papier Hc (q), Hl (q), pi , z i

P™les en boucle fermŽe


P™les et zŽros de S/R
Bode ZŽros de T (q)
Nyquist Lieu des p™les
Black
SensibilitŽ
SensibilitŽ compl.
SensibilitŽ Asservissement
perturbation-commande RŽgulation
(rŽponses temporelles)

Marges de robustesse
Perf. temporelles Placement de p™les
multimod•le

Figure 4.1
Structure du programme SysQuake. Chaque rectangle en trait plein reprŽsente une
fen•tre ; ceux en trait gras contiennent des ŽlŽments qui peuvent •tre manipulŽs par
lÕutilisateur. Les rectangles en traitillŽ reprŽsentent la valeur des mod•les et du rŽgula-
teur.
52 Synth•se multimod•le

Figure 4.2 Copie dÕŽcran de SysQuake.


Conception assistŽe par ordinateur 53

Tableau 4.1 Structure des rŽgulateurs PID

Type DegrŽs Parties Þxes CoefÞcients


deg R = 0 R f (q) = 1
P k p = s0
deg S = 0 S f (q) = 1
k p = s0
deg R = 1 R f (q) = q − 1
PI hs0
deg S = 1 S f (q) = 1 Ti =
s0 + s1
k p = s0 + s1
deg R = 1 R f (q) = q
PD hs1
deg S = 1 S f (q) = 1 Td = −
s0 + s 1
k p = s0 − s2
hs2
deg R = 2 R f (q) = q 2 − q Td =
PID
deg S = 2 S f (q) = 1 s0 − s2
h(s0 − s2 )
Ti =
s0 + s 1 + s 2

4.3 Fonctions de transfert


Les coefÞcients des fonctions de transfert des mod•les, des polyn™mes R(q),
S(q) et T (q) du rŽgulateur, ainsi que les partie Þxes R f (q) et S f (q), peuvent •tre
spŽciÞŽs librement pour autant que toutes les fonctions de transfert apparaissant
dans le syst•me soient causales (ou strictement causales pour les mod•les), et que
ni les mod•les ni le prŽÞltre T (q) nÕait un facteur dŽrivateur q −1. Les fonctions
de transfert en boucle ouverte B S/A R et en boucle fermŽe BT /(A R + B S)
sont calculŽes en fonction des mod•les et du rŽgulateur, mais ne peuvent pas
•tre changŽes directement.
Lorsque la structure du rŽgulateur correspond ˆ celle dÕun PID numŽrique
ou ˆ lÕune de ses variantes, le rŽgulateur peut •tre reprŽsentŽ par la valeur du
gain k p et des temps dÕintŽgration Ti et de dŽrivation Td (voir tableau 4.1). Le
PID numŽrique est dŽÞni par
 
h 1 Td q − 1
K PID (q) = k p 1+ · + ·
Ti q − 1 h q
54 Synth•se multimod•le

4.4 ZŽros et p™les


On pourrait envisager lÕafÞchage des p™les et des zŽros des mod•les, du rŽgu-
lateur et de nombreuses autres fonctions de transfert en boucle fermŽe. En
pratique, comme les p™les en boucle fermŽe sont les m•mes quels que soient les
signaux considŽrŽs, seul un nombre limitŽ de fonctions de transfert prŽsentent
de lÕintŽr•t.
Comme la reprŽsentation interne des fonctions de transfert se fait sous
la forme de tableaux de coefÞcients, SysQuake doit calculer les zŽros des
polyn™mes. La mŽthode de Laguerre [PTVF92] est utilisŽe pour les premi•res
racines. Elle a lÕavantage dÕ•tre simple et rapide. Le polyn™me est divisŽ par
des termes rŽels, linŽaires ou quadratiques, pour Žviter dÕobtenir des polyn™mes
ˆ coefÞcients complexes. Une fois quÕun polyn™me de degrŽ infŽrieur ou Žgal
ˆ trois est obtenu, les formules explicites sont utilisŽes.
En ce qui concerne les p™les et les zŽros, SysQuake permet lÕafÞchage de
quatre graphiques, sans compter le placement de p™les multimod•le. Les p™les
en boucle fermŽes donnent une bonne indication de la dynamique du syst•me
rŽgulŽ. On peut y manipuler directement les p™les en les dŽpla•ant avec la souris.
Pour Žviter dÕobtenir un rŽgulateur ˆ coefÞcients complexes, SysQuake impose
la symŽtrie des dŽplacements des paires de p™les complexes conjuguŽs. SÕil y a
au moins deux p™les rŽels, un p™le rŽel peut •tre rendu complexe en Žloignant
sufÞsamment la souris de lÕaxe rŽel ; le p™le rŽel le plus proche devient son
complexe conjuguŽ. On peut spŽciÞer des facteurs dÕamortissements absolu et
relatif qui sont afÞchŽs sur le graphique. Les p™les et zŽros de la contre-rŽaction
rendent possible la manipulation directe du rŽgulateur. En choisissant les zŽros
du prŽÞltre, on peut simpliÞer des p™les en boucle fermŽe ou rŽduire lÕeffet des
zŽros du syst•me rŽgulŽ. Les p™les en boucle fermŽe sont aussi reprŽsentŽs.
Le lieu des p™les est une reprŽsentation des p™les en boucle fermŽe lorsque
le gain du rŽgulateur varie de zŽro ˆ lÕinÞni. Les p™les en boucle fermŽe sont
confondus avec ceux en boucle ouverte lorsque le gain est nul, et avec les zŽros
en boucle ouverte (ou rejetŽs ˆ lÕinÞni pour les p™les restants) lorsque le gain
est inÞni. Les p™les et zŽros en boucle ouverte proviennent soit du mod•le, soit
du rŽgulateur. Dans SysQuake, lÕutilisateur peut dŽplacer les p™les en boucle
fermŽe sur les branches du lieu des p™les, ce qui correspond ˆ un changement
de gain du rŽgulateur, ou dŽplacer les zŽros ou les p™les du rŽgulateur, ce qui
change la forme du lieu. Dans le premier cas, au lieu de projeter la nouvelle
position p D dŽsignŽe par lÕutilisateur sur la branche la plus proche (ce qui serait
particuli•rement inefÞcace du point de vue du temps de calcul), le gain est
Conception assistŽe par ordinateur 55

multipliŽ par λ = − Re(A( p D )R( p D )/B( p D )S( p D )). La proposition suivante


montre que sÕil se trouve sur une branche, p D devient un p™le du nouveau
syst•me en boucle fermŽe.

Proposition 4.1 Soient le syst•me en boucle ouverte B(q)/A(q) et le rŽgula-


teur S(q)/R(q), et le lieu des p™les obtenus lorsque S(q)/R(q) est multipliŽ
par un facteur rŽel. Si p D appartient ˆ ce lieu, il est un zŽro de C + (q) =
A(q)R(q) + λB(q)S(q), o• λ = −A( p D )R( p D )/B( p D )S( p D ) ∈ .

DŽmonstration Pour obtenir le p™le p D , on multiplie le rŽgulateur par le


nombre λ. Le polyn™me caractŽristique devient alors C + (q) = A(q)R(q) +
λB(q)S(q). Il doit sÕannuler pour q = p D : A( p D )R( p D )+λB( p D )S( p D ) = 0,
dÕo• λ = −A( p D )R( p D )/B( p D )S( p D ). Le nombre λ est rŽel si et seulement
si le point p D appartient au lieu des p™les ; celui-ci reste alors inchangŽ.

Notons que si p D nÕest pas sur le lieu des p™les, le fait de prendre la partie
rŽelle de −A( p D )R( p D )/B( p D )S( p D ) donne un nouveau lieu confondu avec
lÕancien. Comme il nÕy a aucune discontinuitŽ entre p D et λ, cette fa•on de faire
permet de positionner facilement le p™le ˆ lÕendroit voulu en dŽsignant avec la
souris un endroit sufÞsamment proche dÕune branche pour obtenir le rŽsultat
dŽsirŽ.
Le lieu des p™les est gŽnŽralement reprŽsentŽ pour des valeurs positives du
gain du rŽgulateur. Dans SysQuake, le dŽplacement dÕun p™le sur une branche
au-delˆ dÕun p™le ou dÕun zŽro en boucle ouverte provoque lÕinversion du lieu
(Þg. 4.3). Cela est cohŽrent avec le principe suivi par SysQuake selon lequel
tout rŽgulateur physiquement rŽalisable doit pouvoir •tre reprŽsentŽ. Un gain
de rŽgulateur nŽgatif correspond gŽnŽralement ˆ un ralentissement du syst•me,
pour autant que la stabilitŽ soit prŽservŽe.

4.5 RŽponses temporelles


Les rŽponses temporelles sont sans doute la reprŽsentation la plus directe et la
plus intuitive de la capacitŽ du rŽgulateur ˆ suivre une consigne et ˆ rejeter les
perturbations. Contrairement aux rŽponses harmoniques, elles donnent Žgale-
ment des renseignements sur le comportement transitoire des signaux.
SysQuake permet dÕappliquer deux types de signaux, les sauts unitŽ et les
rampes, ˆ deux endroits du syst•me en boucle fermŽe, la consigne et la perturba-
tion en sortie, et dÕobserver leurs effets sur deux grandeurs, lÕentrŽe et la sortie
56 Synth•se multimod•le

Figure 4.3
Inversion du lieu des p™les quand on fait glisser un p™le en boucle fermŽe sur une branche
au-delˆ dÕun p™le en boucle ouverte.

du syst•me. Avec ces huit rŽponses possibles, on peut analyser le rŽgulateur


aussi bien en asservissement quÕen rŽgulation. La grandeur ˆ commander est
importante, parce que cÕest en gŽnŽral sur elle que portent la plupart des spŽ-
ciÞcations, telles que le temps de montŽe et le dŽpassement ; mais le signal de
commande ne doit pas •tre nŽgligŽ, car il peut entra”ner des saturations au niveau
de lÕŽtage de puissance et de lÕactionneur, et exciter des modes de rŽsonance
peu observables sur la sortie.
En utilisation normale, lÕŽchelle est calculŽe automatiquement pour
reprŽsenter la partie intŽressante des rŽponses. En abscisse, la durŽe afÞchŽe
est basŽe sur la position des p™les en boucle fermŽe. En ordonnŽe, lÕŽchelle est
telle que les signaux de plus grande amplitude couvrent toute la hauteur
disponible. Pour identiÞer facilement les modiÞcations quand on change le
rŽgulateur, on peut aussi verrouiller lÕŽchelle.
En plus de lÕaspect gŽnŽral des rŽponses, lÕutilisateur peut obtenir des valeurs
numŽriques en cliquant sur nÕimporte quel point du graphique. Il peut ainsi
vŽriÞer notamment les dŽpassements et les taux dÕamortissement. Les indices
de performances standard, tels que les dŽpassements maximaux ou les temps
dÕŽtablissement, sont calculŽs automatiquement (voir ci-dessous).

4.6 RŽponses harmoniques


Les rŽponses harmoniques (ou frŽquentielles) peuvent se diviser en deux
classes : les rŽponses en boucle ouverte et en boucle fermŽe. Elles fournissent
Conception assistŽe par ordinateur 57

des indications sur la stabilitŽ et sur la robustesse du syst•me en boucle


fermŽe. En outre, les rŽponses en boucle fermŽe reß•tent les propriŽtŽs
dÕasservissement et de rejet de perturbations en fonction de la frŽquence.
Le diagramme de Bode est une reprŽsentation de lÕamplitude et de la phase
du couple rŽgulateurÐsyst•me en boucle ouverte en fonction de la pulsation.
Pour des syst•mes simples, il permet de dŽterminer facilement les marges de
phase et de gain et les pulsations correspondantes (pulsation de croisement et
pulsation critique), et donc la bande passante du syst•me en boucle fermŽe, ˆ
peu pr•s Žgale ˆ la pulsation de croisement.
Le diagramme de Nyquist est le lieu de la rŽponse harmonique dans le
plan complexe. La pulsation nÕappara”t pas explicitement. Le diagramme de
Black (ou de Nichols) est une reprŽsentation logarithmique du diagramme de
Nyquist. Les marges de gain et de phase sont clairement identiÞables ; la marge
de module peut •tre estimŽe dans le diagramme de Nyquist, o• elle est Žgale ˆ
la distance entre la rŽponse harmonique et le point −1. LÕabaque de Hall dans
le diagramme de Nyquist et lÕabaque de Nichols dans le diagramme de Black
(lieux des points o• le module ou lÕargument de B S/(A R + B S) est constant)
peuvent •tre afÞchŽes pour faciliter la synth•se.
Les autres propriŽtŽs que lÕon peut analyser sont les gains ˆ basse et ˆ haute
frŽquence. A basse frŽquence, le gain doit •tre sufÞsamment ŽlevŽ pour garantir
une erreur permanente (statisme) faible, voir nulle, et une faible sensibilitŽ. A
haute frŽquence, le gain doit •tre sufÞsamment faible pour que des effets non
modŽlisŽs ne risquent pas de dŽstabiliser le syst•me, et pour que le bruit de
mesure ne provoque pas dÕexcitation excessive au niveau de lÕactionneur.
La synth•se dÕun rŽgulateur dans les diagrammes harmoniques en boucle
ouverte (loop shaping) permet de tenir compte de ces contraintes. SysQuake
nÕest pas con•u pour cela, mais il donne la possibilitŽ de changer le gain de
contre-rŽaction en dŽpla•ant verticalement le diagramme de Black ou
lÕamplitude du diagramme de Bode, ou en agrandissant ou rŽduisant le
diagramme de Nyquist. Dans le diagramme de Nyquist, lorsque le
numŽrateur du rŽgulateur (polyn™me S 0 (q)) a deux param•tres, on peut
dŽplacer arbitrairement nÕimporte quel point dans le plan complexe.
Cela permet par exemple dÕimposer la marge de phase dÕun rŽgulateur
proportionnel-dŽrivateur (PD) ou proportionnel-intŽgrateur (PI).
En boucle fermŽe, SysQuake peut afÞcher la sensibilitŽ Ŝ(jω) (par rapport
ˆ laquelle est dŽÞnie la marge de module), la sensibilitŽ complŽmentaire T̂ (jω)
et la sensibilitŽ perturbationÐentrŽe Ŝup (jω). LÕimportance de ces rŽponses pour
la commande robuste a ŽtŽ expliquŽe au chapitre 1.
58 Synth•se multimod•le

Des spŽciÞcations sur les valeurs maximales de la sensibilitŽ et de la sensi-


bilitŽ perturbationÐentrŽe peuvent •tre spŽciÞŽes ; elles sont reprŽsentŽes dans
les graphiques de sensibilitŽ, ainsi que dans le diagramme de Nyquist (disque
autour du point −1) et de Black (rŽgions oblongues autour de −π − 2kπ ).
Sur nÕimporte lequel de ces graphique, on peut dŽterminer la valeur
numŽrique ˆ une frŽquence donnŽe en cliquant dans un graphique avec la
souris. La frŽquence est afÞchŽe simultanŽment dans tous les diagrammes de
rŽponses harmoniques au moyen dÕune ligne verticale, et dans les
graphiques des p™les et zŽros au moyen de la courbe de frŽquence naturelle
correspondante. Ainsi, on peut agir ˆ une frŽquence donnŽe en manipulant les
p™les correspondants.

Exemple 4.1 Pour illustrer lÕutilisation de SysQuake pour la synth•se dÕun


rŽgulateur, intŽressons-nous ˆ un syst•me simple, un entra”nement asservi en
position. La synth•se est faite dans le lieu des p™les et la vŽriÞcation des per-
formances obtenues dans le diagramme de Nyquist pour les marges de gain
et de phase, et sur la rŽponse indicielle pour les effets transitoires et perma-
nents [Lon95, exemple 9.4]. La fonction de transfert du syst•me ŽchantillonnŽ
ˆ h = 0,025 s est
10−3 (1,23z + 1,21)
H (z) =
(z − 1) (z − 0,95)

Le rŽgulateur doit assurer un statisme nul, une tra”nŽe infŽrieure ˆ 0,05, un amor-
tissement absolu de 20 en 5 pŽriodes dÕŽchantillonnage, et un amortissement
relatif de 535 par oscillation. Avec un rŽgulateur proportionnel K (z) = 10,2,
on obtient le lieu des p™les de la Þgure 4.4A. Les conditions dÕamortissement ne
peuvent •tre assurŽes pour aucun gain. On dŽforme le lieu des p™les en ajoutant
un terme dŽrivateur au rŽgulateur :
 Td / h

1+ Td
h
z− 1+Td / h
K (z) = k p
z

Les branches du lieu des p™les sont dŽformŽes en direction du zŽro intro-
duit par le terme dŽrivateur (Þg. 4.4BÐE). En dŽpla•ant ce zŽro, on observe
la dŽformation de plus en plus accentuŽe, jusquÕau moment o• les conditions
dÕamortissement peuvent •tre satisfaites. On peut alors Þxer le gain (Þg. 4.4F)
et observer les marges de robustesse et les rŽponses temporelles.
Conception assistŽe par ordinateur 59

A B C

D E F

Figure 4.4
DŽformation du lieu des p™les. A : rŽgulateur proportionnel ; la surface grisŽe corres-
pond ˆ la rŽgion qui ne satisfait pas aux conditions dÕamortissement. B-E : rŽgulateur
proportionnel dŽrivateur, avec le zŽro du terme dŽrivateur dŽplacŽ vers la droite. F :
ajustement du gain par dŽplacement dÕun p™le en boucle fermŽe dans la rŽgion qui
assure lÕamortissement dŽsirŽ.

4.7 Placement de p™les multimod•le


La synth•se du rŽgulateur par placement de p™les multimod•le (chapitre 2)
se base sur la spŽciÞcation des p™les dŽsirŽs en boucle fermŽe et de leurs poids.
Elle permet de dŽplacer les p™les et dÕamŽliorer itŽrativement la robustesse et
les performances.
Dans SysQuake, les p™les effectifs, les p™les dŽsirŽs et leurs poids sont
afÞchŽs sur le m•me graphique (Þg. 4.5). Les p™les dŽsirŽs sont reprŽsentŽs
par des croix dont les branches indiquent la direction ϕi et la valeur des poids
wi et wi⊥ . Quand on part dÕun rŽgulateur initial x, les p™les dŽsirŽs sont au
m•me emplacement que les p™les effectifs et les poids sont tous Žgaux ; ainsi,
la fonction-cožt, nulle, atteint bien son minimum. LÕutilisateur peut changer les
poids et dŽplacer les p™les dŽsirŽs, qui sont symŽtriques par rapport ˆ lÕaxe rŽel
pour assurer un rŽgulateur ˆ coefÞcients rŽels. Un nouveau rŽgulateur x +1x est
60 Synth•se multimod•le

Les limites de la synth•se interactive peuvent •tre repoussŽes !


A premi•re vue, la lourdeur des calculs quÕentra”nerait la prise en compte
dÕincertitudes continues constitue une raison supplŽmentaire de considŽrer un
ensemble Þni de mod•les. QuÕen est-il rŽellement sur des ordinateurs rŽcents ?
Pour rŽpondre ˆ cette question, intŽressons-nous au cas o• les incertitudes sont
bornŽes par un ellipso•de dans lÕespace des coefÞcients de la fonction de trans-
fert du mod•le [Bar94, HPB95]. Il est possible de calculer analytiquement le
facteur ρ( p) par lequel lÕellipso•de doit •tre multipliŽ pour que le polyn™me
caractŽristique ait un zŽro en un point p quelconque du plan complexe. Au
lieu dÕŽvaluer la fonction ρ( p) sur le pourtour du domaine de stabilitŽ, ce qui
permettrait de vŽriÞer la stabilitŽ robuste si le mod•le nominal est stabilisŽ,
nous la calculons pour tous les points de la portion de plan complexe considŽ-
rŽe, par exemple un demi-carrŽ de 2,4 × 2,4 centrŽ sur lÕorigine. Les valeurs
infŽrieures ˆ 1 correspondent aux p™les en boucle fermŽe de mod•les situŽs
ˆ lÕintŽrieur de lÕellipso•de. Le temps de calcul dŽpend de la rŽsolution et de
lÕordre du syst•me et du rŽgulateur. Sur un Macintosh dotŽ dÕun micropro-
cesseur PowerPC 604 ˆ 150 MHz, une rŽsolution de 0,01 (28 800 Žvaluations
de ρ 2 ( p) en proÞtant de la symŽtrie) et un syst•me et un rŽgulateur dÕordre 6
permettent un temps de calcul de lÕordre de 0,25 s, sufÞsamment court pour
envisager une synth•se interactive. Pour le montrer, choisissons une mŽthode
tr•s simple. Etant donnŽs un mod•le nominal, un ellipso•de dÕincertitudes et
un rŽgulateur, on peut faire correspondre ˆ chaque point p du plan complexe
le mod•le qui poss•de un zŽro en p et se trouve le plus proche du mod•le
nominal dans lÕespace des incertitudes (une solution analytique existe). Le
dŽplacement dÕun point dans le plan des p™les se traduit par le calcul dÕun
nouveau rŽgulateur par placement de p™les standard basŽ sur le mod•le cor-
respondant. LÕafÞchage des p™les est mis ˆ jour en consŽquence. Le calcul des
rŽponses temporelles et harmoniques sort du cadre de ce travail, mais il est
intŽressant de voir que lÕaugmentation de la puissance des ordinateurs permet
des approches totalement nouvelles. Les graphiques ci-dessous correspondent
au syst•me dŽcrit au chapitre 5.
Conception assistŽe par ordinateur 61

Figure 4.5 Graphique du placement de p™les multimod•le dans SysQuake.

calculŽ et les p™les effectifs (de m•me que tous les autres graphiques) sont mis
ˆ jour. Ainsi, on voit immŽdiatement lÕeffet du dŽplacement, et ˆ quel point le
p™le dŽsirŽ entra”ne le p™le rŽel correspondant. Lorsque celui-ci dŽcroche parce
que lÕapproximation linŽaire du dŽplacement du p™le devient trop mauvaise,
lÕutilisateur a trois possibilitŽs :

• il augmente le poids de certains p™les dŽsirŽs ;

• il dŽplace de fa•on importante les p™les non dominants, qui ont une faible
inßuence sur la position des p™les dominants, mais peuvent dŽbloquer la
situation ;

• il remplace le rŽgulateur initial x par sa nouvelle valeur x + 1x et replace


tous les p™les dŽsirŽs sur les p™les effectifs (une commande de SysQuake
permet de le faire facilement), puis tente une nouvelle itŽration.

La manipulation des p™les dŽsirŽs diff•re de celle dÕautres ŽlŽments en ceci


quÕelle agit non pas sur le rŽgulateur principal x, mais sur un rŽgulateur auxiliaire
x + 1x. La valeur de x est en effet nŽcessaire pour linŽariser le dŽplacement des
p™les en fonction du rŽgulateur. LÕutilisateur ne remarque pas cette diffŽrence ;
sÕil passe du placement de p™les multimod•le ˆ une autre mŽthode de synth•se,
le rŽgulateur x prend instantanŽment la valeur de x + 1x et les diffŽrents
graphiques ne changent pas.
62 Synth•se multimod•le

4.8 Crit•res de performances


En plus de lÕinformation essentiellement qualitative fournie par les graphiques,
SysQuake peut Žgalement afÞcher des valeurs numŽriques pour certains in-
dices de robustesse et de performances standard. Les grandeurs suivantes sont
calculŽes pour tous les mod•les :

• Marge de phase et pulsation de croisement

• Marge de gain et pulsation critique

• Marge de module

• Marge de retard

• Temps de montŽe (de zŽro ˆ un pourcentage quelconque)

• Temps dÕamortissement (plus ou moins un pourcentage quelconque)

• DŽpassement de la rŽponse indicielle

• DŽpassement nŽgatif de la rŽponse indicielle (effet non-minimum de


phase)

• Temps dÕamortissement dÕun saut de perturbation en sortie

• IntŽgrale de la valeur absolue de lÕerreur suite ˆ un saut de perturbation


en sortie (nÕa de sens que si le syst•me en boucle ouverte poss•de un
intŽgrateur).

4.9 EntrŽes-sorties
Le r™le de SysQuake est complŽmentaire ˆ celui dÕautres logiciels de synth•se
et dÕanalyse. Il est donc important que les donnŽes, et en premier lieu les co-
efÞcients des mod•les et du rŽgulateur, puissent •tre ŽchangŽes dans un format
commun. Un format compatible avec Matlab a ŽtŽ choisi.
SysQuake enregistre la description du syst•me et du rŽgulateur, ainsi quÕun
certain nombre de crit•res de robustesse et de performances, sous forme de liste
dÕaffectations dans un Þchier texte. En faisant exŽcuter ce Þchier par Matlab,
on dŽÞnit des variables qui peuvent •tre utilisŽes pour poursuivre lÕanalyse et
la synth•se du rŽgulateur. En lecture, SysQuake est aussi tolŽrant que possible :
Conception assistŽe par ordinateur 63

seuls les coefÞcients des polyn™mes des mod•les et du rŽgulateur et la pŽriode


dÕŽchantillonnage sont lus, et lÕabsence de certaines valeurs est permise (par
exemple, lÕabsence du polyn™me T (q) est interprŽtŽe comme lÕindication dÕun
rŽgulateur ˆ un degrŽ de libertŽ K (q) = S(q)/R(q)).
On peut aussi utiliser le presse-papier du Macintosh (commandes Copier
et Coller) pour transfŽrer les coefÞcients des mod•les ou du rŽgulateur entre
SysQuake et Matlab.
En ce qui concerne les graphiques, on peut les copier sous forme dÕimages
de type PICT (format graphique natif du Macintosh) ou les imprimer. La qualitŽ
nÕest pas optimale, mais donne une image Þd•le de la reprŽsentation ˆ lÕŽcran.

4.10 Conclusions
Le dŽveloppement dÕun programme de synth•se de rŽgulateur assistŽe par or-
dinateur, SysQuake, a permis de valider lÕapproche du placement de p™les mul-
timod•le interactif. La rapiditŽ des ordinateurs personnels modernes permet de
mettre ˆ jour plusieurs fois par seconde des graphiques qui demandaient des
heures de travail fastidieux il y a quelques annŽes. LÕinteractivitŽ apporte ˆ
lÕingŽnieur une comprŽhension intuitive de la relation entre les grandeurs de
synth•se et les performances du rŽgulateur. Le format des Þchiers compati-
ble avec Matlab facilite son intŽgration dans un ensemble plus large dÕoutils
logiciels.
Un aspect secondaire en ce qui concerne ce travail, mais nŽanmoins impor-
tant, est le c™tŽ Žducatif de SysQuake. La manipulation directe des courbes et
lÕobservation de lÕeffet des changements sur dÕautres reprŽsentations du couple
syst•meÐrŽgulateur permet de comprendre intuitivement les relations entre le
rŽgulateur et les propriŽtŽs du syst•me en boucle fermŽe. SysQuake est utilisŽ
actuellement ˆ lÕInstitut dÕautomatique lors de cours ex cathedra pour remplacer
les graphiques statiques sur transparent, et lors de sŽances de travaux pratiques.
EnÞn, il convient de prŽciser que ce chapitre dŽcrit SysQuake tel quÕil a
ŽtŽ implantŽ. Certains choix, notamment au niveau de lÕinterface-utilisateur,
rŽsultent dÕun compromis entre ce qui semblait •tre la meilleure solution et le
temps ˆ disposition. Il faut donc considŽrer SysQuake comme un outil logiciel
qui a montrŽ son utilitŽ, mais qui reste perfectible.
Chapitre 5

Exemple dÕapplication

5.1 Introduction
Dans ce chapitre, nous allons illustrer les mŽthodes de synth•se vues aux
chapitres 2 et 3 en les appliquant ˆ un syst•me incertain, en exploitant le logi-
ciel SysQuake dŽveloppŽ au chapitre 4. Le syst•me retenu est un bras souple
se mouvant dans un plan horizontal autour dÕun axe entra”nŽ par un moteur
Žlectrique, le but Žtant de rŽguler la position de lÕextrŽmitŽ libre. Il a ŽtŽ con•u
et rŽalisŽ par le Laboratoire dÕautomatique de Grenoble (INPG) et a fait lÕobjet
dÕun benchmark [LCRB96]. Le choix de ce syst•me prŽsente un certain nombre
dÕavantages :

• Le bras souple se pr•te particuli•rement bien aux mŽthodes de synth•se


proposŽes dans ce travail : le syst•me est reprŽsentŽ par trois mod•les
ŽchantillonnŽs, le rŽgulateur doit •tre linŽaire, SISO, et ˆ deux degrŽs de
libertŽ, et les spŽciÞcations sont nombreuses et diverses.

• Le bras souple est un syst•me difÞcile ˆ rŽguler : il poss•de trois modes


de rŽsonance mal amortis et de grandes variations paramŽtriques.

• Les spŽciÞcations nous sont imposŽes, ce qui exclut toute manipulation


de notre part dans le but de rendre les rŽsultats plus ßatteurs.

• DÕautres mŽthodes ont ŽtŽ utilisŽes et peuvent servir de points de com-


paraison.
66 Synth•se multimod•le

position
mesurŽe
position
moteur A/D

u(t) y(t)

PD D/A RST
r (t)

Figure 5.1 Bras souple vu de dessus.

La suite de ce chapitre est organisŽe comme suit. Le syst•me et ses mod•les


sont dŽcrits dans la section 5.2. Les spŽciÞcations, reprises telles quelles du banc
dÕessai, sont exposŽes ˆ la section 5.3. Les sections 5.4 et 5.5 sont lÕapplication
des deux mŽthodes de synth•se dŽveloppŽes dans les chapitres prŽcŽdents : la
synth•se interactive par placement de p™les multimod•le dÕune part, avec opti-
misation dÕun prŽÞltre par approximation dÕune rŽponse indicielle de rŽfŽrence,
et lÕoptimisation multiobjective dÕautre part. Les rŽsultats sont comparŽs avec
les autres solutions proposŽes pour le benchmark dans la section 5.6. EnÞn, la
section 5.7 contient quelques remarques en guise de conclusion.

5.2 Description du syst•me


Le syst•me utilisŽ pour lÕapplication expŽrimentale des mŽthodes proposŽes
dans ce travail est un bras souple tournant autour dÕun axe vertical (cf. Þg. 5.1).
Le bras est constituŽ de deux lames dÕaluminium reliŽes par des entretoises qui
autorisent des mouvements dans le plan horizontal (lÕinßuence de la gravitŽ se li-
mite aux dŽfauts de construction). Il poss•de une inÞnitŽ de modes dÕoscillation,
dont les six premiers sont mesurables. Le syst•me peut •tre modiÞŽ par lÕajout
dÕune masse de 25 g ou 75 g ˆ lÕextrŽmitŽ du bras, ce qui provoque notamment
un dŽplacement des frŽquences de rŽsonance. LÕarbre central est entra”nŽ par
Exemple dÕapplication 67

un moteur Žlectrique ˆ courant continu, et asservi en position par un rŽgulateur


Þxe de type PD. La position de lÕextrŽmitŽ du bras, repŽrŽe par une diode in-
frarouge, est mesurŽe par une camŽra. La mesure et la valeur de consigne pour
le rŽgulateur interne sont ŽchantillonnŽs ˆ 70 ms.
Le syst•me est modŽlisŽ avec son rŽgulateur interne par une fonction de
transfert en z. LÕidentiÞcation est faite en boucle ouverte1 avec une sŽquence
binaire pseudo-alŽatoire de 765 Žchantillons. Pour Žviter la saturation de la
sortie (limitŽe par lÕangle de vision de la camŽra de mesure) ou la destruction
du syst•me, on choisit une faible amplitude de commande.
Les mod•les identiÞŽs pour les masses de 0 g, 25 g et 75 g sont respective-
ment

0,04235q 4 +0,04359q 3 −0,16986q 2 +0,42575q−0,19068


H0 (q) = q 6 −1,95524q 5 +1,38492q 4 −0,57667q 3 +0,81758q 2 −1,3332q+0,76063
0,03682q 4 +0,00961q 3 −0,10102q 2 +0,28427q−0,12933
H25 (q) = q 6 −2,12025q 5 +1,50938q 4 −0,41965q 3 +0,67078q 2 −1,28873q+0,71391
(5.1)
0,03531q 4 +0,0152q 3 −0,12648q 2 +0,2731q−0,13373
H75 (q) = q 6 −2,30990q 5 +1,73794q 4 −0,46104q 3 +0,72261q 2 −1,33301q+0,68082

La Þgure 5.2 montre les p™les et les zŽros en boucle ouverte. On constate la
prŽsence de zŽros ˆ non-minimum de phase, lesquels posent des probl•mes aux
mŽthodes de synth•se qui cherchent plus ou moins explicitement ˆ inverser la
dynamique du syst•me. Les zŽros rŽels supŽrieurs ˆ 1 provoquent un comporte-
ment vicieux [EK91] qui ne peut pas •tre compensŽ par le rŽgulateur [HMPL95],
mais le bras nÕen poss•de pas. On peut le vŽriÞer sur les rŽponses indicielles de
la Þgure 5.3. On constate Žgalement que le gain statique est diffŽrent de 1 et
varie selon la charge, contrairement ˆ ce que la description physique du syst•me
pouvait laisser croire. Cela est probablement dž aux imperfections mŽcaniques
(et en particulier ˆ un axe qui nÕest pas rigoureusement vertical) qui font que
le bras plie lŽg•rement sous lÕeffet de son poids. EnÞn, les oscillations tr•s mal
amorties laissent prŽvoir la difÞcultŽ dÕun asservissement rapide et sans grand
dŽpassement. La Þgure 5.4 montre les rŽponses harmoniques des trois mod•les,
avec leurs trois pics de rŽsonance tr•s mal amortis qui varient considŽrablement
en fonction de la charge.

1 Seul le rŽgulateur PD est utilisŽ pendant lÕidentiÞcation. Dans ce qui suit, la boucle de contre-

rŽaction considŽrŽe sera toujours la boucle extŽrieure.


68 Synth•se multimod•le

Im 0

-1

-3 -2 -1 0 1
Re
Figure 5.2
P™les et zŽros du bras souple en boucle ouverte pour les trois mod•les (pour les mod•les
ˆ 0 g, 25 g et 75 g, les p™les sont reprŽsentŽs respectivement par ×, + et ∗, et les zŽros
par ◦, 4 et ).
Exemple dÕapplication 69

y 2

0
0 5 10 15 20 25 30
t [s]

Figure 5.3
RŽponses indicielles du bras souple en boucle ouverte pour les trois mod•les (trait plein :
0 g, pointillŽ : 25 g, traitillŽ : 75 g).

5.3 SpŽciÞcations

Les spŽciÞcations, toutes imposŽes par les auteurs du benchmark, concernent


la structure du rŽgulateur, la stabilitŽ robuste, les performances robustes en
rŽgulation et les performances robustes en asservissement. Chacune dÕentre
elles doit •tre respectŽe pour les trois mod•les en simulation. Le rŽgulateur est
ensuite essayŽ sur le syst•me rŽel. Les coefÞcients des polyn™mes sont arrondis
ˆ 11 dŽcimales.

5.3.1 Structure du rŽgulateur

Le rŽgulateur est de type RST ˆ deux degrŽs de libertŽ, ŽchantillonnŽ ˆ 70 ms,


invariant dans le temps. Un intŽgrateur est imposŽ pour Žviter tout statisme de
rŽgulation, et le gain statique en asservissement est unitŽ.
70 Synth•se multimod•le

50

|H (ejωh )| 0

-50
0 1 2
10 10 10
0

arg H (ejωh )-10

-20
0 1 2
10 10 10
ω [rad/s]

Figure 5.4
RŽponse harmonique du bras souple en boucle ouverte pour les trois mod•les (trait plein :
0 g, pointillŽ : 25 g, traitillŽ : 75 g).
Exemple dÕapplication 71

5.3.2 StabilitŽ et performances robustes en rŽgulation


La marge de module, distance entre la rŽponse harmonique en boucle ouverte
et le point critique −1 dans le plan complexe, Žgale ˆ lÕinverse de la norme H∞
de la sensibilitŽ Ŝ, doit •tre supŽrieure ˆ 0,5, soit −6 dB.
La marge de retard, retard minimum qui, ajoutŽ ˆ la boucle, rendrait le
syst•me instable, doit •tre supŽrieure ˆ 70 ms. On Žvite ainsi lÕinstabilitŽ
m•me si le temps de calcul de la commande est lent par rapport ˆ la pŽriode
dÕŽchantillonnage.
LÕamplitude de la sensibilitŽ perturbation-entrŽe Ŝup doit •tre infŽrieure ˆ
15 dB entre 0 et 80 % de la pulsation de Nyquist, et infŽrieure ˆ 10 dB au-delˆ.
On Žvite ainsi une excitation trop grande du syst•me qui se traduirait par des
ventres de grande amplitude au milieu du bras souple.
Le temps dÕŽtablissement ˆ 10 % de la perturbation apr•s un saut de per-
turbation doit •tre infŽrieur ˆ 2,8 s.
LÕintŽgrale de la valeur absolue de lÕerreur de sortie apr•s un saut unitŽ
de perturbation doit •tre infŽrieur ˆ 1,5 s. Notons que cette intŽgrale est Þnie,
parce que le statisme est nul.

5.3.3 Performances robustes en asservissement


Les trois crit•res de performances en asservissement concernent la sortie apr•s
un saut de consigne.
Le temps de montŽe de 0 ˆ 90 % doit •tre infŽrieur ˆ 1,8 s. Le temps
dÕŽtablissement ˆ ±2 % doit •tre infŽrieur ˆ 4,8 s. Le dŽpassement maximum
doit •tre infŽrieur ˆ 10 %.

5.3.4 Remarques
Avant m•me de chercher ˆ synthŽtiser un rŽgulateur, on peut observer que le
probl•me est difÞcile. En se basant sur le temps dÕŽtablissement pour le rejet
dÕune perturbation, on obtient une bande passante pour la rŽgulation dÕenviron
0,8 rad/s, soit pr•s de trois fois moins que le premier pic de rŽsonance ; or
celui-ci varie fortement en fonction du mod•le.
Notons Žgalement que le temps de montŽe, nettement plus faible que le temps
dÕŽtablissement, peut favoriser les prŽÞltres au faible amortissement relatif. Le
dŽpassement nŽgatif nÕest pas interdit, ce qui nÕest pas grave car il impliquerait
probablement des oscillations importantes ou un faible temps de montŽe. EnÞn,
aucune spŽciÞcation ne limite le gain entre la consigne et la commande.
72 Synth•se multimod•le

5.4 Placement de p™les multimod•le


La premi•re mŽthode de synth•se que nous allons utiliser est le placement de
p™les multimod•le dŽveloppŽ au chapitre 2. Un rŽgulateur initial est tout dÕabord
obtenu par placement de p™les standard, puis le placement de p™les multimod•le
est utilisŽ pour obtenir de bonnes performances pour les trois mod•les. Lorsque
toutes les spŽciÞcations concernant la contre-rŽaction S(q)/R(q) sont remplies,
le polyn™me T (q) est optimisŽ pour obtenir le comportement dŽsirŽ des rŽponses
indicielles en asservissement.

5.4.1 RŽgulateur initial


Le rŽgulateur initial doit remplir deux conditions : il doit avoir les m•mes parties
Þxes que le rŽgulateur Þnal (ou plus prŽcisŽment ses p™les et zŽros prŽspŽci-
ÞŽs doivent contenir les parties Þxes du rŽgulateur Þnal), et le degrŽ de ses
polyn™mes doit •tre ÞxŽ. Pour diminuer le nombre dÕitŽrations lors de la syn-
th•se multimod•le, il ne devrait pas •tre exagŽrŽment ŽloignŽ dÕune solution
acceptable. Un intŽgrateur est imposŽ par le cahier des charges ; choisissons
donc
R f (q) = q − 1
Une premi•re tentative avec S f (q) = 1, deg R 0 = 5 et deg S 0 = 6, degrŽs
minimaux pour permettre de placer les p™les en boucle fermŽe associŽs ˆ un
mod•le de fa•on arbitraire, nÕa pas permis de remplir les spŽciÞcations de
rŽgulation ; choisissons deg R 0 = 7 et deg S 0 = 6. Pour Žviter un retard nŽfaste
quant ˆ la robustesse dans la contre-rŽaction, nous choisissons S f (q) = q 2 .
Pour le placement de p™les multimod•le, qui permet le choix de nÕimporte quel
rŽgulateur causal, nous poserons S f (q) = 1 et S 0 (q) = S(q) pour proÞter de
tous les param•tres disponibles.
Nous rŽpartissons dÕabord les p™les du mod•le intermŽdiaire uniformŽment
sur lÕaxe rŽel en (i − 1)/ deg C, i = 1,2, . . . , deg C. Les p™les correspondant
aux deux autres mod•les ne sont pas tous stables. SysQuake permet de les
dŽplacer ˆ lÕintŽrieur du cercle unitŽ en les faisant glisser avec la souris ; le
mod•le correspondant au p™le dŽplacŽ devient nominal (cf. Þg. 5.52 ). Les trois
mod•les sont stabilisŽs en quelques secondes.
2 Il convient de prŽciser que le rŽgulateur obtenu nÕest pas exactement le m•me que celui utilisŽ

pour la suite de cette section, bien que la mŽthode soit identique ; la synth•se interactive aboutit ˆ
des rŽsultats toujours lŽg•rement diffŽrents, mais lÕexpŽrience montre que les performances sont
similaires.
Exemple dÕapplication 73

Figure 5.5
DŽplacement des p™les en boucle fermŽe pour obtenir un rŽgulateur qui stabilise les trois
mod•les.
74 Synth•se multimod•le

5.4.2 Synth•se interactive de la contre-rŽaction


Les performances obtenues avec le rŽgulateur initial sont loin de remplir le
cahier des charges. Il est en effet sans espoir de manipuler les p™les de lÕun
des mod•les pour en augmenter les performances sans dŽgrader celles obtenues
sur un autre mod•le. Passons donc au placement de p™les multimod•le, dont
le but est justement dÕobtenir un compromis entre le dŽplacement de p™les de
diffŽrents syst•mes.
La synth•se est trop longue pour en dŽtailler tous les pas, bien quÕelle se fasse
sans peine avec SysQuake. Concentrons-nous sur lÕun dÕentre eux. On part dÕun
rŽgulateur pour lequel on calcule les p™les en boucle fermŽe, les fonctions de
sensibilitŽ et la rŽponse ˆ un saut indiciel de perturbation. Le but est de diminuer
lÕamplitude des pics de rŽsonance de Ŝ(ejωh ) en-dessous de 6 dB, et dÕobtenir
le temps dÕamortissement de la perturbation voulu. Les pics ˆ la pulsation ω
correspondent ˆ des p™les proches de ejωh sur le cercle unitŽ. On va donc agir
essentiellement sur ces p™les en leur donnant une pondŽration importante. Quant
au temps de rejet de perturbation, il est liŽ aux p™les dominants, quÕil sÕagit aussi
dÕamortir le plus possible.
La Þgure 5.6 montre un pas dÕamŽlioration interactive. On part dÕune situ-
ation o• un pic de rŽsonance sort nettement des spŽciÞcations. SysQuake peut
tracer la courbe de frŽquence correspondante dans le plan des p™les en boucle
fermŽe, ce qui permet dÕidentiÞer facilement la paire de p™les en cause. Pour
rŽduire le pic, il faut les Žloigner du cercle unitŽ, tout en Žvitant de dŽgrader
les performances des autres mod•les ou dÕampliÞer la rŽsonance ˆ dÕautres
frŽquences. Pour cela, on augmente la pondŽration des p™les mal amortis dans
la direction radiale (un dŽplacement en frŽquence ne dŽgraderait pas les perfor-
mances au vu du cahier des charges) ; puis on dŽplace la paire de p™les dŽsirŽs
vers lÕorigine. LÕensemble des p™les se dŽplace. On obtient bien lÕeffet escomptŽ
(le pic de rŽsonance est fortement rŽduit), mais simultanŽment on observe un
net ralentissement du rejet de la perturbation, dž ˆ un dŽplacement des p™les
rŽels dominants vers la droite. On combat cet effet en augmentant le poids as-
sociŽ ˆ ces p™les, et on obtient Þnalement un compromis acceptable. Quand
on ne peut plus amŽliorer les performances en jouant avec les pondŽrations et
lÕemplacement des p™les dŽsirŽs parce que lÕapproximation linŽaire faite pour
rendre la fonction-cožt quadratique devient trop mauvaise, on replace tous les
p™les dŽsirŽs sur les p™les effectifs et on recommence une itŽration.
Un fois que les fonctions de sensibilitŽ et le temps dÕŽtablissement pour le
rejet de la perturbation est obtenu dans SysQuake, on peut exporter le rŽgula-
Exemple dÕapplication 75

Figure 5.6
Diminution dÕun pic de la fonction de sensibilitŽ tout en Žvitant le ralentissement du
rejet de la perturbation par placement de p™les multimod•le. En haut, p™les en boucle
fermŽe, p™les dŽsirŽs et poids ; rangŽe du centre, amplitude de la sensibilitŽ Ŝ(ejωh ) ; en
bas, signal de sortie dÕun saut indiciel de perturbation (les spŽciÞcations sur | Ŝ| et sur
le temps de rejet de perturbation sont reprŽsentŽes par les zones ombrŽes). A gauche,
situation initiale o• les p™les dŽsirŽs sont confondus avec les p™les en boucle fermŽe
et les poids sont tous identiques ; colonne du milieu, pondŽration importante des p™les
correspondant ˆ des pics de rŽsonance, et dŽplacement vers le centre des p™les dŽsirŽs les
plus mal amortis ; ˆ droite, pondŽration plus importante du p™le rŽel le plus mal amorti
pour Žviter un ralentissement excessif du syst•me.
76 Synth•se multimod•le

teur dans Matlab pour vŽriÞer les autres points du cahier des charges, ˆ savoir
lÕintŽgrale de lÕerreur pour le rejet de la perturbation et la marge de retard.
Dans ce cas, aucune retouche nÕa ŽtŽ nŽcessaire. Pratiquement, la synth•se de
la contre-rŽaction pour le bras souple a durŽ environ une heure.

5.4.3 Optimisation du prŽÞltre


Une fois que la partie contre-rŽaction du RST est synthŽtisŽe de telle sorte que
les spŽciÞcations sur la rŽgulation sont remplies, on peut dŽterminer le prŽÞltre
T (q) pour tenter dÕassurer le comportement dŽsirŽ en asservissement. Si cette
t‰che sÕav•re impossible, il faut retoucher R(q) et S(q) qui inßuencent eux
aussi lÕasservissement.
Les spŽciÞcations sur lÕasservissement comprennent le gain statique, le
temps de montŽe, le temps dÕŽtablissement et le dŽpassement maximum pour
les trois mod•les (performances robustes). La mŽthode que nous proposons ici
est de calculer les coefÞcients de T (q) de telle sorte que la somme de lÕerreur
quadratique entre la rŽponse indicielle associŽe aux trois mod•les et une rŽponse
de rŽfŽrence yref (t) soit aussi faible que possible (section 3.7). La fonction-cožt
suivante, linŽaire par rapport aux coefÞcients de T (q), est minimisŽe :
X
m X
50
 
J (T (q)) = w yk (t)(yk (t) − yref (t))2 (5.2)
k=1 t=1

o• la sortie yk (t) vaut


B(q)T (q)
yk (t) = s(t)
A(q)R(q) + B(q)S(q)
Les poids w yk (t) sont choisis pour mettre lÕaccent sur les Žchantillons o•
les spŽciÞcations sont les plus critiques. La fen•tre de temps de 50 pŽriodes
dÕŽchantillonnage est choisie assez large pour couvrir tous les transitoires et le
temps dÕamortissement dŽsirŽ. LÕalgorithme suivant est utilisŽ :
1) Fixer w yk (t) ← 1 pour k = 1,2,3 et t = 1, . . . ,50
2) Calculer un polyn™me T (q) qui minimise (5.2)
3) SÕarr•ter si les rŽponses indicielles sont satisfaisantes
4) Si le dŽpassement est supŽrieur ˆ 10 %, augmenter le poids des Žchantil-
lons supŽrieurs ˆ 1,05
Exemple dÕapplication 77

5) Augmenter le poids des Žchantillons infŽrieurs ˆ 0 pour Žviter un dŽpasse-


ment nŽgatif

6) Si le temps de montŽe ou le temps dÕŽtablissement est supŽrieur aux


valeurs demandŽes, augmenter le poids des Žchantillons des mod•les qui
posent probl•me entre t = 20 et t = 30

7) ItŽrer ˆ partir du pas 2

Cet algorithme nÕa pas tous les rafÞnements de celui dŽcrit ˆ la section 3.7,
mais a lÕavantage dÕ•tre dÕune extr•me simplicitŽ et sufÞt pour les spŽciÞcations.
La fen•tre de pondŽration pour obtenir le temps de montŽe voulu a ŽtŽ ÞxŽ une
fois pour toutes entre t = 20h et 30h. Seule la rŽponse de rŽfŽrence a fait lÕobjet
de quelques t‰tonnements. Finalement, on trouve celle qui donne les meilleurs
rŽsultats :
(1 − 0,76)(1 − 0,795)
yref (t) = s(t)
(q − 0,76)(q − 0,795)
Notons que si lÕon sÕen tient strictement au cahier des charges, on obtient une
rŽponse au temps de montŽe et au dŽpassement excellents avec une consigne en
forme de saut indiciel, yref (t) = s(t) ; mais on observe des oscillations impor-
tantes dont lÕenveloppe supŽrieure est proche de 1, et un signal de commande
tr•s agitŽ.

5.4.4 RŽsultats
Le premier rŽgulateur obtenu est

R1 (q) = q 8 − 2,0622152274q 7 + 1,7085132392q 6


− 0,8565805107q 5 + 0,1704145328q 4 + 0,0668739956q 3
− 0,0281891384q 2 + 0,0012424044q − 5,92956 · 10−5
S1 (q) = 1,1725811844q 8 − 3,4836988059q 7 + 4,5602593075q 6
− 3,3463279465q 5 + 1,0230804907q 4 + 0,1982279163q 3
− 0,1115426339q 2 + 0,0003996736q − 0,0001086641
T1 (q) = 0,50555469322q 8 − 0,8818344827q 7 + 0,27424047443q 6
− 0,39005184768q 5 + 2,1378620485q 4 − 3,2317146786q 3
+ 2,1776982989q 2 − 0,60567300468q + 0,026789020565
(5.3)
Toutes les spŽciÞcations sont remplies ; elles sont rŽsumŽes dans le tableau 5.1.
Les rŽponses harmoniques sont reprŽsentŽes dans la Þgure 5.7, et les rŽponses
78 Synth•se multimod•le

Tableau 5.1
Performances obtenues par placement de p™les multimod•le (rŽgulateur 1)

SpŽcif. 0g 25 g 75 g
Temps de montŽe [s] < 1,8 1,75 1,61 1,12
Temps dÕŽtablissement ±2 % [s] < 4,8 2,73 2,94 4,69
DŽpassement [%] < 10 0,02 0 5,65
Rejet de perturbation ±10 % [s] < 2,8 2,45 2,38 2,52
IntŽgrale de lÕerreur < 1,5 1,27 1,28 1,29
apr•s un saut de p(t) [s]
Marge de module [dB] > −6 −5,88 −4,65 −5,83
Marge de retard [ms] > 70 80,4 186,1 267,9
maxω/ω N ∈[0;0,8] | Ŝup | [dB] < 15 11,03 9,22 8,88
maxω/ω N ∈[0,8;1] | Ŝup | [dB] < 10 9,66 8,72 8,70

temporelles obtenues en simulation dans la Þgure 5.8. EnÞn, les rŽsultats expŽri-
mentaux font lÕobjet de la Þgure 5.9. Dans tous les graphiques de cette section,
le mod•le correspondant ˆ lÕabsence de masse additionnelle est reprŽsentŽ par
un trait plein, celui ˆ une masse de 25 g par un trait pointillŽ, et celui ˆ 75 g par
un traitillŽ.
On constate une tr•s forte agitation de la commande qui se traduit par
une violente secousse sur la sortie. Les rŽsultats expŽrimentaux montrent une
oscillation ˆ haute frŽquence tr•s mal amortie. De plus Ñ ce qui ne se voit
pas sur les graphiques Ñ, le bras subit des dŽformations de forte amplitude.
Ce probl•me est causŽ par la trop forte ampliÞcation des hautes frŽquences et
un syst•me mal modŽlisŽ ˆ haute frŽquence pour ces amplitudes. Le syst•me
nÕest en effet pas parfaitement linŽaire, en raison notamment du frottement
sec. LÕamplitude des mouvements sur lesquels est basŽe lÕidentiÞcation des
coefÞcients a donc une certaine importance.
Il y a plusieurs fa•ons de rendre les spŽciÞcations plus contraignantes pour
Žviter ce probl•me. Celle suggŽrŽe par les auteurs du benchmark consiste ˆ
rŽduire la borne sur lÕamplitude de la sensibilitŽ perturbation-entrŽe.
CÕest ce que nous avons accompli lors de la synth•se dÕun second rŽgulateur.
Pour ce faire, nous avons ajoutŽ au polyn™me de contre-rŽaction S(q) une partie
Þxe S f (q) = q + 0,8, qui provoque un amortissement des hautes frŽquences.
Cette modiÞcation requiert des retouches mineures par placement de p™les
Exemple dÕapplication 79

10

| Ŝ| -5

-10

-15

-20
0 0.5 1 1.5 2 2.5 3
20

10

0
| Ŝup |
-10

-20

-30
0 0.5 1 1.5 2 2.5 3
ωh

Figure 5.7
SensibilitŽ perturbations-sortie Ŝ (haut) et sensibilitŽ perturbation-commande Ŝup (bas)
pour les trois mod•les et le premier rŽgulateur. Les valeurs limites imposŽes par les
spŽciÞcations sont reprŽsentŽes en trait mixte.
80 Synth•se multimod•le

0.8

y 0.6

0.4

0.2

0
0 5 10 15 20 25
1

0.5

-0.5
0 5 10 15 20 25
t [s]

Figure 5.8
Sortie (haut) et commande (bas) pour les trois mod•les et le premier rŽgulateur. Un saut
unitŽ de consigne intervient ˆ t = 10h = 0,7 s et un saut de perturbation de −0,2 ˆ
t = 250h = 17,5 s.
Exemple dÕapplication 81

0.8

0.6
y
0.4

0.2

-0.2
0 5 10 15 20 25

0.5

-0.5
0 5 10 15 20 25
t [s]

Figure 5.9
Sortie (haut) et commande (bas) pour le bras muni dÕune masse de 25 g et le premier
rŽgulateur (donnŽes expŽrimentales). La consigne est un signal carrŽ entre 0 et 1 ; aucune
perturbation dŽlibŽrŽe nÕest ajoutŽe.
82 Synth•se multimod•le

Tableau 5.2
Performances obtenues par placement de p™les multimod•le (rŽgulateur 2)

SpŽcif. 0g 25 g 75 g
Temps de montŽe [s] < 1,8 1,68 1,68 1,19
Temps dÕŽtablissement ±2 % [s] < 4,8 2,73 2,73 4,69
DŽpassement [%] < 10 0 0 9,56
Rejet de perturbation ±10 % [s] < 2,8 2,66 2,52 2,52
IntŽgrale de lÕerreur < 1,5 1,36 1,37 1,36
apr•s un saut de p(t) [s]
Marge de module [dB] > −6 −5,99 −4,72 −5,86
Marge de retard [ms] > 70 96,9 178,0 261,6
maxω/ω N ∈[0;0,8] | Ŝup | [dB] < 15 7,98 6,64 6,35
maxω/ω N ∈[0,8;1] | Ŝup | [dB] < 10 4,77 4,34 4,34

multimod•le, puis une nouvelle optimisation de T (q). On obtient alors


R2 (q) = q 8 − 1,7869116721q 7 + 1,1208560956q 6
− 0,3536421681q 5 − 0,1523763837q 4 + 0,3392257542q 3
− 0,2208093532q 2 + 0,05321675q + 0,0004409775
S2 (q) = 0,8939174463q 8 − 2,1431541309q 7 + 2,1538301112q 6
− 1,0919451051q 5 − 0,4948123825q 4 + 1,2737120039q 3
− 0,7853783997q 2 + 0,2077017152q + 0,0017705751
T2 (q) = 0,61267203858q 8 − 1,2266122439q 7 + 0,93852458502q 6
− 0,49039398584q 5 + 0,11614713569q 4 + 0,24136045837q 3
− 0,46906705501q 2 + 0,4796200339q − 0,18660913322
(5.4)

Lˆ encore, le cahier des charges est rempli. Les nouvelles performances font
lÕobjet du tableau 5.2. La Þgure 5.10 montre la diminution du gain du rŽgulateur
ˆ haute frŽquence ; lÕajout dÕun zŽro ˆ haute frŽquence dans S f (q) a donc bien
lÕeffet escomptŽ. Les Þgures 5.11 et 5.12 montrent les rŽsultats de simulation,
et la Þgure 5.13 les rŽsultats expŽrimentaux. On constate bien une diminution
importante du module de la fonction de transfert entre la perturbation et la
commande. Cela se reß•te non seulement sur le rejet de la perturbation, mais
aussi sur la commande nŽcessaire pour suivre un saut de consigne. Le revers
de la mŽdaille est un rejet de perturbation lŽg•rement plus lent, et surtout une
Exemple dÕapplication 83

30

20

10

S
0
R

-10

-20

-30
0 0.5 1 1.5 2 2.5 3
ωh

Figure 5.10
Gain de la contre-rŽaction S(ejωh )/R(ejωh ) pour le premier rŽgulateur (trait plein) et le
second (trait mixte).
84 Synth•se multimod•le

10

| Ŝ| -5

-10

-15

-20
0 0.5 1 1.5 2 2.5 3
20

10

0
| Ŝup |
-10

-20

-30
0 0.5 1 1.5 2 2.5 3
ωh

Figure 5.11
SensibilitŽ perturbations-sortie Ŝ (haut) et sensibilitŽ perturbation-commande Ŝup (bas)
pour les trois mod•les et le second rŽgulateur. Les valeurs limites imposŽes par les
spŽciÞcations sont reprŽsentŽes en trait mixte.
Exemple dÕapplication 85

0.8

y 0.6

0.4

0.2

0
0 5 10 15 20 25
1

0.5

-0.5
0 5 10 15 20 25
t [s]

Figure 5.12
Sortie (haut) et commande (bas) pour les trois mod•les et le second rŽgulateur. Un saut
unitŽ de consigne intervient ˆ t = 10h = 0,7 s et un saut de perturbation de −0,2 ˆ
t = 250h = 17,5 s.
86 Synth•se multimod•le

0.8

y 0.6

0.4

0.2

0
0 2 4 6 8 10 12 14 16 18

0.8

0.6

u 0.4

0.2

-0.2
0 2 4 6 8 10 12 14 16 18
t [s]

Figure 5.13
Sortie (haut) et commande (bas) pour les trois syst•mes et le second rŽgulateur (don-
nŽes expŽrimentales). A gauche, saut de consigne ; ˆ droite, choc ˆ lÕextrŽmitŽ du bras
(graphique normalisŽ pour avoir la m•me amplitude en sortie pour les trois syst•mes).
Exemple dÕapplication 87

nette augmentation du dŽpassement, qui passe de 5,6 % ˆ 9,6 %. Ceci est dž au


ralentissement de la rŽgulation ; pour obtenir le temps de montŽe requis, qui est
tr•s difÞcile ˆ atteindre, il faut rendre le Þltre de consigne T (q) plus rapide, ce
qui augmente le dŽpassement.
Bien que les rŽsultats expŽrimentaux diff•rent lŽg•rement des simulations,
surtout le temps de montŽe maximum qui est dÕenviron 2,1 s, il faut remarquer
que les spŽciÞcations de robustesse tr•s contraignantes permettent tout de m•me
dÕavoir dÕexcellents rŽsultats. La rŽponse reste tr•s rapide malgrŽ un syst•me
mal amorti et aux incertitudes importantes.

5.5 Optimisation multiobjective


Tentons maintenant de trouver un rŽgulateur pour le m•me syst•me et les
m•mes spŽciÞcations avec lÕapproche par optimisation multiobjective prŽsentŽe
au chapitre 3. Dans un premier temps, nous voulons amŽliorer les performances
du deuxi•me rŽgulateur. Ainsi, m•me si lÕoptimisation est piŽgŽe par un mini-
mum local, nous avons lÕassurance de respecter le cahier des charges avec de
meilleures performances. Ensuite, en fonction des rŽsultats, nous choisirons des
spŽciÞcations plus sŽv•res pour obtenir un rŽgulateur mieux adaptŽ au syst•me
rŽel.

5.5.1 Synth•se du rŽgulateur


Pour simpliÞer le calcul du gradient des crit•res de robustesse et de perfor-
mances, nous choisissons pour objectifs ceux qui peuvent sÕexprimer comme des
bornes sur les rŽponses harmoniques et temporelles. Nous ne tenons compte ni
de lÕintŽgrale de la valeur absolue de lÕerreur apr•s un saut de perturbation, ni de
la marge de retard. Nous verrons que ces deux contraintes sont de toutes fa•ons
respectŽes par les solutions obtenues. Pour les raisons exposŽes ˆ la page 46,
nous rempla•ons le temps de montŽe maximum par un temps dÕŽtablissement
supplŽmentaire ˆ 10 % de 1,8 s, qui est une condition plus sŽv•re. Les limites
β() (identiques pour les trois mod•les) sont reprŽsentŽes ˆ la Þgure 5.14.
Pour lÕoptimisation, nous utilisons la commande Matlab constr pour rŽ-
soudre le probl•me suivant :
minimiser χ
χ,x
α(,x) − β̄()
sous contraintes − χ ≤ 0, ∀
β() − β̄()
88 Synth•se multimod•le

A B 1
1

0
0.5

0 t [s] -1 t [s]
0 5 10 0 5 10
C 10 D 20

0 0
-10
-20
-20 ωh ωh
0 1 2 3 0 1 2 3

Figure 5.14
SpŽciÞcations sur la sortie suite ˆ un saut indiciel de consigne (A) ou de perturbation
(B), et sur le module de la sensibilitŽ perturbation-sortie (C) ou perturbation-commande
(D).

LÕalgorithme utilisŽ par constr, basŽ sur la programmation quadratique


sŽquentielle (SQP), effectue une mise ˆ jour rŽcurrente du hessien
[Gra92]. Comme elles sont basŽes sur les maxima locaux de
(α(,x) − β̄())/(β() − β̄()), nos contraintes peuvent changer de fa•on
discontinue au cours de lÕoptimisation. Il vaudrait sans doute la peine
dÕenvisager des mŽthodes mieux adaptŽes, telles que la programmation
linŽaire sŽquentielle (SLP) o• seuls les gradients sont utilisŽs. Mais du
moment que lÕoptimisation converge, la solution obtenue ne changerait
vraisemblablement pas.

Nous prendrons comme rŽgulateur initial la solution (5.4) obtenue par place-
ment de p™les multimod•le, avec S 0 (q) = S(q) et S f (q) = 1 pour tirer pleine-
ment parti de tous les param•tres du RST.
Exemple dÕapplication 89

Tableau 5.3 Performances obtenues par optimisation multiobjective (rŽgulateur 3)

SpŽcif. 0g 25 g 75 g
Temps de montŽe [s] < 1,8 0,56 0,63 0,63
Temps dÕŽtablissement ±2 % [s] < 4,8 4,27 4,06 4,69
DŽpassement [%] < 10 7,66 5,11 3,22
Rejet de perturbation ±10 % [s] < 2,8 2,24 2,38 2,45
IntŽgrale de lÕerreur < 1,5 1,30 1,35 1,37
apr•s un saut de p(t) [s]
Marge de module [dB] > −6 −3,69 −2,99 −3,70
Marge de retard [ms] > 70 181,4 217,3 316,9
maxω/ω N ∈[0;0,8] | Ŝup | [dB] < 15 12,68 12,34 12,60
maxω/ω N ∈[0,8;1] | Ŝup | [dB] < 10 7,68 6,93 6,91

5.5.2 RŽsultats
Le premier rŽgulateur obtenu par optimisation multiobjective est

R3 (q) = q 8 − 1,972120209q 7 + 1,1794687307q 6


− 0,17548291314q 5 − 0,53235147955q 4 + 1,2704722794q 3
− 0,8505911013q 2 − 0,079912405528q + 0,16051709841
S3 (q) = 0,74497240924q 8 − 2,1013452854q 7 + 2,4482756116q 6
− 1,4514802002q 5 − 0,30531263554q 4 + 1,6074630234q 3
− 1,1541072404q 2 + 0,086650934695q + 0,13539565967
T3 (q) = 0,88994497095q 8 − 2,0930718952q 7 + 1,5540587932q 6
− 0,19317147517q 5 − 0,15667637589q 4 − 0,01528227978q 3
− 0,42861377659q 2 + 0,84300870792q − 0,38968439251
(5.5)
LÕindice de performances multiobjectif χ est passŽ de 0,9986 (pour le rŽgulateur
initial obtenu par placement de p™les multimod•le) ˆ 0,7660 en une dizaine de
minutes sur un PowerMac 8500 muni dÕun microprocesseur PowerPC 604e ˆ
200 MHz. Les crit•res de performances obtenus sont rŽsumŽs dans le tableau 5.3.
Le gain de performances est important, m•me sÕil correspond aux bornes sur les
rŽponses harmoniques et temporelles et non pas directement aux spŽciÞcations.
Le module des fonctions de sensibilitŽ Ŝ(ejωh ) et Ŝup (ejωh ) sont tracŽs ˆ la
Þgure 5.15 et les rŽponses temporelles ˆ des sauts de consigne et de perturbation
ˆ la Þgure 5.16.
90 Synth•se multimod•le

10

| Ŝ| -5

-10

-15

-20
0 0.5 1 1.5 2 2.5 3
20

10

0
| Ŝup |
-10

-20

-30
0 0.5 1 1.5 2 2.5 3
ωh

Figure 5.15
SensibilitŽ perturbations-sortie Ŝ (haut) et sensibilitŽ perturbation-commande Ŝup (bas)
pour les trois mod•les et le troisi•me rŽgulateur. Les valeurs limites imposŽes par les
spŽciÞcations sont reprŽsentŽes en trait mixte.
Exemple dÕapplication 91

0.8

y 0.6

0.4

0.2

0
0 5 10 15 20 25
1

0.5

-0.5
0 5 10 15 20 25
t [s]

Figure 5.16
Sortie (haut) et commande (bas) pour les trois mod•les et le troisi•me rŽgulateur. Un
saut unitŽ de consigne intervient ˆ t = 10h = 0,7 s et un saut de perturbation de −0,2 ˆ
t = 250h = 17,5 s.
92 Synth•se multimod•le

Nous constatons que la commande est tr•s agitŽe, bien quÕelle soit conforme
aux spŽciÞcations du benchmark. Sur le syst•me rŽel, cela entra”nerait de vio-
lentes oscillations du bras. Pour diminuer cet effet, nous pouvons modiÞer les
objectifs et tenter une nouvelle optimisation. Nous devons considŽrer simul-
tanŽment le comportement en rŽgulation et en asservissement. En effet, on
voit clairement que la perturbation provoque aussi des oscillations ˆ frŽquence
ŽlevŽe. Mais en agissant seulement sur la contre-rŽaction S(q)/R(q), on risque
de provoquer une inversion partielle de la dynamique en boucle fermŽe par
lÕintermŽdiaire du prŽÞltre T (q). Les spŽciÞcations sont donc modiÞŽes de la
mani•re suivante :
• le module de la fonction de sensibilitŽ perturbation-commande Ŝup (ejωh )
doit •tre infŽrieur ˆ 0 dB au-delˆ de 80 % de la pulsation de Nyquist (au
lieu de 10 dB) ;
• le module de la fonction de sensibilitŽ consigne-commande doit •tre in-
fŽrieur ˆ 10 dB au-dessous de 40 % de la pulsation de Nyquist, et infŽrieur
ˆ 10(ω − ω N )/ω N dB (entre 6 dB et 0 dB) au-delˆ (il nÕŽtait pas limitŽ
par les spŽciÞcations du benchmark).
Nous obtenons le rŽgulateur suivant :

R4 (q) = q 8 − 2,50361988q 7 + 2,3401965466q 6


− 0,93056996853q 5 − 0,29481263554q 4 + 0,87554754998q 3
− 0,62878621734q 2 + 0,1097281661q + 0,032316438733
S4 (q) = 0,57924557246q 8 − 1,6707972096q 7 + 1,8972548529q 6
− 0,92106519893q 5 − 0,44214976496q 4 + 1,1142463373q 3
− 0,62638737161q 2 − 0,0018871350075q + 0,076980726124
T4 (q) = 0,63851728646q 8 − 1,421247804q 7 + 1,005457007q 6
− 0,35833960573q 5 + 0,15682210458q 4 + 0,20815539661q 3
− 0,50957122162q 2 + 0,45349869708q − 0,16785105174
(5.6)
LÕindice de performances multiobjectif correspondant vaut 0,7961. Les perfor-
mances obtenues sont donnŽes dans le tableau 5.4 et les rŽponses harmoniques
et temporelles dans les Þgures 5.17 et 5.18. EnÞn, la Þgure 5.19 montre le
module de la rŽponse harmonique consigne-commande pour les rŽgulateurs 2
et 4. Ces rŽgulateurs ont tous deux pour but de rŽduire lÕeffort au niveau de
lÕactionneur ; cÕest pourquoi il est intŽressant de comparer celui obtenu par
placement de p™les et optimisation du prŽÞltre dÕune part, et celui rŽsultant de
lÕoptimisation multiobjective dÕautre part. Comme la rŽduction du module de
Exemple dÕapplication 93

10

| Ŝ| -5

-10

-15

-20
0 0.5 1 1.5 2 2.5 3
20

10

0
| Ŝup |
-10

-20

-30
0 0.5 1 1.5 2 2.5 3
ωh

Figure 5.17
SensibilitŽ perturbations-sortie Ŝ (haut) et sensibilitŽ perturbation-commande Ŝup (bas)
pour les trois mod•les et le quatri•me rŽgulateur. Les valeurs limites imposŽes par les
spŽciÞcations sont reprŽsentŽes en trait mixte.
94 Synth•se multimod•le

0.8

y 0.6

0.4

0.2

0
0 5 10 15 20 25
1

0.5

-0.5
0 5 10 15 20 25
t [s]

Figure 5.18
Sortie (haut) et commande (bas) pour les trois mod•les et le quatri•me rŽgulateur. Un
saut unitŽ de consigne intervient ˆ t = 10h = 0,7 s et un saut de perturbation de −0,2 ˆ
t = 250h = 17,5 s.
Exemple dÕapplication 95

20

10

0
|AT /C|
-10

-20

-30
0 0.5 1 1.5 2 2.5 3
20

10

0
|AT /C|
-10

-20

-30
0 0.5 1 1.5 2 2.5 3
ωh

Figure 5.19
Module de la rŽponse harmonique consigne-commande pour les trois mod•les et le
deuxi•me (haut) et quatri•me rŽgulateur (bas). La borne supŽrieure, reprŽsentŽe en trait
mixte, est imposŽe pour le quatri•me rŽgulateur.
96 Synth•se multimod•le

Tableau 5.4 Performances obtenues par optimisation multiobjective (rŽgulateur 4)

SpŽcif. 0g 25 g 75 g
Temps de montŽe [s] < 1,8 0,56 0,56 0,63
Temps dÕŽtablissement ±2 % [s] < 4,8 3,57 3,99 4,69
DŽpassement [%] < 10 7,96 5,93 7,24
Rejet de perturbation ±10 % [s] < 2,8 2,31 2,45 2,52
IntŽgrale de lÕerreur < 1,5 1,36 1,40 1,43
apr•s un saut de p(t) [s]
Marge de module [dB] > −6 −4,02 −3,29 −4,01
Marge de retard [ms] > 70 155,3 189,5 281,2
maxω/ω N ∈[0;0,8] | Ŝup | [dB] < 15 1,37 0,83 1,02
maxω/ω N ∈[0,8;1] | Ŝup | [dB] <0 −1,99 −2,20 −2,18

la rŽponse harmonique est prise en compte explicitement dans lÕoptimisation


multiobjective, on peut sÕattendre a priori ˆ de meilleurs rŽsultats. CÕest bien ce
que lÕon observe : ˆ haute frŽquence, le gain diminue de 4 dB, soit 40 %. Notons
que les oscillations dÕassez grande amplitude de la sortie et de la commande lors
dÕun saut de consigne ont une frŽquence beaucoup plus faible pour le quatri•me
rŽgulateur ; ils risquent donc moins dÕendommager le mŽcanisme.

5.6 Comparaison avec dÕautres mŽthodes


A part notre deuxi•me rŽgulateur3 , huit autres solutions ont ŽtŽ proposŽes dans
le cadre du benchmark. Les rŽsultats sont prŽsentŽs et commentŽs
dans [LCRB96]. On peut les classer grossi•rement en quatre catŽgories selon
le type dÕincertitudes quÕelles prennent en compte pour reprŽsenter les trois
mod•les :

• ensemble de mod•les ;

• incertitudes structurŽes qui englobent les trois mod•les (par exemple par
un ellipso•de dans lÕespace des coefÞcients des mod•les) ;
3 Notre premier rŽgulateur a ŽtŽ ŽcartŽ parce quÕil provoque trop dÕoscillations ˆ haute frŽquence,

et les rŽgulateurs obtenus par optimisation multiobjective sont plus rŽcents.


Exemple dÕapplication 97

• incertitudes non structurŽes ;

• robustesse ÒnaturelleÓ de rŽgulateurs obtenus sans tenir compte explicite-


ment des incertitudes (placement de p™les robuste, calibration de la fonc-
tion de sensibilitŽ).

Seul notre rŽgulateur remplit lÕensemble des spŽciÞcations. Nous ne voulons


pas entrer dans les dŽtails, parce que chacun constitue un compromis diffŽrent.
Mais il est intŽressant dÕanalyser les raisons qui ont conduit au succ•s de notre
approche. A notre avis, on peut en invoquer trois.

• Les p™les en boucles fermŽes, qui constituent les param•tres de synth•se,


ont un lien clair et direct avec la plupart des spŽciÞcations.

• Les incertitudes sont prises en compte telles quelles dans la synth•se, ce


qui Žvite tout conservatisme.

• Gr‰ce au degrŽ ŽlevŽ dÕinteractivitŽ du logiciel de CAO, lÕingŽnieur se


rend compte facilement des compromis quÕil peut obtenir.

5.7 Conclusions
AÞn de montrer lÕintŽr•t du placement de p™les multimod•le et de lÕoptimisation
multiobjective, nous avons utilisŽ ces deux mŽthodes pour obtenir un rŽgulateur
qui remplisse le cahier des charges dÕun syst•me oscillant mal amorti et ˆ
param•tres variables. Les rŽsultats sont tr•s bons. Parmi les neuf rŽgulateurs
proposŽs par diffŽrents laboratoires fran•ais et lÕInstitut dÕautomatique, le n™tre,
obtenu par placement de p™les multimod•le, est le seul ˆ remplir lÕensemble
des spŽciÞcations. Il y a pourtant encore une certaine marge dÕamŽlioration,
comme le montre lÕoptimisation multiobjective. LÕavantage de cette mŽthode
est de pouvoir facilement choisir un compromis entre diffŽrents objectifs. CÕest
ainsi que nous avons pu rŽduire lÕeffort sur la commande en limitant le module
des fonctions de transfert entre la perturbation ou la consigne et le signal de
commande.
Dans leur mise en oeuvre, les deux approches sont tr•s diffŽrentes. Le place-
ment de p™les multimod•le interactif permet de sentir rapidement ce quÕil est
possible de faire, mais ne donne aucune garantie quant ˆ lÕoptimalitŽ de la so-
lution. LÕoptimisation multiobjective est assez lourde en temps de calcul, mais
aboutit sans aucune intervention humaine. Le rŽsultat risque dÕ•tre inutilisable
98 Synth•se multimod•le

si les crit•res retenus ne sont pas soigneusement choisis ; tous doivent •tre men-
tionnŽs explicitement. Elle nŽcessite une solution initiale relativement proche
des spŽciÞcations ˆ cause des optima locaux. LÕexpŽrience montre quÕun rŽgu-
lateur initial qui ne ferait que stabiliser les trois mod•les du bras souple conduit
typiquement ˆ un indice de performances multiobjectif supŽrieur ˆ 2. Il serait
intŽressant dÕessayer dÕamŽliorer les autres solutions proposŽes pour le bench-
mark ; comme aucune dÕentre elles nÕest basŽe sur ce genre dÕoptimisation, il
reste certainement une marge de progression.
Le benchmark du bras souple, tr•s proche des hypoth•ses des deux mŽthodes
que nous proposons, est-il un cas particulier qui enl•ve toute valeur aux bons rŽ-
sultats obtenus ? Nous ne le pensons pas. Certes, le bras souple a inßuencŽ notre
approche de la commande robuste. Mais il est reprŽsentatif de nombreux sys-
t•mes Žlectro-mŽcaniques ˆ grandes variations paramŽtriques lorsque le cahier
des charges est tr•s contraignant.
Chapitre 6

Conclusions gŽnŽrales

6.1 Contributions
Le travail de th•se sÕarticule autour de deux axes principaux. Le premier est
lÕintŽr•t de lÕapproche multimod•le pour dŽcrire les incertitudes sur le mod•le
ou les variations en cours de fonctionnement. La dŽpendance de fonctions de
transfert ŽchantillonnŽes vis-ˆ-vis des grandeurs physiques du syst•me ne sont
gŽnŽralement pas linŽaires ; cela oblige souvent ˆ englober les variations dans
des domaines conservateurs, ce qui donne Þnalement une dynamique du sys-
t•me bouclŽ plus lente quÕil nÕest nŽcessaire. En choisissant un petit nombre de
fonctions de transfert pour reprŽsenter les diffŽrentes conditions de fonction-
nement, on reste tr•s pr•s de la dynamique que peut prendre le syst•me rŽel. Bien
entendu, cela nÕemp•che pas de tenir compte des incertitudes non structurŽes
qui reß•tent lÕimperfection des mod•les, notamment ˆ haute frŽquence.
Une approche originale a ŽtŽ dŽveloppŽe pour permettre le placement de
p™les multimod•le. LÕavantage que reprŽsente lÕutilisation des p™les en boucle
fermŽe comme param•tres de synth•se est de spŽciÞer directement la dynamique
du syst•me rŽgulŽ tant pour le rejet des perturbations que pour lÕasservissement.
Son principal dŽfaut, ˆ savoir un manque de robustesse, est largement diminuŽ
lorsque lÕon consid•re un ensemble de mod•les qui reß•tent les diffŽrentes
conditions de fonctionnement et les incertitudes sur les param•tres.
Pour amŽliorer le niveau de performances dÕun rŽgulateur, une mŽthode
dÕoptimisation multiobjective a ŽtŽ ŽlaborŽe, elle aussi basŽe sur lÕutilisation de
100 Synth•se multimod•le

plusieurs mod•les. Elle nŽcessite une liste explicite et exhaustive des spŽciÞca-
tions, mais permet dÕobtenir un compromis qui exploite au mieux les param•tres
du rŽgulateur.
Le second axe est la synth•se interactive. Dans toute mŽthode de conception,
lÕingŽnieur a gŽnŽralement ˆ sa disposition des techniques de synth•se, qui lui
permettent de dŽterminer la structure et les param•tres dÕun dispositif, et des
techniques dÕanalyse avec lesquelles il vŽriÞe que le cahier des charges est satis-
fait m•me pour les spŽciÞcations qui nÕŽtaient pas utilisŽes directement pour la
synth•se. La commande automatique correspond ˆ ce schŽma. LÕinconvŽnient
de cette dichotomie est quÕil est parfois difÞcile de faire le lien entre les pro-
bl•mes rŽvŽlŽs par lÕanalyse et les param•tres de synth•se. LÕapproche proposŽe
consiste ˆ tirer parti de la puissance des ordinateurs modernes et de leurs ca-
pacitŽs graphiques pour mettre ˆ jour en temps rŽel les courbes qui dŽcrivent le
comportement du syst•me rŽgulŽ pendant que lÕingŽnieur manipule certaines
grandeurs. On acquiert ainsi intuitivement une comprŽhension des mŽcanismes
qui lient les grandeurs en jeu.
Pour justiÞer lÕintŽr•t de ces approches, le placement de p™les multimo-
d•le et lÕoptimisation multiobjective ont ŽtŽ utilisŽs pour lÕasservissement de
lÕextrŽmitŽ dÕun bras souple. Les spŽciÞcations, nombreuses et serrŽes, devaient
•tre remplies de fa•on robuste pour trois charges diffŽrentes. Les rŽgulateurs
obtenus montrent lÕefÞcacitŽ des mŽthodes proposŽes.

6.2 Extensions possibles


Durant ce travail, nous nous sommes restreint ˆ des syst•mes monovariables. Le
placement de p™les multimod•le interactif serait sans doute difÞcile ˆ Žtendre
au cas multivariable, dÕune part parce que la spŽciÞcation des valeurs propres
ne fournit en gŽnŽral pas un rŽgulateur unique, et dÕautre part en raison de la
difÞcultŽ ˆ reprŽsenter toute lÕinformation pertinente sous une forme facile ˆ
interprŽter et ˆ mettre en relation avec les valeurs propres. Par contre, il serait
intŽressant de voir dans quelle mesure notre approche multiobjective peut •tre
Žtendue ˆ des syst•mes multivariables, notamment pour rŽduire les phŽnom•nes
de couplage. Une extension moins ambitieuse consisterait ˆ tenir compte de
perturbations mesurŽes.
Nous ne nous sommes pas Žtendu sur les moyens dÕobtenir les mod•les. La
fa•on dÕobtenir le nombre minimum de mod•les qui permette la synth•se dÕun
rŽgulateur robuste constitue un probl•me intŽressant, que ce soit ˆ partir dÕune
Conclusions gŽnŽrales 101

identiÞcation basŽe sur les mesures ou dÕun mod•le de connaissances.


Une troisi•me direction de recherche consisterait ˆ utiliser lÕoptimisation
multiobjective dans un outil de CAO interactif. Peu de recherches ont ŽtŽ faites
pour trouver un bon algorithme dÕoptimisation ; il doit •tre possible de le rendre
beaucoup plus rapide et efÞcace. DÕautre part, il est vraisemblable que la rŽ-
Žcriture dans un langage compilŽ de lÕŽvaluation des indices de performances
et de leurs gradients, ainsi que de la routine dÕoptimisation, permette un gain de
vitesse important. LÕoptimisation est de lÕordre de grandeur de quelques minutes
sur des ordinateurs de milieu de gamme. On peut espŽrer descendre au-dessous
de la seconde dans quelques annŽes pour un syst•me de la complexitŽ du bras
souple, et d•s maintenant pour des syst•mes plus simples. Un compromis entre
toutes les spŽciÞcations serait alors tr•s facile ˆ obtenir.
Notations

Caract•res latins

A(q) dŽnominateur de la fonction de transfert du syst•me ˆ rŽgler


0
A (q) produit A(q)R f (q)
Am (q) dŽnominateur du mod•le ˆ poursuivre
B(q) numŽrateur de la fonction de transfert du syst•me ˆ rŽgler
0
B (q) produit B(q)S f (q)
Bm (q) numŽrateur du mod•le ˆ poursuivre
ensemble des nombres complexes
C(q,x) polyn™me caractŽristique (la dŽpendance en x est souvent omise
par souci de simplicitŽ)
C D (q) polyn™me caractŽristique dŽsirŽ
e(t) signal dÕerreur entre la consigne et la sortie
h pŽriode dÕŽchantillonnage
H (q) fonction de transfert du syst•me ˆ rŽgler
Hc (q) fonction de transfert en boucle fermŽe entre la consigne et la
sortie
Hl (q) fonction de transfert de la boucle B(q)S(q)/A(q)R(q)
Hm (q) fonction de transfert du mod•le ˆ poursuivre
H p (q) fonction de transfert en boucle fermŽe entre la perturbation et
la sortie
I matrice identitŽ
j indice reprŽsentant une spŽciÞcation
104 Synth•se multimod•le


j −1
K (q) partie contre-rŽaction du rŽgulateur S(q)/R(q)
k indice reprŽsentant un mod•le (souvent omis pour allŽger les
notations)
M matrice de Sylvester
n nombre de mod•les
N (q) symbole gŽnŽrique pour le numŽrateur de la fonction de transfert
entre une entrŽe et un signal mesurŽ sur le syst•me en boucle
fermŽe
O matrice nulle
O((·)n ) termes dÕordre n et supŽrieur dans un dŽveloppement en sŽrie
pi p™le de la fonction de transfert en boucle fermŽe
piD p™le dŽsirŽ de la fonction de transfert en boucle fermŽe
q opŽrateur dÕavance dÕune pŽriode dÕŽchantillonnage
r (t) consigne (signal de rŽfŽrence)
R(q) dŽnominateur du rŽgulateur RST, monique
0
R (q) partie libre de R(q), monique
R f (q) partie Þxe de R(q), monique
ensemble des nombres rŽels
RST nom gŽnŽrique dÕun rŽgulateur polynomial ˆ deux degrŽs de
libertŽ
s variable de la transformŽe de Laplace
s(t) saut indiciel
S(q) numŽrateur de la contre-rŽaction du rŽgulateur RST
0
S (q) partie libre de S(q)
S f (q) partie Þxe de S(q), monique
Ŝ(q) sensibilitŽ de la rŽponse en boucle fermŽe par rapport ˆ la fonc-
tion de transfert du syst•me
Ŝup (q) rŽponse harmonique de la commande par rapport ˆ une per-
turbation en sortie, ou sensibilitŽ perturbationÐentrŽe (nommŽe
ainsi par analogie avec la sensibilitŽ Ŝ)
t temps
Notations 105

T (q) numŽrateur du Þltre de consigne du rŽgulateur RST


T 0 (q) partie libre de T (q)
T f (q) partie Þxe de T (q), ˆ gain statique unitŽ
T̂ (q) sensibilitŽ complŽmentaire (1 − Ŝ)
u(t) entrŽe du syst•me (signal de commande)
wi poids sur le dŽplacement dŽsirŽ dÕun p™le en boucle fermŽe
selon la direction ϕ
wi⊥ poids sur le dŽplacement dŽsirŽ dÕun p™le en boucle fermŽe
selon la direction ϕi + π/2
x param•tres de la partie libre de la contre-rŽaction du rŽgulateur
RST
x0 param•tres de la partie libre de la contre-rŽaction et du prŽÞltre
du rŽgulateur RST
y(t) sortie du syst•me ˆ rŽgler
yref (t) rŽponse indicielle de rŽfŽrence
z variable de la transformŽe en z
zi zŽro de la fonction de transfert en boucle fermŽe
ensemble des nombres entiers

Caract•res grecs

α mesure de performance ˆ optimiser


β borne sur une mesure de performance
β̄ valeur cible pour une mesure de performance
δ indique une diffŽrence par rapport ˆ une valeur nominale (pour
une grandeur perturbŽe) ou de dŽpart (pour une itŽration)
1pid dŽplacement dŽsirŽ dÕun p™le en boucle fermŽe
ε diffŽrence entre le p™le dŽsirŽ et le p™le obtenu effectivement
en boucle fermŽe
ε̂ approximation de ε linŽarisŽ par rapport aux param•tres du rŽgu-
lateur x
ϕi direction du poids principal sur le dŽplacement dÕun p™le en
boucle fermŽe
106 Synth•se multimod•le

χ indice de performances multiobjectif


χi indice de performance associŽ ˆ lÕobjectif critique i
χopt indice de performances multiobjectif optimal
χP−opt indice de performances multiobjectif Pareto-optimal
ω pulsation
ωe pulsation dÕŽchantillonnage
ωN pulsation de Nyquist
 triplet { j,k,ω} ou { j,k,t} suivant la spŽciÞcation
i objectif critique

Fonctions et opŽrateurs

|z| valeur absolue de z


z̄ valeur conjuguŽe du nombre complexe z
signx -1 si x < 0, 0 si x = 0 ou 1 si x > 0
MT transposŽe de la matrice rŽelle M, ou transposŽe conjuguŽe de
la matrice complexe M

Remarque : ˆ moins que cela ne soit mentionnŽ explicitement, la pŽriode


dÕŽchantillonnage est normalisŽe ˆ h = 1 ; par consŽquent, t ∈ et ω N =
ωe /2 = π.
Bibliographie

[ABK+ 94] J. Ackermann, A. Barlett, D. Kaesbauer, W. Sienel et R. Stein-


hauser. Robust Control : Systems With Uncertain Physical
Parameters. Communication and control engineering series.
Springer, 1994.
[ADPD95] C. Abdallah, P. Dorato, F. P«erez et D. Docampo. Controller
synthesis for a class of interval plants. Automatica, 31(2) :341Ð
343, f«evrier 1995.
û
[AW90] û om et B. Wittenmark. Computer Controlled Systems.
K. J. Astr¬
Prentice-Hall, Inc., Englewood Cliffs, NJ., 1990.
[BA94] H. Bourlès et F. A¬õoun. Approche H∞ et µ-synthèse. Dans
A. Oustaloup, e« diteur, La robustesse, analyse et synthèse de
commandes robustes, pp. 162Ð235. Hermès, Paris, 1994.
[Bar94] B. R. Barmish. New Tools for Robustness of Linear Systems.
Macmillan Publishing, New York, 1994.
[CS88] R. Y. Chiang et M. G. Safonov. MATLAB Robust-Control Tool-
box : UserÕs Guide. The MathWorks, Inc., Natick, Mass., 1988.
[DFM92] P. Dorato, L. Fortuna et G. Muscato. Robust Control for Un-
structured Perturbations Ñ An Introduction. Springer-Verlag,
Berlin, 1992.
[DFT92] J. C. Doyle, B. A. Francis et A. R. Tannenbaum. Feedback
COntrol Theory. Macmillan Publishing, New York, 1992.
[dL93] Ph. de Larminat. Automatique Ð Commande des systèmes
lin«eaires. Hermès, Paris, 1993.
108 Synth•se multimod•le

[Dor91] P. Dorato. A survey of robust multiobjective design techniques.


Dans S. P. Bhattacharyya et L. H. Keel, e« diteurs, Control of
Uncertain Dynamic Systems, pp. 249Ð259. CRC Press, London,
1991.

[EK91] M. El-Khoury. Inßuence des z«eros dÕune fonction de transfert


sur le comportement dynamique dÕun système lin«eaire et ap-
plication au r«eglage polynomial. Thèse de doctorat, Institut
dÕautomatique, EPFL, Lausanne, 1991.

[GBBL86] D. Gangsaas, K. R. Bruce, J. D. Blight et U.-L. Ly. Application


of modern synthesis to aircraft control : Three case studies. IEEE
Trans. Autom. Control, 31 :995Ð1014, 1986.

[Gra92] A. Grace. Optimization Toolbox For Use with MATLAB. The


MathWorks, Inc., Natick, Mass., 1992.

[HMPL95] U. Holmberg, P. Myszkorowski, Y. Piguet et R. Longchamp.


On compensation of nonminimum-phase zeros. Automatica,
31(10) :1433Ð1441, septembre 1995.

[Hor91a] I. Horowitz. A historical survey of feedback control theory in


USA. Dans S. P. Bhattacharyya et L. H. Keel, e« diteurs, Control of
Uncertain Dynamic Systems, pp. 205Ð213. CRC Press, London,
1991.

[Hor91b] I. Horowitz. Survey of quantitative feedback theory. Int. J.


Control, 53(2) :255Ð291, 1991.

[HPB95] U. Holmberg, Y. Piguet et D. Bonvin. Robust control synthesis


for plants with parametric uncertainties. Dans Proc. of 1995
European Control Conf., volume 4, pp. 3025Ð3030, Rome, 1995.

[KB97] L. H. Keel et S. P. Bhattacharyya. Robust, fragile, or optimal ?


IEEE Trans. Autom. Control, 42(8) :1098Ð1105, 1997.

[LCR93] I. D. Landau, C. Cyrot et D. Rey. Robust control design using the


combined pole placement/sensitivity function shaping method.
Dans Proc. of 1993 European Control Conf., pp. 1693Ð1698,
Gr¬oningen, 1993.
Bibliographie 109

[LCRB96] I. D. Landau, C. Cyrot, D. Rey et J. Barnier. R«egulation


num«erique robuste dÕun bras manipulateur souple, banc dÕessais
comparatif de diff«erentes m«ethodes de synthèse. Dans J. Bernus-
sou, e« diteur, Commande robuste, d«eveloppements et applica-
tions, pp. 104Ð131. Hermès, Paris, 1996.

[Lju87] L. Ljung. System IdentiÞcation : Theory for the User. Prentice


Hall, Englewood Cliffs, 1987.

[Lon95] R. Longchamp. Commande num«erique de systèmes dynamiques.


Presses polytechniques et universitaires romandes, Lausanne,
1995.

[LvdW94] P. L¬ohnberg et E. H. van de Waal. Self-tuning optimal robust in-


tegrating pole placement control. Dans Proc. of 10th IFAC Symp.
on System IdentiÞcation, pp. 297Ð302, Copenhagen, 1994.

[Mat97] The MathWorks, Inc., Natick, Mass. MATLAB, the Language


of Technical Computing Ñ Using MATLAB, 1997.

[May73] D. Q. Mayne. The design of linear multivariable systems. Au-


tomatica, 9(2) :201Ð208, mars 1973.

[MG90] R. H. Middleton et G. C. Goodwin. Digital Control and Estima-


tion : A UniÞed Approach. Prentice-Hall International Editions,
London, 1990.

[MH93] J. E. Marsden et M. J. Hoffman. Elementary Classical Analysis.


W. H. Freeman and Company, New York, 2e e« dition, 1993.

[Miy90] Y. Miyazawa. Robust ßight control system design with multiple


model approach. Dans Proc. of 1990 AIAA Guid., Nav. and
Control Conf., pp. 874Ð882, Portland, OR., 1990.

[Mun87] N. Munro. Computer-aided design I : the inverse Nyquist array


design method. Dans J. OÕReilly, e« diteur, Multivariable control
for industrial applications, pp. 211Ð228. Peter Peregrinus Ltd.,
London, 1987.

[Oga96] K. Ogata. State space Ñ pole placement. Dans W. S. Levine,


e« diteur, The Control Handbook, pp. 209Ð215. CRC Press, 1996.
110 Synth•se multimod•le

[OLM95] A. Oustaloup, P. Lanusse et B. Mathieu. Robust control of


SISO plants : the CRONE control. Dans Proc. of 1995 European
Control Conf., volume 2, pp. 1423Ð1429, Rome, 1995.
[OR94] B. A. Ogunnaike et W. H. Ray. Process Dynamics, Modeling,
and Control. Oxford University Press, New York, 1994.
[Owe87] D. H. Owens. Multivariable control system design techniques.
Dans J. OÕReilly, e« diteur, Multivariable control for industrial
applications, pp. 186Ð210. Peter Peregrinus Ltd., London, 1987.
[PD77] B. Pch«enitchiny et Y. Daniline. M«ethodes num«eriques dans les
problèmes dÕextr«emum. Mir, Moscou, 1977.
[Per94] G. J. Peretti. Ein Beitrag zur Analyse, Synthese und Implemen-
tierung robuster Regelkreise. Thèse de doctorat, ETHZ, Zurich,
1994.
[PHL97a] Y. Piguet, U. Holmberg et R. Longchamp. Multi-model
weighted pole placement. A para”tre dans European Journal
of Control, 1997.
[PHL97b] Y. Piguet, U. Holmberg et R. Longchamp. Multiobjective con-
troller design using multiple models. Dans Proc. of 2nd IFAC
Symp. on Robust Control Design, pp. 253Ð258, Budapest, 1997.
[PKG92] G. Peretti, F. Kraus et L. Guzella. Robust compensator synthesis
Ñ an experimental application. Dans M. Mansour, S. Balemi et
W. Tru¬ol, e« diteurs, Robustness of Synamic Systems with Para-
metric Uncertainties, pp. 281Ð290. Birkh¬auser, Basel, 1992.
[PT94] J. A. Pensar et H. T. Toivonen. A multimodel mixed H2 /H∞
problem for plants with structured uncertainty. Dans IFAC Symp.
ADCHEM Õ94, pp. 289Ð294, Kyoto, 1994.
[PTVF92] W. H. Press, S. A. Teukolsky, W. T. Vetterling et B. P. Flannery.
Numerical Recipes in C. Cambridge University Press, New
York, 2e e« dition, 1992.
[RB91] H. F. Raynaud et S. Besset. H∞ -ellipsoidal controller Ñ an
approach to robustness with respect to parameter uncertain-
ties. Dans Proc. of 1991 European Control Conf., volume 3,
pp. 2601Ð2604, Grenoble, 1991.
Bibliographie 111

[RJ96] C. M. Rimvall et C. P. Jobling. Computer-aided control systems


design. Dans W. S. Levine, e« diteur, The Control Handbook, pp.
429Ð442. CRC Press, 1996.
[RM78] H. H. Rosenbrock et N. Munro. The inverse Nyquist array
method. Dans M. K. Sain, J. L. Peczkowski et J. L. Melsa,
e« diteurs, Alternatives for Linear Multivariable Control, pp. 101Ð
137. National Engineering Consortium, Inc., Chicago, 1978.
[SAB97] W. Sienel, J. Ackermann et T. B¬unte. Design and analysis of
robust control systems in PARADISE. Dans Proc. of 2nd IFAC
Symp. on Robust Control Design, pp. 71Ð76, Budapest, 1997.
[SBG97] M. M. Seron, J. H. Braslavsky et G. C. Goodwin. Fundamen-
tal Limitations in Filtering and Control. Communication and
control engineering series. Springer, 1997.
[Soe92] R. Soeterboek. Predictive Control, a UniÞed Approach. Prentice
Hall, New York, 1992.
[SSH96] M. S. Santiana, A. R. Stubberud et G. H. Hostetter. Discrete-
time equivalents to continuous-time systems. Dans W. S. Levine,
e« diteur, The Control Handbook, pp. 265Ð279. CRC Press, 1996.
[STsW91] ¬
P. M. Sandelin, H. T. Toivonen, M. Osterûas et K. V. Waller. Ro-
bust multiobjective linear quadratic control of distillation using
low-order controllers. Chem. Eng. Sci., 46 :2815Ð2827, 1991.
[TT90] H. T. Toivonen et J. Tamminen. Minimax robust LQ control of
a thermomechanical pulping plant. Automatica, 26 :347Ð351,
1990.
[Tun92] C. Tuncelli. Algorithmes uniÞ«es de commande polynomiale
auto-ajustable par placement des pöoles. Thèse de doctorat, Ins-
titut dÕautomatique, EPFL, Lausanne, 1992.
[XM95] J. Z. Xia et C.-H. Menq. Precision tracking control of non-
minimum phase systems with zero phase error. Int. J. Control,
61(4) :791Ð807, 1995.
[YCB97] O. Yaniv, Y. Chait et C. Borghesani. The QFT control design
toolbox for MATLAB. Dans Proc. of 2nd IFAC Symp. on Robust
Control Design, pp. 107Ð112, Budapest, 1997.
112 Synth•se multimod•le

[YJB76] D. C. Youla, H. A. Jabr et J. J. Bongiorno. Modern Wiener-Hopf


design of optimal controllersÑpart II : The multivariable case.
IEEE Trans. Autom. Control, 21 :319Ð338, 1976.

[YL96] J.-S. Yang et W. S. Levine. SpeciÞcation of control systems.


Dans W. S. Levine, e« diteur, The Control Handbook, pp. 158Ð
169. CRC Press, 1996.
[Zad63] L. A. Zadeh. Optimality and non-scalar-valued performance
criteria. IEEE Trans. Autom. Control, 8(4) :59Ð60, 1963.
Index

A causalitŽ, 11, 13, 14, 22, 53, 72


abaque, 57 cible (valeur), 34
algorithme de synth•se commande
constr, 88 prŽdictive, 47
optim. multiobjective, 101 commande adaptative, 6
pl. de p™les multimod•le, 31Ð32 comparaison, 92, 96
prŽÞltre, 47, 76 comportement vicieux, 16, 67
amortissement, 17, 44, 54, 56, 62, 71, conception assistŽe par ordinateur, 8,
74, 76, 78 49Ð63
anticipation, 16 conjuguŽs (p™les complexes), 17, 27,
asservissement, 3, 5, 10, 11, 39, 44, 56, 54
67, 76, 92, 99 conservatisme, 6, 97, 99
(effet de la c.-rŽaction), 42 consigne, 3
(performances), 15, 71 continuitŽ, 30, 55
attraction des p™les dŽsirŽs, 29 des incertitudes, 60
automatique contradictoires (objectifs), 3, 39
classique, 5 contributions, 99Ð100
moderne, 6 convergence, 45, 88
couplage, 100
B critique
bande passante, 42, 43, 57 (objectif), 38
benchmark, 65Ð98 (point), 16, 71
Black (diagramme de), 8, 57 (p™les), 31
Bode (diagramme de), 57 (pulsation), 57, 62
borne, 6, 16, 34Ð40, 45, 78, 87, 89 croisement (pulsation de), 57, 62
bras souple, 19, 65Ð98 CRONE, 6
bruit de mesure, 42, 43, 57
D
C dŽcouplage, 4
calibration de la sensib., 97 δ (transformŽe en), 5
camŽra, 67 dŽpassement, 16, 33, 36, 45Ð47, 56, 62,
cascade (rŽgulateurs en), 4 71, 76

113
114 Synth•se multimod•le

nŽgatif, 16, 47, 62, 77 du rŽgulateur, 41


dŽplacement des p™les
(compromis), 74 H
(contraintes), 54 H∞
(effet du), 25, 29, 61 (norme), 6, 8, 37
dŽsirŽ, 23, 24, 26 (synth•se), 6
linŽarisŽ, 24, 61
dŽrivateur I
(facteur), 53 identiÞcation, 6, 9, 67, 78, 101
(terme), 58 implantation, 4
descente de gradient, 7, 38, 48 incertitude
dŽsensibilisation, 11 additive, 17
diophantine (Žquation), 12, 14 ellipso•dale, 6, 21, 60, 96
discrŽtisation, 4 multiplicative, 17
dominant (p™le), 2, 48, 61, 74 incertitudes
non structurŽes, 6, 33, 97, 99
E paramŽtriques, 6, 21, 33, 65
enveloppe, 77 structurŽes, 96
erreur initial (rŽgulateur), 31, 59, 72, 88, 98
de la sortie, 3, 10, 34, 41, 48, 57, insensibilisation, 42
62, 71, 76 intŽgrateur, 10, 32, 40, 69
paramŽtrique, 3 intermŽdiaires (syst•mes), 7
permanente, 15 interne (dynamique), 12
sur les p™les, 25, 29, 31 invariant (syst•me), 4
exclusion (principe dÕ), 6
expŽrimentaux (rŽsultats), 78, 87 L
lieu des p™les, 54, 58
F linŽaire (syst•me), 4
factorisation, 10, 17 linŽarisŽ (syst•me), 3, 9
Þltrage de la consigne, voir prŽÞltre
Þxe (partie), 10, 20, 32, 50, 53, 78 M
fonction de transfert, 5 marge
fonction implicite, 26 de gain, 3, 16, 19, 57, 62
frottement sec, 78 de module, 16, 43, 57, 62, 71
frŽquence naturelle, 17 de phase, 3, 16, 19, 57, 62
de retard, 16, 62, 71
G matrice de Sylvester, 14, 27
gradient minimax, 34
de la sensibilitŽ, 43 modŽlisation, 3, 9, 21, 50, 67
de la val. abs., 42 dŽfauts de, 42, 57, 78
des p™les, 26 moindres carrŽs, 7, 24, 34
des rŽp. tempor., 44 pondŽrŽs, 25
Index 115

monovariable, voir SISO (placement de), voir placement de


multimod•le p™les
(optimisation), voir optimisation approximŽs, 29
multiobjective dŽsirŽs, 7, 23, 25, 28, 29, 31, 59
(placement de p™les), voir place- effectifs, 23, 25, 59
ment de p™les multimod•le polyn™me observateur, 12
multiobjective (optimisation), voir op- pondŽration, 7
timisation multiobjective des p™les, 23Ð28, 31
multivariable, 4, 100 poursuite, voir asservissement
prŽÞltre, 15, 53, 54
N (optimisation du), 46Ð48, 76Ð77
nominal (mod•le), 9, 16, 19, 32, 60, 72 pulsation naturelle, voir frŽquence na-
non-minimum de phase, 47, 62, 67 turelle
normalisation, 24
numŽriques (probl•mes), 5, 29 Q
numŽrisation, 4 QFT, 5
Nyquist quantiÞcation, 4
(diagramme de), 57
(frŽquence de), 4, 71, 92 R
rayon de robustesse, 6
O rŽel (signal), 4
opŽrateur rejet de perturbations, 10, 11, 17, 21,
dÕavance, 5 33, 43, 49, 55, 71, 74, 82,
de retards, 5 99
optimisation rŽponse impulsionnelle Þnie, 47
du prŽÞltre, voir prŽÞltre retard pur du rŽgulateur, 13, 72
H∞ , 7
multiobjective, 6, 33Ð48, 87Ð96, S
99 saturation, 42, 44, 48, 56, 67
sensibilitŽ, 16Ð17
P SISO, 4
paramŽtrisation, 11, 40Ð42 stabilisation simultanŽe, 6
Pareto-optimum, 7, 39, 48 statique (gain), 11, 15, 35, 40, 67, 76
perturbation, 9 statisme, 10, 15, 57, 69
PID, 27, 29, 53 SysQuake, 31, 32, 49Ð63
placement de p™les
multimod•le, 7, 19Ð32, 33, 49, T
59Ð61, 74Ð76, 99 temps
exact, 21 dÕŽtablissement, 45, 47
partiel, 22 de montŽe, 45, 47
standard, 12Ð15, 19, 50 transitoire, 16, 33, 42, 55, 58, 76
p™les
Curriculum vitae

Nom Yves PIGUET


NŽ le 4 octobre 1967
Origine Le Chenit, canton de Vaud

CertiÞcats et dipl™mes
1983 CertiÞcat dÕŽtudes secondaires, section latin-grec
1986 MaturitŽ fŽdŽrale mathŽmatiques-sciences (type C)
1991 Dipl™me EPFL dÕingŽnieur en microtechnique

ExpŽrience professionnelle
1987-1991 Informatisation du MusŽe suisse de lÕappareil photographique
ˆ Vevey, comprenant le choix du matŽriel, la mise sur bases de
donnŽes des Þchiers des collections, la formation du personnel
et le dŽveloppement de plusieurs programmes pŽdagogiques ˆ
lÕintention des visiteurs.
1991-1992 Stage ˆ lÕIntelligent Research Center de Toshiba ˆ Yokohama
(Japon). Outre la dŽcouverte dÕune culture diffŽrente, ce stage
a permis le dŽveloppement dÕalgorithmes pour la mesure de
la position et de lÕorientation dÕun objet en se basant sur une
image vidŽo ; la programmation de ces algorithmes en C et en
assembleur TMS320C25 sous OS-9 ; leur optimisation pour le
traitement en parall•le et leur programmation en Parallel-C et
en assembleur sur cinq Transputers ; et la programmation de
drivers pour le syst•me dÕexploitation temps-rŽel VxWorks.
118 Synth•se multimod•le

1992-1993 Assistant ˆ lÕInstitut de microtechnique de lÕEPFL sur le projet


Minerva (robot neuro-chirurgical pour les opŽrations stŽrŽo-
taxiques). DŽveloppement de la commande du robot sur PC,
reprise de la partie imagerie, commande haut-niveau et inter-
face utilisateur sur Sun, et communication entre scanner (DEC
VAX), Sun et PC. Encadrement dÕun travail de dipl™me.
1993-1997 Assistant-doctorant ˆ lÕInstitut dÕautomatique de lÕEPFL.
Recherche dans les domaines du rŽglage robuste, de lÕeffet
des zŽros sur lÕasservissement, de lÕidentiÞcation par relais.
DŽveloppement de logiciels de CAO et de commande temps-
rŽel. Encadrement dÕexercices, de travaux pratiques, de projets
de semestre et de dipl™me.
1997 ChargŽ de cours au semestre dÕhiver 1997-98 pour le cours
ModŽlisation et Simulation I donnŽ en option aux Žtu-
diants de microtechnique, dÕŽlectricitŽ, de gŽnie mŽcanique et
dÕinformatique de 7e semestre.

Vous aimerez peut-être aussi