Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Robotica Cap1 Clase 8 Filtro de Kalman
Robotica Cap1 Clase 8 Filtro de Kalman
Parte VI
Filtro de Kalman
Contenido
Dr. Fernando Reyes Cortés Período: Otoño ( 21 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos: filtro de Kalman Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 2 / 15
Filtro de Kalman Ruido y señales aleatorias Observador de Kalman
Introducción
Filtro de Kalman
El filtro de Kalman es un observador compuesto por un conjunto de ecuaciones que permiten la
estimación de estados en presencia de ruido de sistemas dinámicos.
En 1960 Kalman publicó un algoritmo recursivo para resolver el problema de filtrado lineal.
La idea fundamental del filtro de Kalman es disminuir notablemente el ruido presente en las señales
instrumentales y variables de estado, así como estimar los estados no observables .
En diciembre de 1968, las técnicas de filtrado de Kalman fueron utilizadas en la trayectoria del Apollo 8,
cuya órbita fue alrededor de la luna.
Se presenta una breve introducción del análisis de sistemas estocásticos para el diseño de observadores a
través de la metodología de filtrado de Kalman.
Dr. Fernando Reyes Cortés Período: Otoño ( 21 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos: filtro de Kalman Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 3 / 15
Filtro de Kalman Ruido y señales aleatorias Observador de Kalman
Debido a sus contribuciones científicas, Kalman recibió Figura 1: Rudolf Kalman, científico Húngaro.
en 2009, la Medalla Nacional de Ciencias directamente
del presidente de la Unión Americana Barack Obama.
Dr. Fernando Reyes Cortés Período: Otoño ( 21 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos: filtro de Kalman Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 4 / 15
Filtro de Kalman Ruido y señales aleatorias Observador de Kalman
Ruido
Ruido
Ruido
Ruido es una señal aleatoria (en general desconocida) que distorsiona una señal electrónica, o la
información que proporcionan las variables de estado.
Algunas posibles fuentes de ruido son por fenómenos: ópticos, acústicos, electromagnéticos, mecánicos,
ambientales, vibraciones, etc.
π t
2
π
−1
Dr. Fernando Reyes Cortés Período: Otoño ( 21 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos: filtro de Kalman Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 5 / 15
Filtro de Kalman Ruido y señales aleatorias Observador de Kalman
Señales aleatorias
Señales aleatorias
Una señal aleatoria es un resultado numérico tal que distorsiona la señal o información de variables de
estados.
Dr. Fernando Reyes Cortés Período: Otoño ( 21 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos: filtro de Kalman Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 6 / 15
Filtro de Kalman Ruido y señales aleatorias Observador de Kalman
Distribución Gausiana
Distribución Gausiana
Una señal aleatoria gausiana (Gaussian random signal) se define a través de la densidad de probabilidad fσ (t):
2
1 t−µ
fσ (t) = √ e− 2 σ 2
σ 2π
donde σ, µ ∈ IR+ ; al parámetro µ es conocido como la media (valor medio) y a σ 2 como variancia.
Distribución Gausiana
t
-2 0
Dr. Fernando Reyes Cortés Período: Otoño ( 21 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos: filtro de Kalman Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 7 / 15
Filtro de Kalman Ruido y señales aleatorias Observador de Kalman
Distribución de parámetros
Distribución de parámetros
Distribución continua uniforme
La distribución continua uniforme de una señal x aleatoria se aplica sobre un intervalo x ∈ [a, b], entonces la
probabilidad de densidad es:
signo(x − a) − signo(x − b)
fσ (x) = (1)
2 b−a
Distribución de parámetros
La media µ de una señal aleatoria para una distribución gaussiana está dada por:
Z ∞
E[x] = xf (x)dx (2)
−∞
a+b
Cuando la distribución de la señal aleatoria es continua uniforme, entonces u = 2 .
La variancia σ 2 significa cuantos valores son esparcidos alrededor de la media µ, y se define de la siguiente
manera:
2
σ 2 = var(x) = = E[ x − µ ] = E[x2 ] − µ2 (3)
Dr. Fernando Reyes Cortés Período: Otoño ( 21 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos: filtro de Kalman Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 8 / 15
Filtro de Kalman Ruido y señales aleatorias Observador de Kalman
Distribución de parámetros
Vectores aleatorios: sea x ∈ IRn donde cada componente i-ésima xi ∈ IR es una variable aleatoria descrita
por su correspondiente función de distribución de probabilidad ρσi : Ω → [0, 1].
Matriz de covariancia: sean x, y ∈ IRn dos vectores aleatorios,entonces
h i
cov(x, y) = E x − E[x] y − E[y] T ∈ IRn×n
(4)
2
E x 1 − µ1 E x1 h− µ1 x2 −iµ2 ··· E x1 − µ1 xn − µn
E x 2 − µ2 2
E x1 − µ1 x2 − µ2 x2 − µ2 xn − µn
··· E
var(x) = (5)
.. .. ... ..
. . h .
2 i
E xn − µn x1 − µ1 E x n − µn x 2 − µ2 ··· E x n − µn
La diagonal principal de la matriz de variancia var(x) contiene todas las variancias σi2 de las componentes
xi ∈ x; las otras componentes representan las covariancias entre dos diferentes elementos xi , xj ∈ x.
En general, observe que de la ecuación (5) se cumple:
Distribución de parámetros
Matriz de auto-correlación del vector aleatorio x se denota por Ax , y se encuentra definida como:
Ax = E xxT
(7)
Sea un vector aleatorio x ∈ IRn con matriz de variancia var(x) ∈ IRn×n y media µ ∈ IRn , la distancia
Mahalanobis se define como:
q T
DM (x) = x − u var−1 (x) x − u (8)
Ruido blanco
Ruido blanco es una señal aleatoria en el tiempo con un espectro definida dentro de un ancho de banda con
media µ = 0 y con matriz de auto-correlación con elementos at1 t2 = E[xt1 xt2 ] = σ 2 · · · δ(t1 − t2 ), siendo δ la
función Delta Dirac.
Proceso de ruido blanco: defina el error de estimación como x̃ = y − cT x, la matriz de correlación está dada por:
1 j=k
Re (i, j) = E[x̃j x̃k ] = W[k]δjk , donde jjk = (9)
0 i 6= j
Dr. Fernando Reyes Cortés Período: Otoño ( 21 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos: filtro de Kalman Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 10 / 15
Filtro de Kalman Ruido y señales aleatorias Observador de Kalman
Observador de Kalman
Considere el sistema dinámico estocástico:
ẋ = −ax + bu + fruido
y = c x + druido
donde los parámetros del sistema dinámico son: a, b, c ∈ IR+ ; u ∈ IR es la señal de entrada al sistema; y ∈ IR es
la respuesta; fruido , druido ∈ IR son las señales de ruido blanco (disturbio gaussiano, distribución normal y de media
cero).
Diseño del observador:
˙
x̃ˆ = ẋ − x̂˙ = −a x + Z ˆ = −a x − x̂ + fruido − l c x̃ˆ
+ fruido + ax̂ − Z
bu
Z − l c x̃
bu
Z
˙
x̃ˆ = − a + l c x̃ˆ + fruido
(11)
La problemática consiste en encontrar una adecuada estructura para l = l(t) ∈ IR+ , tal en ausencia de ruido se
ˆ
mantenga la convergencia asintótica del error de estimación de estados x̃(t); y en presencia de ruido, el error de
ˆ
estimación |x̃(t)| < ρ << 1, con ρ ∈ IR+ .
Dr. Fernando Reyes Cortés Período: Otoño ( 21 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos: filtro de Kalman Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 11 / 15
Filtro de Kalman Ruido y señales aleatorias Observador de Kalman
donde p(t) ∈ IR+ , P(t) = E[x̃(t)x̃T (t)], rw ∈ IR; Rv ∈ IRn×n es una matriz diagonal definida positiva.
d J (t) 1 2
= l2 (t) 2 a p2 (t) − p (t)c2 2
rw
+ fruido (t)rv (13)
dt
dJ (t)
Minimizando a dt
con respecto a l:
∂ dJ (t) 1 2
= l2 (t) 2 a p2 (t) − p (t)c2 2
rw
+ fruido (t)rv = 0 ⇐⇒ l(0) = 0 (14)
∂l dt
Defínase a ṗ(t) a través del siguiente modelo dinámico:
1 2 2
ṗ = 2 a p2 − 2
p c + fruido (t)rv (15)
rw
donde las condiciones iniciales par p se obtienen como p(0) = E[x(0)xT (0)].
1
Se propone a l(t) = rw
c p(t).
Dr. Fernando Reyes Cortés Período: Otoño ( 21 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos: filtro de Kalman Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 12 / 15
Filtro de Kalman Ruido y señales aleatorias Observador de Kalman
Dinámica lineal
9 ruido2=sr*cos(rand(1,1)); ruido3=sr*rand(1,1);
10 xp=-a*x+b*u+ruido1;
11 y=c*x+ruido2;
12 pp=2*a*p*p-(1/rw)*p*p*c*c+rw*ruido3;
13 l=c*p;
14 xep=-a*xe+b*u+l*(y-c*xe);
15 xtildep=xp-xep;
16 oep=[xp; % dinámica del sistema xp=-a x+ b u+ruido(t).
17 xep; % estimador xep=-a*xe+n*u+l*(y-c’*xe).
18 pp; % estado de la ganancia p.
19 xtildep]; %
20 end
Dr. Fernando Reyes Cortés Período: Otoño ( 21 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos: filtro de Kalman Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 13 / 15
Filtro de Kalman Ruido y señales aleatorias Observador de Kalman
Dinámica lineal
´
´
´
10 oe0=[0; % x(0).
11 0; % xe(0).
12 0; % p(0).
13 0]; % xtilde(0).
14 % sistema dinámico con filtro de Kalman y ruido.
15 [t, oe]=ode45( KalmanEscalar , ts, oe0, opciones);
´
´
´
18 figure(2), plot(t, p, g ) % p
´
´
Dr. Fernando Reyes Cortés Período: Otoño ( 21 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos: filtro de Kalman Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 14 / 15
Filtro de Kalman Ruido y señales aleatorias Observador de Kalman
Dinámica lineal
Dr. Fernando Reyes Cortés Período: Otoño ( 21 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos: filtro de Kalman Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 15 / 15