Académique Documents
Professionnel Documents
Culture Documents
PAR
Yves PIGUET
Ingénieur en microtechnique diplômé EPF
originaire du Chenit (VD)
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
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
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
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
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
6 Conclusions gŽnŽrales 99
6.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2 Extensions possibles . . . . . . . . . . . . . . . . . . . . . . 100
Notations 103
Bibliographie 107
Index 113
Introduction
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 :
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Ž.
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
d(t)
r (t) 1 u(t) B(q) y(t)
T (q)
- R(q) A(q)
S(q)
Pour que le rŽgulateur soit causal, les conditions suivantes doivent •tre
remplies :
deg R ≥ deg S
(1.9)
deg R ≥ deg T
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.
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.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 :
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.
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.
• 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].
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)
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
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
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.
fermŽe pour chacun des mod•les ? Le thŽor•me suivant montre que la nŽcessitŽ
dÕun rŽgulateur causal lÕinterdit.
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 ,
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.
pi (x)
1piD
Figure 2.2
P™les au dŽbut de lÕitŽration ( pi (x)), ˆ la Þn ( pi (x + 1x)), et dŽsirŽ ( piD ).
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
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
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.
∂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)
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 0 0
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
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
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.
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
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
7) DŽplacer les p™les critiques dans la direction qui tend ˆ amŽliorer les
performances
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 :
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.
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.
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.
α(,x 0 ) − β̄()
χ(x 0 ) = sup (3.1)
β() − β̄()
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
β() − β̄()
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.
>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.
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
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)
`
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
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).
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
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.
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
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.
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
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
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.
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.
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Ž.
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 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 ;
• Marge de module
• Marge de retard
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
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 :
position
mesurŽe
position
moteur A/D
u(t) y(t)
−
PD D/A RST
r (t)
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-
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
50
|H (ejωh )| 0
-50
0 1 2
10 10 10
0
-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.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
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
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.
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
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
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
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).
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
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
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 :
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
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
• 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,
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.
Caract•res latins
√
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
Caract•res grecs
Fonctions et opŽrateurs
113
114 Synth•se multimod•le
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