Materiales: [ Cód.: testEKFconMatlabBuiltIn.mlx ] [ PDF ]
En este vídeo se utiliza el modelo no-lineal y los jacobianos (matrices de
derivadas parciales) de un péndulo no-lineal de segundo orden cuyo detalle se ha
abordado en el vídeo [
Aquí se detallan las distintas opciones que el comando extendedKalmanFilter de la Control Systems Toolbox necesita:
El modelo no lineal
Los jacobianos de la ecuación de estado (StateTransitionJacobianFcn) y salida (MeasuremnteJacobianFcn).
Varianzas de ruido de proceso (ProcessNoise) y medida (MeasurementNoise)
Condiciones iniciales del observador en media (State) y en varianza (StateCovariance).
Con todo ello, iterando los comandos correct y predict se puede ejecutar el código que implementa el filtro de Kalman extendido.
Para comparar resultados, se comparan las simulaciones temporales de:
El filtro de Kalman extendido con modelo no-lineal y jacobiano variante en el tiempo
El observador lineal con el modelo linealizado en el origen (jacobiano constante).
Un intermedio donde las ecuaciones de medias son evaluadas con
el modelo no-lineal pero las ecuaciones de varianza/ganancia del
observador utilizan las matrices constantes de la linealización en el
origen. Esto es una idea similar a la usada en el vídeo [
En este caso de estudio la primera y tercera de las simulaciones obtienen resultados prácticamente idénticos aunque, realmente, la implementación formalmente aconsejada sería la primera.
Este mismo ejemplo es objeto de análisis en el vídeo [
Nota: en este vídeo se ha usado el comando extendedKalmanFIlter de
Matlab. Para lectores interesados en detalle de implementación interno, el
vídeo [
Colección completa [VER]:
Anterior Ejemplo filtro Kalman extendido (péndulo, I): modelado y linealización Matlab
Siguiente Análisis de error del filtro de Kalman extendido (serie de Taylor)