Jacques Lottin Université de Savoie...

Preview:

Citation preview

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

Recommended