Bitsquevolen

Blog divulgatiu en telecomunicacions i aeronàutica de la comunitat EETAC

By

Pilota un avión no tripulado sin manos


Este proyecto combina todos los campos de la técnica que la EETAC enseña: Aeronáutica, Computación, Electrónica, Telecomunicaciones y en general, Tecnologías de la Información y la Comunicación (TIC).

Con todo ello, mi colega investigador Juan Martínez y un servidor, Joshua Tristancho, hemos implementado una idea sencilla en su concepto, pero nada sencilla a nivel de arquitectura: Pilotar una avión no tripulado desde mi oficina a través de un Joystick virtual y ¡sin manos! ¿No te lo crees? Reproduce el vídeo superior y ya verás, y sigue leyendo para conocer los detalles de cómo lo hemos conseguido.

Seguramente alguna vez os habréis preguntado para qué sirve estudiar una carrera como Sistemas de Telecomunicaciones o Aeronavegación; especialmente cuando hay que aprobar aburridas asignaturas que parecen inútiles – o eso piensan algunos…

¿De qué me sirve saber lo que es un protocolo de comunicaciones? – decía cuando estaba en la asignatura de Comunicaciones. ¿De qué sirve saber lo qué es un pull-up en un circuito electrónico? – cuando cursaba Electrónica; lo que es un interface como por ejemplo un teclado o un ratón o incluso un Joystick. Ni qué decir de aquellas interminables prácticas en las que teníamos que programar en C++ absurdos algoritmos en la asignatura de Introducción a los computadores. Cuando me explicaban lo que era un sistema inercial en la asignatura Navegación Aérea, Cartografía y Cosmografía, y los errores que acumulaban (Como el BIAS – sesgo) con tantas definiciones pero que al menos sabías que, según la asignatura de Aviónica,  gracias a eso los aviones podían navegar de forma autónoma. También cuando me explicaban los campos centrales en Fundamentos físicos de la ingeniería con tantas fórmulas que solo entendías cuando aprobabas Fundamentos Matemáticos

¿Quién me iba a decir que todo eso, más un poco de bricolaje,  se podía integrar en un mismo proyecto?

Esta aplicación libre aprovecha que la mayoría de simuladores de vuelo usan un Joystick para controlar el vuelo de un avión. Juan preparó un driver abierto (que puedes bajarte desde aquí) basado en el SDK VJoy.  Este driver escucha un puerto COM del ordenador y le manda las órdenes de control a un Joystick virtual. Al otro lado del puerto, un micro-controlador Arduino Pro Mini le manda sencillos mensajes con la posición de la silla.

El Arduino usa un UART que hay que convertir de TTL serie a puerto USB a través de un FTDI para emular el puerto COM. La posición de la silla la detectan unos sensores inerciales que se comunican con el Arduino a través de otro protocolo diferente, el I2C, que además es muy rápido.

GY-80 IMU

GY-80 – 10DoF Inertial Measurement Unit

Para tener una gran precisión en el eje de cabeceo (PITCH) al mover el respaldo de la silla, miramos el vector aceleración del campo gravitatorio, mientras que para tener una gran precisión en el eje de alabeo (ROLL), usamos el vector electro-magnético del campo magnético terrestre. En mi caso, como podéis ver en el vídeo, además puedo inclinar un poco la mesita que uso para modificar el eje de Guiñada (YAW) y girar en el suelo cuando carreteo con mi avión no tripulado virtual Shadow MK-1 que tenemos en la sala del Simulador de vuelo de la EETAC.

Este proyecto es una continuación de un artículo publicado en la revista “Intelligent Environments” en el 2009 titulado “An Intelligent Scenario For New Unmanned Aerial Systems” en el que se usaba la cabina de vuelo de la EETAC como interficie para controlar vehículos no tripulados (UAV) nuevos, que aun no han volado. De esta manera se pueden formar a los futuros pilotos responsables del UAV antes de que este vuele de verdad.

IE09

IE 2009