TDN 5 Exercice 1: On Désire Concevoir Une Commande Prédictive Généralisée (GPC) Pour Un
TDN 5 Exercice 1: On Désire Concevoir Une Commande Prédictive Généralisée (GPC) Pour Un
TDN 5 Exercice 1: On Désire Concevoir Une Commande Prédictive Généralisée (GPC) Pour Un
TD No5
Exercice 2 :Le comportement dynamique d’un système est modélisé par le modèle
d’étatsuivant:
𝑥̇ (𝑡) = 𝑥 + 2𝑢
{
𝑦(𝑡) = 2𝑥
1
TD Commande prédictive
Solution
Exo1:
𝑥̇ (𝑡) = 3𝑥 + 𝑢
{
𝑦 ( 𝑡 ) = 𝑥 (𝑡 )
𝑑ℎ 𝜕ℎ 𝜕𝑥 𝜕ℎ
𝑦̇ (𝑡) = = = 𝑥̇ (𝑡)
𝑑𝑡 𝜕𝑥 𝜕𝑡 𝜕𝑥
𝜕ℎ 𝜕𝑥
= =1 𝑥̇ (𝑡) = 3𝑥 + 𝑢
𝜕𝑥 𝜕𝑥
𝜕ℎ
𝑦̇ (𝑡) = [3𝑥 + 𝑢] = 3𝑥 + 𝑢
𝜕𝑥
Comme 𝜌 = 1 on aura :
𝑦
𝑦(𝑡 + 𝜏) = 𝑦(𝑡) + 𝜏𝑦̇ (𝑡) = [1 𝜏] [𝑦̇ ]
2
TD Commande prédictive
𝑦𝑟𝑒𝑓 𝑦 0 𝑀0
𝑌𝑟𝑒𝑓 (𝑡) − 𝑌 (𝑡) = [𝑦̇ ] − [ ] + [ ] = [ ]
𝑟𝑒𝑓 3𝑥 𝑢 𝑀1 − 𝑢
𝑀0 = 𝑦𝑟𝑒𝑓 − 𝑦
𝑀1 = 𝑦̇ 𝑟𝑒𝑓 − 3𝑥
On remplace
𝑇𝑝2
𝑇𝑝 𝑇𝑝 𝑇𝑝 𝑇𝑝
1 1 𝜏 2
∫ 𝑇(𝜏)𝑇 𝑇(𝜏)𝑑𝜏 = ∫ [ ] [1 𝜏]𝑑𝜏 = ∫ [ 2 ] 𝑑𝜏 = 2 3
0 0 𝜏 0 𝜏 𝜏 𝑇 𝑇
𝑝 𝑝
[2 3]
𝑇𝑝2 𝑇𝑝2
𝑇𝑝 𝑀0 𝑇𝑝 𝑀0
1 2 1 2
𝔍 = [𝑀0 𝑀1 − 𝑢] 2 3 [ ] = [𝑀0 (𝑀1 − 𝑢)] 2 3 [ ]
2 𝑇𝑝 𝑇𝑝 𝑀 − 𝑢 2 𝑇𝑝 𝑇𝑝 𝑀 − 𝑢
1 1
[2 3] [2 3]
𝑀0
1 𝑇𝑝2 𝑇𝑝2 𝑇𝑝3
𝔍 = [𝑀0 𝑇𝑝 + (𝑀1 − 𝑢) 𝑀0 + (𝑀1 − 𝑢) ][ ]
2 2 2 3
𝑀1 − 𝑢
1 𝑇𝑝2 𝑇𝑝2 𝑇𝑝3
𝔍 = [𝑀0 𝑇𝑝 𝑀0 + 𝑀0 (𝑀1 − 𝑢) + 𝑀0 (𝑀1 − 𝑢) + (𝑀1 − 𝑢)(𝑀1 − 𝑢) ]
2 2 2 3
3
TD Commande prédictive
1 𝑇𝑝3
𝔍 = [𝑀0 𝑇𝑝 𝑀0 + 𝑇𝑝2 𝑀0 (𝑀1 − 𝑢) + (𝑀1 2 − 2𝑀1 𝑢 + 𝑢2 ) ]
2 3
La condition nécessaire à satisfaire pour trouver la commande optimale est la suivante :
𝜕𝔍 𝜕 1 𝑇𝑝3
= [𝑀 2 ( )
0 𝑇𝑝 𝑀0 + 𝑇𝑝 𝑀0 𝑀1 − 𝑢 + (𝑀1 2 − 2𝑀1 𝑢 + 𝑢2 ) ] = 0
𝜕𝑢 𝜕𝑢 2 3
𝑇𝑝3 𝑇𝑝3
−𝑇𝑝2 𝑀0 − 2 𝑀1 + 2 𝑢 = 0
3 3
3
𝑢 = 𝑀 + 𝑀1
2𝑇𝑝 0
𝑀0 = 𝑦𝑟𝑒𝑓 − 𝑥
𝑀1 = 𝑦̇ 𝑟𝑒𝑓 − 3𝑥
Ainsi la commande optimale est comme suit:
3
𝑢 (𝑡 ) = [ (𝑦 − 𝑦) + (𝑦̇ 𝑟𝑒𝑓 − 3𝑥)]
2𝑇𝑝 𝑟𝑒𝑓
Exo2
𝑥̇ (𝑡) = 𝑥 + 2𝑢
{
𝑦(𝑡) = 2𝑥
𝑦 = (𝑥 ) = 2𝑥
𝑑ℎ 𝜕ℎ 𝜕𝑥 𝜕ℎ 𝜕ℎ 𝜕(2𝑥)
𝑦̇ (𝑡) = = = 𝑥̇ (𝑡) = =2
𝑑𝑡 𝜕𝑥 𝜕𝑡 𝜕𝑥 𝜕𝑥 𝜕𝑥
𝜕ℎ
𝑦̇ (𝑡) = 𝑥̇ (𝑡) = 2[𝑥 + 2𝑢] = 2𝑥 + 4𝑢
𝜕𝑥
𝜕ℎ
𝑦̇ (𝑡) = 𝜕𝑥 [𝑥 + 2𝑢] = 2𝑥 + 4𝑢 par consequent Le degré relatif de la sortie y est 𝜌 = 1
4
TD Commande prédictive
𝑦
𝑦(𝑡 + 𝜏) = 𝑦(𝑡) + 𝜏𝑦̇ (𝑡) = [1 𝜏] [𝑦̇ ]
𝑦𝑟𝑒𝑓 2𝑥 𝑀0
𝑌𝑟𝑒𝑓 (𝑡) − 𝑌 (𝑡) = [𝑦̇ ] − [ ]=[ ]
𝑟𝑒𝑓 2𝑥 + 4𝑢 𝑀1 − 4𝑢
𝑀0 = 𝑦𝑟𝑒𝑓 − 2𝑥
𝑀1 = 𝑦̇ 𝑟𝑒𝑓 − 2𝑥
𝑇𝑝2
𝑇𝑝 𝑇𝑝 𝑇𝑝 𝑇𝑝
1 1 𝜏 2
∫ 𝑇(𝜏)𝑇 𝑇(𝜏)𝑑𝜏 = ∫ [ ] [1 𝜏]𝑑𝜏 = ∫ [ 2 ] 𝑑𝜏 =
0 0 𝜏 0 𝜏 𝜏 𝑇𝑝 𝑇𝑝3
2
[2 3]
𝑇𝑝2 𝑇𝑝2
𝑇𝑝 𝑀0 𝑇 𝑀0
1 2 1 𝑝
2
𝔍 = [𝑀0 (𝑀1 − 4𝑢) ] [ ] [
= 𝑀0 (𝑀1 − 4𝑢) ] [ ]
2 𝑇𝑝2 𝑇𝑝3 𝑀 − 4𝑢 2 𝑇𝑝2 𝑇𝑝3 𝑀 − 4𝑢
1 1
[2 3] [2 3]
5
TD Commande prédictive
𝑀0
1 𝑇𝑝2 𝑇𝑝2 𝑇𝑝3
𝔍= [𝑀 𝑇 + ( 𝑀1 − 4𝑢 ) 𝑀 + (𝑀1 − 4𝑢) ] [ ]
2 0 𝑝 2 2 0 3
𝑀1 − 4𝑢
1 𝑇𝑝2 𝑇𝑝2 𝑇𝑝3
𝔍 = [𝑀0 𝑀0 𝑇𝑝 + ( )
𝑀 𝑀 − 4𝑢 + 𝑀 (𝑀 − 4𝑢) + (𝑀1 − 4𝑢)(𝑀1 − 4𝑢) ]
2 2 0 1 2 0 1 3
1 𝑇𝑝3
𝔍 = [𝑀0 𝑀0 𝑇𝑝 + 𝑇𝑝2 𝑀0 (𝑀1 − 4𝑢) + (𝑀1 2 − 8𝑀1 𝑢 + 16𝑢2 ) ]
2 3
1 2 2
𝑇𝑝3 2 8𝑇𝑝3 16 𝑇𝑝3 2
𝔍 = [𝑀0 𝑀0 𝑇𝑝 + 𝑇𝑝 𝑀0 𝑀1 − 4𝑇𝑝 𝑀0 𝑢 + 𝑀 − 𝑀1 𝑢 + 𝑢 ]
2 3 1 3 3
3 2
3 8𝑇𝑝3
− 4𝑇 𝑀 − 𝑀1 + 𝑢 = 0
32 𝑇𝑝3 𝑝 0 32 𝑇𝑝3 3
3 1 3 1
𝑢= 𝑀0 + 𝑀1 = (𝒚𝒓𝒆𝒇 − 𝒚) + (𝒚̇ 𝒓𝒆𝒇 − 𝟐𝒙)
8𝑇𝑝 4 8 𝑇𝑝 4
Exo 3 :
−50 −1 100
𝑎𝑣𝑒𝑐 𝐴 = ( ) 𝐵=( ) 𝐶 = (1 0)
0.5 − 0.5 0
On a une seule sortie 𝑦(𝑡) à contrôler qui est la vitesse de rotation du rotor.
La sortie : 𝑦(𝑡) = 𝑥1
6
TD Commande prédictive
𝑑ℎ 𝜕ℎ 𝜕𝑥 𝜕ℎ 𝜕ℎ 𝜕ℎ 𝜕ℎ
𝑦̇ (𝑡) = = = 𝑥̇ (𝑡) = [𝐴𝑥(𝑡) + 𝐵𝑢(𝑡)] = 𝐴𝑥(𝑡) + 𝐵. 𝑢(𝑡)
𝑑𝑡 𝜕𝑥 𝜕𝑡 𝜕𝑥 𝜕𝑥 𝜕𝑥 𝜕𝑥
𝜕ℎ 𝜕ℎ 𝜕ℎ 𝜕𝑥1 𝜕𝑥1
=( )=( ) = (1 0)
𝜕𝑥 𝜕𝑥1 𝜕𝑥2 𝜕𝑥1 𝜕𝑥2
−50 −1 𝑥1 100
𝑦̇ (𝑡) = (1 0) ( ) ( 𝑥 ) + (1 0) ( )𝑢
0.5 − 0.5 2 0
𝑥1
𝑦̇ (𝑡) = (−50 − 1) (𝑥 ) + 100𝑢 = −50𝑥1 − 𝑥2 + 100𝑢
2
Si la référence au futur 𝑦𝑟𝑒𝑓 (𝑡 + 𝜏) n’est pas prédéfinie, un calcul similaire est utilisé pour
trouver la prédiction approximativement.
𝑦𝑟𝑒𝑓 (𝑡 + 𝜏) = 𝑇(𝜏)𝑌𝑟𝑒𝑓 (𝑡)
Avec :
7
TD Commande prédictive
𝑦𝑟𝑒𝑓
𝑌𝑟𝑒𝑓 = [𝑦̇ ] 𝑇 (𝜏 ) = [ 1 𝜏 ]
𝑟𝑒𝑓
la fonction du cout,
𝑇𝑝
1
𝔍 = ∫ [𝑦𝑟𝑒𝑓 (𝑡 + 𝜏) − 𝑦(𝑡 + 𝜏)]𝑇 [𝑦𝑟𝑒𝑓 (𝑡 + 𝜏) − 𝑦(𝑡 + 𝜏)]𝑑𝜏
2
0
𝑦𝑟𝑒𝑓 𝑥1 𝑀0
𝑌𝑟𝑒𝑓 (𝑡) − 𝑌 (𝑡) = [𝑦̇ ] − [−50𝑥 − 𝑥 + 100𝑢] = [ ]
𝑟𝑒𝑓 1 2 𝑀1 − 100𝑢
𝑀0 = 𝑦𝑟𝑒𝑓 − 𝑥1
𝑀1 = 𝑦̇ 𝑟𝑒𝑓 + 50𝑥1 + 𝑥2
𝑇
𝑀0 𝑀0
1
𝔍= [ ̅[
] 𝛱 ]
2
𝑀1 − 100𝑢 𝑀1 − 100𝑢
𝑇𝑝2
𝑇𝑝 𝑇𝑝 𝑇𝑝 𝑇𝑝
1 1 𝜏 2
∫ 𝑇(𝜏)𝑇 𝑇(𝜏)𝑑𝜏 = ∫ [ ] [1 𝜏]𝑑𝜏 = ∫ [ 2 ] 𝑑𝜏 = 2 3
0 0 𝜏 0 𝜏 𝜏 𝑇 𝑇
𝑝 𝑝
[2 3]
𝑇𝑝2
𝑇𝑝 𝑀0
1 2
𝔍 = [𝑀0 (𝑀1 − 100𝑢)] 2 3 [ ]
2 𝑇𝑝 𝑇𝑝 (𝑀 − 100𝑢)
1
[2 3]
𝑀0
1 𝑇𝑝2 𝑇𝑝2 𝑇𝑝3
𝔍 = [𝑀0 𝑇𝑝 + (𝑀1 − 100𝑢) 𝑀 + (𝑀1 − 100𝑢) ] [ ]
2 2 2 0 3
(𝑀1 − 100𝑢)
1 𝑇𝑝2 𝑇𝑝2 𝑇𝑝3
𝔍 = [𝑀0 𝑀0 𝑇𝑝 + 𝑀 (𝑀 − 100𝑢) + 𝑀 (𝑀 − 100𝑢) + (𝑀1 − 100𝑢)2 ]
2 2 0 1 2 0 1 3
1 𝑇𝑝3
𝔍 = [𝑀0 𝑀0 𝑇𝑝 + 𝑇𝑝2 𝑀0 (𝑀1 − 100𝑢) + (𝑀1 2 − 2 ∗ 100𝑀1 𝑢 + 1002 𝑢2 ) ]
2 3
8
TD Commande prédictive
1 2 2
𝑇𝑝3 2 𝑇𝑝3 𝑇𝑝3
𝔍 = [𝑀0 𝑀0 𝑇𝑝 + 𝑇𝑝 𝑀0 𝑀1 − 100𝑇𝑝 𝑀0 𝑢 + 𝑀 − 2 ∗ 100 𝑀1 𝑢 + 1002 𝑢2 ]
2 3 1 3 3
La condition nécessaire à satisfaire pour trouver la commande optimale est la suivante :
𝜕𝔍
=0
𝜕𝑢
𝑇𝑝3 𝑇𝑝3
−100 𝑇𝑝2 𝑀0 − 200 𝑀1 𝑢 + 2 1002 𝑢 = 0
3 3
3
− 𝑀 − 𝑀1 + 100𝑢 = 0
2𝑇𝑝 0
3 1
𝑢= 𝑀0 + 𝑀
200𝑇𝑝 100 1
𝑀0 = 𝑦𝑟𝑒𝑓 − 𝑥1
𝑀1 = 𝑦̇ 𝑟𝑒𝑓 + 50𝑥1 + 𝑥2
3 1
𝑢= (𝑦𝑟𝑒𝑓 − 𝑥1 ) + (𝑦̇ + 50𝑥1 + 𝑥2 )
200𝑇𝑝 100 𝑟𝑒𝑓