18 febrero, 2015
Por Paul Guermonprez
Introducción
Jugar con pequeños drones civiles es divertido. Construirlos, ¡mucho más! Todo aquel interesado en crear su propio dron autónomo “inteligente” encontrará en este artículo instrucciones sencillas para hacerlo con un smartphone Android, OpenCV, C++, y Java. Y esto es solo el comienzo. Cuando haya dominado estas instrucciones, podrá utilizar otros programas que le permitirán refinar el dron aún más. En el Programa Académico de Software Intel® encontrará más información acerca de Intel® OpenCourseWare para estudiar por su cuenta.
Materiales y métodos
¿Autónomo e inteligente?
Para que un dron vuele de manera autónoma, todos los sensores necesarios, el poder de procesamiento y los chips de comunicación deben estar integrados. Si bien este requisito no parece gran cosa, deja a un lado a muchos de los drones comerciales actuales de uso civil que se venden al público en general.
¿Ha visto el anuncio comercial creado por Lexus y KMEL Robotics en el que aparecen “enjambres” de pequeños drones ultraprecisos? Para coreografiar los movimientos, se los posicionó en el espacio dentro de la habitación donde se los operaba, con el uso de potentes sensores ubicados en todo el recinto. Quizá sepa también que los drones, que han recibido mucha atención últimamente, se pueden navegar mediante GPS. El GPS es práctico y de muy fácil acceso porque es digital, razón por la cual se lo usa en los aviones durante la etapa de vuelo en piloto automático a gran altitud. Pero la precisión de ± 2.5 m y la considerable latencia no permiten que un dron entregue una pizza a la puerta de una casa, porque si se acercara 2.5 m demás, chocaría con la puerta, y si se ubicara 2.5 m demasiado a la izquierda o a la derecha, también chocaría. Sí, estos drones tienen navegación independiente, pero no son muy “inteligentes”.
Para que a un dron se lo pueda llamar inteligente, debe tener integradas suficientes prestaciones de procesamiento como para, por ejemplo, capturar un video y analizar en tiempo real objetivos tales como códigos QR (fácil), formas o movimientos (difícil). Incluso se pueden medir volúmenes y reconstruir un espacio en tiempo real, como se hizo con el vehículo aéreo no tripulado del MIT . Sin embargo, todas estas “mejoras” exigen un procesador potente, además de sensores tales como acelerómetros y GPS, y posiblemente la capacidad de comunicarse de vez en cuando por una red 3G/4G También sería conveniente que pesara poco, fuera fácil de programar y tuviera una buena batería. A fin de cuentas, lo que nos queda es un potente teléfono móvil que puede, a su vez, activar las funcionalidades de vuelo de un dron.
Recientemente desarrollamos un control remoto para drones que utiliza un smartphone con Android, en nuestro caso el ZTE V975 Geek, con un procesador Intel® Atom™ Z2580. Al utilizar Android, es sencillo desarrollar el software y compartir el código entre una PC y el teléfono. Incluso se pueden usar en ambos bibliotecas nativas como Intel® Integrated Performance Primitives (Intel® IPP) y OpenCV. Por eso, no hace falta empezar desde cero; el smartphone tiene todos los componentes necesarios: cámara, GPS, acelerómetro y 3G.
Control del motor
Cuando hayamos decidido qué computadora integrada emplear, estaremos listos para conectar los motores. Nosotros seleccionamos el servocontrolador Pololu Maestro, que cuesta unos € 5 (menos de 6 dólares), se conecta por USB e incluso tiene Bluetooth con una interfaz serie Bluetooth opcional. Esta tarjeta se usa para controlar servomotores estándares. Más allá del tipo de dron que uno vaya a dirigir, sea un cuadricóptero o algún otro tipo, solo hay que reemplazar la pieza de control por radio con un smartphone Android y la tarjeta Pololu para convertirlo en un dron inteligente autónomo. Esta receta se puede reutilizar indefinidamente. Es simple, ¿no?