jacques lottin université de savoie...
Post on 27-Aug-2021
1 Views
Preview:
TRANSCRIPT
Cours Ecole de Bucarest 2013 1
Sur les capteurs virtuels
Jacques Lottin
Université de Savoie
jacques.lottin@univ-savoie.fr
Cours Ecole de Bucarest 2013 2
Présentation du contexte
Introduction aux capteurs virtuels
Rappels sur les modèles d’état En temps continu
En temps échantillonné
Construction d’observateurs Luenberger
Kalman
Etendus
A entrée inconnue
Utilisation pour la détection de défauts
Conclusion
Présentation
Cours Ecole de Bucarest 2013 3
Présentation
Cours Ecole de Bucarest 2013 4
Présentation
Cours Ecole de Bucarest 2013 5
Présentation
Cours Ecole de Bucarest 2013 6
• 1er réseau français des écoles d’ingénieurs des universités – 13 écoles – 12 000 élèves ingénieurs (dont 1 000 apprentis) – 2 800 ingénieurs diplômés par an – 50 000 ingénieurs en activité – 70 spécialités de formation – 1 000 doctorants
Présentation
Cours Ecole de Bucarest 2013 7
Plan
Systèmes Instrumentés et Communicants
Systèmes Intelligents
et Logiciels
Ingénierie Mécanique
Mécatronique
Matériaux
Composites
Génie de l’Environnement
Ingénierie du
Bâtiment
Énergie
Instrumentation
Automatique Informatique
Mécanique Matériaux
Environnement
Bâtiment Energie
S10
S9
S8
S7
S6
S5
S4
S3
S2
S1
Cycle préparatoire PeiP Parcours élève ingénieur Polytech
Année Semestre
A1
A2
A3
A4
A5
Mécanique Productique
Mécanique Productique
en partenariat avec
l’ITII
Présentation
Cours Ecole de Bucarest 2013 8
3 laboratoires de recherche & Un thème fédérateur : développement durable
– LISTIC : Systèmes intelligents – LOCIE : Energie et bâtiment durable – SYMME : Mécatronique
Introduction
Cours Ecole de Bucarest 2013 9
Sur les capteurs virtuels Besoin d’informations : - Surveillance - Traçabilité - Commande Mais un (bon) capteur coûte cher : - En réduire le nombre - En assurant une certaine redondance
Comment accéder à de l’information non mesurée directement ?
Introduction
Cours Ecole de Bucarest 2013 10
En jouant sur la dualité Information / Modèle
Action(s) Mesure(s)
Perturbation(s)
En supposant que le modèle est fiable
Modèles d’état
Cours Ecole de Bucarest 2013 11
Rappels sur la notion de modèle d’état :
𝑑𝑥1𝑑𝑡⋮⋮
𝑑𝑥𝑛𝑑𝑡
=
𝑓1(𝑥1, … , 𝑥𝑛,𝑢1, …𝑢𝑚)⋮⋮
𝑓𝑛(𝑥1, … , 𝑥𝑛,𝑢1, …𝑢𝑚)
𝑦1⋮⋮𝑦𝑠
=
ℎ1(𝑥1, … , 𝑥𝑛,𝑢1, …𝑢𝑚)⋮⋮
ℎ𝑠(𝑥1, … , 𝑥𝑛,𝑢1, …𝑢𝑚)
Modèles d’état
Cours Ecole de Bucarest 2013 12
Pour des systèmes linéaires :
� �̇�(t) = A.X(t) + B.U(t)Y(t) = C.X(t) + D.U(t)
�𝑋(k+1) = F.X(k) + G.U(k)Y(k) = C.X(k) + D.U(k)
En temps continu
En temps échantillonné
Observateurs
Cours Ecole de Bucarest 2013 13
En temps continu : Luenberger
�𝑋�̇�(t) = A.𝑿𝒐(t) + B.U(t) + L.(Y(t)−𝑌𝑜(t))𝑌𝑜(t) = C.𝑿𝒐(t) + D.U(t)
�𝑋�̇�(t) = (A − L.C).𝑋𝑜(t) + (B − L.D).U(t) + L.Y(t)𝑌𝑜(t) = C.𝑋𝑜(t) + D.U(t)
Placement arbitraire des valeurs propres si système entièrement observable
� 𝜀(t) =𝑋(t) − 𝑋𝑜(t)𝜀̇(t) = (A − L.C).𝜀(t)
Observateurs
Cours Ecole de Bucarest 2013 14
En temps discret : prédicteur
Placement arbitraire des valeurs propres si système entièrement observable
�𝑋𝑜(k+1) = F.𝑿𝒐(k) + G.U(k) + L.(Y(k)−𝑌𝑜(k))𝑌𝑜(k) = C.𝑿𝒐(k) + D.U(k)
�𝑋𝑜(k+1) = (F − L.C).𝑋𝑜(k) + (G − L.D).U(k) + L.Y(k)𝑌𝑜(k) = C.𝑋𝑜(k) + D.U(k)
� 𝜀(k) =𝑋(k) − 𝑋𝑜(k)𝜀(k+1) = (F − L.C).𝜀(k)
Observateurs
Cours Ecole de Bucarest 2013 15
En temps discret : estimateur
𝑋𝑜(k) = F.𝑋𝑜(k−1) + G.U(k−1) + L.(S(k)−𝑆𝑜(k))𝑌𝑜(k) = C.𝑋𝑜(k) + D.U(k)
𝑆𝑜(k) = 𝑌𝑜(k) − D.U(k) =C.𝑋𝑜(k) = C.F.𝑋𝑜(k−1) + C.G.U(k−1)
S(k) = Y(k) − 𝐷.𝑈(𝑘)
�𝑋𝑜(k+1) = (F − L.C.F).𝑋𝑜(k) + (G − L.C.G).U(k) + L.S(k+1)𝑌𝑜(k) = C.𝑋𝑜(k) + D.U(k)
�𝑍𝑜(k) = 𝑋𝑜(k) − L.S(k)
𝑍𝑜(k+1) = (F − L.C.F).𝑍𝑜(k) + (G − L.C.G).U(k) + (F − L.C.F).L.S(k)𝑋𝑜(k) = 𝑍𝑜(k) + L.S(k)
Observateurs
Cours Ecole de Bucarest 2013 16
En temps discret : Prédicteur de Kalman Contexte stochastique
E{𝑊1(k)} = 0 ; E{𝑊2(k)} = 0 E{𝑊1(k).𝑊1(k)T} = Q(k) ; E{𝑊1(i).𝑊1(j)T}=O si i ≠ 𝑗 E{𝑊2(k).𝑊2(k)T} = R(k) ; E{𝑊2(i).𝑊2(j)T}=O si i ≠ 𝑗 E{𝑊1(i).𝑊2(j)T} = O, ∀ 𝑖,∀ 𝑗
�𝜀(k) =𝑋(k) − 𝑋𝑜(k)
𝐽 = 𝐸{𝜀(k)T.𝑃 𝑘 . 𝜀(k)}
�𝑋(k+1) = F.X(k) + G.U(k) + 𝑊1(k) Y(k) = C.X(k) +𝑊2(k)
Observateurs
Cours Ecole de Bucarest 2013 17
Prédicteur optimal de Kalman
�𝑋𝑜(k+1) = F.𝑋𝑜(k) + G.U(k) + L(k).(Y(k)−𝑌𝑜(k))𝑌𝑜(k) = C.𝑋𝑜(k)
�𝐿(k) = F.H(k).CT .(𝑅 𝑘 + 𝐶.𝐻 𝑘 . CT)−1𝐻(k+1) = (F − L(k).C).𝐻(k).FT+ Q(k)
Dans le cas stationnaire : L = L(k) et H = H(k)
Initialisation : H(0) = E{ (𝑋 0 − 𝑋�0). (𝑋 0 − 𝑋�0)T} 𝑜𝑜 𝑋�0 = E{X(0)}
Observateurs étendus
Cours Ecole de Bucarest 2013 18
Influence de perturbations En temps continu :
�𝑋�̇�(t) = A.𝑋𝑜(t) +𝐵𝑢.U(t) + L.(Y(t) − 𝑌𝑜(t))𝑌𝑜(t) = C.𝑋𝑜(t) + D.U(t)
�𝑋�̇�(t) = (A − L.C).𝑋𝑜(t) + (𝐵𝑢 − L.D).U(t) + L.Y(t)𝑌𝑜(t) = C.𝑋𝑜(t) + D.U(t)
��̇�(t) = A.X(t) + 𝐵𝑢.U(t) + 𝐵𝑝.P(t)Y(t) = C.X(t) + D.U(t)
�𝜀(t) =𝑋(t) − 𝑋𝑜(t)
𝜀̇(t) = (A − L.C).𝜀(t)+ 𝐵𝑝.P(t)
Observateurs étendus
Cours Ecole de Bucarest 2013 19
Objectif : reconstruire la perturbation en même temps que l’état : Nécessite de faire des hypothèses sur la dynamique de la perturbation
�𝑋�̇�(t) = 𝐴 𝐵𝑝𝑂 0
.𝑋𝑒(t) + 𝐵𝑢𝑂
.U(t) =𝐴𝑒 .𝑋𝑒(t) +𝐵𝑒 . U(t)
Y(t) =𝐶𝑒 .𝑋𝑒(t) + D.U(t)
�̇�(t) = 0 Cas d’une perturbation constante :
On introduit un vecteur d’état étendu : 𝑋𝑒(t) = 𝑋(t)𝑃(t)
Observateurs étendus
Cours Ecole de Bucarest 2013 20
�𝑋�̇�(t) = 𝐴 𝐵𝑝 𝑂
𝑂 0 10 0
.𝑋𝑒(t) + 𝐵𝑢𝑂
.U(t) =𝐴𝑒 .𝑋𝑒(t) +𝐵𝑒 . U(t)
Y(t) =𝐶𝑒 .𝑋𝑒(t) + D.U(t)
�̈�(t) = 0 Cas d’une perturbation de type rampe (dérive) :
On introduit un vecteur d’état étendu : 𝑋𝑒(t) = 𝑋(t)P(t)�̇�(t)
Observateurs étendus
Cours Ecole de Bucarest 2013 21
�𝑋�̇�(t) = 𝐴 𝐵𝑝 𝑂
𝑂 0 1−𝜔2 0
.𝑋𝑒(t) + 𝐵𝑢𝑂
.U(t) =𝐴𝑒 .𝑋𝑒(t) +𝐵𝑒 . U(t)
Y(t) =𝐶𝑒 .𝑋𝑒(t) + D.U(t)
�̈�(t) = − 𝜔2𝑃(t) Cas d’une perturbation de type sinusoïde :
On introduit un vecteur d’état étendu : 𝑋𝑒(t) = 𝑋(t)P(t)�̇�(t)
Observateurs étendus
Cours Ecole de Bucarest 2013 22
Influence de perturbations En temps discret : Procédé discret
�𝑋𝑜(k+1) = F.𝑋𝑜(k) + G.U(k) + L.(Y(k)−𝑌𝑜(k))𝑌𝑜(k) = C.𝑋𝑜(k) + D.U(k)
�𝑋𝑜(k+1) = (F − L.C).𝑋𝑜(k) + (G − L.D).U(k) + L.Y(k)𝑌𝑜(k) = C.𝑋𝑜(k) + D.U(k)
�𝜀(k) =𝑋(k) − 𝑋𝑜(k)
𝜀(k+1) = (F − L.C).𝜀(k) +𝐺𝑝.P(k)
�𝑋(k+1) = F.X(k) + 𝐺𝑢.U(k) +𝐺𝑝.P(k)
Y(k) = C.X(k) + D.U(k)
Observateurs étendus
Cours Ecole de Bucarest 2013 23
Objectif : reconstruire la perturbation en même temps que l’état nécessite de faire des hypothèses sur la dynamique de la perturbation
�𝑋𝑒(k+1)= 𝐹 𝐺𝑝𝑂 1
.𝑋𝑒(k) + 𝐺𝑢𝑂
.U(k) =𝐹𝑒.𝑋𝑒(k) +𝐺𝑒 . U(k)
Y(k) =𝐶𝑒 .𝑋𝑒(k) + D.U(k)
P(k+1) =P(k) Cas d’une perturbation de type constante :
On introduit un vecteur d’état étendu : 𝑋𝑒(k) = 𝑋(k)𝑃(k)
Observateurs étendus
Cours Ecole de Bucarest 2013 24
�𝑋𝑒(k+1)= 𝐹 𝐺𝑝 𝑂
𝑂 2 −11 0
.𝑋𝑒(k) + 𝐺𝑢𝑂
.U(k) =𝐹𝑒 .𝑋𝑒(k) +𝐺𝑒 . U(k)
Y(k) =𝐶𝑒 .𝑋𝑒(k) + D.U(k)
P(k+1)−P(k)=P(k)−P(k−1) Cas d’une perturbation de type rampe :
On introduit un vecteur d’état étendu : 𝑋𝑒(k) = 𝑋(k)𝑃(k)𝑃(k−1)
Observateurs étendus
Cours Ecole de Bucarest 2013 25
�𝑋𝑒(k+1)= 𝐹 𝐺𝑝 𝑂
𝑂 2𝛾 −11 0
.𝑋𝑒(k) + 𝐺𝑢𝑂
.U(k) =𝐹𝑒.𝑋𝑒(k) +𝐺𝑒 . U(k)
Y(k) =𝐶𝑒 .𝑋𝑒(k) + D.U(k)
P(k+1)=2𝛾P(k)−P(k−1) Cas d’une perturbation de type sinusoïde :
On introduit un vecteur d’état étendu : 𝑋𝑒(k) = 𝑋(k)𝑃(k)𝑃(k−1)
Observateurs étendus
Cours Ecole de Bucarest 2013 26
Influence de perturbations En temps discret : Procédé continu discrétisé
��̇�(t) = A.X(t) + 𝐵𝑢.U(t) + 𝐵𝑝.P(t)Y(t) = C.X(t) + D.U(t)
On revient à l’équation d’évolution :
{ 𝑋 𝑡 = 𝑒𝐴.𝑡 X(0)+ ∫ 𝑒𝐴.(𝑡−𝜏)𝐵𝑢.U(𝜏)𝑡0 d 𝜏 + ∫ 𝑒𝐴.(𝑡−𝜏)𝐵𝑝.P(𝜏)𝑡
0 d𝜏
{X((k+1)T) = 𝑒𝐴.𝑇 X(kT)+ ∫ 𝑒𝐴.( 𝑘+1 𝑇−𝜏)d 𝜏 𝐵𝑢.U(kT)𝑘+1 𝑇𝑘𝑇
+ ∫ 𝑒𝐴.( 𝑘+1 𝑇−𝜏)𝐵𝑝.P(𝜏)𝑘+1 𝑇𝑘𝑇 d 𝜏
Observateurs étendus
Cours Ecole de Bucarest 2013 27
Approximation du trapèze :
{X((k+1)T) = 𝑒𝐴.𝑇 X(kT)+ ∫ 𝑒𝐴.( 𝑘+1 𝑇−𝜏)d 𝜏 𝐵𝑢.U(kT)𝑘+1 𝑇𝑘𝑇
+ ∫ 𝑒𝐴.( 𝑘+1 𝑇−𝜏)𝐵𝑝.P(𝜏)𝑘+1 𝑇𝑘𝑇 d 𝜏
{X((k+1)T) = 𝑒𝐴.𝑇 X(kT)+ 𝐺𝑢. U(kT) + 𝐺𝑝1. P((k+1)T) + 𝐺𝑝0. P(kT)
𝐺𝑢 = � 𝑒𝐴.(𝑡−𝜏)𝐵𝑢.d𝜏 = 𝐴−1(𝑒𝐴.𝑇−𝐼)𝐵𝑢𝑇
0
𝐺𝑝1 =𝑇2
.𝐵𝑝
𝐺𝑝0 =𝑇2
. 𝑒𝐴.𝑇 .𝐵𝑝
Observateurs étendus
Cours Ecole de Bucarest 2013 28
Objectif : reconstruire la perturbation en même temps que l’état : nécessite de faire des hypothèses sur la dynamique de la perturbation
𝑋𝑒(k+1)= 𝐹 (𝐺𝑝1+ 𝐺𝑝0)𝑂 1
.𝑋𝑒(k) + 𝐺𝑢𝑂
.U(k)
=𝐹𝑒.𝑋𝑒(k) +𝐺𝑒 . U(k)Y(k) =𝐶𝑒 .𝑋𝑒(k) + D.U(k)
P(k+1) =P(k) Cas d’une perturbation de type constante :
On introduit un vecteur d’état étendu : 𝑋𝑒(k) = 𝑋(k)𝑃(k)
Observateurs étendus
Cours Ecole de Bucarest 2013 29
Objectif : reconstruire la perturbation en même temps que l’état Nécessite de faire des hypothèses sur la dynamique de la perturbation
𝑋𝑒(k+1)= 𝐹 2.𝐺𝑝1+ 𝐺𝑝0 −𝐺𝑝1
𝑂 2 −11 0
.𝑋𝑒(k) + 𝐺𝑢𝑂
.U(k)
=𝐹𝑒.𝑋𝑒(k) +𝐺𝑒 . U(k)Y(k) =𝐶𝑒 .𝑋𝑒(k) + D.U(k)
P(k+1)−P(k)=P(k)−P(k−1) Cas d’une perturbation de type rampe :
On introduit un vecteur d’état étendu : 𝑋𝑒(k) = 𝑋(k)𝑃(k)𝑃(k−1)
Observateurs étendus
Cours Ecole de Bucarest 2013 30
Objectif : reconstruire la perturbation en même temps que l’état Nécessite de faire des hypothèses sur la dynamique de la perturbation
P(k+1)=2𝛾P(k)−P(k−1) 𝛾 = cos(ωT)
Cas d’une perturbation de type sinusoïde :
On introduit un vecteur d’état étendu : 𝑋𝑒(k) = 𝑋(k)𝑃(k)𝑃(k−1)
𝑋𝑒(k+1)= 𝐹 2.𝐺𝑝1+ 𝐺𝑝0 −𝐺𝑝1
𝑂 2𝛾 −11 0
.𝑋𝑒(k) + 𝐺𝑢𝑂
.U(k)
=𝐹𝑒.𝑋𝑒(k) +𝐺𝑒 . U(k)Y(k) =𝐶𝑒 .𝑋𝑒(k) + D.U(k)
Observateurs à entrées inconnues
Cours Ecole de Bucarest 2013 31
Temps continu
��̇�(t) = A.X(t) + 𝐵𝑢.U(t) + 𝐵𝑑.d(t)S(t) = C.X(t)
Comment construire un observateur dont le résultat soit indépendant de d(t)
��̇�(t) = N.Z(t) +M.U(t) +H.S(t) 𝑋𝑜(t) = Z(t) − E.S(t)
Hypothèse concernant la structure d’un tel observateur :
Peut-on trouver les matrices N, M, H, E telles que : 𝑋𝑜(t) − 𝑋(t) → 0 𝑚𝑚𝑚𝑚𝑚𝑚 d(t) ?
Observateurs à entrées inconnues
Cours Ecole de Bucarest 2013 32
Avec P = I + E.C Conditions à satisfaire (3 équations pour 4 « inconnues ») :
𝜀(t) = 𝑋(t) − 𝑋𝑜(t) = 𝑋(t) − Z(t) + E.S(t) = (I+E.C) X(t) − Z(t)
� 𝑃.𝐵𝑑= 0
𝑃.𝐵𝑢 − M= 0P.A − N.P−H.C = 0
Analysons : 𝜀̇ 𝑡 = �̇�(t) − 𝑋�̇� (t)
𝜀̇ 𝑡 = (I+E.C)(A.X(t) + 𝐵𝑢.U(t) + 𝐵𝑑.d(t)) − (N.Z(t) +M.U(t) +H.C.X(t))
𝜀̇ 𝑡 = N. 𝜀(t)+(P.A−N.P−H.C).X(t)+(𝑃.𝐵𝑢 − M).U(t) 𝑃.𝐵𝑑.d(t)
Observateurs à entrées inconnues
Cours Ecole de Bucarest 2013 33
𝑃.𝐵𝑑= 0 (I + E.C).𝐵𝑑= 0
𝐸 = −𝐵𝑑 .𝑝𝑖𝑝𝑝( 𝐶.𝐵𝑑)
𝑃.𝐵𝑢 − M = 0 M = (I + E.C).𝐵𝑢
P.A − N.P−H.C = 0 P.A − N.(I + E.C)−H.C = 0
N = P.A − (N.E + H).C = P.A − K.C
On ne résout pas directement cette équation à deux inconnues : - On cherche K pour fixer les valeurs propres de (P.A – K.C), donc de N, ce qui conduit indirectement à N - Puis on résout H = K – N. E
Observateurs à entrées inconnues
Cours Ecole de Bucarest 2013 34
Temps discret
�𝑋(k+1) = F.X(k) + 𝐺𝑢.U(k) + 𝐺𝑑.d(k)S(k) = C.X(k)
Comment construire un observateur dont le résultat soit indépendant de d(k)
�𝑍 (k+1) = N.Z(k) + M.U(k) + H.S(k) 𝑋𝑜(k) = Z(k) − E.S(k)
Hypothèse concernant la structure d’un tel observateur :
Peut-on trouver les matrices N, M, H, E telles que : 𝑋𝑜(k) − 𝑋(k) → 0 𝑚𝑚𝑚𝑚𝑚𝑚 d(k) ?
Observateurs à entrées inconnues
Cours Ecole de Bucarest 2013 35
Avec P = I + E.C Conditions à satisfaire (3 équations pour 4 « inconnues ») :
𝜀(k) = 𝑋(k) − 𝑋𝑜(k) = 𝑋(k) − Z(k) + E.S(k) = (I+E.C) X(k) − Z(k)
� 𝑃.𝐺𝑑= 0
𝑃.𝐺𝑢 − M = 0P.F − N.P − H.C = 0
Analysons : 𝜀(k+1) = 𝑋(k+1) − 𝑋𝑜(k+1)
𝜀(k+1) = (I+E.C)(F.X(k) + 𝐺𝑢.U(k) + 𝐺𝑑.d(k)) − (N.Z(k) +M.U(k) +H.C.X(k))
𝜀(k+1) =N. 𝜀(k) +(P.F − N.P − H.C).X(k) + (𝑃.𝐺𝑢 − M).U(k) + 𝑃.𝐺𝑑.d(k))
Observateurs à entrées inconnues
Cours Ecole de Bucarest 2013 36
𝑃.𝐺𝑑= 0 (I + E.C).𝐺𝑑= 0
𝐸 = −𝐺𝑑 .𝑝𝑖𝑝𝑝( 𝐶.𝐺𝑑)
𝑃.𝐺𝑢 − M = 0 M = (I + E.C).𝐺𝑢
P.F − N.P−H.C = 0 P.F − N.(I + E.C)−H.C = 0
N = P.F − (N.E + H).C = P.F − K.C
On ne résout pas directement cette équation à deux inconnues : - On cherche K pour fixer les valeurs propres de (P.F – K.C), donc de N, ce qui conduit indirectement à N - Puis on résout H = K – N. E
Détection de défauts
Cours Ecole de Bucarest 2013 37
Illustration sur un exemple : - Système de chauffage de quatre cellules couplées - Deux entrées de commande - Deux sorties mesurées - Défauts sur résistance thermique de paroi
Voir programme Matlab
top related