Ir al contenido

Experto en fusión de sensores

La fusión de sensores es la tecnología clave para mejorar la precisión de la estimación de estado del drone. En este proyecto aprenderás a desarrollar un sistema de fusión de datos de múltiples sensores.

  • Principios del filtro de Kalman (KF)
  • Filtro de Kalman extendido (EKF)
  • Filtro de Kalman sin perfume (UKF)
  • Fusión de múltiples sensores
Artículo Cantidad Descripción
Drone ya ensamblado 1 Con sensores MPU6050, BMP280, VL53L0X, etc.
Ordenador 1 Con entorno VS Code + ESP-IDF
Cable de datos USB 1 Para programar

El objetivo de la fusión de sensores es combinar la información de varios sensores para obtener una estimación de estado más precisa.

Algoritmos de fusión de sensores habituales:

  • Filtro de Kalman (KF)
  • Filtro de Kalman extendido (EKF)
  • Filtro de Kalman sin perfume (UKF)
  • Filtro de partículas (PF)

Elige un algoritmo de fusión adecuado para el drone, como EKF (para sistemas no lineales).

Diseña el vector de estado y el vector de observación, y construye el modelo del sistema.

En el directorio components/core/crazyflie/modules/src/estimator, crea un nuevo archivo de estimador:

estimator_ekf.c
typedef struct {
float x[12]; // vector de estado
float P[12][12]; // matriz de covarianza
float Q[12][12]; // covarianza del ruido de proceso
float R[6][6]; // covarianza del ruido de medición
} EKF_State;
void ekf_predict(EKF_State *ekf, float dt) {
// Paso de predicción
// x = f(x, u)
// P = F * P * F' + Q
}
void ekf_update(EKF_State *ekf, float *measurement) {
// Paso de actualización
// K = P * H' * (H * P * H' + R)^-1
// x = x + K * (z - h(x))
// P = (I - K * H) * P
}
void ekf_fuse_sensors(EKF_State *ekf,
MPU6050_Data *imu,
BMP280_Data *baro,
VL53L0X_Data *tof) {
// Fusionar los datos de la IMU
ekf_predict(ekf, 0.01);
// Fusionar los datos del barómetro
float z_measurement[1] = {baro->altitude};
ekf_update(ekf, z_measurement);
// Fusionar los datos TOF
float tof_measurement[1] = {tof->distance};
ekf_update(ekf, tof_measurement);
}
  1. Compila y graba el código
  2. Realiza pruebas de vuelo y compara la precisión de la estimación de estado del nuevo estimador frente al original
  • Comprueba las matrices de covarianza de ruido Q y R
  • Confirma la calidad de los datos de los sensores
  • Optimiza la eficiencia de cálculo del algoritmo
  • Reduce la dimensión del vector de estado

¡Enhorabuena! Ya dominas la tecnología central de la fusión de sensores, ¡clave para la estimación de estado del drone!

En el siguiente proyecto aprenderás a implementar la localización en interiores con los datos de flujo óptico de la cámara.

Publicado por primera vez endrone.imagrove.com/es/advanced/sensor-fusion/Al citar o reproducir, indica la fuente Imagrove y enlaza a esta página.

¿Dudas o problemas con este tutorial?

Inicia sesión con GitHub para comentar. Si un paso te falla, avísanos: lo verificamos y actualizamos el tutorial.

ImagroveMás tutoriales sobre ESP32 · ESP32 IoT Tutorial

© 2026 ESP32 Drone. Todos los derechos reservados.