Instituto Polit�cnico Nacional
Instituto Politécnico Nacional
"La Técnica al Servicio de la Patria"

Boletín No. 97
1o. de julio de 2023




UN SISTEMA DE NAVEGACIÓN DE BAJO COSTO PARA VEHÍCULOS NO TRIPULADOS: EL AUTOPILOTO PIXHAWK

 

Alexis Fernando Cruz Baños
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Rodrigo Vazquez López
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Dr. Juan Carlos Herrera Lozada
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
M. en C. Miguel Hernández Bolaños
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Centro de Innovación y Desarrollo Tecnológico en Cómputo
Instituto Politécnico Nacional
Santiago Herrera Guevara
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Escuela Superior de ingeniería Textil
Instituto Politécnico Nacional

Cómo citar este artículo

 

Resumen

A lo largo de este trabajo, se da un acercamiento con un autopiloto de bajo costo llamado PixHawk, el cual es una plataforma de software libre y con alto desarrollo dentro de la comunidad dedicada a los vehículos de navegación no tripulados, debido a su ajustado precio y alto performance que ofrece. Se analizan las características principales del dispositivo tanto en hardware como en software, dando un panorama general de la composición física del dispositivo, los puertos con los que cuenta, los protocolos de comunicación con los cuales es compatible, así como los componentes y sensores externos que pueden complementar este dispositivo para tener un desarrollo más satisfactorio. Adicionalmente se da un panorama general del Mission Planner que es uno de los softwares de telemetría con el cual este autopiloto tiene compatibilidad, este tiene un desarrollo muy amplio dentro de la comunidad y ofrecen funcionalidades para diferentes aplicaciones y diferentes tipos de vehículos de navegación lo que lo hace el software para vehículos no tripulados por definición. Finalmente se hace una comparación con respecto a otros autopilotos en cuanto a funcionalidades y precios, concluyendo que el PixHawk es una de las mejores opciones en el mercado actual.

 

Abstract

Throughout this work, an approach is given of a low-cost autopilot called PixHawk, which is an open-source software platform with high development within the community dedicated to unmanned navigation vehicles due to its affordable price and high performance. The main characteristics of the device are analyzed in terms of hardware and software, giving a general overview of the physical composition of the device, the ports it has, the communication protocols with which it is compatible, as well as the external components and sensors that can be linked to this device to have a more satisfactory development. Additionally, a general overview is given of the Mission Planner, which is one of the telemetry software with which this autopilot is compatible. It has a very broad development within the community and offers functionalities for different applications and different types of navigation vehicles, making it the software for unmanned vehicles by definition. Finally, a comparison is made with respect to other autopilots in terms of functionalities and prices, concluding that the PixHawk is one of the best options on the current market.

 

I. Introducción

Durante los últimos años, se ha tenido un gran auge en el uso de los vehículos no tripulados, para solucionar problemáticas cada vez más cotidianas, no sólo a nivel industrial como puede ser agricultura, exploración espacial, transporte, entre otras cosas, sino también para uso recreativo como son los Drones y algunos vehículos a control remoto. A partir de esto surge la necesidad del uso de controladores de navegación que cumplen con funciones como proveer algoritmos de guía o navegación y en algunos casos dependiendo la aplicación que se requiera, establecer una comunicación con estaciones fijas de control como computadoras e incluso dispositivos móviles para el monitoreo de éstos, este módulo que integra las funciones descritas es conocido como autopiloto. Hoy en día, diferentes fabricantes se dedican a la construcción y desarrollo de autopilotos cada vez más sofisticados, quizás uno de los ejemplos más conocidos en la actualidad es el autopiloto que integra el fabricante Tesla en sus autos eléctricos autónomos. Sin embargo, en los últimos años se han desarrollado autopilotos de bajo costo más enfocados en el uso académico, con el objetivo de mejorar los vehículos de navegación, y desarrollar nuevas tecnologías. Entre los fabricantes más reconocidos de autopilotos están: Ardupilot, Matek Systems, CubePilot, Navio2, PixHawk, entre otros.

PixHawk es un proyecto independiente de libre desarrollo (Open -Hardware) desarrollado por PX4, que provee un autopiloto de bajo costo, pero con características competitivas, enfocado en comunidades académicas, industriales y aficionados al tema. Hoy en día es uno de los proyectos con mayor desarrollo y generalmente es la referencia de las plataformas de hardware de código abierto que se utilizan para los vehículos de navegación no tripulados. Específicamente para los fines de este trabajo, se profundiza en el PixHawk 2.4.6 que, al ser de código libre, existen diferentes desarrollos de la misma plataforma, haciendo que este reduzca sus costos, siempre con la misma compatibilidad con sistemas de telemetría y el conjunto de sensores que lo caracterizan.

II. Descripción General

El autopiloto PixHawk, es un sistema de autopiloto avanzado originalmente desarrollado por la empresa 3DR. Al ser una plataforma de código abierto, existen diferentes versiones de este sistema por algunas otras empresas. Como se mencionó anteriormente, la función principal del autopiloto es la de centralizar y procesar los datos de sensores requeridos para la navegación de vehículos, sensores como GPS, barómetro, magnetómetro, giroscopio, acelerómetro, la unidad de medición inercial (IMU) y sensores de velocidad. Una vez que los datos han sido obtenidos, el procesador del autopiloto en conjunto con algoritmos avanzados de control permite que el vehículo mantenga una estabilidad y robustez adecuadas para su funcionamiento.

El autopiloto PixHawk cuenta con un sistema operativo basado en Linux/Unix, lo que permite que se tenga una comunicación adecuada con su plataforma de desarrollo nativo que es PX4, pero también permite compatibilidad con otra plataforma de código libre muy utilizada en el estudio de los vehículos autónomos que es APM (AutoPilot Mega), esta compatibilidad es lo que hace que PixHawk sea uno de los autopilotos más utilizados para diferentes fines.

Características Principales

El PixHawk 2.4.6 cuenta con características necesarias para cubrir cualquier tipo de aplicación de vehículo de navegación, debido las características con las que cuenta.

Especificaciones [1]

El PixHawk cuenta con 2 microprocesadores y una memoria:

  • STM32F427 Cortex M4 32-bit como procesador principal.
  • Memoria Flash 2MB/168 MHz/ RAM 256Kb.
  • Coprocesador STM32F103 (utilizado para el Failsafe en caso de falla de procesador principal).

Sensores:

  • Giroscopio ST Micro L3GD20 de 3 ejes y 16-bit.
  • Acelerómetro/Magnetómetro ST Micro LSM303D de 3 ejes y 14-bit. (IMU)
  • Acelerómetro/Giroscopio Invensense MPU 6000 de 3 ejes.
  • Barómetro MEAS MS5611.

Interfaces de comunicación:

  • 5x Puertos Serial UART, uno de alta potencia y 2 con HW Flow control.
  • 2x Puertos de comunicación CAN.
  • Entrada compatible con Spektrum DSM/ DSM2/ DSM-X GPS.
  • Entrada y salida compatible con Futaba S.BUS.
  • PPM sum signal.
  • Entrada RSSI (PWM o Voltaje).
  • I2C / SPI.
  • Entradas ADC de 3.3v y 6.6v.
  • Puerto micro USB para conexión con PC.

Puertos y diseño del dispositivo [1]

El PixHawk cuenta con diferentes puertos que cumplen con diferentes propósitos en la figura 1 se muestra la disposición de puertos en el dispositivo.

 

    
        
  1. Receptor Spektrum DSM.
  2. Puerto de radio telemetría.
  3. Puerto de telemetría (On screen).
  4. USB
  5. SPI (Interfaz periférica serial)
  6. Módulo de encendido.
  7. Puerto para Botón de seguridad.
  8. Puerto para conexión de buzzer.
  9. Puerto Serial
  10. Puerto para conexión del módulo GPS.
  11. Bus de conexión CAN
  12. Puerto de comunicación I2C
  13. Conversor análogo a digital 6.6v
  14. Conversor análogo a digital de 3.3v
  15. Indicador LED.
Figura 2. Puertos de propósito general [1].          

 

Adicional a los puertos mostrados en la figura 1, el PixHawk cuenta con puertos donde se encuentran los pines de propósito general, los cuales se observan en la figura 2.

 

    
        
  1. Entrada para receptor de radio control.
  2. Salida S Bus.
  3. Salidas principales (Conexión de controladores de motores).
  4. Salidas auxiliares.
Figura 2. Puertos de propósito general [1].          

 

Características adicionales

Existen características adicionales, que se pueden añadir al PixHawk dependiendo la aplicación requerida. Entre las características opcionales destacan:

  • Velocímetro diferencial de aire.
  • Módulos de expansión para telemetría y transmisión de datos por radio telemetría.
  • Módulo de pantalla OLED.
  • Módulos de indicaciones sonoras.

III. Usos y Aplicaciones

La aplicación de autopilotos es para complementar los vehículos de navegación como son los Rover, los submarinos, helicópteros, hovercrafts, omnidireccionales, entre otros. Sin embargo, el uso más común es en los drones, los cuales tienen diferentes aplicaciones como son: uso lúdico, uso académico e investigación, labores de campo, etc. Como se mencionó anteriormente existen diversos componentes extras que dependiendo la aplicación que se requiera serán utilizados de manera adicional lo cual permite que el PixHawk tenga un amplio uso en estos vehículos.

 

    
        

Una de las cosas más interesantes del Pixhawk es que no sólo está reservado a ser utilizado como el sistema central de procesamiento, pues debido a la arquitectura basada en Linux y su procesador, tiene compatibilidad con algunos microcontroladores o sistemas embebidos que pueden ser utilizados como la parte central del procesamiento, permitiendo así que las aplicaciones del autopiloto, para el área de investigación y desarrollo, se amplíe aún más que algunos otros autopilotos. Y de esta manera complementar las aplicaciones de los vehículos [2]. Un ejemplo de esto se observa en la figura 3 la cual muestra la conexión de una tarjeta de desarrollo Nvidia Tx1 en el puerto de telemetría.

Las ventajas de utilizar un sistema embebido en conjunto con el PixHawk, es que se tiene una mayor capacidad de procesamiento, por ejemplo, un Dron que haga reconocimiento de patrones, o procesado de terreno, puedan ser llevados a cabo de manera eficiente sin necesidad de saturar al autopiloto [3].

Figura 3. Nvidia TX1 conectada con PixHawk.          

 

Otra característica con la que cuenta el autopiloto PixHawk, es que al ser un dispositivo con arquitectura basada en Linux/Unix, tiene compatibilidad con ROS (Robot Operating System) el cual es un conjunto de software, librerías y herramientas que se utilizan para el desarrollo de aplicaciones de robots. Este autopiloto tiene específicamente compatibilidad con MavROS que es un paquete de controladores para establecer comunicación con autopilotos, utilizando el protocolo de comunicación MavLink, y por lo tanto permite un enlace entre autopiloto, software de telemetría y ROS para diferentes aplicaciones.

Existen diferentes softwares con los cuales el autopiloto tiene compatibilidad. El software más utilizado con este autopiloto es el Mission Planner.

Mission Planner

Mission Planner es un software de telemetría y ground system (estación en tierra) creado y utilizado para el control, programación y monitoreo de vehículos de navegación del tipo aeroplanos, Rovers y Drones. Es un software diseñado para tener compatibilidad con los sistemas basados en PX4 y APM, por lo cual es un software con completa compatibilidad con el autopiloto PixHawk [4]. Este software se puede utilizar como herramienta para carga de firmware para autopilotos y configuración, también puede ser utilizado como central de monitoreo y como suplemento de control dinámico para los vehículos. Algunas de sus principales funciones son:

  • Configurar, actualizar y cargar firmware necesario para el autopiloto.
  • Sintonizar los controladores del vehículo para un funcionamiento óptimo.
  • Descargar y analizar datos de vuelo del autopiloto.
  • Establecer una interfaz con un simulador de vuelo de PC para crear simuladores para los vehículos no tripulados.
  • Utilizando la telemetría, se puede monitorizar el estatus del vehículo en operación, guardar registros de navegación y comportamiento de los sensores y actuadores para analizar más tarde, y operar el vehículo de manera remota, inclusive en primera persona.
  •  

    Dado las funciones que este software ofrece, y al ser de código libre, es el software más utilizado para aplicaciones de vehículos de navegación con autopilotos basados en arquitectura PX4 y APM. Es compatible con Windows y Linux por lo cual también puede ser controlado mediante comandos Linux. Otra funcionalidad importante es que permite la calibración de los sensores de los autopilotos. Y al tener firmware específicos para diferentes tipos de vehículos como se observa en la figura 4, permite que los algoritmos de control para cada vehículo tengan una sintonización adecuada en cada aplicación requerida, lo cual lo convierte en un software adecuado para la introducción a la construcción y manejo de vehículos aéreos no tripulados.

            
              Figura .4 Vehículos compatibles con Mission Planner.

     

    IV. Comparación con otros Autopilotos

 

En la tabla 1, se muestra una breve comparación entre los autopilotos de mayor relevancia, comparando sus características principales. Se observa que existen autopilotos con características similares o superiores que las del PixHawk, sin embargo, debido al constante desarrollo por parte del equipo PX4 y también considerando el precio en el cual se consigue, el PixHawk es una de las mejores opciones entre los mayores fabricantes de autopilotos; cabe mencionar que existe un autopiloto propio de APM (Ardupilot 2.8) que sigue siendo uno de los autopilotos más utilizados, con un precio ajustado y prestaciones similares a las del PixHawk, sin embargo no se considera en la tabla debido a que es un dispositivo que ya no tiene actualizaciones ni soporte por parte de su fabricante.

 

Tabla 1.
. Cuadro comparativo entre diferentes Autopilotos.

 

V. Conclusiones

A lo largo de este trabajo se analizó el autopiloto PixHawk mostrando sus características principales, tanto en software como en hardware, así como la compatibilidad con diferentes plataformas de desarrollo relacionadas con la robótica y los vehículos no tripulados, concluyendo que el PixHawk es uno de los autopilotos más completos en el mercado actual, no sólo por sus características que compiten con otros autopilotos que tienen un costo superior, sino que debido a su sistema basado en Linux/Unix tiene alta compatibilidad con plataformas de desarrollo muy utilizadas hoy en día en el área de los vehículos no tripulados como son ROS o Mission Planner, y en caso de que un desarrollo necesite de un procesado más complejo, o se requiera una aplicación del vehículo más completa, este autopiloto se puede complementar con alguna tarjeta embebida (companion computer), mostrando así que para un uso académico, de investigación o incluso para aficionados a los vehículos no tripulados, esta plataforma es una opción a tomar en cuenta si se requiere un dispositivo de bajo costo y con características de alto rendimiento ya mencionadas.

VI. Referencias

  1. 3DRobotics, (2014). PixHawk Autopilot Quick Start Guide lhttps://www.rcworld.co.za/downloads/pixhawk.pdf.(1° Edicion).

  2. Ryan M., Taher D., (2020). Autonomous Navigation of an Agricultural Robot Using RTK GPS and Pixhawk.. Intermountain Engineering, Technology and Computing (IETC). Utah, USA.

  3. Joel V., (2022). lLow Cost UAV Swarm for real time object detection applications. [Tesis de maestría, Faculty of California Polytechnic State University]. Repositorio Institucional FCPSU.

  4. ArduPilot Dev Team, (2023). Mission Planner Overview. https://ardupilot.org/planner/#.

Cómo citar este artículo en APA

Cruz, A., Vazquez, R., Herrera, J., Hernández, M. & Herrera, S. (1 de julio 2023). Un sistema de navegación de bajo costo para vehículos no tripulados:el autopiloto pixhawk Boletín UPIITA. 18 (97).
https://www.boletin.upiita.ipn.mx/index.php/ciencia/1045-cyt-numero-97/2176-un-sistema-de-navegacion-de-bajo-costo-para-vehiculos-no-tripulados-el-autopiloto-pixhawk#Citar

Regresar al índice