Modélisation des systèmes non linéaires par des SIFs

Download Report

Transcript Modélisation des systèmes non linéaires par des SIFs

Modélisation des systèmes non
linéaires par des SIFs
L’Automatique consiste en l’étude des systèmes réels des
différentes
disciplines
scientifiques
(Electronique,
mécanique, thermique, chimie, écologie, biologie,
économie, sociologie, physique, cosmologie…), en vue de
l’analyse, de la prédiction, de la surveillance, de la
commande, et / ou de l’optimisation des systèmes.
Généralement, la connaissance du modèle du système réel
(on réalise une modélisation) est nécessaire dans l’étude.
Modélisation
Deux approches sont souvent considérées :
 La « modélisation boîte blanche » ou de « modélisation
théorique » se fonde sur les lois physiques, chimiques,
mécaniques, biochimiques.
 La « modélisation boite noire » ou modélisation s’attache à
établir «à partir de données expérimentales, une relation entre
les variables des entrées du processus et les variables de ses
sorties et ne nécessite pas a priori la connaissance des lois
physiques.
Identification des systèmes
Identifier un processus (système), c’est chercher un
modèle (dynamique) mathématique, appartenant à
une classe de modèles connue, et qui, soumis à des
signaux tests (en entrée), donne une réponse
(dynamique et statique en sortie), la plus proche
possible du système réel .
y(t)
u(t)
Système
Modèle
yˆ (t)
e(t)  y(t)yˆ (t) (t)
Modélisation des Systèmes Non linéaires
décrits par SIF de type Mamdani
But : Elaboration d’un SIF de M règles de type Mamdani
permettant de reproduire le comportement d’un système non
linéaire à partir d’un ensemble de données entrée/sortie.
Rl
Si x1 est F1l et …. et xn est Fnl alors y est Gl
où
l=1 … M : l’indice de la règle
Fil : désigne le lème ensemble flou qui caractérise la ième
variable xi
Gl : désigne le lème ensemble flou qui caractérise la variable
y.
Fl  Fl   Fl  Gl
1
2
Chaque règle l représente une implication floue de
dans l’espace Rn+1
n
Modélisation des Systèmes Non linéaires
décrits par SIF de type Mamdani
Pour un vecteur entrée x=(x1, ….,xn) donné, en utilisant
l’inférence de type Larsen (Sup-produit), la sortie floue de la
lème règle est définie par la fonction d’appartenance
G ' ( y )   F ( x1 )
j
 F ( xn ) G ( y )
j
j
n
1
j
La sortie floue globale associée à l’ensemble de règles est :
M
G ' ( y)  SupG 'l ( y)
l 1
M
G ' ( y)  Sup F ( x1 )  F ( xn )G ( y)
En utilisant la défuzzification
par la méthode du centre de
l 1
k
gravité :
yi G ' ( yi )

y  i 1k
 G ' ( yi )
l
1
i 1
l
n
l
y
Modélisation des Systèmes Non linéaires
décrits par SIF de type Mamdani
l
Si on considère que les points modaux
y
l ….,M)
floues de la sortie Gl(l=1,
1 (
G l (y )
i
y i  y i de gravité(
G'(yi)G'(y )
centre
), on aM
y 
i

y i 1M
i
(y )
des valeurs
) pour calculer le
n
M
 y 
l
G'
yˆ  f(x) l M1
G'(y )
i 1
n

i
i 1
l 1 i 1
Fil
n
 B(y l ) F (x1) F (xn) F (xi)
j
1
j
n
i 1
i
Fil
l
avec ly est la valeur modale de la valeur floue Gl
(xi)
(xi)
Modélisation des Systèmes Non linéaires
décrits par SIF de type Mamdani
l 2


x i x i 
l
M


y exp
l l

l

y
z
l 1
i 1
  i   
a(x)
l 1
yˆ f(x)


M
b(x)
l
  x  x l 2 
M n
z

exp i l i  

l 1
l 1 i 1
  i  
M
n
Cette fonction traduit une relation non linéaire entre le
vecteur d’entrée x et la sortie y. Le but de la modélisation
d’un système non linéaire par le SIF de type Mamdani
consiste alors à déterminer les paramètres
de
règles
 il xil yl l
1,..,
M i1(,..,n ,
,
(
,
)) permettant de minimiser
2
1 (f(x)l’erreur
e

y
)
quadratique
2
y désigne la sortie désirée du système et f(x) la sortie estimée par
le FIS.
Etapes de modélisation
La modélisation d’un système non linéaire par un SIF à
partir de données expérimentales est similaire à l’approche
classique. Elle se décompose en :
- Plan expérience et collecte des données
- Le choix de la structure du SIF et du critère
d’estimation,
- Estimation des paramètres
- Validation du modèle
Algorithme du gradient
Il repose sur un développement de e() limité au premier ordre
ef(x,y,q)
T
 e

e(kl)  e(k)
DqO Dq


q
 qq(k) 
T

e est le gradient du critère, vecteur colonne noté g . De e
Dq
k


q qq(k)

q
q  q(k) 

Puisque e(.) est à minimiser, nous cherchons à minimiser De. A IlDqll fixé,
cela conduit à choisir Dq colinéaire au gradient mais de sens opposé, soit
Dq  l g(q(k))
d'où AG q(k 1)q(k)l e
q q q(k)
Imaginons une personne abandonnée les yeux bandés au flan d'une
montagne. Pour rejoindre la vallée, il lui faut minimiser son altitude en
agissant sur sa position. La politique du gradient revient à tâter le terrain
autour de la position actuelle pour déterminer la direction de plus grande
pente, puis à partir dans la direction opposée. Inutile de dire que cette
politique à courte vue peut conduire à de sérieuses déconvenues !
Algorithme d’identification
Supposons que nous avons les données entrée-sortie caractérisant
le comportement de système non linéaire à modéliser (x, y) où
x=(x1,x2, x3, …, xn)  Rn et y  R
a) Estimation de y l (k)
y l (k 1) y l (k) el
y
k
e (f  y) f a (f  y) 1 zl
l
a yl
b
y
avec
l
1
y (k1)y (k)(f y) z
b
l
l
Algorithme du gradient
b) Estimation de
l
xi (k)
xi (k 1) xi (k) el
xi
l
l
k
l
y
e (f  y) f z (f  y) f zl 2(xi xi)
l
l
l
l2
b
xi
z xi
i
p
l
avec
y f l 2(x x )
xi (k1)xi (k)(f y)
z
l2
b

l
l
l
p
i
l
l
i
i
k
Algorithme d’identification
c) Estimation de  i (k)
l
 il (k 1) il (k) el
 i
k
p
l 2
yl f l 2(xi xi)
i (k 1)i (k)(f y)
z
l3
b

l
l
i
k
Application
On considère le système non linéaire discret :
y(k+1)=f(y(k),y(k-1),…..,y(k-n+1) ;u(k),….,u(k-m+1))
Où
f est une fonction inconnue que nous voulons identifier.
u et y sont les entrées et les sorties du système
n et m sont des entiers naturels.
Structure d’identification
Structure Parallèle
Système
Non linéaire
Structure Série-Parallèle
y
Système
Non linéaire
+
e
u
y
+
e
u
Système
Flou
Système
Flou
+
L’estimation des paramètres du SIF se fait en deux étapes
1) Initialisation des paramètres du SIF.
2) Adaptation en ligne des paramètres de règles linguistiques.
Initialisation des paramètres
Supposons que nous cherchons à déterminer un SIF à n entrées et une
sortie. Donc, on aura (2n+1)M paramètres à identifier. Pour initialiser ces
paramètres, on considère les M premières lignes du fichier
M
M
entrées/sorties . On définit :
[
(u (l))
(u (l))]
x (M)ui(l)
l
i
y (M)g(u(l))
l
 il (M)
i=1…..n, l=1,….,M.
max
i 1
i
min
i 1
i
2M
u(l)(u1(j),,un(l))T sont les entrées du système non linéaire et du
SIF et g(u(l)) est la sortie désirée du système SIF pour l’entrée u(l)
Exemple
y(k 1)0.3y(k)0.6y(k 1) g(u(k))
avec
g(u)0.6sin(u)0.3sin(u)0.1sin(5u) inconnue
On suppose M=40 ,  =0.5
u(k)sin(2k )
250
yˆ(k 1)0.3y(k)0.6y(k 1) fˆ(u(k))
Exemple