Introducción a Ardupilot y PX4 - Parte 1: Soluciones de Autopiloto Para Drones
Autor: Raúl Alvarez-Torrico
Esta es una traducción automática (pueden haber algunos errores de traducción) de mi artículo original en inglés publicado por la revista “Circuit Cellar” (#357 de Abril, 2020). El código de programa y diagramas aún están en Inglés.
Resumen
Las plataformas de piloto automático de código abierto Ardupilot y PX4 son dos de las más populares usadas en pequeños vehículos no tripulados para una amplia variedad de aplicaciones en diferentes áreas, como ser: investigación y desarrollo, comercial, industrial, académica y afición al modelaje entre otras. En la Parte 1 de esta serie de artículos comenzaré hablando de la arquitectura general de un dron multirotor y sus principales componentes de software y hardware. Luego, daré una introducción general a las plataformas Ardupilot y PX4 y analizaré algunos ejemplos de hardware de controlador de vuelo compatibles, tipos de vehículos y software de control de tierra disponible. También daré una introducción general al protocolo MAVLink utilizado en ambas plataformas para comunicar vehículos con estaciones de control en tierra. En la Parte 2 de esta serie de artículos, hablaré acerca de cómo construir un quadrirotor para fotografía aérea basado en una de las plataformas antes mencionadas y presentaré una configuración que, con modificaciones menores, también podría usarse como punto de partida para la experimentación futura con navegación autónoma y seguimiento de objetos basado en visión por computador.
La información presentada aquí está dirigida principalmente a estudiantes y aficionados que desean comenzar a construir drones multirotor con software y hardware Ardupilot y PX4 de código abierto, pero no tienen conocimientos básicos generales acerca de multirotores y las plataformas antes mencionadas. Al final de la serie de artículos, se presentará la información necesaria para comprender la arquitectura general de un multirotor y elegir una de las dos plataformas para construir un dron para fotografía aérea.
Multirotores Para Fotografía Aérea
La Figura 1 muestra un diagrama de bloques que representa la arquitectura general de un sistema de dron multirotor para fotografía aérea formado por los siguientes componentes principales: un marco, un controlador de vuelo con sensores internos y externos, un sistema de propulsión, un sistema de alimentación de energía, un par transmisor/receptor de radio control (RC), tranceptores de telemetría, una cámara de video con un gimbal, un sistema de visualización en primera persona (FPV) con un transmisor, receptor y monitor de video, y un software de control de tierra que generalmente se ejecuta en una computadora personal o dispositivo móvil. Describamos cada componente con más detalle.
Figura 1: Diagrama de bloques de un multirotor para fotografía aérea
El Controlador de Vuelo
El controlador de vuelo es una placa generalmente basada en un microcontrolador (MCU) con firmware especialmente escrito para estabilizar y controlar el vuelo de la aeronave. Tiene sensores internos y externos de los que toma lecturas y luego usa esos datos para tratar de inferir la pose de la aeronave (posición y orientación). Luego, con la ayuda de un algoritmo de control muy sofisticado, intentará estabilizar la aeronave y hacer que mantenga su pose actual, o dirigirla a una nueva pose deseada. Logrará estabilizar la aeronave comparando constantemente su pose actual (inferida de sus sensores) y la pose deseada (dónde quiere estar) y en función de esa información decidirá cuánto empuje debe aplicar a cada uno de sus rotores para corregir su pose. Los sensores que se encuentran con frecuencia en los controladores de vuelo típicos son: acelerómetro 3D, giroscopio 3D, altímetro (sensor de presión barométrica), brújula digital (magnetómetro) y un receptor GPS. Aunque en la práctica, solo se necesita un giroscopio 3D para mantener un multirotor aerodinámicamente estable (es decir, flotando en el aire); sin embargo, los otros sensores mencionados son necesarios para hacer posible una funcionalidad más avanzada, como mantener una posición, orientación o velocidad dada, o navegar puntos GPS en una ruta predeterminada, etc.
Los multirotores son inherentemente aerodinámicamente inestables y es muy difícil estabilizarlos controlando manualmente el empuje de sus rotores. Por esa razón, se requiere un controlador de vuelo electrónico para estabilizarlo, porque el controlador de vuelo puede ejecutar un bucle de control (es decir, leer los sensores, calcular errores y tomar las medidas de corrección necesarias) a alta frecuencia. Por el contrario, los drones de ala fija ("aviones") son inherentemente aerodinámicamente estables y se pueden volar controlando manualmente el empuje de sus motores y las superficies de control. Por lo tanto, los controladores de vuelo son opcionales para estabilizar los drones de ala fija, aunque aún son necesarios para la navegación con GPS. El software embebido de un controlador de vuelo no es para nada trivial. Generalmente contiene algoritmos sofisticados de uso frecuente en pilotos automáticos, como bucles de control PID anidados para controlar la orientación y velocidad en 3D y filtros Kalman para fusión de sensores, entre otras cosas. Sin embargo, el firmware, que es un binario pre-compilado del software del piloto automático, generalmente está disponible directamente para cargarlo en la placa del controlador de vuelo.
La Figura 2 muestra la placa del controlador de vuelo Pixhawk 1, junto con un receptor GPS y módulo de sensor de brújula digital (tanto el receptor GPS como la brújula vienen dentro de la caja redonda). El Pixhawk 1 es relativamente asequible y es compatible con Ardupilot y PX4. Se basa en el microcontrolador STM32F427 Cortex-M4F de 32 bits de STMicroelectronics y viene con los siguientes sensores integrados: un giroscopio L3GD20H de 16 bits y un acelerómetro/magnetómetro LSM303D de 14 bits, ambos también fabricados por STMicroelectronics. Un acelerómetro/giroscopio Invensense MPU-6000 de 3 ejes y un barómetro MEAS MS5611. El módulo externo GPS tiene un receptor GPS Ublox M8N y una brújula digital Honeywell HMC5883L.
Figura 2: Controlador de vuelo Pixhawk 1 y módulo receptor GPS + brújula digital
Marco y Sistema de Propulsión
La Figura 3 muestra dos ejemplos de marco para un hexarotor (modelo S550) y un quadrirotor (modelo S500). Es bastante obvio que el propósito principal de un marco es contener todo el hardware que va en el vehículo aéreo. Por otra parte, el sistema de propulsión está compuesto por todas las partes directamente encargadas de generar el empuje aerodinámico para el vehículo aéreo. Está compuesto por un conjunto de motores "brushless" (sin escobillas), hélices y unidades de control electrónico de velocidad (ESCs) en el número requerido para la configuración seleccionada (cuatro para un quadrirotor, seis para un hexarotor, etc.) La Figura 4 muestra, de izquierda a derecha, un ESC, un motor brushless y una hélice. Un motor brusless, conocido también como motor de CC sincrónico o conmutado electrónicamente, está controlado por una señal de pulso de corriente que viene desde el ESC y se caracteriza principalmente por cuatro especificaciones: tamaño, velocidad de rotación, voltaje de trabajo máximo y potencia. Por ejemplo, un motor brushless "2212, 920KV, 4S, 150W" tendrá un diámetro de 22 mm y una altura de 12 mm (de ahí que sea 2212), girará a 920KV (que en realidad es 920 RPM por voltio) y puede alimentarse con baterías de polímero de iones de litio (LiPo para abreviar) de hasta 4 celdas (o cualquier fuente de alimentación equivalente). Una batería LiPo tiene un voltaje nominal de 3.7V por celda; así, una batería 4S tendrá un voltaje nominal total de 3.7V x 4 = 14.8V. Eso significa que este motor en particular puede ser alimentado con cualquier voltaje hasta 14.8V, nominalmente. Por último, la especificación de potencia nos proporciona la corriente máxima con la que el motor puede trabajar sin sufrir daños.
Figura 3: Marcos para hexarotor (modelo S550) y quadrirotor (modelo S500)
Figura 4: Sistema de propulsión (ESC, motor sin escobillas y hélice)
Las hélices se caracterizan principalmente por su diámetro y su "paso". Por ejemplo, una hélice "1045" tendrá un diámetro de 10 pulgadas y un paso de 4.5 pulgadas. Para las hélices de dos palas, el diámetro es obviamente el tamaño entre las puntas de las dos palas; el "paso", por otro lado, tiene un significado aparentemente más "oscuro", especialmente para los principiantes: ¿Estás listo? El "paso" es la distancia longitudinal que una hélice avanzaría en una vuelta completa, si fuera como un tornillo que penetra en la madera [Referencia 1]. Tanto el diámetro como el paso deben combinarse adecuadamente, de acuerdo con las especificaciones de velocidad y potencia para un motor dado. Como regla general, se requieren hélices de gran diámetro y bajo paso para motores de baja velocidad; que a su vez proporcionan más torque; características típicamente deseadas para drones que tengan que levantar más peso. Por otro lado, se requieren hélices de bajo diámetro y alto paso para motores de alta velocidad; lo cual hará que la aeronave sea más rápida y maniobrable, pero con un torque más bajo y una menor capacidad de carga útil; características típicamente requeridas para los drones de carrera. Sin embargo, en general, no tenemos que preocuparnos mucho por estos detalles específicos porque para construir nuestro primer multirotor generalmente tomamos uno de los kits "de referencia" directamente disponibles para la compra; que tendrá todas las partes correctas con las especificaciones correctas para una determinada aplicación: sea para carreras, fotografía aérea o llevar cargas pesadas. Las hélices vienen en una variedad de materiales, como ser: plástico, fibra de vidrio reforzada, fibra de carbono y madera; siendo las de plástico las más baratas y de baja calidad y las de madera generalmente más caras pero de mejor calidad. Una buena combinación de precio bajo y calidad razonable serían las de fibra de vidrio reforzada o de fibra de carbono.
El controlador electrónico de velocidad (ESC), como su nombre lo indica, es el encargado de controlar la velocidad del motor. Un ESC recibe una señal PWM (idéntica a una señal de control de servomotor) en su entrada y proporciona en respuesta una señal de voltaje trifásica para accionar el motor sin escobillas. Utiliza transistores de efecto de campo (FET) para producir señales de conmutación de alta corriente con un ciclo de trabajo proporcional a la velocidad requerida. Los ESC se caracterizan principalmente por la corriente máxima que pueden proveer y el voltaje máximo de la batería con el que pueden trabajar. Un ESC "30A, 5S", por ejemplo, manejará hasta 30 amperios de corriente y funcionará con baterías de hasta 5 celdas en serie (18.5V de voltaje nominal). La mayoría de los ESC incluyen una unidad de circuito de eliminación de batería (BEC); el cual es tan solo un regulador de voltaje que proporciona una salida de 5V para alimentar otros dispositivos electrónicos en un dron, como servomotores, pequeñas cámaras de video, etc. También hay ESCs optoaislados (OPTO ESCs), los cuales tienen el circuito de recepción de la señal de entrada ópticamente aislado del circuito de voltaje de salida que alimenta el motor. Este tipo de ESCs generalmente no tienen unidades BEC incluidas, pero si es necesario, las BEC se pueden comprar por separado.
Sistema De Energía, Radio Control Y Telemetría
El sistema de alimentación de energía está compuesto por una batería LiPo, un módulo de potencia y opcionalmente, una alarma de batería. La Figura 5 los muestra de izquierda a derecha, en ese orden. Las baterías LiPo generalmente se caracterizan por tres especificaciones principales: capacidad, voltaje y velocidad de descarga. Por ejemplo, para un quadrirotor típico de fotografía aérea, se puede usar una batería LiPo "5000mAh, 3S, 8C". La capacidad de 5000 mAh significa que la batería puede proporcionar una corriente constante de 5000 miliamperios (o 5 amperios) durante una hora; o alternativamente 10 amperios durante media hora, o 20 amperios durante 15 minutos, y así sucesivamente. 3S significa que la batería tiene 3 celdas LiPo conectadas en serie, que dan un voltaje nominal total de 11.1V (3.7V x 3 = 11.1V) y por último, la velocidad de descarga 8C, si sobtenemos 40000 miliamperios o 40 amperios de corriente continua de descarga; lo que significa que la batería puede proporcionar continuamente hasta 40 amperios de corriente de forma segura y sin sufrir ningún daño.
Figura 5: Sistema de alimentación (batería LiPo, módulo de potencia y alarma LiPo)
El módulo de alimentación es básicamente una fuente de alimentación regulada de 5V con sensores de voltaje y corriente incluidos. Toma el voltaje de la batería (por ejemplo, 11.1V para una batería 3S) como entrada y proporciona una salida regulada de 5V para alimentar el controlador de vuelo y los sensores internos, así como cualquier otro dispositivo externo conectado al controlador de vuelo; tales como sensores externos, el receptor RC, el transceptor de telemetría, etc. El controlador de vuelo puede leer desde los sensores de voltaje y corriente incluidos en el módulo de potencia el voltaje real y el consumo de corriente actual del dron y usar estos datos para estimar la energía restante de la batería y también el tiempo de vuelo disponible.
En cuanto a la alarma LiPo, es básicamente un voltímetro con un zumbador (buzzer) que mide constantemente el voltaje en cada celda de la batería y proporciona un pitido de alarma audible cuando las celdas alcanzan el voltaje mínimo permitido por celda, que es de aproximadamente 3V. Por lo tanto, la tarea principal de la alarma LiPo es advertirnos cuando la batería ha alcanzado el voltaje mínimo permitido antes de que ocurra una descarga excesiva, que puede dañar la batería de manera irreversible. Los sensores de voltaje y corriente presentes en el módulo de alimentación básicamente cumplirían esta misma tarea si se configuran adecuadamente con el controlador de vuelo; en cuyo caso la alarma externa de LiPo sería redundante. Las celdas de batería LiPo también tienen una especificación de voltaje de celda máxima, que es 4.2V para una celda completamente cargada. Eso significa que una batería 3S completamente cargada en realidad tendrá 12.4V, un poco más que el voltaje nominal de 11.4V mencionado anteriormente [Referencia 2].
Hablemos ahora sobre los módulos de telemetría y el sistema RC que se muestran en la Figura 6. El sistema RC (los dos objetos más a la derecha en la Figura 6) comprende de un par transmisor y receptor que trabajan a una frecuencia de 2.4 GHz (la frecuencia de trabajo más popular para los RC). Se requiere un sistema con al menos cuatro canales de control para el vuelo básico de un multirotor y un mínimo de seis canales para incluir algunas funciones avanzadas, como ser múltiples modos de vuelo y algunas funciones de vuelo basadas en GPS. Si la economía lo permite, se recomiendan nueve o diez canales de control para una máxima versatilidad.
Los módulos de telemetría (los dos objetos que se encuentran más a la izquierda en la Figura 6), como su nombre lo indica, nos ayudan a recibir los datos inalámbricos de telemetría desde el dron en una computadora personal o dispositivo móvil. También nos permite cambiar remotamente algunos parámetros de configuración en el controlador de vuelo y realizar funciones avanzadas, como enviar y activar misiones de navegación autónoma de puntos GPS. Los módulos de telemetría comunes están disponibles para trabajar en loas frecuencias de 433 MHz y 915 MHz. Debes elegir la frecuencia legalmente permitida en tu país, de conformidad con las normativas locales.
Figura 6: Módulos de telemetría y transmisor / receptor RC
Hardware Para Fotografía Aérea
Un quadricóptero típico para fotografía aérea como el que construiremos en la Parte 2 de esta serie de artículos, tiene una capacidad de carga útil de alrededor de 500 gramos en promedio. Cámaras diseñadas para grabar acción deportiva se usan comúnmente con drones, así como cámaras diseñadas específicamente para fotografía aérea con los mismos, ya que son pequeñas y de muy bajo peso (alrededor de 130 gramos). Estas cámaras pueden almacenar imágenes de video y fotos localmente en una tarjeta micro SD, pero también tienen la posibilidad de transmitir video en vivo, el cual puede monitorearse en tiempo real utilizando un sistema FPV. Algunas cámaras tienen baterías recargables internas, por lo que no necesitan alimentación externa adicional, y algunas pueden alimentarse directamente desde la batería LiPo del dron. La Figura 7 muestra una cámara GoPro Hero montada en un gimbal compatible Tarot TL68A00. El gimbal es un mecanismo de nivelación automática que ayuda a la cámara a mantenerse horizontal y verticalmente nivelada, incluso si el dron no lo está. Tiene sensores, típicamente acelerómetros y giroscopios, que junto con un microcontrolador estabilizan la cámara, de una manera similar a cómo el controlador de vuelo estabiliza el propio dron. Puede alimentarse directamente desde la batería LiPo que alimenta el sistema de propulsión del dron.
Figura 7: Cámara y gimbal para GoPro Hero
Finalmente, el sistema FPV (ver Figura 8) es un sistema inalámbrico de transmisión, recepción y monitoreo de video que funciona comúnmente en el ancho de banda de 5.8 GHz. Está compuesto por un transmisor de video (arriba a la izquierda en la Figura 8) conectado a la alimentación de salida de video de la cámara, y un receptor (abajo a la izquierda en la Figura 8) conectado a un monitor de video (a la derecha en la Figura 8) ubicado cerca del piloto en la estación de control de tierra. El transmisor puede alimentarse desde la batería principal. El receptor y el monitor de video generalmente tienen su propia batería LiPo para mayor portabilidad.
Figura 8: Sistema de vista en primera persona (FPV)
Software Para Estación de Control de Tierra
El software para estación de control de tierra (GCS) es una aplicación que se ejecuta en una computadora personal o dispositivo móvil y realiza una variedad de funciones. Por ejemplo, permite programar el firmware requerido en el controlador de vuelo, configurar sus parámetros, calibrar los sensores y configurar el sistema de radio control (RC), entre otras cosas. También muestra los datos de telemetría desde el dron en tiempo real (posición, velocidad, etc.) y hace posible también controlar de forma remota al dron, modificar sus parámetros y activar algunas funciones especiales, como la navegación autónoma pcoordenadas GPS y el regreso automático al punto de despegue (conocido también como "retorno a casa"). También permite monitorear la posición global del dron en un mapa y a veces también monitorear las transmisiones de video en vivo desde la cámara del dron. La Figura 9 muestra una captura de pantalla de "QGroundControl", un software de control de tierra muy conocido que corre en computadoras personales y dispositivos móviles. Este muestra la posición y orientación del dron en un mapa, su ruta seguida, algunos datos de telemetría y navegación, así como un panel de instrumentación al estilo de una "cabina virtual" de vuelo.
Figura 9: Aplicación de estación de control de tierra "QGroundControl"
Plataformas Ardupilot y PX4
Ardupilot [Referencia 3] y PX4 [Referencia 4] son dos de las plataformas de drones de código abierto más utilizadas para aplicaciones que van desde pasatiempo y entretenimiento, hasta fotografía profesional, aerofotogrametría, teledetección multiespectral, transporte de carga e investigación y desarrollo, entre otros. Ambas plataformas tienen un ecosistema muy completo de herramientas que incluyen controladores de vuelo con una variedad de sensores, firmware de piloto automático para diferentes tipos de vehículos y configuraciones, software de control de tierra y SDK / API para controlar drones mediante código de programación y desarrollar aplicaciones. En los párrafos restantes, hablaré sobre algunas de las placas de control de vuelo y software de control de tierra compatibles en ambos ecosistemas y explicaré brevemente también sobre el protocolo MAVLink utilizado en ambas plataformas para telemetría y control.
Controladores de Vuelo
La plataforma Ardupilot admite una amplia variedad de hardware de controlador de vuelo de código abierto, así como de código cerrado. Algunos de los de código abierto son: Pixhawk 1, Pixhawk 3, Pixracer, CUAV V5, Cube, Beaglebone Black y PocketBeagle (los dos últimos requiere "capes" adicionales para sensores, las cuales son placas que se encastran por encima). Algunas de las opciones de fuente cerrada son, entre otras: Pixhawk 4, Kakute F4 / F7, NAVIO2, VR Brain, VR uBrain, Parrot C.H.U.C.K, Parrot Bebop Autopilot, etc. [Referencia 5]. Aunque hay algunos otros, me limito a mencionar aquellos que más conozco. Hay firmware disponible para estas plataformas de hardware que admiten múltiples tipos de vehículos, tales como: multirotores, aviones de ala fija y VTOL (despegue y aterrizaje vertical), helicópteros, rovers terrestres, barcos, submarinos e incluso rastreadores de antenas. El firmware pre-compilado para todos estos tipos de vehículos generalmente está disponible directamente desde el software de control de tierra, para cargarse fácilmente en la placa del controlador de vuelo. Dicho firmware es altamente configurable a través de una gran cantidad de parámetros que controlan muchas cosas, desde la configuración de bajo nivel de sensores y actuadores hasta las constantes de sintonización de los bucles de control PID de estabilización. Dependiendo del tipo de vehículo, el firmware Ardupilot admite una variedad de sensores; desde los más comunes utilizados para el control de vuelo básico y la estabilización, como giroscopios, acelerómetros, brújula digital, altímetro y GPS, hasta algunos complementarios que permiten una funcionalidad mejorada, como sonar, láser, sensor de flujo óptico y sensores de velocidad de viento. Algunos sensores están incluidos en la placa del controlador de vuelojunto con el microcontrolador (sensores integrados) y otros están conectados externamente (sensores externos).
Algunas funciones comúnmente disponibles para todos los vehículos en ambas plataformas son las siguientes: modos de vuelo manuales, semiautónomos y totalmente autónomos, misiones de navegación de puntos GPS en 3D programables, salvaguardas por pérdida de comunicación RC, fallas de GPS y bajo nivel de batería, soporte para gimbal de cámara de video, telemetría inalámbrica, integración de computadora complementaria, simulación de software, etc. PX4 también tiene varias opciones de hardware de controlador de vuelo compatible [Referencia 6] y admite vehículos como multicopteros, helicópteros, aviones, aviones VTOL y rovers terrestres. Casi todas las funciones y características mencionadas para Ardupilot se aplican también a PX4. La Tabla 1 muestra una lista de controladores de vuelo de hardware abiertos y cerrados soportados oficialmente tanto por Ardupilot como por PX4.
Tabla 1: Controladores de vuelo compatibles con Ardupilot y PX4
Software de Control de Tierra
También existen una serie de aplicaciones de control de tierra disponibles para los sistemas operativos más comunes (Windows, Linux, Mac OS X, Android e iOS). Algunos de ellos son de código abierto y otros requieren una licencia comercial. Para computadoras personales por ejemplo tenemos: Mission Planner, APM Planner 2.0, MAVProxy, UgCS y QGroundControl. Para dispositivos móviles: Tower, AndroPilot, MAV Pilot 1.4, SidePilot y QGroundControl (versión móvil). Todos ellos ofrecen más o menos la misma funcionalidad: programación de firmware en la placa del controlador de vuelo, configuración de parámetros de la aeronave, calibración de sensores, configuración y calibración del sistema RC, telemetría, gestión del modo de vuelo, navegación de puntos GPS y control de misiones, posición global del vehículo visualización en un mapa, monitoreo de video FPV, etc. En general, todos estos pueden ser usados con hardware y firmware de controlador de vuelo tanto de Ardupilot como de PX4, porque todos usan el protocolo MAVLink para comunicarse con los vehículos, para enviar comandos y la recepción telemetría y datos de parámetros; sin embargo, es posible que algunos tipos de mensajes MAVLink no estén implementados en algunas de las aplicaciones de control de tierra mencionadas o en los mismos controladores de vuelo mencionados.
El Protocolo MAVLink
MAVLink ("Micro Air Vehicle Link") es un protocolo de telemetría muy eficiente para la comunicación con pequeños vehículos no tripulados [Referencia 7], los cuales son generalmente sistemas con recursos y con ancho de banda limitado. Tiene dos versiones principales: v1.0 y V2.0, la última es compatible hacia abajo con la primera. Con el riesgo de simplificar demasiado, se puede decir que el protocolo funciona básicamente en dos "modos", que son: multidifusión por publicación / suscripción y transmisiones de entrega garantizada punto a punto. El primer modo se usa típicamente para enviar flujos de datos de telemetría desde drones a estaciones de control en tierra, computadoras de a bordo y sistemas en la nube. El segundo se usa típicamente para transmitir datos y comandos que requieren entrega garantizada, como cuando se cambian los parámetros de configuración del sistema en la aeronave o se configuran misiones de navegación GPS.
Al mezclar ambos modos, MAVLink logra una eficiencia muy alta. Una trama del protocolo V2.0 tiene solo 14 bytes y un máximo de 27 bytes si se usa autenticación de mensajes. Puede admitir hasta 255 sistemas concurrentes incluyendo vehículos, estaciones de control en tierra, rastreadores de antena, etc., y el protocolo se ha implementado en otras plataformas de controlador de vuelo, además de Ardupilot y PX4, como por ejemplo: AutoQuad 6 AutoPilot, iNAV y SmartAP Autopilot. Así como también otras estaciones de control de tierra, como ser: Side Pilot, JAGCS, Flightzoomer, Inexa Control, Synturian Control y algunas variantes de QGroundControl (AutoQuad GCS, SmartAP GCS, Yuneec Datapilot, Sentera Groundstation, WingtraPilot). También hay disponibles APIs y SDKs de alto nivel que soportan el protocolo para desarrollar aplicaciones de drones, como MAVSDK (escrito en C ++ con "wrappers" a Python, Swift, Java y JavaScript), MAVROS (el cual es un puente ROS a MAVLink), DroneKit (que soporta Python y Android) y Rosetta Drone, el cual es un "wrapper" MAVLink para volar drones DJI con software de control de tierra basado en MAVLink.
En la Parte 2 de esta serie de artículos hablaré acerca de cómo construir un quadricóptero con Ardupilot o PX4, así como de algunas similitudes y diferencias entre ambas plataformas relevantes a la construcción, y también ampliaré un poco sobre sus APIs para codificar aplicaciones para drones. También hablaré brevemente sobre cómo podemos hacer que el quadricóptero vuele de forma autónoma. ¡Estén atentos!
Ve la segunda parte de este artículo en este enlace: Introducción a Ardupilot y PX4 - Parte 2: Construyendo el Dron
---------------------------------
REFERENCIAS
[1] http://www.bowersflybaby.com/tech/props.html
[2] https://www.robotshop.com/media/files/pdf/hyperion-g5-50c-3s-1100mah-lipo-battery-User-Guide.pdf
[3] https://en.wikipedia.org/wiki/ArduPilot#History
[4] https://auterion.com/the-history-of-pixhawk/
[5] http://ardupilot.org/copter/docs/common-autopilots.html
[6] https://docs.px4.io/v1.9.0/en/flight_controller/index.html
[7] https://mavlink.io/en/about/overview.html
RECURSOS
Plataforma Ardupilot
http://ardupilot.org/
Plataforma PX4
https://px4.io/
-----------------------------
Suscríbete a Nuestro Boletín de Noticias
Para recibir anuncios de otros talleres cursos similares.
Productos Relacionados en Nuestra Tienda Virtual
Controladora de Vuelo Pixhawk 2.4.8, GPS NEO-6M, Tarjeta TF 4GB, Módulo de Potencia, PPM, I2C Splitter, OSD, Botón, BuzzerDetalles del Producto $us 260.00 |
Kit Cuadricóptero S500 (Tren Largo) APM DJI Compatible Básico CompletoDetalles del Producto $us 513.00 |