ArduPilot es un programa de software de piloto automático que puede controlar drones multirrotor , aeronaves de ala fija y VTOL , helicópteros RC , ROV , vehículos terrestres móviles , barcos, submarinos , vehículos de superficie no tripulados (USV), sistemas AntennaTracker y dirigibles. Se publica como software de código abierto bajo la licencia GNU GPL versión 3 .
ArduPilot fue desarrollado originalmente por aficionados para controlar aeronaves modelo y vehículos exploradores, y ha evolucionado hasta convertirse en un piloto automático completo y confiable utilizado por la industria, [ 1 ] organizaciones de investigación, [ 2 ] aficionados y militares. [ 3 ] [ nb 1 ]


Características
El paquete de software ArduPilot consta de software de navegación (normalmente denominado firmware cuando se compila en formato binario para objetivos de hardware de microcontrolador ) que se ejecuta en el vehículo ( Copter , Plane , Rover, AntennaTracker o Sub), junto con software de control de la estación terrestre que incluye Mission Planner, APM Planner, QGroundControl, MavProxy, Tower y otros.
Común a todos los vehículos
ArduPilot ofrece un amplio conjunto de funciones, incluidas las siguientes, comunes a todos los vehículos:
- Modos de vuelo totalmente autónomo, semiautónomo y totalmente manual, misiones programables con puntos de referencia 3D, geovallado opcional .
- Opciones de estabilización para eliminar la necesidad de un copiloto externo.
- Simulación con una variedad de simuladores, incluido el simulador ArduPilot Software in the Loop (SITL). [ 6 ]
- Admite una gran cantidad de sensores de navegación, incluidos varios modelos de GPS RTK, GPS L1 tradicionales, barómetros, magnetómetros, telémetros láser y de sonar, flujo óptico, transpondedor ADS-B , infrarrojos, sensores de velocidad aerodinámica y dispositivos de visión artificial/captura de movimiento.
- Comunicación de sensores a través de SPI , I²C , bus CAN , comunicación serial , SMBus .
- Mecanismos de seguridad ante la pérdida de contacto por radio, GPS y la superación de un límite predefinido, así como ante el nivel mínimo de batería.
- Soporte para la navegación en entornos sin GPS, con posicionamiento basado en visión, flujo óptico , SLAM y posicionamiento de banda ultraancha .
- Soporte para actuadores como paracaídas y pinzas magnéticas.
- Compatibilidad con motores sin escobillas y con escobillas .
- Compatibilidad e integración con estabilizadores de cámara y vídeo.
- Integración y comunicación con potentes ordenadores secundarios o "complementarios".
- Amplia documentación disponible en la wiki de ArduPilot.
- Soporte y debate a través del foro de ArduPilot, canales de chat de Gitter, GitHub y Facebook.
Específico del helicóptero
- Modos de vuelo: Estabilizar, Mantener altitud, Merodear, RTL (Regresar al despegue), Automático, Acrobacia, Autoajuste, Frenar, Círculo, Deriva, Guiado, (y Guiado_SinGPS), Aterrizaje, Mantener posición, Deportivo, Lanzar, Sígueme, Simple, Súper simple, Evitar ADSB. [ 7 ]
- Sintonización automática
- Admite una amplia variedad de tipos de estructura, incluyendo tricópteros, cuadricópteros, hexacópteros, octocópteros planos y coaxiales, y configuraciones de motor personalizadas.
- Soporte para helicópteros eléctricos y de gas tradicionales, monocópteros y helicópteros en tándem.
Específico del avión
- Modos Fly By Wire , modo merodeador, modo automático, modos acrobáticos.
- Opciones de despegue: Lanzamiento manual, bungee, catapulta, transición vertical (para aviones VTOL).
- Opciones de aterrizaje: Pendiente de planeo ajustable, helicoidal, empuje inverso, red, transición vertical (para aviones VTOL).
- Autoajuste, simulación con los simuladores JSBSIM , X-Plane y RealFlight.
- Compatibilidad con una gran variedad de arquitecturas VTOL: cuadriplanos, alas basculantes, rotores basculantes, aeronaves de despegue y aterrizaje vertical, ornitópteros.
- Optimización de aviones de 3 o 4 canales.
Específico del Rover
- Modos de funcionamiento: Manual, Aprendizaje, Automático, Dirección, Retención y Guiado.
- Compatibilidad con arquitecturas de ruedas y orugas.
Específico para submarinos
- Control de profundidad: Mediante sensores de profundidad basados en la presión, los submarinos pueden mantener la profundidad con una precisión de pocos centímetros.
- Control de iluminación: Control de la iluminación submarina mediante el controlador.
ArduPilot está completamente documentado en su wiki, con un total equivalente a unas 700 páginas impresas, dividido en seis secciones principales: las subsecciones relacionadas con los vehículos Copter, Plane, Rover y Submarine están dirigidas a los usuarios. Una subsección para desarrolladores, destinada a usos avanzados, está dirigida principalmente a ingenieros de software y hardware, y una sección común que reúne información común a todos los tipos de vehículos se comparte dentro de las cuatro primeras secciones.
Hardware compatible
El software Copter, Plane, Rover, AntennaTracker o Sub se ejecuta en una amplia variedad de hardware integrado (incluyendo computadoras Linux completas ), que generalmente consta de uno o más microcontroladores o microprocesadores conectados a sensores periféricos utilizados para la navegación. Estos sensores incluyen giroscopios y acelerómetros MEMS como mínimo, necesarios para el vuelo de multirrotores y la estabilización de aviones. Los sensores suelen incluir, además, una o más brújulas , altímetros (barométricos) y GPS , junto con sensores adicionales opcionales como sensores de flujo óptico , indicadores de velocidad aerodinámica , altímetros o telémetros láser o sonar , cámaras monoculares, estereoscópicas o RGB-D. Los sensores pueden estar en la misma placa electrónica o ser externos.
El software Ground Station, utilizado para programar o supervisar el funcionamiento de los vehículos, está disponible para Windows, Linux, macOS, iOS y Android.
ArduPilot funciona en una amplia variedad de plataformas de hardware, incluidas las siguientes, enumeradas en orden alfabético:
- Intel Aero (basado en Linux o STM32)
- Airvolute DroneCore 2 [ 8 ]
- Dron AXL
- APM 2.X (base Arduino para microcontrolador Atmel Mega), diseñado por Jordi Munoz en 2010. [ 9 ] APM, para ArduPilot Mega , solo funciona en versiones anteriores de ArduPilot.
- BeagleBone Azul y PXF Mini (capa BeagleBone Negra).
- El Cube , anteriormente llamado Pixhawk 2 (basado en un microcontrolador ARM Cortex), fue diseñado por ProfiCNC en 2015.
- Controlador de vuelo Navigator de Blue Robotics
- Navio2 y Navio+ ( basados en Raspberry Pi Linux), diseñados por Emlid .
- Parrot Bebop y Parrot Chuck, diseñados por Parrot, Sudáfrica.
- Pixhawk (basado en un microcontrolador ARM Cortex), diseñado originalmente por Lorenz Meier y ETH Zurich, fue mejorado y lanzado en 2013 por PX4 , 3DRobotics y el equipo de desarrollo de ArduPilot. [ 10 ]
- PixRacer (basado en un microcontrolador ARM Cortex), diseñado por AUAV.
- Qualcomm Snapdragon (basado en Linux).
- Robótica Virtual VRBrain (base de microcontrolador ARM Cortex).
- Procesador Xilinx SoC Zynq (base Linux, procesador ARM y FPGA ). [ 11 ]
Además de las plataformas de navegación básicas mencionadas anteriormente, ArduPilot admite la integración y comunicación con ordenadores auxiliares o complementarios del vehículo para una navegación avanzada que requiere mayor potencia de procesamiento. Entre ellos se incluyen los ordenadores Nvidia TX1 y TX2 ( arquitectura Nvidia Jetson ), Intel Edison e Intel Joule, HardKernel ODROID y Raspberry Pi .
Historia
Primeros años, 2007–2012
Los orígenes del proyecto ArduPilot se remontan a finales de 2007 [ 12 ], cuando Jordi Muñoz, quien más tarde cofundó 3DRobotics con Chris Anderson , escribió un programa para Arduino (al que llamó "ArduCopter") para estabilizar un helicóptero RC. En 2009, Muñoz y Anderson lanzaron Ardupilot 1.0 [ 13 ] (software de control de vuelo) junto con una placa de hardware en la que podía ejecutarse. Ese mismo año, Muñoz, quien había construido un UAV helicóptero RC tradicional capaz de volar de forma autónoma, ganó la primera competición Sparkfun AVC. [ 14 ] El proyecto creció aún más gracias a muchos miembros de la comunidad DIY Drones, incluido Chris Anderson, quien impulsó el proyecto y fundó la comunidad basada en foros a principios de 2007. [ 8 ] [ 15 ]
La primera versión de ArduPilot solo admitía aeronaves de ala fija y se basaba en un sensor de termopila , que determina la ubicación del horizonte con respecto a la aeronave midiendo la diferencia de temperatura entre el cielo y el suelo. [ 8 ] Posteriormente, el sistema se mejoró reemplazando las termopilas con una Unidad de Medición Inercial (IMU) que utilizaba una combinación de acelerómetros , giroscopios y magnetómetros . Más tarde, la compatibilidad con otros tipos de vehículos se amplió, lo que dio lugar a los subproyectos de helicóptero, avión, rover y submarino.
En 2011 y 2012 se produjo un crecimiento explosivo en la funcionalidad del piloto automático y en el tamaño del código fuente, gracias en gran parte a la incorporación de Andrew "Tridge" Tridgell y Pat Hickey, autor de HAL. Las contribuciones de Tridge incluyeron capacidades de simulación y pruebas automáticas para Ardupilot, junto con PyMavlink y Mavproxy. Hickey fue fundamental para la integración de la biblioteca AP_HAL al código fuente. La capa de abstracción de hardware ( HAL ) simplificó y modularizó enormemente el código fuente al introducir y confinar las especificaciones de implementación de hardware de bajo nivel a una biblioteca de hardware independiente.
En 2012, Randy Mackay asumió el cargo de jefe de mantenimiento del helicóptero Copter, a petición del anterior responsable, Jason Short, y Tridge se hizo cargo del jefe de mantenimiento del avión Plane, tras la marcha de Doug Weibel, quien obtuvo un doctorado en Ingeniería Aeroespacial. Tanto Randy como Tridge siguen siendo jefes de mantenimiento hasta la fecha.
Madurez, 2013–2016
Si bien las primeras versiones de ArduPilot utilizaban el controlador de vuelo APM (ArduPilotMega), una CPU AVR que ejecutaba el lenguaje de programación de código abierto Arduino (lo que explica la parte "Ardu" del nombre del proyecto ), en años posteriores se produjo una importante reescritura del código base en C++ con muchas utilidades de soporte escritas en Python .
Entre 2013 y 2014, ArduPilot evolucionó para funcionar en una variedad de plataformas de hardware y sistemas operativos más allá de la arquitectura original del microcontrolador Arduino Atmel , primero con la introducción comercial del controlador de vuelo de hardware Pixhawk, un esfuerzo de colaboración entre PX4, 3DRobotics y el equipo de desarrollo de ArduPilot, y más tarde con el Bebop2 de Parrot y los controladores de vuelo basados en Linux como NAVIO2 basado en Raspberry Pi y ErleBrain basado en BeagleBone. Un evento clave dentro de este período fue el primer vuelo de un avión bajo Linux a mediados de 2014. [ 16 ]
A finales de 2014 se formó DroneCode, [ 17 ] creada para reunir los principales proyectos de software de código abierto para UAV y, sobre todo, para consolidar la relación y la colaboración de los proyectos ArduPilot y PX4. La participación de ArduPilot en DroneCode finalizó en septiembre de 2016. [ 18 ] 2015 también fue un año excepcional para 3DRobotics, un importante patrocinador del desarrollo de ArduPilot, con la presentación del cuadricóptero Solo, un cuadricóptero comercial que ejecutaba ArduPilot. Sin embargo, el éxito comercial de Solo no llegó a materializarse. [ 19 ]
En otoño de 2015 tuvo lugar otro acontecimiento clave en la historia del piloto automático, cuando un enjambre de 50 aviones que ejecutaban ArduPilot volaron simultáneamente en el equipo del Laboratorio de Ingeniería de Sistemas Robóticos Avanzados (ARSENL) de la Escuela Naval de Posgrado .
Durante este período, el código base de ArduPilot fue significativamente refactorizado , hasta el punto de que dejó de tener cualquier semejanza con sus primeros años de Arduino.
Desde 2018
La evolución del código de ArduPilot continúa con la incorporación de soporte para la integración y comunicación con potentes ordenadores auxiliares para la navegación autónoma, soporte para aeronaves con arquitecturas VTOL adicionales, integración con ROS , soporte para planeadores y una integración más estrecha para submarinos. El proyecto se desarrolla bajo el paraguas de ArduPilot.org, un proyecto perteneciente a la organización sin ánimo de lucro Software in the Public Interest . ArduPilot cuenta con el patrocinio parcial de una creciente lista de socios corporativos. [ 1 ]
Desafío UAV Outback
En 2012, el equipo CanberraUAV se alzó con el primer puesto en el prestigioso UAV Outback Challenge . El equipo CanberraUAV incluía a desarrolladores de ArduPlane y el avión pilotado estaba controlado por un piloto automático APM 2.
En 2014, el equipo CanberraUAV y ArduPilot volvieron a obtener el primer lugar al entregar con éxito una botella al excursionista "perdido". En 2016, ArduPilot se alzó con el primer puesto en la competición, técnicamente más exigente, superando a fuertes competidores internacionales.
Guerra ruso-ucraniana
En junio de 2025, las fuerzas armadas ucranianas utilizaron con éxito ArduPilot durante la guerra ruso-ucraniana para realizar ataques con 117 drones aéreos contra cinco bases aéreas rusas, en lo que se denominó Operación Telaraña . [ 20 ] Durante este tiempo, el presidente ucraniano Volodymyr Zelenskyy afirmó que cada dron tenía su propio piloto para lanzarlo y controlarlo de forma remota; [ 3 ] esto se realizó a través de la red de telefonía móvil rusa utilizando ArduPilot. [ 21 ]
Véase también
Otros proyectos para el control autónomo de aeronaves:
Otros proyectos para vehículos terrestres y automóviles:
Notas
- ↑ El Código de Conducta para Desarrolladores de ArduPilot prohíbe explícitamente contribuir con trabajos que puedan facilitar la militarización de ArduPilot. [ 4 ] Sin embargo, esto solo se aplica a los miembros del Equipo de Desarrollo de ArduPilot, ya que las Preguntas Frecuentes oficiales de la versión 3 de la Licencia Pública General de GNU (GNU GPL), bajo la cual se licencia ArduPilot, establecen explícitamente que no se puede prohibir el uso militar del código licenciado. [ 5 ]
Referencias
- 1 2 "Socios corporativos" . ardupilot.org . Consultado el 14 de enero de 2018 .
- ↑ Eure, Kenneth W. (diciembre de 2013). "Una aplicación de estimación de actitud de UAV utilizando un sistema de navegación inercial de bajo costo" (PDF) . NTRS.nasa.gov . NASA/TM–2013-218144.
- 1 2 Gozzi, Laura (2 de junio de 2025). "BBC Verify: Cómo Ucrania llevó a cabo el audaz ataque 'Telaraña' contra bombarderos rusos" . BBC Verify .
- ↑ "Código de conducta para desarrolladores de ArduPilot" . ardupilot.org . Enero de 2018. Consultado el 17 de julio de 2025 .
- ↑ "Preguntas frecuentes sobre las licencias GNU" . gnu.org . Octubre de 2024. Consultado el 17 de julio de 2025 .
- ↑ "Simulador SITL (Software en bucle)" . ArduPilot . Consultado el 3 de junio de 2025 .
- ↑ "Modos de vuelo — Documentación del helicóptero" . ardupilot.org . Consultado el 1 de mayo de 2017 .
- 1 2 3 "ArduPilot" . ArduPilot.org .
- ↑ "¡Den la bienvenida a ArduPilotMega 2.0!" . diydrones.com . Diciembre de 2011 . Consultado el 1 de mayo de 2017 .
- ↑ "PX4 y 3D Robotics presentan Pixhawk: un piloto automático avanzado y fácil de usar" (Comunicado de prensa). sUAS News. 29 de agosto de 2013.
- ↑ "Primer vuelo exitoso impulsado por el procesador Zynq - Aerotenna" . Aerotenna . 8 de octubre de 2015. Archivado del original el 21 de abril de 2017. Consultado el 5 de mayo de 2017 .
- ↑ "ArduCopter V1 Beta" . forum.arduino.cc . 7 de noviembre de 2007. Consultado el 1 de mayo de 2017 .
- ↑ "ArduPilot, un piloto automático de código abierto, ya disponible ($24.95!) - RC Groups" . www.rcgroups.com . Consultado el 8 de mayo de 2017 .
- ↑ "2009 AVC - AVC.SFE" . avc.sparkfun.com . Consultado el 3 de mayo de 2017 .
- ↑ "Los fabricantes de drones reciben ayuda de la comunidad de código abierto y del bricolaje - Businessweek" . 1 de abril de 2013. Archivado del original el 1 de abril de 2013.
- ↑ "Primer vuelo de ArduPilot en Linux" . diydrones.com . 20 de agosto de 2014. Consultado el 3 de mayo de 2017 .
- ↑ "Presentación de la Fundación Dronecode" . diydrones.com . 13 de octubre de 2014. Consultado el 3 de mayo de 2017 .
- ↑ "ArduPilot y DroneCode separan sus caminos" . diydrones.com . 9 de septiembre de 2016. Consultado el 3 de mayo de 2017 .
- ↑ Mac, Ryan. "Detrás del colapso de 3D Robotics, la empresa de drones más prometedora de Norteamérica" . Forbes . Consultado el 3 de mayo de 2017 .
- ↑ "«Quería crear robots voladores, no...»: Desarrollador indignado porque Ucrania utiliza su código abierto para fabricar drones letales . Firstpost . 5 de junio de 2025. Consultado el 5 de agosto de 2025 .
- ↑ Hiltscher, Johannes (3 de junio de 2025). "Die Softwarehinter Operation Spinnennetz" [ El software detrás de Operation Spiderweb ] . Golem.de (en alemán).
Enlaces externos
- Sitio web oficial
- ArduPilot en GitHub
- Vehículos aéreos no tripulados
- Vehículos submarinos no tripulados
- Vehículos terrestres no tripulados
- robots
- Software que utiliza la Licencia Pública General de GNU.
- Software libre programado en C++
- Software libre programado en Python
- Software libre multiplataforma