Revista: CCCSS Contribuciones a las Ciencias Sociales
ISSN: 1988-7833


ANÁLISIS DE LAS POTENCIALIDADES DE LOS TELÉFONOS INTELIGENTES EN LA IMPLEMENTACIÓN DE AUTOPILOTOS DE VEHÍCULOS AUTÓNOMOS AÉREOS (UAV)

Autores e infomación del artículo

Fabricio Urdiales Ponce

Alleiny Machado

Universidad Tecnológica ECOTEC

furdiales@ecotec.edu.ec

Resumen

El control de vuelo y navegación de vehículos autónomos aéreos (UAV), del inglés “Unmanaged Aerical Vehicles”, popularmente conocidos como “Drones” implica una serie de retos en el campo de la ingeniería e involucra a su vez tecnología y recursos costosos a los que científicos, ingenieros o aficionados en general no tienen acceso en muchas partes del mundo.
Sin embargo, el creciente desarrollo en los últimos años de dispositivos móviles como Teléfonos inteligentes y Tablets, pensados en un principio para la comunicación y el entretenimiento e impulsados además por la constante competencia entre desarrolladores y fabricantes, ha traído como resultado la aparición de verdaderas plataformas de desarrollo dotadas de hardware potente, disimiles sensores integrados, alta conectividad, bajo peso y consumos de energía reducidos. Unido a esto, dichas plataformas integran a su vez software abierto, libre, con soporte y disponibilidad de código y bibliotecas de desarrollo con actualizaciones que optimizan recursos y aportan nuevas funcionalidades periódicamente. 

En este sentido las ramas en el campo de la ciencia y la ingeniería en la que estos dispositivos encuentran aplicación son vastas y dentro de ellas, en el presente artículo, abordaremos las posibilidades, potencialidades de estos dispositivos así como propondremos una arquitectura de hardware para la implementación de controles de vuelo y navegación de vehículos autónomos aéreos utilizando un teléfono inteligente como computadora de abordo.

Palabras claves:
Vehículo Autónomo Aéreo, Teléfono Inteligente, Android.

Abstract
The flight control and air navigation autonomous vehicles (UAV), popularly known as "Drones" involves a number of challenges in the field of engineering and turn involves expensive technology and resources to the scientists, engineers and fans in general are not available in many parts of the world.

However, the increasing development in recent years of mobile devices like smart phones and tablets, designed originally for communication and entertainment and also driven by the constant competition among developers and manufacturers, has resulted in the emergence of true platforms development equipped with powerful hardware, dissimilar integrated sensors, high connectivity, low weight and reduced energy consumption. Coupled with this, these platforms integrate in turn open, free, with support and availability of code development libraries and updates that optimize resources and provide new functionality software periodically.

In this sense the branches in the field of science and engineering in these devices find application are vast and among them, in this article, we will discuss the possibilities, potential of these devices as well as propose a hardware architecture for implementation of flight control and air navigation autonomous vehicles using a smartphone as onboard computer.

Key words:  Unmanned Aerial Vehicle, smartphone, android.



Para citar este artículo puede uitlizar el siguiente formato:

Fabricio Urdiales Ponce y Alleiny Machado (2015): “Análisis de las potencialidades de los teléfonos inteligentes en la implementación de autopilotos de vehículos autónomos aéreos (UAV)”, Revista Contribuciones a las Ciencias Sociales, n. 29 (julio-septiembre 2015). En línea: http://www.eumed.net/rev/cccss/2015/03/telefonos-inteligentes.html


I.- Introducción:

En la acelerada carrera de fabricantes de dispositivos móviles, como Teléfonos Inteligentes y Tablets, basados en sistema operativo Android y tratando de ofrecer el mejor equipo del mercado, con las mejores prestaciones posibles, han creado tal vez sin proponérselo una plataforma de desarrollo de infinitas posibilidades para ingenieros de muchas ramas.

Con un hardware que puede llegar a los ocho núcleos de procesamiento a más de 1.5GHz como promedio, con 1GB o más de memoria RAM, más de 8GB de memoria de almacenamiento interno, dotado además de un sistema operativo potente, abierto y con toda la documentación y códigos de ejemplo para el desarrollo de aplicaciones que permiten la explotación al máximo de dicha plataforma, las aplicaciones de estos dispositivos es infinita en muchas áreas del conocimiento y la ingeniería. 

Unido a las características básicas del sistema con microprocesador que integran, de por si novedosas, se añaden un conjunto de extensiones que aumentan su valor como sistema y que adicionan funcionalidades muchas veces no encontradas juntas en sistemas embebidos industriales de prestaciones y costos similares.
Tal es el caso de la presencia en la gran mayoría de los teléfonos inteligentes de gama alta de disimiles sensores como por ejemplo acelerómetros, giróscopos, barómetros, termómetros, GPS, magnetómetros, visión, proximidad e iluminación que proporcionan información del entorno y del propio dispositivo de manera integrada y de fácil acceso.

Por otro lado la conectividad que estos dispositivos brindan es realmente sorprendente ya que cuentan en su mayoría con conexión inalámbrica de varios tipos tales como WIFI, Bluetooth, NFC y GSM, esta última a velocidades que pueden llegar hasta los estándares 4G LTE.

Otra característica importante de estos dispositivos es que también cuentan con un puerto USB con funcionalidad de host por el cual se pueden expandir sus entrada/salidas utilizando interfaces de hardware personalizadas, relativamente simples, de bajo costo  y que complementan al dispositivo móvil dotándolo de interacción con sistemas físicos y expandiendo aún más sus posibilidades de manera fácil y eficiente.

En este sentido la integración en un solo sistema de un teléfono inteligente con las características mencionadas y un hardware basado en microcontroladores con interfaz USB resultaría en una plataforma altamente versátil, de bajo costo y de amplias posibilidades de aplicación. La Figura 1 muestra la arquitectura propuesta.

II.- Antecedentes, Concepto y Etimología.

Un Vehículo Autónomo Aero (UVA) conocido como dron es una aeronave que se transporta sin utilizar tripulación, es un vehículo reutilizable, con la habilidad de conservar un nivel de vuelo controlado y sostenido, existe una amplia variedad de diseños, tamaños, configuraciones y características en el diseño de los UVA, en sus inicios eras vehículos controlados remotamente, pero cada vez más se está utilizando el control autónomo.

Ahora es posible encontrar vehículos que vuelan de forma libre al control desde una ubicación remota, por medio de planes de vuelo pre-programados, con la ayuda de sistemas más complejos de automatización y control dinámica. y es por esto que un UVA puede funcionar sin la intervención humana durante su funcionamiento en la misión a la que se haya encargo, es decir, puede despegar, volar, aterrizar automáticamente.

La denominación “VEHÍCULO AUTÓNOMO AEREO”  deriva del inglés «Unmanned Aerial Vehicle» de siglas «UAV», también conocido como drone, con que se designa a varios tipos de vehículos no tripulados, al principio servía para mencionar a los aparatos de uso militar o con aspecto de avión, pero se extendió a todos los vehículo nos tripulados, que puede ser oportuna en muchos casos.

Historia.

Si bien los vehículos autónomos comenzaron a desarrollarse durante la segunda guerra mundial, no es hasta finales del siglo XX que comienzan a funcionar los UVA mediante radio control con todas las particularidades de autonomía. Han sido utilizados en diversos escenarios y especialmente en guerra con la del Golfo Pérsico o la de Bosnia, pero con el tiempo sus aplicaciones han sido transferidas a otras necesidades

  • Cartografía: realización de ortofotomapas y de modelos de elevaciones del terreno de alta resolución.
  • Agricultura: gestión de cultivos.
  • Servicios forestales: seguimiento de las áreas boscosas, control de incendios.
  • Geología.
  • Hidrología.
  • Medio ambiente: estado de la atmósfera.
  • Control de obras y evaluación de su impacto.
  • Seguimiento de la planificación urbanística.
  • Gestión del patrimonio.
  • Seguridad y control fronterizo.

III.- Finalidad y Características.

Aplicación en Drones.

En la actualidad se han puesto muy de moda los vehículos aéreos autónomos no tripulados UAV más conocidos como Drones.

La popularidad de este tipo de vehículos está dada fundamentalmente por la gran variedad de aplicaciones que encuentran y problemas que resuelven en ámbitos desde el doméstico hasta el profesional pasando incluso por el militar.

En muchos casos algunos vehículos aéreos de pequeño porte, principalmente comerciales, son erróneamente catalogados como Drones puesto que solo cuentan con los medios de propulsión, la energía, un hardware básico y mando por radio control tal y como muestra la Figura 2.
Esta arquitectura o sistema solo puede ser manejada o controlada por un piloto en tierra operando los mandos del radio  control, donde el componente autónomo de la aeronave es muy poco o no existe.
Los sistemas de control básicos, cuando son implementados en este tipo de vehículos responden en su mayoría solo al control de actitud, o sea que mantienen el cabeceo, el alabeo y la guiñada tomando los valores de consigna a los lazos de control directamente de la salida del radio control, que no es más que el mando generado por el operador o piloto humano en tierra. La Figura 3 muestra la arquitectura de control típica para estas aeronaves, comerciales o no, sin el componente autónomo. 

IV.- Tecnología de un Drone

Sistemas Autónomos.

La autonomía, característica indispensable de los vehículos Drone, está precisamente en  la substitución del operador humano por una computadora capaz de generar los mandos al controlador de vuelo a partir de algoritmos de navegación, planificación de trayectorias o misiones completas, programados en la computadora de abordo y retroalimentados por sensores que deben ser integrados en el sistema autónomo.

Podríamos mencionar por ejemplo GPS y acelerómetros axiales para navegación, ya sea esta solo por GPS o inercial asistida por el GPS, cámaras para visión que alimenten algoritmos de reconocimiento por procesamiento de imágenes etc. Estos algoritmos generalmente son complejos y demandan un elevado costo computacional. La Figura 4 muestra la arquitectura de hardware típica para este tipo de vehículos autónomos.

Es evidente que las tareas que dan autonomía al vehículo no tripulado demandan, por una parte, sensores con características especiales y por otro lado un sistema de cómputo poderoso para calcular los algoritmos necesarios, si no en tiempo real, al menos con latencias muy bajas que no afecten el desempeño general del sistema.
Siguiendo este análisis es cierto que en el mercado tecnológico existen sensores y hardware en general capaces que solventar las necesidades de este tipo de sistemas, no obstante, muchas veces no está al alcance de la gran mayoría de ingenieros,  científicos o aficionados en general, principalmente por sus costos elevados si lo vemos como sistema en su totalidad.

Componentes

Por otro lado, obtener un sistema con las características necesarias de sensores, hardware de cómputo, entradas / salidas, bajo consumo, compacto, de peso reducido y capaz de ser transportado a bordo del vehículo, es también algo que restringe las posibilidades en cuanto a tecnología disponible y costos. 

En este sentido es donde la arquitectura propuesta en la Figura 1 toma fuerza y encuentra un nicho de aplicación real y práctica porque integra de manera compacta, fiable y económica todos los componentes necesarios para implementar vehículos verdaderamente autónomos. La Figura 5 muestra la arquitectura de hardware propuesta para vehículos autónomos de bajo costo y pequeño porte basado en un teléfono inteligente con sistema operativo Android.

Arquitecturas
           
Arquitectura de Software.

El sistema propuesto envuelve la programación de dos sistemas por separado. Por un lado el sistema embebido basado en microcontrolador y por otro lado el teléfono inteligente. Cada uno con sus funciones específicas pero con la implementación de rutinas de comunicación para intercambio de datos entre ellos.

Aunque el código final a ejecutar por parte de cada sistema depende de la aplicación y funcionalidades finales si es posible definir una estructura del software con las rutinas básicas que darán funcionalidad al sistema en su conjunto.

Estructura de software del controlador embebido.

Los programas a ejecutar por parte del sistema empotrado basado en microcontrolador  deben contener obligatoriamente cuatro rutinas básicas.

  • Comunicación USB con el Teléfono inteligente (Computadora de a bordo).
  • Algoritmos de Control de Actitud y Altura.
  • Monitorización de nivel de baterías.
  • Actualización de señales de mando a timones y/o motores de propulsión.

A su vez, estas cuatro rutinas podrán contener subrutinas cuyas implementaciones dependerán de las características del sistema y de cómo esté diseñada, desde el punto de vista mecánico, la aeronave.

La Figura 6 muestra la estructura y organización del software a implementar en el sistema embebido basado en microcontrolador donde se aprecia la presencia de las cuatro rutinas mencionadas anteriormente.

En la Figura 6 podemos ver que en el programa principal, una vez configurados los elementos necesarios el microcontrolador entra en un lazo infinito del cual solo sale y al cual regresa cuando es interrumpido por la llegada de un paquete de datos del host o cuando se dispara la interrupción de tiempo para calcular los algoritmos de control a la frecuencia que en función del diseño y las características dinámicas de la aeronave se haya definido.

Es importante destacar que para un funcionamiento correcto y estabilidad del sistema la frecuencia de llegada de paquetes provenientes del host debe ser igual o mayor que el período de las interrupciones del temporizador, de la misma forma la interrupción generada por el modulo USB deberá tener más prioridad que la generada por el temporizador.

Para simplificar el programa y cuando es utilizado por  sistemas con períodos de muestreo superiores a los 20ms puede prescindirse del temporizador y calcular el algoritmo de control dentro de la misma rutina de atención a interrupción USB. Para que esta solución sea estable se debe garantizar que el dispositivo host (teléfono)  genere interrupciones de tiempo con latencias de servicio que no superen el 10 por ciento del periodo de muestreo. Esta solución dio buenos resultados en pruebas realizadas con anterioridad.

Estructura de software del host.

La gran ventaja de utilizar teléfonos inteligentes basados en sistema operativo Android está en la rapidez de desarrollo de las aplicaciones debido a la amplia disponibilidad de códigos de ejemplo, bibliotecas de funciones además de un extenso y detallado SDK que se actualiza y adiciona nuevas funcionalidades periódicamente.
Por tal razón es relativamente simple y rápido escribir código para capturar datos de sensores, posición de GPS, o imágenes de la cámara. De la misma forma con pocas líneas de código podemos conectarnos a otros dispositivos vía USB, WIFI, Bluetooth o incluso la red GSM 2G o 3G dependiendo de las características del dispositivo. 

Por otro lado, la naturaleza multitarea del sistema operativo Android nos permite crear programas con varios hilos de ejecución de una manera eficiente, sin interacciones o interrupciones, si hacemos un uso correcto de los modelos de programación en entornos multitarea.

Siguiendo este análisis, para implementar sistemas autopilotos en dispositivos móviles, como teléfonos inteligentes, que permitan la navegación por GPS, el cálculo de algoritmos inerciales, la comunicación USB al sistema embebido complementario, la captura y procesamiento de imágenes así como la comunicación o enlace con estaciones en tierra, en tiempo real, o al menos con latencias mínimas y de manera concurrente es necesario definir correctamente cada rutina, en qué momento se ejecuta, quien la lanza y como recibe y entrega los datos que procesa a las demás rutinas que intervienen en el proceso.

Todas estas tareas deben realizarse en hilos de ejecución diferentes al hilo de la interfaz de usuario si queremos que el sistema funcione de manera fluida, sincronizada y sin interrupciones. Esto se logra además definiendo un conjunto de variables que almacenen el estado del sistema en cada momento y teniendo en cuenta las prioridades de ejecución de las rutinas criticas como por ejemplo la comunicación USB mediante la cual se actualizan las variables de sensores y consignas que intervienen en el control de actitud y altura del vehículo que ejecuta el sistema embebido complementario al teléfono inteligente.

La Figura 7 muestra una aproximación a las diferentes rutinas o hilos imprescindibles en la implementación básica de un autopiloto para vehículo autónomo aéreo empleando la arquitectura de hardware propuesta.

V. Conclusiones:
En este artículo se propone una arquitectura de hardware para la implementación de vehículos aéreos autónomos de pequeño porte empleando un teléfono inteligente de gama media o alta en el rol de computadora de abordo. Si bien es cierto que existen tecnologías en cuanto a hardware de cómputo y sensores  que superan en prestaciones al sistema propuesto también es cierto que las características reunidas en la propuesta son novedosas y arrojan resultados sorprendentes en muchas aplicaciones a un costo reducido y de manera rápida.  

Bibliografía Consultada.

  • Mejias Alvarez, Luis (2006) Control visual de un vehículo aéreo autónomo usando detección y seguimiento de características en espacios exteriores. Tesis Doctoral, Madrid España, Universidad Politécnica de Madrid
  • Pérez A, Ruiz de los Santos (2006), M. Monitoreo y control en tiempo real de un vehículo aéreo no tripulado, Tesis de Grado, Azcapotzalco México, Esime de Azcopotzalco.
  • Aguirre I. (2006) Attitude control of a minihelicopter in hover using different types of control, Caracas Venezuela,  Revista Tecnológica Universidad Zulla

Recibido: 04/06/2015 Aceptado: 07/08/2015 Publicado: Agosto de 2015

Nota Importante a Leer:

Los comentarios al artículo son responsabilidad exclusiva del remitente.

Si necesita algún tipo de información referente al articulo póngase en contacto con el email suministrado por el autor del articulo al principio del mismo.

Un comentario no es mas que un simple medio para comunicar su opinion a futuros lectores.

El autor del articulo no esta obligado a responder o leer comentarios referentes al articulo.

Al escribir un comentario, debe tener en cuenta que recibirá notificaciones cada vez que alguien escriba un nuevo comentario en este articulo.

Eumed.net se reserva el derecho de eliminar aquellos comentarios que tengan lenguaje inadecuado o agresivo.

Si usted considera que algún comentario de esta página es inadecuado o agresivo, por favor,pulse aqui.