Partie 1 :Partie 1 :
Introduction à laIntroduction à laIntroduction à laIntroduction à laCommande PrédictiveCommande Prédictive
Ecole des JDMACS, Angers, 19-21 Mars 2009Commande prédictive : interaction optimisation – commande
Pl d l é t tiPl d l é t tiPlan de la présentationPlan de la présentation1. Introduction
1. Quelques repères2 Phil hi2. Philosophie
2. Les concepts de la Commande Prédictive1. Principes de basep2. Paramètres de réglage3. Modélisation des contraintes4. Schéma récapitulatif
3. Mise en œuvre dans le cas non contraint1 Approche GPC (Commande Prédictive Généralisée)1. Approche GPC (Commande Prédictive Généralisée)2. Approche MPC (Model Predictive Control)3. Etude d’un exemple
Pl d l é t tiPl d l é t tiPlan de la présentationPlan de la présentation1. Introduction
1. Quelques repères2 Phil hi2. Philosophie
2. Les concepts de la Commande Prédictive1. Principes de basep2. Paramètres de réglage3. Modélisation des contraintes4. Schéma récapitulatif
3. Mise en œuvre dans le cas non contraint1 Approche GPC (Commande Prédictive Généralisée)1. Approche GPC (Commande Prédictive Généralisée)2. Approche MPC (Model Predictive Control)3. Etude d’un exemple
1. Introduction1. Introduction1.1 Quelques repères1.1 Quelques repères
Historique :• Commencement fin des années 70 (Richalet et al Cutler&Ramaker)
1.1 Quelques repères1.1 Quelques repères
• Commencement fin des années 70 (Richalet et al., Cutler&Ramaker)MPHC-MAC, DMCIssu de la communauté de la commande adaptative : EPSAC, GPC
A éli ti d l é 90 Et d d l t bilité t d l• Améliorations dans les années 90 : Etude de la stabilité et de larobustesse (Mayne et al.)
• Période de maturité depuis le début des années 2000 : solutionsli it d édi ti d tè h b id li é iexplicites, commande prédictive de systèmes hybrides, non-linéaires,
rapides …Applications : initialement sur des systèmes linéaires et lents
• De nombreux domaines applicatifs• Plus de 1000 applications répertoriées (Qin&Badgwell’03)
De nombreux logiciels commerciaux disponibles :
4
De nombreux logiciels commerciaux disponibles :• DMC, IDCOM, HIECON, PFC, RMPCT, PCT, SMCA, IDCOM-M, OPC,
3dMPC, Connoisseur
1 Introduction1 Introduction1. Introduction1. Introduction1.2 Philosophie1.2 Philosophie
Trajectoire
Chemin « anticipatif »Chemin « non anticipatif »
Création d’un effet anticipatif par utilisationexplicite de la trajectoire à suivre dans lefutur.Prise en compte de contraintes.Stratégie de commande bien adaptée auxproblèmes de suivi de trajectoires, pourRéponse 'classique' p j , plesquels la trajectoire à suivre estparfaitement connue à l’avance et planifiée.Application dans le domaine de la machine
Réponse 'classique'sans anticipation
Réponse avecti i ti pp
outil, pour la commande de moteurs d’axe,en régulation de température (domotique),etc. 5
anticipation
Pl d l é t tiPl d l é t tiPlan de la présentationPlan de la présentation1. Introduction
1. Quelques repères2 Phil hi2. Philosophie
2. Les concepts de la Commande Prédictive1. Principes de basep2. Paramètres de réglage3. Modélisation des contraintes4. Schéma récapitulatif
3. Mise en œuvre dans le cas non contraint1 Approche GPC (Commande Prédictive Généralisée)1. Approche GPC (Commande Prédictive Généralisée)2. Approche MPC (Model Predictive Control)3. Etude d’un exemple
2 Les concepts de la commande prédictive2. Les concepts de la commande prédictive2.1 Principes de base
Utilisation d’un modèle numérique du système permettant de prédire leUtilisation d’un modèle numérique du système permettant de prédire lecomportement futurÉlaboration d’une séquence de commandes futures en boucle ouverte
f û fpar minimisation d’une fonction de coût sur un horizon finiApplication de la première valeur de cette séquence sur le systèmeRéitération de toute cette procédure à la période d’échantillonnageRéitération de toute cette procédure à la période d échantillonnagesuivante selon la stratégie dite de l’horizon fuyant
structurestructure dede commandecommande enen boucleboucle ferméefermée
++++ ∑−
))()(ˆ())(ˆ(min1
ititlNtN
ϕ
Consigne
prédite Sortie
⎩⎨⎧
−+++++=++
++++ ∑=−=+
))1(),...,(),(ˆ),...,(ˆ())(),(ˆ()1(ˆ
scontrainte les sous
))(),(())((min11,0),(
NtutuNtxitxhituitxfitx
ituitxlNtxiNiitu
ϕSortie
Commandes futures
7
⎩ +++ ))1(),...,(),(),...,(( NtutuNtxitxh
Passé t Futur t + h
2 Les concepts de la commande prédictive2. Les concepts de la commande prédictive2.2 Paramètres de réglage
Les horizons :• de prédiction sur la sortie• de prédiction sur la commandep• sur les contraintes
Contraintes terminalesContraintes terminales
Fonction de coût :• Norme utilisée pour le coût instantané• Norme utilisée pour le coût instantané• Coût terminal• Facteur de pondération
Méthode utilisée pour obtenir la solution optimale (par exemple solveurutilisé pendant la phase d’optimisation)
8
Mayne, Rawlings, Rao, Scokaert, “Constrained model predictive control:Stability and optimality”, Automatica, 2000
2 Les concepts de la commande prédictive2. Les concepts de la commande prédictive2.3 Modélisation des contraintes
Les contraintes les plus classiques :• Contraintes sur l’amplitude de la commande• Contraintes sur l’incrément de commande• Contraintes sur la sortie• Contraintes terminales
Description unifiée des contraintes :⎧ 11
⎪⎩
⎪⎨⎧
≤≤≤+≤
−= −−
,)(
)()()()(: Transfert"" Approche
maxmin
11
21NiNkit
dtuqBtqA
ccγγγ
γ γγ
⎪⎨
⎧
∈+
≤≤≤+++
)(
)()(
:Etat""Approche21
XtNtx
NiNtitDutitCx ccγ
9
⎪⎩
⎨−≤≤+=+
∈+
1),max()()(
)(:Etat Approche
22NNiNtitKxtitu
XtNtx
cu
N
2 Les concepts de la commande prédictive2. Les concepts de la commande prédictive2.4 Schéma récapitulatif
10
Pl d l é t tiPl d l é t tiPlan de la présentationPlan de la présentation1. Introduction
1. Quelques repères2 Phil hi2. Philosophie
2. Les concepts de la Commande Prédictive1. Principes de basep2. Paramètres de réglage3. Modélisation des contraintes4. Schéma récapitulatif
3. Mise en œuvre dans le cas non contraint1 Approche GPC (Commande Prédictive Généralisée)1. Approche GPC (Commande Prédictive Généralisée)2. Approche MPC (Model Predictive Control)3. Etude d’un exemple
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.1 Approche GPC
Modèle numérique :•Définition du modèle sous forme CARIMA (Controlled AutoRegressiveIntegrated Moving Average) :Integrated Moving Average) :
)()()()1()()()( 1
111
−
−−−
Δ+−=
qtqCtuqBtyqA ξ
)(Δ q
centréblancbruit)(retardopérateur , 1)( : avec 111 −−− −=Δ
tqqq
ξ
onperturbati de polynôme )(
centréblancbruit )(1−qC
tξ
•Cette structure apporte un terme intégrateur au sein de la loi decommande et garantit l’annulation de toute erreur statique vis à vis deconsigne ou de perturbation constante
12
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.1 Approche GPC
Equation de prédiction :•Prédicteur optimal à j-pas :
4444444 34444444 2131 forcéeréponse
111
1
1
1)()()1()( )1(
)(
)()(
)(
)()/( jtqJjtuqGtu
qC
qHty
qC
qFtjty jj
jj ++−+Δ+−Δ+=+ −−−
−
−
−
ξ444444 3444444 21 forcéeréponse
libre réponse
•Les polynômes inconnus sont solutions d’équations diophantiennespouvant être résolues récursivement :
11111 j
)()()()()()()()()()(
11111
11111
−−−−−−
−−−−−−
=+
=+Δ
qJqBqHqqGqCqCqFqqJqAq
jjj
j
jj
j
13
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.1 Approche GPC
Fonction de coût quadratique :•Comprenant des termes portant sur les erreurs de prédiction dans lefutur et les incréments de commandes futures :futur et les incréments de commandes futures :
[ ] [ ]∑∑ −+Δ++−+=uN
j
N
NjjtujtyjtwJ
1
22 )1()(ˆ)(2
λ
uNjjtu ≥=+Δ pour 0)( : hypothèsel' sous
== jNj 11
•Quatre paramètres doivent être choisis par l’utilisateur :
inférieurprédictiondehorizonN
commande lasur prédiction dehorizon supérieur prédiction dehorizon inférieur prédictiondehorizon
2
1
uNNN
14
commande lasur n pondératio defacteur λ
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.1 Approche GPC
Forme matricielle de l’équation de prédiction :
11 )1(1)(1~ˆ −Δ++= tuty ihifuGy444444 3444444 21
libre réponse
11 )()(
)()( −− qC
yqC
y
⎥⎥⎥⎤
⎢⎢⎢⎡
+++
−11
11
11
111
1NN
NN
NN
NN
gg
gg
LL
LL
G
[ ][ ]T11
T11
)()(
)()(
21
21
qHqH
qFqF
NN
NN
=
=
−−
−−
L
L
ih
if
⎥⎥⎥
⎦⎢⎢⎢
⎣
=
+−−
+
22
22
22
11
11
1
NNN
NN
NN
NN
uggg
gg
L
LLLLG[ ]
[ ][ ]T21
T
)(ˆ)(ˆˆ
)1()(~
)()(21
NtyNty
Ntutu
u
NN
++=
−+ΔΔ=
L
L
y
u
•Les coefficients de la matrice G sont en fait les coefficients de la
[ ]21 )()( NtyNty ++y
15
réponse indicielle du modèle.
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.1 Approche GPC
Expression de la loi de commande :•Forme matricielle du critère :
ihifGihifG )1(1)(1~)1(1)(1~)~(T
⎥⎤
⎢⎡
Δ⎥⎤
⎢⎡
Δ ttttJ
•Séquence de commandes optimales :uu
wihifuGwihifuGu
~~
)1()(
)()(
~)1()(
)( )(
~)~(
T
1111
λ+
⎥⎦
⎢⎣
−−Δ++⎥⎦
⎢⎣
−−Δ++= −−−− tuqC
tyqC
tuqC
tyqC
J
Séquence de commandes optimales :
⎟⎟⎠
⎞⎜⎜⎝
⎛−Δ−−= −− )1(
)(1)(
)(1 ~
11 tuqC
tyqCopt ihifwNu
[ ]T21 )()( : avec NtwNtw ++= Lw [ ]⎥⎥⎥⎤
⎢⎢⎢⎡
=+=−
T
T1
T1T :et uN
nGIGGN Mλ
•Commande appliquée au système à l’instant t :
⎥⎦
⎢⎣
TuNn
⎞⎛ 11
16
⎟⎟⎠
⎞⎜⎜⎝
⎛−Δ−−+−= −− )1(
)(1)(
)(1 )1()( 11
T tuqC
tyqC
tutu optopt ihifwn1
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.1 Approche GPC
Régulateur polynomial équivalent :
+ξ1 111+
+-
w
u
11ΔS q( )− q B−1 1
1A q( )−
Régulateur
T q( )
[ ]TT1
T1
1
1T1
11
21)()(
)( )()(
NNCT
qRqqCqS
ifn ihn
−
−
−−−
=+=
yR q( )−1
Régulateurpolynomialéquivalent
[ ]T1
1 21)()( NN qqqCqT Ln=
•Equation aux différences pour l’implantation de la loi de commande :
)()()()()()()( 111 twqTtyqRtuqqS +=Δ −−−
•Par rapport à une structure RST classique, le polynôme T est ici non
)()()()()()()( twqTtyqRtuqqS +−=Δ
17
causal.
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.1 Approche GPC
Programmation hors ligne :•Définition de la consigne (stockage point par point)•Choix d’une période d’échantillonnage et définition des polynômes A•Choix d une période d échantillonnage et définition des polynômes Aet B du modèle CARIMA (par identification préalable si nécessaire)
•Choix des paramètres de réglage de la fonction de coût•Calcul des prédicteurs optimaux par résolution des équationsdiophantiennes
•Synthèse des polynômes R, S et T du régulateur équivalenty p y , g q
Boucle temps réel :•Acquisition de la sortie•Calcul de la commande par équation aux différences•Envoi de la commande
18
Boucle temps réel très rapide (moins de 200 μs)
3 Mise en œuvre dans le cas non contraint,
3. Mise en œuvre dans le cas non contraint3.2 Approche MPC
,
,
Description du modèle :•Modèle linéaire à temps invariant :
étatl' dedimension ,,,,)()(
)()()1( 11 ntty
tutt nnnn ××× ∈∈∈⎩⎨⎧
=+=+
RCRBRAxC
BxAx
•Ajout d’une action intégrale pour annuler les erreurs statiques :
)()1()( tututu Δ+−=
•Représentation d’état étendue :
⎧ ⎥⎤
⎢⎡
=)(
)(t
tx
x
⎩⎨⎧
=Δ+=+
)()()()()1(
ttytutt
ee
eeee
xCBxAx ⎥
⎦⎢⎣ −
=)1(
)(tu
tex
⎥⎤
⎢⎡ BA
A ⎥⎤
⎢⎡
=B
B [ ]0CC =
19
⎥⎦
⎢⎣
=10
Ae ⎥⎦
⎢⎣
=1
Be [ ]0CC =e
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.2 Approche MPC
Prédiction de la sortie :∑ ∑−
= =
−− +Δ+−+=+1
0 0
1 ])()1([)()(ˆi
j
j
l
jii ltututity444 3444 21
BACxAC
Fonction de coût quadratique :
+ )( jtu
∑∑−
==+Δ++−+=
1
0
2)(~2
)(~ )()()(ˆ2
1
u
JJ
N
iiR
N
NiiQr ituityityJ
La minimisation de J donne laé d d f t
supérieur prédiction dehorizon inférieur prédiction dehorizon
2
1NN
séquence de commandes futures
Observateur :npondératio de facteurs~,~
commande lasur prédiction dehorizon
JJ
uRQ
N
20
)](ˆ)([)()(ˆ)1(ˆ ttytutt eeeeee xCKBxAx −+Δ+=+
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.2 Approche MPC
Loi de commande :•Séquence de commandes futures obtenue par minimisation du critèreprécédent réécrit sous forme matricielleprécédent réécrit sous forme matricielle
•Par application du principe de l’horizon fuyant, la première valeur decette séquence est appliquée au système : )(ˆ)()( 2 tNtyFtu err xL−+=Δ
)(ty⎥⎤
⎢⎡ BA)( 2Ntyr + )(tuΔ
F)(tu
∫+⎥⎦
⎢⎣ 0CrF ∫
)(ˆ ty
−
[ ]⎥⎤
⎢⎡ − KBKCA eee C
)(ˆ texObservateur
[ ]⎥⎦
⎢⎣ 0I eC
21L
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.3 Etude d’un exemple
Modèle de la bicyclette : Astrom, Klein, Lennartsson, Control System Magazine, 2005
inertied'centreduscoordonnée:ha
surinertied'moment:systèmedu totalemasse :
constante arrière roue la de vitesse: inertiedcentredu scoordonnée:,
xJmV
ha
x
gauche)à(positifbraquagedeangle:droite) à (positifn inclinaisod' angle :
sur inertied'moment :sur inertiedmoment :
δϕ
x zJDxJ
xz
x
−=
Hypothèses : Linéarisation aux petits angles
g )(pq gg
ypThéorème du moment dynamique :
31
2
2
2)(
d)(d)(
d)(d t
bhVm
tt
bVDthgm
ttJx δδϕϕ
++=
22
434214342143421
scentrifuge forcesaux lié couple
braquagedu lors inertied' forcesaux
lié couple gravité la àlié couple
dd btbt
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.3 Etude d’un exemple
Modèle de la bicyclette : Equation similaire à celle d’un pendule inverselinéarisé
2 m0,492
==
aba
m/s10 m028,1
==
Vh
F ti d t f t S tè i t bl b l tFonction de transfert : Système instable en boucle ouverte
aVsaVD
hVmsDVs +≈
+=
)(ϕh2
:hypothèseslessous
23hgshb
JhgmsJbs
x−
≈−
=22)(δ
hamDhmJx
≈≈ 2
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.3 Etude d’un exemple
011 == NN
111
211
)1)(0030401()(
7456,07852,10493,1)(
qqqS
qqqR
−+=Δ
+−=−−−
−−−
Régulateur RST équivalent :s 1,0
000101 011 21
==−==−=
e
u
TN
NNλ
109876
5432
31,156 22,202 15,637 10,833 7,327
4,7812,9531,665 0,7940,256)(
)1)(00304,01()(
qqqqq
qqqqqqT
qqqS
++++
+++++=
+=Δ
20
40
60 Diagramme de Bode boucle corrigée
e [d
B]
25
30 Diagramme de Black
10-3 10-2 10-1 100 101 102-20
0
20
Pulsation [rad/s]
Mod
ule
10
15
20
ule
[dB
]
Pulsation [rad/s]
-200
-150
-100
[Deg
ré]
0
5
Mod
u
10-3 10-2 10-1 100 101 102-300
-250
200
Pulsation [rad/s]
Pha
se
24
Marge de phase 44,8 °Marge de gain 8 dB
Marge de retard 0,9 Te-270 -240 -210 -180 -150 -120-10
-5
Phase [degré]
[ ]
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.3 Etude d’un exemple
Réponse à une consigne d’angle d’incli-10
p g gnaison de 10° (situation improbable …)
6
8
10
1
0
2
4
0.5
-6
-4
-2
-0 5
0
0 5 10 15 20 25-10
-8
t [s]-1
0.5
Angle d’inclinaison0 5 10 15 20 25
-1.5
t [s]
101
1
2
1
===
uNNN
25
Angle de braquagePas de saturation de commande s 1,0
00010==
e
u
Tλ
3 Mise en œuvre dans le cas non contraint3. Mise en œuvre dans le cas non contraint3.3 Etude d’un exemple10
Réponse à une perturbation de 10° sur l’ l d’i li i ( d t)
5 15
l’angle d’inclinaison (coup de vent)
0
5
10
-10
-5
0
0 2 4 6 8 10 12 14-15
10
[ ]
-10
-5Perturbation
t [s]
0 2 4 6 8 10 12 14-15
t [s]
Angle d’inclinaison
101
1
2
1
===
NNN
26
Angle de braquagePas de saturation de commande
s 1,000010
1
===
e
u
T
Nλ
3 Mise en œuvre dans le cas non contraint10
3. Mise en œuvre dans le cas non contraint3.3 Etude d’un exemple
Réponse à une perturbation d’angle
5
10 Réponse à une perturbation d angle d’inclinaison de 10° (coup de vent)
5
-5
0
2
3
4
15
-10
1
0
1
0 2 4 6 8 10 12 14-20
-15
t [s]
Perturbation
-3
-2
-1
t [s]
Angle d’inclinaison0 2 4 6 8 10 12 14
-5
-4
t [s]1 01
1
2
1
===
uNNN
27
Angle de braquageSaturation de la commande à 5° s 1,0
00010==
eTλ