
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.
Descripción general
Desarrollé y personalicé un controlador de vuelo para cuadricópteros basado en Arduino. El firmware procesa datos del sensor IMU en tiempo real, estabiliza el vuelo mediante filtrado complementario, calibra los ESC y controla los motores mediante PWM. También se realizaron mejoras para aumentar la estabilidad numérica, la compatibilidad con versiones modernas del Arduino IDE y la fiabilidad general del vuelo.
Solución
Desarrollado con Arduino (C++), el controlador ofrece fusión de sensores en tiempo real, estabilización con auto-nivelado, calibración de ESC, estimación de orientación y control fiable de motores. El firmware se optimizó para eliminar inestabilidades durante maniobras agresivas, mejorar el arranque de los motores y garantizar la compatibilidad con compiladores más recientes.
Características principales
Estabilización automática del vuelo
Procesamiento de datos IMU en tiempo real
Fusión de sensores mediante filtro complementario
Calibración de ESC
Estimación de cabeceo y alabeo
Control de motores mediante PWM
Configuración y diagnóstico del controlador de vuelo
Mayor estabilidad numérica
Aspectos destacados
Personalización del controlador de vuelo YMFC-AL de código abierto
Compatibilidad mejorada con versiones modernas de Arduino IDE
Corrección de la inestabilidad NaN durante maniobras agresivas
Mayor fiabilidad en el arranque de los motores
