Loading AI tools
De Wikipedia, la enciclopedia libre
ArduPilot es un paquete de programas de autopiloto de código abierto para vehículos no tripulados, capaz de controlar de forma autónoma:
Ardupilot | ||
---|---|---|
Información general | ||
Tipo de programa | software libre | |
Desarrollador | Equipo de desarrollo de ArduPilot y la comunidad | |
Modelo de desarrollo | Software libre y de código abierto | |
Lanzamiento inicial | 2009 | |
Licencia | GPLv3 | |
Información técnica | ||
Programado en | C++ | |
Plataformas admitidas | STM32 | |
Archivos legibles | ||
ArduPilot JSON firmware | ||
Archivos editables | ||
ArduPilot JSON firmware | ||
Enlaces | ||
ArduPilot fue originalmente desarrollado por aficionados con el fin de controlar aeronaves y vehículos, el cual se ha convertido en un autopiloto totalmente funcional y estable usado por la industria,[1] organizaciones de investigación[2] y aficionados.
El paquete de software ArduPilot consiste en un software de navegación (normalmente denominado firmware cuando se compila en forma binaria para el microcontrolador) que se ejecuta en el vehículo (ya sea helicóptero, avión, vehículo, rastreador de antenas o submarino), junto con el software de control de la estación de tierra que incluye Mission Planner, APM Planner, QGroundControl, MavProxy, Tower entre otros.
El código fuente de ArduPilot se almacena y gestiona en GitHub, con casi un total de 400 contribuyentes.[3]
El conjunto de software se compila automáticamente cada noche, con integración continua y pruebas unitarias proporcionadas por Travis CI, y un entorno de compilación que incluye el compilador GNU multiplataforma y Waf. Los binarios precompilados que se ejecutan en varias plataformas de hardware están disponibles para su descarga por parte del usuario en los sub-sitios web de ArduPilot.
El software para los helicópteros, aviones, vehículos, rastreadores de antenas o submarinos se ejecuta en una amplia variedad de hardware embebido (incluyendo ordenadores Linux completos), que suele consistir en 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 los multirrotores y la estabilización del avión. 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 del aire, 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 del vehículo, está disponible para Windows, Linux, macOS, iOS y Android.
ArduPilot se ejecuta en una amplia variedad de plataformas de hardware, incluyendo las siguientes, enumeradas en orden alfabético:
Además de las plataformas de navegación básicas mencionadas anteriormente, ArduPilot también admite la integración y la comunicación con ordenadores de acompañamiento o auxiliares para la navegación avanzada que requiere un procesamiento más potente. Estos incluyen NVidia TX1 y TX2 (arquitectura NVidia Jetson), Intel Edison e Intel Joule, HardKernel Odroid y ordenadores Raspberry PI.
ArduPilot ofrece un amplio conjunto de funciones, entre las que se encuentran las siguientes, comunes a todos los vehículos:
ArduPilot está completamente documentado dentro de su wiki, con un total equivalente a unas 700 páginas y dividido en seis secciones principales: Las subsecciones relacionadas con los helicópteros, aviones, vehículos terrestres y submarinos están dirigidas a los usuarios. Una subsección de desarrolladores para usos avanzados está dirigida principalmente a los ingenieros de software y hardware, y una sección común que reagrupa la información común a todos los tipos de vehículos y que se comparte dentro de las cuatro primeras secciones.
Los primeros inicios del proyecto ArduPilot comienzan a finales de 2007[9] cuando Jordi Munoz, quien posteriormente cofundó 3DRobotics con Chris Anderson, implementó un programa Arduino (al cual llamó "ArduCopter") para estabilizar un helicóptero radiocontrol. En 2009, Munoz y Anderson lanzaron Ardupilot 1.0[10] (el software de la controladora de vuelo) que junto con una placa hardware este podía ejecutarse. Ese mismo año Munoz, quien había construido un helicóptero radiocontrol tradicional capaz de volar de forma autónoma, ganó la primera competición Sparkfun AVC.[11] El proyecto creció aun más gracias a muchos miembros de la comunidad de drones DIY, incluyendo a Chris Anderson quien defendió el proyecto y fundó la comunidad basada en el foro a principios de 2007.[12][13]
La primera versión de ArduPilot únicamente soportaba aeronaves de ala fija y se basaba en un sensor termopila que determinaba la localización del horizonte relativo al aeronave midiendo la diferencia de temperatura entre el cielo y la tierra.[12] Posteriormente, el sistema fue mejorado reemplazando las termopilas con un unidad de medición inercial (IMU) usando una combinación de acelerómetros, giróscopos y magnetómetros. El soporte a diferentes vehículos se añadió posteriormente lo que llevó a subproyectos para los helicópteros en general, aviones, vehículos terrestres y submarinos.
Entre los años 2011 y 2012 hubo un gran crecimiento en las funcionalidades de ArduPilot y el tamaño del código base, gracias en gran medida a nuevos contribuidores como Andrew "Tridge" Tridgell y el autor de HAL, Pat Hickey. Lao contribuciones de Tridge incluyen la comprobación automática y la posibilidad de simulación para Ardupilot, junto con PyMavlink and Mavproxy. Hickey fue quien trajo la biblioteca AP_ HAL al código base: HAL (Hardware Abstraction Layer) simplificó en gran medida y modularizó el código base introduciendo y confinando aspectos específicos de bajo nivel para la implementación en hardware en una biblioteca hardware separada. En el año 2012, Randy Mackay tomó el papel de líder en el mantenimiento de la parte de cópteros, después de una petición por parte de Jason Short, y Tridge tomó el papel de líder en el mantenimiento de la parte de aviación, después de que Doug Weibel relevara el cargo, quien fue a obtener un doctorado en ingeniería aeroespacial. Tanto Randy como Tridgeson los actuales líderes en el mantenimiento.
ArduPilot como software libre es similar a la forma de trabajar del sistema operativo Linux y al proyecto GNU, y al PX4/Pixhawk y proyecto paparazzi, donde el bajo coste y la disponibilidad permitió a los aficionados construir pequeñas y autónomas aeronaves pilotadas remotamente, como los micro drones y pequeños UAVs. La industria de los drones, de forma similar, progresivamente han tomado prestado el código de ArduPilot para construir vehículos autónomos profesionales de gama alta.
Si bien las primeras versiones de ArduPilot usaban el controlador de vuelo APM, una CPU AVR que ejecutaba el lenguaje de programación de código abierto Arduino (que explica la parte "Ardu" del nombre del proyecto), años posteriores fueron testigos de una importante reescritura del código base en C++. con muchas utilidades de apoyo escritas en Python.
Entre 2013 y 2014 ArduPilot evolucionó para ejecutarse en una serie de plataformas hardware y sistema operativo más allá de la arquitectura original de microcontroladores basada en 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 acontecimiento clave en este periodo fue el primer vuelo de un avión con Linux a mediados de 2014.[14]
A finales de 2014 comenzó la formación de DroneCode,[15] la cual se formó para reunir los principales proyectos de software de código abierto para vehículos aéreos no tripulados, y sobre todo para solidificar 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.[16] 2015 también fue un año destacado para 3DRobotics, uno de los principales patrocinadores del desarrollo de ArduPilot, con la presentación del cuadricóptero Solo, un cuadricóptero estándar con ArduPilot. Sin embargo, Solo no tuvo éxito comercial.[17]
El otoño de 2015 volvió a ser un acontecimiento clave en la historia de ArduPilot, con un enjambre de 50 aviones que ejecutaban ArduPilot de forma simultánea en el equipo del Laboratorio de Ingeniería de Sistemas Robóticos Avanzados (ARSENL) de la Escuela Naval de Postgrado.
En este período de tiempo, la base de código de ArduPilot fue significativamente refactorizada, hasta el punto de que dejó de tener cualquier similitud con sus primeros años de Arduino.
La evolución del código de ArduPilot continúa con el soporte para la integración y comunicación con potentes ordenadores como coprocesadores para la navegación autónoma, el soporte de aviones para arquitecturas VTOL adicionales, la integración con ROS, el soporte para planeadores y una mayor integración para submarinos. El proyecto evoluciona bajo el paraguas de ArduPilot.org, un proyecto dentro de la organización sin ánimo de lucro Software in the Public Interest (spi-inc.org). ArduPilot está patrocinado en parte por una lista creciente de socios corporativos.
En 2012, el equipo Canberra UAV consiguió el primer puesto en la prestigiosa competición UAV Outback. El equipo CanberraUAV incluía a los desarrolladores de ArduPlane y el avión estaba controlado por un piloto automático APM 2. En 2014, el equipo CanberraUAV y ArduPilot volvieron a obtener el primer puesto, al entregar con éxito una botella al excursionista "perdido". En 2016, ArduPilot quedó primero en la competición técnicamente más exigente, por delante de una fuerte competencia de equipos internacionales.
ArduPilot está gestionado conjuntamente por un grupo de voluntarios situados en todo el mundo, que utilizan Internet (foro tipo Discourse, canal de Gitter) para comunicarse, planificar, desarrollar y dar soporte. El equipo de desarrollo se reúne semanalmente en un chat, abierto a todos, utilizando Mumble. Además, cientos de usuarios aportan ideas, código y documentación al proyecto. ArduPilot está licenciado bajo la GPL versión 3 y es de libre descarga y uso.
La flexibilidad de ArduPilot lo hace muy popular en el ámbito del DIY, pero también ha ganado popularidad entre los usuarios profesionales y las empresas. El cuadricóptero Solo de 3DRobotics, por ejemplo, utiliza ArduPilot, al igual que un gran número de empresas aeroespaciales profesionales como Boeing.[18] La flexibilidad permite admitir una gran variedad de tipos y tamaños de chasis, diferentes sensores, cardanes de cámara y transmisores RC en función de las preferencias del operador.
ArduPilot se ha integrado con éxito en muchos aviones, como el Bixler 2.0. La personalización y la facilidad de instalación han permitido integrar la plataforma ArduPilot para una gran variedad de misiones. La estación de control en tierra Mission Planner permite al usuario configurar, programar, utilizar o simular fácilmente una placa ArduPilot para fines como la cartografía, la búsqueda y el rescate, y la inspección de zonas.
Otros proyectos de control autónomo de aeronaves:
Otros proyectos para vehículos terrestres y vehículos controlados:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.