Está en la página 1de 33

Tecnologías Avanzadas de Sistemas

Inteligentes

Filtros  para  diagnosis  de  fallos  


en  sistemas  dinámicos  
Motivación

!  ¿Cómo  funciona  la  es7mación  con  los  PCs?  


!  ¿Qué  pasa  con  la  detección  de  fallos  cuanto  tenemos  ruido  en  los  
sensores?  
!  ¿Y  cuando  tenemos  “ruido”  (incer7dumbre)  en  el  proceso?  

2
Observadores. Diseño

"  Sistema en espacio de estados:

"  Observador de estados: recibe como entradas u(t) e y(t), y


genera una estimación sobre el estado x(t)
(denotado ):

3
Observadores. Diseño

!  Importancia  del  diseño  de  observadores  


!  La  señal  de  realimentación  a  través  de  K  funciona  como  una  señal  de  
corrección  para  el  modelo  de  la  planta.  Si  tenemos  implícitos  factores  
desconocidos  de  la  planta  con  valores  significa7vos,  la  señal  de  
realimentación  debería  ser  grande  (es  decir  el  valor  de  K).  
!  Sin  embargo,  si  las  medidas  están  excesivamente  contaminada  con  ruidos  
o  perturbaciones,  esta  señal  ya  no  es  confiable  y  por  lo  tanto  la  señal  de  
realimentación  debería  ser  rela7vamente  pequeña.  
!  A  la  hora  de  diseñar  la  matriz  K  debemos  prestar  atención  a  los  efectos  
de  errores  en  el  modelo/proceso  y  ruido  en  las  medidas..  
!  Habitualmente  se  suele  diseñar  como  un  compromiso  una  respuesta  
rápida  y  la  sensibilidad  frente  a  perturbaciones  del  modelo  (w)  y  ruido  en  
los  sensores  (v).  

4
Filtros

!  Filtro  de  Kalman  #  Sistemas  lineales/distribución  gausiana  


!  Filtro  de  Kalman  Extendido  #  Sistemas  no  lineales/distribución  
gausiana  
!  Unscented  Kalman  Filter  #  Sistemas  no  lineales/distribución  gausiana  
!  Más  eficiente  que  EKF  
!  Filtro  de  ParXculas  #  Sistemas  no  lineales/distribución  no  gausiana  

5
Filtro de Kalman

!  El  filtro  de  Kalman  asume  un  sistema  dinámico  lineal  y  un  observable  
corrompido  con  ruido  gausiano.  
!  Permite  la  es7mación  de  estados  pasados,  presentes  y  futuros  bajo  
incer7dumbre.      
!  El  filtro  de  Kalman  extendido  asume  un  sistema  no  lineal  y  la  
linealización  local.  

6
Filtro de Kalman

!  El  filtro  de  kalman  trata  de  es7mar  el  estado                                    de  un  proceso  
dinámico  de  7empo  discreto  modelado  por  las  ecuaciones  sig.  

!  Sujeto  a  observaciones                                      calculadas  mediante  las  ecuaciones  

!  Las  variables  aleatorias                                                  modelan  el  ruido  en  el  modelo  y  


en  las  observaciones,  respec7vamente.  

         Q  es  la  matriz  covarianza  del  ruido  del  


       proceso,  R  es  la  covarianza  del  ruido  
       de  la  medida.  

7
Filtro de Kalman

Estimación del estado antes de conocer


información sobre el instante k. Estimación a
priori.
Idem después de conocer la observación en el
instante k. Estimación a posteriori.

Los errores de estimación a priori y a posteriori:

Matrices de covarianza del error a priori y


del error a posteriori de clasificación.

8
Filtro de Kalman

El objetivo inicial es dar una ecuación que calcule la


estimación a posteriori a partir de la estimación a priori y
el error en la predicción de la observación.

Es el error en la observación.

K es la ganancia que minimiza la covarianza del error a


posteriori. Una expresión que se obtiene mediante sustitución e
igualando a cero la derivada de la covarianza respecto de K:

9
Filtro de Kalman

El proceso iterativo del filtro de Kalman se descompone en


dos etapas: (1) la predicción del estado a partir del estado
anterior y las ecuaciones dinámicas y (2) la corrección de
la predicción usando la observación del estado actual.
10
Filtro de Kalman

Ecuaciones de predicción o actualización del estado y de


la covarianza del error de predicción.
La matriz de covarianza inicial puede ser la matriz
identidad.

11
Filtro de Kalman

La corrección comienza con el cálculo de la ganancia, a


continuación realiza la estimación a posteriori y finalmente
actualiza la matriz de covarianza a posteriori.

12
Filtro de Kalman

13
Filtro de Kalman

!  Las  es7maciones  iniciales  de  x0  y  P0  no  son  demasiado  crí7cas  (la  
es7mación  va  a  converger).  
!  Las  matrices  Q  y  R  sí  son  crí7cas  para  el  funcionamiento  del  filtro:  
!  R  se  puede  es7mar  a  través  de  las  medidas.  
!  Q  es  di^cil  de  es7mar.  
!  Habitualmente  se  realiza  un  ajuste  de  ambos  parámetros  para  lograr  el  
funcionamiento  deseado:  
!  Con  R  filtramos  el  ruido  en  los  sensores  (filtramos  más  las  salida)  
!  Con  Q  minimizamos  las  desviaciones  del  model  (nos  ajustamos  más  a  la  
salida).  

14
Filtro de Kalman - Ejemplo

% Filtro de Kalman para la estimación de una constante


% El modelo de estados es x_k=x_(k-1) + N(0,var_estados)
% El de observaciones es y_k=x_k+N(0,var_obs)
% Se introduce el número de datos y el valor a estimar
% Se introduce un valor inicial para el estado y para la covarianza P
% A continuación la covarianza de la observación y del modelo (R, Q)
% Se dibuja el estimador, las observaciones y la varianza de la estimación

N=input('Numero de datos de entrada ');


obj=input('Valor a estimar ');
x0=input('Valor inicial del estado (x0) ');
P0=input('Covarianza estimación inicial (P0) ');
R=input('Covarianza de la observación ');
Q=input('Covarianza del modelo ');

X_apriori=zeros(N+1,1); % estimación del estado a priori


P_apriori=zeros(N+1,1); % covarianza a priori
Ganancia_K=zeros(N+1,1); %Ganancia K
X=zeros(N+1,1); % estimación del estado a posteriori
Y=zeros(N+1,1); % estimación de la salida
P=zeros(N+1,1); % covarianza a posteriori

15
Filtro de Kalman - Ejemplo

%Generamos una medida "ficticia" que estima el valor obj, pero sumándole el
%ruido de las medidas (hay que tener en cuenta una desviación de la medida,
%para hacer que el ruido no esté muy disperso).
disp_ruido = 0.7;
for k=2:N+1
Y(k)=obj + disp_ruido*randn(1);
end

X(1)=x0;
P(1)=P0;
for k=2:N+1
X_apriori(k)=X(k-1);
P_apriori(k)=P(k-1) + Q;
Ganancia_K(k)=P_apriori(k) / (P_apriori(k) + R);
X(k)=X_apriori(k) + Ganancia_K(k)*(Y(k)-X_apriori(k));
P(k)=(1 - Ganancia_K(k)) * P_apriori(k);
end

close all
plot([1:N+1],X,[2:N+1],Y(2:N+1)), title('Estimador de Kalman vs. observaciones');

16
Filtro Extendido de Kalman

La dinámica del sistema es no-lineal. Se convierte al caso lineal


realizando la linealización que da la descomposición en serie de
Taylor.
El proceso está gobernado por la ecuación no-lineal:

La observación es también una función general que puede


ser no-lineal:

17
Filtro Extendido de Kalman

El filtro extendido de Kalman linealiza el sistema:


Jacobiano de la función
dinámica no lineal respecto del
estado del proceso.

Jacobiano de la función dinámica


respecto del ruido del proceso.

Jacobiano de la función de
observación respecto del
estado del proceso.

Jacobiano de la función de
observación respecto del ruido
de observación.
18
Filtro Extendido de Kalman

Ecuaciones de predicción del estado a priori y de la covarianza


de la predicción:

19
Filtro Extendido de Kalman

20
Filtro Extendido de Kalman

21
Filtro Extendido de Kalman

Fase de predicción Fase de corrección


Realizamos un cálculo Calculamos la ganancia de
previo del estado y de la Kalman y actualizamos el estado
covarianza y la covarianza

Jacobiana de la función de estado respecto al Jacobiana de la salida respecto al estado


estado
Jacobiana de la función de estado respecto al error Jacobiana de la salida respecto al error

Covarianza del ruido en el proceso Covarianza del ruido en el sensor

22
Problema

!  Como  en  el  filtro  de  Kalman:  obtener  el  valor  de  R  y  Q…  y  además  
calcular  las  jacobianas.  
!  R  nos  da  una  indicación  de  lo  fiables  que  son  las  señales  obtenidas  por  
los  sensores  (ruido  de  medida).  “Siempre  viene  definida  como  el  
cuadrado  de  un  valor  sigmav”.  
!  Q  nos  da  una  indicación  de  lo  fiable  que  es  el  modelo  (ruido  de  
proceso).  “Siempre  viene  definida  como  el  cuadrado  de  un  valor  
sigmaw”.  
!  ¿Cómo  podemos  calcularlas?...  

23
Problema

!  Sistema  no  lineal  con  perturbaciones:  

!  R  y  Q  se  definen  de  la  siguiente  manera  (independientes  entre  sí,  


ruido  blanco  y  con  distribución  normal  de  probabilidad).  

24
Problema

Covarianza: Se utiliza para comparar los resultados de


dos grupos de variables.

Consecuentemente, R y Q se definen de la siguiente


manera (independientes entre sí, ruido blanco y con
distribución normal de probabilidad):

25
Problema

En este caso concreto lo que tenemos es la covarianza de


una misma variable. Es decir, lo que tenemos es la
varianza:

Y la varianza puede venir dada en función de la


desviación estándar:

O bien:

26
Problema

Por los tanto, los valores de R y de Q van a venir


definidos por el cuadrado de la desviación estándar:

27
Problema

!  ¿Y  esto  que  significado  7ene?  


–  La  desviación  estándar,  también  conocida  como  desviación  Xpica,  es  una  
medida  de  dispersión  usada  en  estadís7ca  que  nos  dice  cuánto  7enden  a  
alejarse  los  valores  puntuales  del  promedio  en  una  distribución.  
–  Dicho  de  otra  manera,  la  desviación  estándar  es  simplemente  el  
"promedio"  o  variación  esperada  con  respecto  de  la  media  aritmé7ca.  
–  Una  desviación  estándar  grande  indica  que  los  puntos  están  lejos  de  la  
media,  y  una  desviación  pequeña  indica  que  los  datos  están  agrupados  
cerca  de  la  media.  

28
Problema

!  En  el  ejemplo  del  tanque:  


–  Flujo  de  entrada  constante  de  6  l/seg  de  media.  Variación  permi7da  del  
10%.  Por  tanto:  
!  R  =  0.6  *  0.6  =  0.36  
–  Si  suponemos  modelo  sin  errores:  
!  Q  =  0  (o  muy  próximo  a  0)  

!  Aunque  por  lo  general  no  vamos  a  saber  los  valores  de  Q.  

29
Código del Observador

%F  es  la  jacobiana  de  la  función  f  respecto  a  la  variable  de  estado  
F  =  ?;  
%G  es  la  jacobiana  de  la  función  de  transferencia  de  la  planta  respecto  al  error  
G  =  ?;  
%Q  es  la  covarianza  del  ruido  en  el  proceso  
Q  =  0;  
%H  es  la  jacobiana  de  la  función  de  transferencia  del  sensor  debido  a  las  variables  (h  respecto  a  x)  
H  =  ?;  
%V  es  la  jacobiana  de  la  función  de  transferencia  del  sensor  debido  al  error  en  la  medida  (h  respecto  a  
v)  
V  =  ?;  
%R  es  la  covarianza  del  ruido  en  el  sensor  
R  =  0.000016;  

30
Código del Observador

!  En  Matlab…  

syms q0 k v1 h A1
f=(q0-(k*v1*sqrt(h)))/A1
diff(f,h)

31
Código del Observador

%FASE  DE  PREDICCIÓN  


%Pre-­‐es7mamos  la  altura.  
??  
%Pre-­‐es7mación  de  la  covarianza  del  error  
??  

%FASE  DE  CORRECCIÓN  


%Calculamos  la  ganancia  de  Kalman  
??  
%Actualizamos  el  estado  
??  
%Actualizamos  la  covarianza  
??  

32
Referencias

!  An  introduc7on  to  the  Kalman  filter.  Greg  Welch,  Gary  Bishop,    


!  hrp://www.cs.unc.edu/~welch/kalman/kalmanIntro.html  
!  hrp://www.cs.unc.edu/~welch/kalman/  

33

También podría gustarte