250 likes | 369 Views
Intégration numérique garantie de systèmes décrits par des équations différentielles non-linéaires Application à l'estimation garantie d'état et de paramètres dans un contexte à erreur bornée. Groupe identification 26 Septembre 2002. T. RAISSI, N. RAMDANI et Y.CANDAU
E N D
Intégration numérique garantie de systèmes décrits par des équations différentielles non-linéaires Application à l'estimation garantie d'état et de paramètres dans un contexte à erreur bornée. Groupe identification 26 Septembre 2002 T. RAISSI, N. RAMDANI et Y.CANDAU Centre d’Etude et de Recherche en Thermique, Energétique et Systèmes Université Paris XII-Val de Marne, Créteil.
Plan • - Introduction • Rappel sur le développement de Taylor • (pour les intervalles) • Application à l’estimation d’état pour les • systèmes continus • Estimation de paramètres • Conclusions et perspectives
x(k+1) = y(k) = g(x(k), u(k)) x(0) = x0 Estimation d’état : cas discret xIRn: vecteur d’état à estimer y IRm : vecteur des mesures (sortie) Deux types d’estimateur : Estimateur causal (on n’a que les mesures des instants précédents) Estimateur non causal ( on a toutes les mesures)
f x(0) x(1) x(n) g g y(1) y(n) Estimateur causal (Jaulin et al. 2001) On attribue un domaine a priori pour l’état à chaque instant, puis on fait une propagation dans le sens direct on trouve l’ensemble des valeurs de l’état qui sont cohérentes avec les mesures
Algorithme State_estimation(Jaulin et al., 2001) Entrée : [x(0)] Pour k = 1 à N, la mesure [y(k)] est disponible [x](k) = f([x(k-1)]) g-1([y(k)]) Sortie : [x(1)], [x(2)] … [x(N)] C’est un estimateur à deux étapes: prédiction et correction
= y = g(x(t), u(t)) x(t0) = x0 Systèmes continus Calcul Symbolique Solution explicite Inversion ensembliste (SIVIA, CSP,…) Généralement, PAS de solution EXPLICITE pour les systèmes non-linéaires
y = g(x(t)) x(t0) = x0 Intégration de f x(0) x(1) x(n) g g y(1) y(n) Systèmes continus : suite = Pour estimer l’état à des instants définis, il faut intégrer numériquement l’équation d’état
Outils Mathématiques(Développement de Taylor: Rappel) Si : IRnIRm CK dans un voisinage D d’un vecteur de réels a Alors x D, (x) = (a) + (i)(a) + rK(x)
= x(t0) = x0 Si f : IRnIRm est de classe Ck x[i] : le ième coefficient de Taylor x[i] = Taylor hi x[i](x(tj)) + hkx[k]( ) x(tj+1) = x(tj) + Avec : h = tj+1 - tj Application à l’intégration de l’équation d’état
x[1] = = f(x) = f[1] x[2] = = ( ) = (f(x)) = = J(f[1])f = f[2] x[i] = = ( ) = (f[i-1]) = f[i] = = f[i] Calcul explicite des coefficients de Taylor A chaque pas, calcul du jacobien du coefficient précédent Méthode récursive pour calculer les coefficients de Taylor
= x(t0) = [x0] • Ce calcul se fait en 2 étapes : • Trouver un encadrement a priori de la solution qui garantit que: t [tj, tj+1], xt [ ] • Utiliser un développement de Taylor pour réduire cet encadrement • Améliorer la qualité de la solution Développement de Taylor(version Intervalles)
hi f[i] ([x(tj)]) + hkf[k]([ ]) [x(tj+1)] = [x(tj)] + Problème de surestimation w([xj+1])=w([xj])+ hi w(f[i] ([x(tj)])) +w( f[k]([ ])) ≥ w([xj]) å Intégration des équations d’état Calcul d’une solution a priori contenant de manière garantie la solution exacte: Théorème du point fixe + l’opérateur de Picard Lindelöf (Nedialkov, 1997) Trouver [w] Tel que : [xj] + f([w])[0,h] [w] Pour faire le développement de Taylor (intervalle) on remplace chaque occurrence de x par un intervalle [x] : - k 1 = i 0
f[i] ([xj]) f[i]( ) + J(f[i], )([xj] - ), i = 1,…,k [xj] qui peut être le milieu de [xj] Valeur Moyenne : IRnIR, une fonction dérivable dans un domaine [a] x, y [a], (y) (x) + ’([a])([a] – x) : forme moyenne i-ème coefficient de Taylor avec la forme moyenne :
hi f[i] ( ) + hkf[k]( ) I + hjJ(f[i],[xj])([xj] - ) [xj+1] = + + [Vj+1] + [Sj]([xj] - ) [Vj+1] = + hi f[i] ( ) + hkf[k]( ) ˆ x [Sj] = I + hjJ(f[i],[xj]) j Taylor + forme moyenne(Nedialkov et Al. 1997) Développement de Taylor pour l’état x avec la forme moyenne pour les coefficients de Taylor : = C’est une méthode directe pour intégrer une équation différentielle
~ ˆ x x j j [Vj+1] + [Sj]([xj] - ) [xj+1] = [Vj+1] = + hi f[i] ( ) + hkf[k]([ ] ) ˆ x [Sj] = I + hjJ(f[i],[xj]) j Algorithme de la méthode directe Entrées : [x0], h pour j = 1 à N, calculer : Sorties : [x1], [x2],…, [xN]
[V1] + [S0]([x0] - ) [V2] + [S1]([x1] - ) [V2] + [S1]([V1] - ) + [x1] = [x2] = [x2] = [S1]([S0]([x0] - ) + [Sj]([Sj-1]([Sj-2](…([S0]([x0] - ) w(([Sj][Sj-1][Sj-2]…[S0])([x0] - ) ) w([Sj]([Sj-1]([Sj-2](…([S0]([x0] - )) >> Inconvénient : surestimation [Vj+1] + [Sj]([Vj] - ) + [Sj]([Sj-1]([Vj-1] - ) [xj+1] = + Une grande surestimation introduite à chaque pas
~ x j [Vj+1] = + hi f[i] ( ) + hkf[k]( ) ˆ x [Sj] = I + hjJ(f[i],[xj]) [qj+1] = ([Sj]Aj)[pj] + [Sj]([Vj] - ) [Vj+1] + [qj+1] [xj+1] = j [pj+1] = ( ([Sj]Aj)[pj] + ( [Sj])([Vj] - ) Méthode de la valeur moyenne étendue(Rihm, 1994) Initialisation : [x0], [p0], A0 = I Pour j = 1 à N, calculer : • Un encadrement à priori [ ] pour la solution • 2) Sorties :x1, x2, …, xN
Application à l’estimation d’état Deux étapes à chaque pas : Prédiction et Correction • Algorithme • Entrées : [x0] , [p0], A = I • Pour j = 1 à N • Etape de prédiction : calculer [xj+1] par Intégration de f avec la Méthode de la valeur moyenne étendue • Etape de correction : • [xj+1] = [xj+1] g-1([yj+1]) • Sorties : [x1], [x2], … , [xN]
= (1 – 0.01 x2)x1 = (-1 + 0.002x1)x2 y = x1(t) + x(t0) = [x0] Exemple (Lotka-Volterra) [x(t0)] = [49, 51][49, 51] h = 0.005 Bruit numérique de 5% de la mesure Modèle de Taylor d’ordre 4 Nombre de pas N = 1400
Sans mesures Avec mesure Résultats Prédiction assez bonne Les mesures permettent de réduire le phénomène d’enveloppement
Estimation de paramètres = y = g(x(t), p) x(t0) = x0 Estimation des paramètres p : trouver l’ensemble des paramètres tel que le système précédent possède une solution IP = {p IRnp | t IR, g(x(t,p)) [y(t)] } Trouver l’ensemble des paramètres qui sont cohérents avec les mesures et avec l’état prédit Soit param_estimation_test un test qui peut prendre trois valeurs { vrai, faux, indéterminé} Vrai : Si g(x,p) [y] Faux : Si g(x,p) [y] = Indéterminé sinon param_estimation_test
e e Entrées :f, g, [p], , [x0], [y1], [y2], …,[yN] 1) Si param_estimation_test (p) = faux; fin // [p] n’est pas une solution 2) Si param_estimation_test (p) = vrai IPin [p] ; 3) Si w(p) < IPind[p] 4) bissecter([p] en [p1] et [p2]) et aller à 1) Sorties : IPin , IPout = IPin IPind Algorithme Parameter estimation( SIVIA, Jaulin et al. 1993)
Exemple = (1 – p1x2)x1 = (-1 + p2x1)x2 [x(t0)] = [49, 51][49, 51] h = 0.005 [p0] = [-1,1][-1,1] y = x1(t)) + x(t0) = [x0] Erreur maximale de 5%
Conclusions • Résolution des équations différentielles à l’aide du développement de Taylor • Application à l’estimation d’état dans le cas des systèmes continus : des résultats relativement corrects si on fait attention au phénomène de surestimation. • Faisabilité de l’estimation de paramètres sans discrétisation de l’équation d’état grâce à une intégration numérique garantie de l’équation d’état
Perspectives • On propose de réaliser un estimateur non causal pour réduire l’effet de surestimation en utilisant des techniques de propagation de contraintes • Appliquer ces algorithmes pour l’estimation de paramètres thermiques