Controlador de vuelo para cuadricóptero

Personalicé y mejoré un controlador de vuelo para cuadricóptero basado en Arduino, incorporando una función de nivelación automática desarrollada desde cero, implementando la fusión de sensores, calibración de los controladores electrónicos de velocidad (ESC) y mejoras en el control de vuelo para lograr una estabilización autónoma confiable.

Imagen de un cuadricóptero.

Resumen.

Desarrollé y adapté un controlador de vuelo para cuadricóptero basado en Arduino. El firmware procesa los datos de los sensores IMU en tiempo real, estabiliza el vuelo mediante filtrado complementario, calibra los ESCs y controla los motores a través de PWM. Mejoras adicionales aumentaron la estabilidad numérica, la compatibilidad con el entorno de desarrollo Arduino moderno y la fiabilidad general del vuelo.

Solución.

Arduino (C++)Arduino (C++), el controlador de vuelo proporciona fusión de sensores en tiempo real, estabilización automática, calibración de ESC, estimación de orientación y control de motores confiable. El firmware se optimizó para eliminar la inestabilidad durante maniobras agresivas, al mismo tiempo que se mejoró el comportamiento de inicio y la compatibilidad con versiones más recientes del compilador.

Características principales.

  • Estabilización automática del vuelo y nivelación.
  • Procesamiento de sensores IMU en tiempo real.
  • Fusión de sensores mediante filtro complementario.
  • Calibración de ESC.
  • Estimación de la inclinación y el balanceo.
  • Control de motores mediante modulación por ancho de pulsos (PWM).
  • Configuración y diagnóstico del vuelo.
  • Mayor estabilidad numérica.

Puntos destacados.

  • Mayor compatibilidad con las versiones más recientes del entorno de desarrollo Arduino (IDE).
  • Se corrigió la inestabilidad causada por valores "NaN" durante maniobras de vuelo agresivas.
  • Mayor confiabilidad al arranque del motor.
  • Ampliado con soporte para montaje con Raspberry Pi para cámara.
Diagrama esquemático para un cuadricóptero.
Diagrama esquemático.