1.6 KiB
Juego de utilizando filtro de kalman
Este proyecto implementa una simulación visual del Filtro de Kalman aplicado al seguimiento de un vehículo en 2D. El usuario puede controlar la “posición real” del carro con las flechas del teclado, mientras el sistema:
- Genera mediciones ruidosas (sensores).
- Predice la siguiente posición usando el modelo dinámico.
- Corrige la estimación aplicando el Filtro de Kalman.
En el juego podemos visualizar:
- Trayectoria real (verde)
- Mediciones ruidosas (rojo)
- Estimación de Kalman (azul)
- Elipse de incertidumbre (radio proporcional a la covarianza)
Objetivo del proyecto
Este programa fue creado como demostración educativa para mostrar cómo el Filtro de Kalman:
- Fusiona información del modelo con mediciones ruidosas
- Reduce la incertidumbre del sistema
- Proporciona una estimación más precisa que los datos del sensor
Requisitos:
- Python 3.8+
- Pygame
- NumPy
Instalación rápida:
pip install pygame numpy
Ejecucion
python carKF.py
Se controla mediante las flechas del teclado.
🧠 ¿Cómo funciona el filtro de Kalman en esta simulación?
El estado del carro se modela como:
x = \begin{bmatrix} x \ y \ v_x \ v_y \end{bmatrix}
El modelo dinámico (movimiento con velocidad constante):
x_{k+1} = A x_k + w_k
Donde:
A = \begin{bmatrix} 1 & 0 & dt & 0 \ 0 & 1 & 0 & dt \ 0 & 0 & 1 & 0 \ 0 & 0 & 0 & 1 \end{bmatrix}
Las mediciones simuladas solo observan la posición:
z_k = \begin{bmatrix} x \ y \end{bmatrix} + v_k
Matrices de ruido: • Ruido del proceso: Q = 0.01 I • Ruido del sensor (muy ruidoso): R = 25 I