Documente Academic
Documente Profesional
Documente Cultură
Introduction à la
Commande Prédictive
Trajectoire
Chemin « anticipatif »
Chemin « non anticipatif »
N −1
∑ l ( xˆ (t + i),) u (t + i))
Sortie prédite
min ϕ ( xˆ (t + N )) +
Sortie u (t + i ),i = 0, N −1 i =1
Commandes futures
⎧ xˆ (t + i + 1) = f ( xˆ (t + i ), u (t + i ))
sous les contraintes ⎨
⎩h( xˆ (t + i ),..., xˆ (t + N ), u (t ),..., u (t + N − 1))
Passé t +h
Futur
t
7
2 Les concepts de la commande prédictive
2.
2.2 Paramètres de réglage
Les horizons :
• de prédiction sur la sortie
• de prédiction
p sur la commande
• sur les contraintes
Contraintes terminales
Fonction de coût :
• Norme utilisée pour le coût instantané
• Coût terminal
• Facteur de pondération
⎧Cx(t + i t ) + Du (t + i t ) ≤ γ N c1 ≤ i ≤ N c2
⎪
Etat" : ⎨ x(t + N t ) ∈ X N
Approche " Etat
⎪
⎩u (t + i t ) = Kx(t + i t ) Nu ≤ i ≤ max( N c2 , N 2 ) − 1
9
2 Les concepts de la commande prédictive
2.
2.4 Schéma récapitulatif
10
Pl de
Plan d la
l présentation
é t ti
1. Introduction
1. Quelques repères
2 Philosophie
2. Phil hi
2. Les concepts de la Commande Prédictive
1. Principes
p de base
2. Paramètres de réglage
3. Modélisation des contraintes
4. Schéma récapitulatif
3. Mise en œuvre dans le cas non contraint
1. Approche GPC (Commande Prédictive Généralisée)
1
2. Approche MPC (Model Predictive Control)
3. Etude d’un exemple
3 Mise en œuvre dans le cas non contraint
3.
3.1 Approche GPC
Modèle numérique :
•Définition du modèle sous forme CARIMA (Controlled AutoRegressive
Integrated Moving Average) :
−1 −1 C ( q −1 )ξ (t )
A( q ) y (t ) = B ( q )u (t − 1) +
Δ ( q −1 )
12
3 Mise en œuvre dans le cas non contraint
3.
3.1 Approche GPC
Equation de prédiction :
•Prédicteur optimal à j-pas :
F j (q −1 ) H j ( q −1 ) −1 −1
y (t + j / t ) = −1
y (t ) + −1
Δu (t − 1) + G j ( q ) Δu (t + j − 1) + J j ( q )ξ (t + j )
C (q ) C (q ) 1 4 4 4 4 4 4 4 2 4 4 4 4 444 3
144444 42444444 3 réponse forcée
réponse libre
Δ (q −1 ) A( q −1 ) J j (q −1 ) + q − j F j ( q −1 ) = C (q −1 )
C ( q −1 ) G j (q −1 ) + q − j H j (q −1 ) = B (q −1 ) J j (q −1 )
13
3 Mise en œuvre dans le cas non contraint
3.
3.1 Approche GPC
Fonction de coût quadratique :
•Comprenant des termes portant sur les erreurs de prédiction dans le
futur et les incréments de commandes futures :
N2 Nu
J= ∑ [w(t + j ) − yˆ (t + j )] + λ ∑ [Δu (t + j − 1)]2
2
j = N1 j =1
14
3 Mise en œuvre dans le cas non contraint
3.
3.1 Approche GPC
Forme matricielle de l’équation de prédiction :
~+ 1 1
yˆ = G u −1
if y (t ) + −1
ih Δu (t − 1)
C (q ) C (q )
144444424444443
réponse libre
[
if = FN1 (q −1 ) L FN 2 (q −1 ) ]T ⎡ g N1 g NN1−1 L L ⎤
⎢ N1 ⎥
ih = [H (q )]
1
1 T ⎢ g NN1++11
N1 ( q
−1
) L H N2 −
g NN1 +1 L L ⎥
G=⎢ 1 1 ⎥
~ = [Δu (t ) L Δu (t + N − 1)] T
u ⎢ L L L L ⎥
u
⎢ g N2 g NN 2 −1 L g N − N +1 ⎥
N2
yˆ = [ yˆ (t + N1 ) L yˆ (t + N 2 )] T ⎣ N2 2 2 u ⎦
15
3 Mise en œuvre dans le cas non contraint
3.
3.1 Approche GPC
Expression de la loi de commande :
•Forme matricielle du critère :
T
~ ) = ⎡G u
~ + 1 if y (t ) + 1 ih Δu (t − 1) − w ⎤ ⎡G u
~ + 1 if y (t ) + 1 ih Δu (t − 1) − w ⎤
J (u ⎢ −1 −1 ⎥ ⎢ −1 −1 ⎥
⎣ C ( q ) C ( q ) ⎦ ⎣ C ( q ) C ( q ) ⎦
+λu
~T u
~
•Séquence
Séquence de commandes optimales :
⎛ 1 1 ⎞
~
u = N ⎜ w − if y (t ) − ih Δ u (t − 1) ⎟
opt ⎜ −1 −1 ⎟
⎝ C (q ) C (q ) ⎠
⎡ n1T ⎤
avec : w = [w(t + N1 ) L w(t + N 2 ) ]T [
et : N = G TG + λ I N u ]−1 T ⎢
G =⎢ M ⎥
⎥
⎢n T ⎥
⎣ Nu ⎦
•Commande appliquée au système à l’instant t :
⎛ 1 1 ⎞
uopt (t ) = uopt (t − 1) + n1T ⎜⎜ w − −1
if y (t ) − −1
ih Δu (t − 1) ⎟
⎟
⎝ C (q ) C (q ) ⎠
16
3 Mise en œuvre dans le cas non contraint
3.
3.1 Approche GPC
Régulateur polynomial équivalent :
ξ +
S (q −1 ) = C (q −1 ) + n1T ih q −1
w + 1 −1 1
T (q) −1 q B
ΔS(q ) A(q −1) R(q −1 ) = n1T if
[ ]
- + T
u
Régulateur
y T (q ) = C (q −1 ) n1T q N1 L q N 2
R(q −1)
polynomial
équivalent
S ( q −1 ) Δ ( q −1 )u (t ) = − R ( q −1 ) y (t ) + T ( q ) w(t )
•Par rapport à une structure RST classique, le polynôme T est ici non
causal.
17
3 Mise en œuvre dans le cas non contraint
3.
3.1 Approche GPC
Programmation hors ligne :
•Définition de la consigne (stockage point par point)
•Choix dd’une
une période d
d’échantillonnage
échantillonnage et définition des polynômes A
et 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 équations
diophantiennes
•Synthèse
y des p
polynômes
y R,, S et T du régulateur
g équivalent
q
Boucle temps réel :
•Acquisition de la sortie
•Calcul de la commande par équation aux différences
•Envoi de la commande
,
3.2 Approche MPC
Description du modèle :
•Modèle linéaire à temps invariant :
⎧x(t + 1) = A x(t ) + B u (t )
⎨ , A ∈ R n× n , B ∈ R n×1 , C ∈ R1× n , n dimension de l' état
⎩ y (t ) = C x (t )
Δu (t)
yr (t+N 2) u (t ) ⎡A B⎤ y (t )
+
Fr ∫ ⎢C 0 ⎥
− ⎣ ⎦
yˆ (t )
⎡ A e − KCe [B e K ]⎤
⎢ Ce
⎣ I 0 ⎥⎦
xˆ e (t )
Observateur
L
21
3 Mise en œuvre dans le cas non contraint
3.
3.3 Etude d’un exemple
Modèle de la bicyclette : Astrom, Klein, Lennartsson, Control System Magazine, 2005
a, h : coordonnées du centre d
d' inertie
V : vitesse de la roue arrière constante
m : masse totale du système
J x : moment dd' inertie sur x
D = − J xz : moment d' inertie sur x z
ϕ : angle d' inclinaison (positif à droite)
δ : angle
g de braquage
q g (p(positif à g
gauche))
Hypothèses
yp : Linéarisation aux petits angles
Théorème du moment dynamique :
d 2 ϕ (t ) D V d δ (t ) mV 2 h
Jx = m g h ϕ (t ) + + δ (t )
dt2 1424 3 b dt b
couple lié 14243 14243
à la gravité couple lié couple lié
aux forces d'inertie aux forces centrifuges
lors du braquage 22
3 Mise en œuvre dans le cas non contraint
3.
3.3 Etude d’un exemple
Modèle de la bicyclette : Equation similaire à celle d’un pendule inverse
linéarisé
a = 0,492 m
b = 2a
h =1,028 m
V = 10 m/s
Fonction
F ti d transfert
de t f t : Système
S tè i t bl en boucle
instable b l ouverte
t
mV h V
s+ s+ sous les hypothèses :
ϕ ( s) V D D ≈Va a
= J x ≈ m h2
δ (s) b J s 2 − m g h b h s 2 − g
D ≈ mah
Jx h
23
3 Mise en œuvre dans le cas non contraint
3.
3.3 Etude d’un exemple
N1 = 1 − N 2 = 10
Régulateur RST équivalent :
Nu = 1 − λ =10 000
−1 −1 −2
R (q ) = 1,0493 − 1,7852 q + 0,7456 q Te = 0,1 s
ΔS (q −1 ) = (1 + 0,00304 q −1 )(1 − q −1 )
Diagramme de Bode boucle corrigée
T (q ) = 0,256q + 0,794q 2 + 1,665q3 + 2,953q 4 + 4,781q5 + 60
e [dB]
Module
20
Diagramme de Black
30 0
25 -20
-3 -2 -1 0 1 2
10 10 10 10 10 10
Pulsation [rad/s]
20
-100
15
-150
Phase [Degré]
ule [dB]
10 -200
200
Modu
5 -250
-300
-3 -2 -1 0 1 2
0 10 10 10 10 10 10
Pulsation [[rad/s]]
-5
Marge de phase 44,8 °
-10 Marge de gain 8 dB
-270 -240 -210 -180 -150 -120
Phase [degré]
Marge de retard 0,9 Te 24
3 Mise en œuvre dans le cas non contraint
3.
3.3 Etude d’un exemple
10
Réponse
p à une consigne
g d’angle
g d’incli-
naison de 10° (situation improbable …)
8
6
1
4
2
0.5
0
-2
0
-4
-6
-0
0.5
5
-8
-10
0 5 10 15 20 25
-1
t [s]
Angle d’inclinaison
N1 = 1
-1.5
N 2 = 10 0 5 10
t [s]
15 20 25
Nu = 1
Angle de braquage
Pas de saturation λ =10 000
de commande
Te = 0,1 s
25
3 Mise en œuvre dans le cas non contraint
3.
3.3 Etude d’un exemple Réponse à une perturbation de 10° sur
10
l’
l’angle
l d’inclinaison
d’i li i (coup
( de
d vent)
t)
15
5
10
0
-5
-10
10
Perturbation -5
-15 -10
0 2 4 6 8 10 12 14
t [s]
[ ]
0 4
3
-5
2
1
-10
0
-15
15 -1
1
Perturbation
-2
-20 -3
0 2 4 6 8 10 12 14
t [s]
-4
N1 = 1
Angle d’inclinaison -5
N 2 = 10 0 2 4 6 8 10 12 14
t [s]
Nu = 1
λ =10 000 Angle de braquage
Saturation de la
commande à 5° Te = 0,1 s
27