III. IDENTIFICATION PARAMETRIQUE DES SYSTEMES LINEAIRES

Slides:



Advertisements
Présentations similaires
La Méthode de Simplexe Standardisation
Advertisements

Les matrices.
Johann Carl Friedrich GAUSS
Application au suivi des paramètres de problèmes de vision
3. Variantes de l’algorithme
Notion d ’état interne Démontrer le résultat trouvé pour s(t) :
Calculs de complexité d'algorithmes
Nouvelles méthodes en filtrage particulaire Application au recalage de navigation inertielle par mesures radio-altimétriques K. DAHIA Doctorant.
Du signal continu au numérique
C1 Bio-statistiques F. KOHLER
Département Signal & Communication
3. Analyse et estimation du mouvement dans la vidéo
M. EL Adel & M. Ouladsine LSIS – UMR-CNRS 6168 Marseille - France
1 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.
Estimation ellipsoïdale des paramètres dynamiques d'un robot
Modélisation des systèmes non linéaires par des SIFs
Stabilité des systèmes linéaires continus
Stabilité des systèmes linéaires continus
Chapitre VII :Commande par retour d’état
INTRODUCTION A MATLAB ENVIRONNEMENT MATLAB.
Cours d’Automatique MASTER OIV
Le filtrage au cours des âges Du filtre de Kalman au filtrage particulaire André Monin.
Rappel... Sous-espaces de Rn: Définition;
Cours DÉTERMINANT. Au dernier cours nous avons vus Linverse dune matrice. Quelques théorèmes qui encadrent son existence. Les matrices élémentaires.
ASI 3 Méthodes numériques pour l’ingénieur
Chapitre 2 : La fonction de transfert
Concepts avancés en mathématiques et informatique appliquées
Optimisation linéaire
Méthode des k plus proches voisins
VI-1 Introduction VI-2 Représentation d’état
PROGRAMMATION SCIENTIFIQUE EN C
Régression linéaire simple
Chapitre 3bis Applications linéaires et Matrices
Optimisation non linéaire sans contraintes
Techniques d’optimisation
Rappel... Caractérisation des matrices inversibles: Matrices bloc.
Méthodes de prévision (STT-3220)
Ajustements c2 non-linéaires
Optimisation-Identification et Cast3M
Régression linéaire (STT-2400)
STT-3220 Méthodes de prévision
Rappel... Matrices bloc. Décomposition des matrices:
La régression multiple
Analyse des systèmes linéaires types
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
Filtre de Kalman – Préliminaires (1)
Transformations linéaires et sous-espaces associés
Programmation linéaire en nombres entiers : les méthodes de troncature
ASI 3 Méthodes numériques pour l’ingénieur
Commande en espace d’état
Cours de mathématiques économiques
Chapitre 3-B : AUTOMATIQUE : LES S.L.C.I.
Contenu de cette séance :
Présentation du marché obligataire
Micro-intro aux stats.
PROGRAMMATION SCIENTIFIQUE EN C
20- Racine carrée Racine carré d’un nombre positif
Cours LCS N°4 Présenté par Mr: LALLALI
Calendrier (sur MathSV)
Chapitre 1 - Introduction.
TNS et Analyse Spectrale
Méthode des moindres carrés (1)
Notion d ’état interne Démontrer le résultat trouvé pour s(t) :
Commande optimale linéaire quadratique de Lunar Lander
Post-optimisation, analyse de sensibilité et paramétrage
Algorithmique Boucles et Itérations
Pierre Joli Cours de Mathématique Pierre Joli
Observateurs et filtre de Kalman
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
CEA dapnia Saclay 24 Janvier LA COMMANDE PREDICTIVE FONCTIONNELLE de Jacques RICHALET COPPIER Hervé ESIEE-Amiens
Transcription de la présentation:

III. IDENTIFICATION PARAMETRIQUE DES SYSTEMES LINEAIRES Le processus de l’identification paramétrique Système à identifier D/A A/D Modèle à paramètres ajustables (préducteur) Algorithme d’adaptation Paramètres u(t) y(t) +  e(t) Programme

1. MOINDRES CARRES RECURSIFS Admettons pour le moment que la perturbation v = 0 Choisissons les degrés m et n du numérateur et du dénominateur de la FT du système à modéliser. Forme du modèle : Soient les valeurs associées aux paramètres durant la période t c.à.d durant [t-1, t[ t-1 t Prédiction de la valeur de y(t) (1) Vecteur des paramètres En posant : Regresseur (1)  Prédiction

Erreur de prédiction : (2) Soit (3) où ai : facteurs de pondération Critère de q durant [t, t+1[ minimise Jt(q) L’estimation  est la solution de Or (3)   est la solution de (4) et (4) 

Si la matrice (5) est inversible, on tire (6) Mais (6) est non récursive. Elle nécessite : la mémorisation de tous les j(i), i = 1, …, t, l’inversion de la matrice P-1(t). Expressions récursives: => => (7) Il reste à trouver une relation récursive pour P(t)

(5)   (8) Pour éviter les inversions, on utilise le Lemme: Pour A = P-1(t-1), B = j(t), C = at et D = jT(t), et si P-1(t-1) est inversible, (8)  ou (9) Remarque : si P-1(t-1) inv. => P-1(t), P-1(t+1),... inv.

Algorithme du moindre carré récursif

INTERPRETATION du MCR PAR KALMAN CONVERGENCE DU MCR En supposant que le système reste invariant entre t et t+1, et l’écart bt.n(t) provient de l’imprécision du modèle et de mesure n(t): aléatoire de moyenne nulle et de variance s2 bt : facteur qui diminue quand l’information sur q augmente Les équations précédentes sont d’état avec Appliquons Kalman:

En posant: et comme dans MCR on retrouve (*) les mêmes relations qu’en MCR On déduit les propriétés suivantes

1) 2) => tr[P(t)] est une mesure de l’erreur d’estimation en t 3) tr[P(t)] décroissante. En effet Trace de > 0 car tr(numérateur) = > 0 et dénominateur = (1) => tr[P(t+1)] < tr[P(t)]

4) En effet tr[P(t)] décroissante et bornée par 0 L  (limite) (*) => L = L - lim de trace de => pour tout j(t) => P(t)  0 => L’algorithme MCR converge en moyenne quadratique vers les vrais paramètres en admettant que le modèle représente correctement la dynamique du système.

Choix des facteurs de pondération : ai Initialisation du MCR On pose: j(0) = [0, …, 0, 0, …,0] les y les u et au lieu de P(0) qui n’existe pas car P-1(0) = 0, on pose P(0) = P0 = c.I; c grand (=1000) et I = matrice unitaire P-1(0) = d.I (d = 0.001) et, d’après (5) et (6), MCR donne Comme les éléments diagonaux de j(i).jT(i) = jk2(i) > 0,  devient rapidement négligeable. Choix des facteurs de pondération : ai a) Cas d’un système invariant En principe on donne la même importance à toutes les périodes  ai = 1 i. Mais pour accélérer la convergence, on prend: 1 a0 ai i

b) Cas d’un système variant b(t,i) est d’autant plus faible que i est loin de t. (5) et (6) deviennent : (10) (11)

Choix de at et l(t) 1 b(t,i) t-i L’expression de ne se modifie pas dans MCR mais P-1(t-1) doit être remplacée par l(t).P-1(t-1) ou P(t-1) par P(t-1)/l(t) (10) et (11)  Donc la relation du MCR doit être remplacée par Choix de at et l(t) 1) Si q varie lentement  at = 1 et l(t) = l = cte => b(t,i) = l(t-i) 1 b(t,i) t-i 2) Si q varie rapidement il faut pouvoir le suivre => les pas d’itération doivent rester grands => tr[P(t)] ne doit pas diminuer On procède comme suit:

a) On pose l(t)/at = k = cte arbitraire mais d’autant plus faible que q est rapide b) On détermine l(t) en résolvant à chaque pas tr[P(t)] = tr[P(t-1)] = tr c.a.d ou (*) (*) est valable si l’écart est dû à la variation de q et non à l’erreur d’estimation. Or, au départ, c’est l’erreur d’estimation qui l’emporte. Remède : 1) On commence par supposer que le système est invariant jusqu’à l’instant t0 où tr[P(t0)] < (m+n).c, 0 < c < 4. Typiquement, c = 2. 2) On applique (*) à partir de t0.

(MCR) systèmes variants Initialement, on introduit les constantes k, c, a et on donne à t0 une trés grande valeur. La matrice P(t-1) et les vecteurs (t) et , obtenus durant l’étape t, sont stockés dans la mémoire. A l’instant t, on lit les valeurs de y(t) et de u(t). 2) Durant l’étape t+1, c’est-à-dire entre t et t+1, on effectue successivement les opérations suivantes: c) Si t > t0, on passe à f). e) Si tr[P(t)] ≤ (n + m).c, on pose t0 = t et tr = tr[P(t)], on passe à h). . i) T(t+1) = [-y(t), 1(t),…., (n-1)(t), u(t), (n+1)(t),…., (n+m-1)(t)].

S-function mcri function [sys,x0,str,ts] = mcri(t,x,v,flag,n,m,lamda,dt) % MCRI est une fonction-S pour estimer les paramètres d'un % système linéaire invariant non perturbé. % Les arguments t, x, v et flag sont introduits à chaque pas par % simulink. % t = instant du simulateur; v = [u(t),y(t)]' = entrée à l'instant t; % x = [theta;P(:);phi;alpha] = vecteur colonne contenant les % estimations des paramètres, les éléments de la matrice P, le % vecteur phi et le facteur alpha à l'instant t. % flag = code qui indique à la fonction-S ce qu'elle doit associer % à sys. % Les paramètres à introduire dans la fenêtre du bloc mcri sont: % n et m = les degrés respectivement du dénominateur et du % numérateur, % lamda = le facteur d'oubli et % dt = la période d'échantillonnage. % Voir SFUNTMPL pour la signification des valeurs de flag.

r = n+m ; if flag == 2 % associe à sys le nouveau état x(t+1). theta = x(1:r); P = zeros(r,r); P(:) = x(r+1:r+(r^2)); phi = x(r+(r^2)+1:2*r+(r^2)); alpha = x(2*r+(r^2)+1); u = v(1); y = v(2); epsilon = y - theta'*phi; den = (1/alpha) + phi'*P*phi; nvP = P - (P*phi*phi'*P)/den; nvtheta = theta + alpha*nvP*phi*epsilon; nvphi = [-y; phi(1:n-1)];u;phi(n+1:r-1)]; nvalpha = 1 - amda*(1 - alpha); sys = [nvtheta;nvP(:);nvphi;nvalpha]; elseif flag == 0 % dimensions et initialisation. %dimensions sys(1) = 0; % pas d'états continus. sys(2) = 2*r+(r^2)+1; % dimension de x : sys(3) = r+1; % dimension de la sortie: theta +trace. sys(4) = 2; % dimension de l'entrée v. sys(5) = 0; % pas de racines a déterminer. sys(6) = 0; % l'entrée ne sera pas lue durant flag 3. sys(7) = 1; % la periode d’échantillonnage est % toujours la même

%initialisation P = 1000*eye(r); x0 = [zeros(r,1);P(:);zeros(r,1);0.98]; str = []; % c'est toujours vide. ts = [dt 0]; % calcul aux instants nT sans décalage. elseif flag == 3 % définition de la sortie. P = zeros(r,r); P(:) = x(r+1:r+(r^2)); tr = trace(P); sys = [x(1:r);tr]; % c'est-à-dire theta et la trace de P. sys = sys(:); else sys = []; % les autres flags n'ont pas de rôle ici. end MCRI v = [u, y]’ dt xt xt-1 Flag t q tr(P)

a) Identification d’un système variant sur SIMULINK b2 b1