Introducción al filtro de Kalman

IE3041 - Sistemas de Control 2

La forma correcta de utilizar el "LQR" para observadores

Del LQR al filtro de Kalman
recordemos que la idea del LQR fue penalizar divergencia en las variables de estado y un sobre-uso de los actuadores (entradas)
Del LQR al filtro de Kalman
recordemos que la idea del LQR fue penalizar divergencia en las variables de estado y un sobre-uso de los actuadores (entradas)
Del LQR al filtro de Kalman
¿Qué ocurre si quisiéramos modificarlo para emplear la dinámica del observador de Luenberger?
Del LQR al filtro de Kalman
¿Qué ocurre si quisiéramos modificarlo para emplear la dinámica del observador de Luenberger?
Del LQR al filtro de Kalman
¿Qué ocurre si quisiéramos modificarlo para emplear la dinámica del observador de Luenberger?
Del LQR al filtro de Kalman
¿Qué ocurre si quisiéramos modificarlo para emplear la dinámica del observador de Luenberger?
Del LQR al filtro de Kalman
¿Qué ocurre si quisiéramos modificarlo para emplear la dinámica del observador de Luenberger?
Del LQR al filtro de Kalman
¿Qué ocurre si quisiéramos modificarlo para emplear la dinámica del observador de Luenberger?
???
Del LQR al filtro de Kalman
¿Qué ocurre si quisiéramos modificarlo para emplear la dinámica del observador de Luenberger?
???
Resulta que no sólo la entrada es fundamental para el planteamiento del LQR sino que este deja de existir al no estar presente esta
Del LQR al filtro de Kalman
entonces, para que el "LQR de observadores" funcione, debe penalizar algo en el lugar de la entrada
Del LQR al filtro de Kalman
entonces, para que el "LQR de observadores" funcione, debe penalizar algo en el lugar de la entrada
resulta que la respuesta a esto corresponde al ruido en el sistema
Del LQR al filtro de Kalman
entonces, para que el "LQR de observadores" funcione, debe penalizar algo en el lugar de la entrada
resulta que la respuesta a esto corresponde al ruido en el sistema
sin embargo, para entender el planteamiento necesitamos ser capaces de describir señales aleatorias
Del LQR al filtro de Kalman
entonces, para que el "LQR de observadores" funcione, debe penalizar algo en el lugar de la entrada
resulta que la respuesta a esto corresponde al ruido en el sistema
sin embargo, para entender el planteamiento necesitamos ser capaces de describir señales aleatorias
pongamos esto en contexto con un ejemplo...
Sensores






señal + ruido

señal + ruido
PROBLEMA
aún tenemos pendiente desarrollar herramientas matemáticas para lidiar con el ruido
Probabilidad y variables aleatorias
posibles valores
posibles valores
existe cierta probabilidad que tome algún valor en específico dentro de los posibles
posibles valores
\(\Rightarrow X\) es una variable aleatoria
existe cierta probabilidad que tome algún valor en específico dentro de los posibles
descrita por una función de densidad probabilística (pdf)
existe cierta probabilidad que tome algún valor en específico dentro de los posibles
descrita por una función de densidad probabilística (pdf)
\(P(X=x)=f_X(x)\) tal que \(\displaystyle\int_{-\infty}^{\infty}f_X(x)dx=1\)
existe cierta probabilidad que tome algún valor en específico dentro de los posibles
Ejemplo: variable aleatoria discreta

Ejemplo: variable aleatoria discreta

Ejemplo: variable aleatoria discreta

distribución uniforme discreta
Ejemplo: distribución uniforme continua
Ejemplo: distribución uniforme continua
Ejemplo: distribución uniforme continua
Ejemplo: distribución normal (Gaussiana)
Ejemplo: distribución normal (Gaussiana)
media o promedio
Ejemplo: distribución normal (Gaussiana)
media o promedio
varianza o el cuadrado de la desviación estándar
Ejemplo: distribución normal (Gaussiana)
media o promedio
varianza o el cuadrado de la desviación estándar
Ejemplo: distribución normal (Gaussiana)
distribución normal estándar
Ejemplo: distribución normal (Gaussiana)
a veces se busca pero la probabilidad acumulada hasta cierto valor
distribución normal estándar
Ejemplo: distribución normal (Gaussiana)
a veces se busca pero la probabilidad acumulada hasta cierto valor
cdf
distribución normal estándar
Otras distribuciones

Múltiples variables aleatorias
supongamos que ahora se tienen dos variables aleatorias \(X\) y \(Y\), entonces, se define su distribución de probabilidad conjunta (joint pdf) como
sí y sólo si \(X\) y \(Y\) son independientes
supongamos que ahora se tienen dos variables aleatorias \(X\) y \(Y\), entonces, se define su distribución de probabilidad conjunta (joint pdf) como
Múltiples variables aleatorias
Medidas, momentos y valor esperado
la media y la varianza describen a las distribuciones normales, sin embargo, resulta que forman parte de un conjunto de medidas que aplica a cualquier tipo de distribución
Medidas, momentos y valor esperado
la media y la varianza describen a las distribuciones normales, sin embargo, resulta que forman parte de un conjunto de medidas que aplica a cualquier tipo de distribución
la mayoría requiere de la noción general de valor esperado para calcularse
valor esperado (promedio ponderado)
valor esperado (promedio ponderado)
covarianza
correlación
varianza
media
Otras medidas

estas reciben el nombre de medidas de tendencia central
Varianza vs covarianza
>> ie3041_clase9_gaussianas.m
mientras la varianza es una medida de dispersión, la covarianza (y correlación) es una medida que representa la relación lineal entre las variables aleatorias, es decir, en qué medida el cambio de una está relacionado con el de la otra
Vectores de variables aleatorias
para evitar la confusión con matrices, emplearemos una notación distinta para vectores de variables aleatorias, por ejemplo, para el caso con \(\mathbf{x}\in\mathbb{R}^n\)
adicionalmente, las varianzas y covarianzas se combinan en un único objeto denominado matriz de covarianza
Vectores de variables aleatorias
adicionalmente, las varianzas y covarianzas se combinan en un único objeto denominado matriz de covarianza
varianzas en la diagonal y covarianzas fuera de la diagonal
Vectores de variables aleatorias
Ejemplo: Gaussiana de 3 dimensiones
Ejemplo: Gaussiana de 3 dimensiones
Ejemplo: Gaussiana de 3 dimensiones
Ejemplo: Gaussiana de 3 dimensiones
Ejemplo: Gaussiana de 3 dimensiones
Ejemplo: Gaussiana de 3 dimensiones
Ejemplo: Gaussiana de 3 dimensiones
varianzas y el resto son covarianzas
Ejemplo: Gaussiana de 3 dimensiones
Procesos estocásticos
proceso estocástico \(x(t)\) \(\approx\) generador de variables aleatorias en el tiempo
proceso estocástico \(x(t)\) \(\approx\) generador de variables aleatorias en el tiempo
proceso estocástico \(x(t)\) \(\approx\) generador de variables aleatorias en el tiempo
proceso estocástico \(x(t)\) \(\approx\) generador de variables aleatorias en el tiempo
proceso estocástico \(x(t)\) \(\approx\) generador de variables aleatorias en el tiempo
proceso estocástico \(x(t)\) \(\approx\) generador de variables aleatorias en el tiempo
demasiado complicado, quisiéramos que las variables salgan del mismo tipo de distribución con por lo menos la misma media
antes de simplificar necesitamos definir
auto-correlación
antes de simplificar necesitamos definir
auto-correlación
auto-covarianza
Procesos WSS
un proceso estocástico es (weak o) wide-sense stationary si cumple con
Procesos WSS
un proceso estocástico es (weak o) wide-sense stationary si cumple con
Procesos WSS
un proceso estocástico es (weak o) wide-sense stationary si cumple con
Procesos WSS
un proceso estocástico es (weak o) wide-sense stationary si cumple con
Procesos WSS
un proceso estocástico es (weak o) wide-sense stationary si cumple con
Procesos WSS
un proceso estocástico es (weak o) wide-sense stationary si cumple con
Nota: el procesamiento de señales estocásticas usa la auto-correlación como la señal de tiempo y aplica (casi) los mismos métodos. Por ejemplo:
Power Spectral Density (PSD)
Ejemplo: ruido blanco
ruido Gaussiano no correlacionado

Ejemplo: ruido blanco
ruido Gaussiano no correlacionado
Ejemplo: ruido blanco
ruido Gaussiano no correlacionado
conocer algo del proceso en el tiempo \(t_1\) no nos dice nada sobre el proceso en el tiempo \(t_2\)
>> ie3041_clase9_ruidoblanco.m
Regresando al filtro de Kalman

INTENSE
dado que queremos una herramienta lineal que podamos aplicar a sistemas no lineales, es necesario emplear el planteamiento "original" (completo) del filtro
dado que queremos una herramienta lineal que podamos aplicar a sistemas no lineales, es necesario emplear el planteamiento "original" (completo) del filtro
este asume un sistema LTV estocástico
Un ajuste al modelo lineal

Un ajuste al modelo lineal
Un ajuste al modelo lineal
ruido de proceso
vector de ruido blanco
ruido de medición
vector de ruido blanco
Un ajuste al modelo lineal
Un ajuste al modelo lineal
aunque se permite que cambie la varianza en el tiempo, no es lo típico
Un ajuste al modelo lineal
Un ajuste al modelo lineal
bajo esto ya hace sentido plantear un "LQR" para observadores
ya tenemos qué penalizar en lugar de la entrada \(\to\) ruido
y entonces
y entonces
ganancia de Kalman
y entonces
en donde \(\mathbf{P}=\mathbf{P}^\top \succ 0\) es la matriz de covarianza del error de estimación...
ganancia de Kalman
... y cuya dinámica satisface la ecuación (diferencial) de Riccati, ...
... y cuya dinámica satisface la ecuación (diferencial) de Riccati, ...
... con condiciones iniciales
... con condiciones iniciales
\(\mathbf{P}(0)\) representa la covarianza de la condición inicial y \(\sigma_e^2\) se utiliza para representar qué tan seguros estamos de conocerla
... con condiciones iniciales
\(\mathbf{P}(0)\) representa la covarianza de la condición inicial y \(\sigma_e^2\) se utiliza para representar qué tan seguros estamos de conocerla
en conclusión, lo que busca el filtro de Kalman es minimizar \(\mathbf{P}(t)\)
... con condiciones iniciales
\(\mathbf{P}(0)\) representa la covarianza de la condición inicial y \(\sigma_e^2\) se utiliza para representar qué tan seguros estamos de conocerla
en conclusión, lo que busca el filtro de Kalman es minimizar \(\mathbf{P}(t)\)
>> ie3041_clase9_ctkalman.m
Un caso especial
si el sistema es LTI y las covarianzas no cambian en el tiempo, entonces
si el sistema es LTI y las covarianzas no cambian en el tiempo, entonces
y \(\mathbf{P}\) ya sólo debe cumplir con la ecuación algebraica de Riccati
este recibe el nombre de filtro de Kalman en estado estacionario y corresponde al "equivalente" al LQR pero para observadores de estado
este recibe el nombre de filtro de Kalman en estado estacionario y corresponde al "equivalente" al LQR pero para observadores de estado
L = lqe(A, F, C, Qw, Qv)
este recibe el nombre de filtro de Kalman en estado estacionario y corresponde al "equivalente" al LQR pero para observadores de estado
L = lqe(A, F, C, Qw, Qv)
>> ie3041_clase9_lqgcontrol.m
Regresando a sistemas no lineales
si el modelo ahora cambia a uno no lineal
(y se mantienen las mismas cantidades estocásticas que se definieron anteriormente)
la dinámica para el estimador cambia a
la dinámica para el estimador cambia a
pero mantiene la misma ganancia de Kalman y cumple con la misma ecuación diferencial de Riccati, pero empleando matrices obtenidas mediante linealización
este estimador recibe el nombre de filtro de Kalman Extendido (EKF)
El filtro de Kalman Extendido
si bien el EKF funciona*, ya no es óptimo para el sistema no lineal y se vuelve más sensible a la correcta estimación de las condiciones iniciales
El filtro de Kalman Extendido
si bien el EKF funciona*, ya no es óptimo para el sistema no lineal y se vuelve más sensible a la correcta estimación de las condiciones iniciales
existen otras variantes del filtro que evitan el proceso de linealización, como el Unscented Kalman Filter (UKF)
IMPORTANTE
el planteamiento de tiempo continuo que vimos para tanto el filtro de Kalman como el EKF no es el que típicamente se emplea para su implementación
(sin embargo, para este curso, no nos preocuparemos al respecto de esto)
IMPORTANTE
LQR + Kalman
= Linear-Quadratic-Gaussian Control (LQG)
IMPORTANTE
LQR + Kalman
= Linear-Quadratic-Gaussian Control (LQG)
OJO: este pierde la robustez del LQR, es decir, no pueden darse garantías con respecto a sus márgenes de estabilidad
IMPORTANTE
LQR + Kalman
= Linear-Quadratic-Gaussian Control (LQG)
OJO: este pierde la robustez del LQR, es decir, no pueden darse garantías con respecto a sus márgenes de estabilidad
>> ie3041_clase9_lqgcontrol.m
IE3041 - Lecture 9 (2025)
By Miguel Enrique Zea Arenales
IE3041 - Lecture 9 (2025)
- 48