Control programático de Drone DJI Phantom 3. Gonzalo Zabala, Matías Teragni, Sebastián Blanco, Ricardo Morán

Documentos relacionados
ANDROID COD:

Computación 1. Roles en la interconexión

INVESTIGACIÓN Y ANALISIS DE CONTROLADORES DE VUELO PARA DRONES.

Oferta tecnológica: Sistema de control que permite el vuelo autónomo de drones

Android Auto Guia rápida

UNEDLabs: Una nueva red de Laboratorios Colaborativos, Virtuales y Remotos

APLICACIONES MÓVILES NATIVAS. Sesión 6: Programación móvil en java y android

Phantom 3 Standard. Phantom 3 Standard

CURSOS de pilotaje avanzado con GROUND STATION, WAY POINTS y DJI PILOT

Gateway 4G LTE + WiFi Exterior SOLUCION. Integradores de sistema WHITE PAPER.

PUERTOS DE COMUNICACIONES

Una vez descargada e instalada la aplicación en nuestro Smartphone hallaremos el icono con el cual se ejecuta la aplicación:

En qué se diferencia el Phantom 3 Standard del Phantom 3 Professional/Advanced?

TEMA: CONCEPTOS BASICOS DE REDES MATERIA: Las tic en la educación NOMBRE DE LA ALUMNA: Melissa Ibeth Chávez Villela NOMBRE DEL MAESTRO: Genaro Israel

Cable Micro USB a Serie DB9 RS232 para Android - Adaptador Serial con Carga USB - Macho a Macho

LABORATORIO REMOTO DE AUTOMÁTICA: Trabajos realizados y planes de futuro

SISTEMA OPERATIVOS MOVILES

ACCESO REMOTO. Manual de Usuario del servicio Acceso Remoto Movistar. Versión 1.0

MANUELA OSORIO CORREA INGRID MILENA MURILLO CASSIANI

Concepto de CLOUD COMPUTING. (apunte y video)

Enter, click, check. Con el video de seguridad Urmet Cloud es simple, seguro y accesible para todos. URMET ESTA EN TU VIDA

TODOS LOS PRECIOS MOSTRADOS SE ENTIENDEN SIN IVA

El hardware libre y el Internet de las cosas

Ahora veamos algunos de los cables más comunes para conectar los dispositivos a nuestra PC. 1- Cable de power, del toma eléctrico al CPU.

Ingeniería Electrónica e Instrumentación

GRABADOR DIGITAL WI-FI RONI

2. Fundamentos de Tecnologías de Información. 2.5 Telecomunicaciones y Redes

Adaptador de Video Convertidor USB 3.0 a VGA con Controladores Incorporados x1200

UNA NUEVA SOLUCIÓN PARA LAS CONEXIONES SCSI


IMPLEMENTACION DE UN SISTEMA DE VIDEO VIGILANCIA UTILIZANDO UNA WEBCAM, ASTERISK, MOTION Y CHAN_MOBILE

Caja USB Bahías Disco Duro 3,5 SATA RAID UASP NAS Gigabit con Servidor de Medios WebDAV Externa

DISPOSITIVOS MOVILES VANESSA SARASTI

Manual de usuario -Ver. 1

ascendeo Iberia - C. Les Planes 2-4 Polígono Fontsanta Sant Joan Despí Barcelona ROBOT INALÁMBRICO CON CÁMARA DE SEGURIDAD APPBOT LINK

OBJETIVOS: CONTENIDO:

ORANGE LANZA EN EXCLUSIVA MOTOROLA MILESTONE, EL PRIMER ANDROID 2.1. QUE LLEGA A ESPAÑA

Manual de instalación de CLIENTtoVIP

PHANTOM 3 PROFESSIONAL Notas de Lanzamiento Descripción General: Qué es Nuevo: Notas:

LOS MEJORES DRONES PARA GRABAR VIDEO O REALIZAR FOTOS AÉREAS

Dispositivos externos

2.0 Práctica 1.- CONFIGURACION DE RUTAS ESTATICAS

PROCEDIMIENTO DE ACTUALIZACIÓN DEL FIRMWARE DE VALIDACIÓN MEDIANTE EL GESTOR INTELIGENTE DE VERSIONES GIV

Diseño del sistema de audio virtual

Adaptador de Video Convertidor USB 3.0 a VGA con Controladores Incorporados x1200

Luis Magallanes Almeida

Proyecto de grado. Control y Comportamiento de Robots Omnidireccionales. Especicación de Requerimientos de Software Sistema EasyRobots

Características Técnicas Específicas de la Cámara IP FoscamSilver 24Leds Definición Velocidad. Dimensiones con Peso Imágenes

Importante: Esta funcionalidad aplica sólo para dispositivos móviles.

Protocolos de Telecomunicaciones Semana 4 Capa de Aplicación.

CÁMARA IP INALÁMBRICA HD 720p VISIÓN NOCTURNA, AUDIO Y FUNCIÓN DE GRABACIÓN

Manual de Usuario Cámara Sensor de Humo

Servicios en la Nube de Microsoft

CATALOGO DE PRODUCTOS TSPLUS

Nuevo PC todo en uno ET2400 de ASUS: la última tecnología audiovisual para disfrutar del ocio en casa

Redes de Datos. Tema XI: Redes Inalámbricas WPAN

Bienvenidos IMPORTANTE:

Accesorios. Accesorios Generales. I-Button. Conversor FMS. Camara GPRS. Lector de Proximidad

Disponibilidad de la aplicación BANCOESTADO

Guía de Instalación. Gaia Sofware Teléfono

controla tu casa desde Internet

Milestone Systems. Guía rápida: Activación de las licencias para los productos XProtect VMS 2017 R2

CONSOLA MÓVIL CLIENTE

Sebastián López Fernández

Iniciación a la informática

REI-IN 1 Ficha Técnica

Robótica aplicada con labview y lego

Conecta tu horno con el futuro.

Valerus Guía de Acceso a Internet

Serie Servidor de Red USB Multifunción

20482C Desarrollo de Aplicaciones Windows Store Avanzado Usando HTML5 y JavaScript

Teléfono: (33) (33) (33)

RENAULT. Una aplicación práctica e inteligente para disfrutar plenamente de la vida a bordo.

Seguimiento Deportivo Versión 1.0

Comunicación Serial: Conceptos Generales

SISTEMAS DE VIDEO CON KRONOS

Características Ventajas Desventajas Tipo de Núcleo Shell Gui. Para algunas cosas se debe de saber usar UNIX, muchos juegos no corren en Linux.

3. Conecte un extremo del cable USB que acompaña al producto en el disco duro extraíble

INSTALACIÓN E-SEAL TOKEN EN WINDOWS (XP-VISTA-7)

Concentrador USB 3.0 de 10 Puertos - Ladrón con Puertos de Carga y Sincronización - Hub con 2 Puertos de 1,5A

ENTR Solución de seguridad inteligente

Impresión a una velocidad excepcional y con una calidad superior

Introducción a la Operación de Computadoras Personales

QUÉ ES BDS ( BIOS DIGITAL SIGNAGE)

Protocolo de Bloqueo de Cuentas Comprometidas

Inga. Floriza Felipa Ávila de Medinilla

Introducción Requisitos mínimos Programa Servidor en tu ordenador: APP dispositivo móvil: Instalación Conexión...

16/03/2012. Tema 7- Internet

Transparencia y mejoras multimedia en Salón de Plenos de Las Navas del Marqués

CONFIGURACIÓN DE IMPRESORAS

Osmo + 2 Baterias Osmo + 2 Baterías

Protocolos de Internet

Aplicaciones en Movilidad. Manual del Curso. Aplicaciones en Movilidad. Módulo 01 Sistemas Operativos Móviles

Catálogo formativo de MakeProjects

TRUEVIEW PEOPLE COUNTER Occupancy

Tecnología de telemetría e integración de datos Diciembre 2015

TARJETA DE ADQUISICIÓN DE DATOS USB TAD U B Bits

Android 2.3 Tablet Manual de Usuario

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE LENGUAJE DE PROGRAMACIÓN

PARTIDA CONCEPTO UNIDAD DE MEDIDA

Transcripción:

Control programático de Drone DJI Phantom 3 Gonzalo Zabala, Matías Teragni, Sebastián Blanco, Ricardo Morán CAETI /Facultad de tecnología informática / Universidad Abierta Interamericana Montes de Oca 745, Capital Federal, Argentina, (5411)4301-5240 Gonzalo.zabala@uai.edu.ar, Matias.teragni@uai.edu.ar, sebastian.blanco@uai.edu.ar, Ricardo.moran@uai.edu.ar Resumen Este articulo trata sobre las limitaciones y los desarrollos realizados para poder tomar control de un Drone Phantom 3 de la empresa DJI, con el objetivo de desarrollar futuro comportamiento autónomo en el mismo. Palabras clave: Phantom3, Drone, Control desde PC, Vuelo Autónomo Contexto El presento proyecto será radicado en el Centro de Altos Estudios en Tecnología Informática (CAETI), dependiente de la Facultad de Tecnología Informática de la Universidad Abierta Interamericana. El mismo se encuentra inserto en la línea de investigación Sociedad del conocimiento y Tecnologías aplicadas a la Educación. El financiamiento está dado por la misma Universidad Abierta Interamericana Introducción La empresa de tecnología china DJI, actualmente la líder del mercado en drones comerciales y recreacionales, alcanzó esta posición principalmente gracias al Phantom 2. Este dispositivo es un drone relativamente económico, sumamente simple de utilizar, ideal para aficionados. Cuenta con una buena autonomía considerando su tamaño y costo. La existencia de este tipo de robots comerciales ahorra los costos y complejidades inherentes al desarrollo individual y permite a las personas realizar grabaciones y fotografía aérea sin la necesidad de tener las habilidades y conocimientos técnicos necesarios para generar sus propios drones. En particular el Phantom 2 fue el drone más vendido a nivel mundial hasta la fecha. (Kakaes, 2015) Esta empresa lanzó un nuevo modelo, llamado Phantom 3, un drone económico capaz de ser controlado a una distancia de 3.5km, con una autonomía de más de 20 minutos, y equipado con una cámara estabilizada de 4k que permite sacar tanto fotos como video en alta definición. A su vez, cuenta con la capacidad de ser controlado manualmente, o de movilizarse de forma autónoma. Esto se puede lograr mediante la definición de una ruta (conjuntos de latitud y longitud) que el robot recorrerá utilizando su GPS incorporado; indicando un punto que será orbitado manteniéndolo siempre en foco; o incluso seguir a personas o vehículos en movimiento (DJI, 2015). 811

Esto implica que el Phantom 3 no solo es útil como un juguete o medio de entretenimiento, sino que es una herramienta ideal para producciones de películas con un presupuesto acotado. Aunque el objetivo original de este dispositivo es ser utilizado por una persona con su control remoto, hay una gran variedad de funcionalidades (Liu, 2015) para las que se lo puede utilizar si se construye software que pueda controlar al drone en forma autónoma. Algunas de las aplicaciones prácticas que se le pueden dar incluyen la capacidad de patrullar un área, en busca de intrusos, conteo automático de ganado, e incluso análisis del estado de cosechas. Pero para poder construir software que pueda tomar decisiones significativas es necesario acceder a la información que el drone dispone, y controlarlo en consecuencia, lo cual resulta ser más complejo de lo que debería. Al día de hoy no existe forma de conectar directamente este drone a una computadora. Si bien existe para la versión 2 del Phantom un driver de comunicaciones del control remoto, el Phantom 3 no es compatible con este driver, lo cual pone un alto a cualquier investigación o desarrollo que se desee realizar con el mismo. La empresa DJI solía comercializar una antena que, una vez conectada via USB a la computadora, permitía enviar mensajes al Drone utilizando comunicación serial. Sin embargo, el protocolo de comunicación que utilizaba era cerrado y no existe una especificación del mismo, obligando a realizar ingeniería inversa 1. http://forum.dji.com/thread-19865-1-1.html para poder utilizarlo. Asimismo, desde el 12 de diciembre de 2015 Google dejó de soportar Google Earth, software sobre el cual estaba basada la tecnología de la Ground Station, por lo que DJI descontinuó este producto 1 Líneas de Investigación, Desarrollo e Innovación Este desarrollo en particular es un precursor para el futuro trabajo en Agentes y Sistemas Inteligentes. Los componentes desarrollados se centran fuertemente en la línea de Procesamiento de señales y Sistemas de Tiempo Real Resultados y Objetivos El objetivo final de este desarrollo es generar todas las herramientas de software y hardware necesarias para poder controlar la Phantom 3 desde una computadora, accediendo a la información de los sensores y la cámara del mismo. Dentro de este desarrollo se priorizarán aquellas opciones que simplifiquen la instalación y el uso del mismo para facilitar la distribución de esta tecnología de control. Aunque no hay especificación abierta para controlar al drone desde la computadora, existe una API para dispositivos móviles (android, ios) que tiene todas las capacidades que podríamos querer para acceder y controlar al Phantom 3. Esto es de interés ya que esta API resuelve toda la comunicación con el control remoto, permitiendo enviar mensajes al drone y acceder a toda la información del dispositivo. 812

Se descartaron las librerías referentes a ios ya que requieren permisos extra, pagar licencias de desarrollo de Apple, y no nos generaban ningun beneficio en particular. Para el caso de Android, esta API cuenta con un conjunto de clases en Java que deben ejecutarse dentro de un ambiente de dicho sistema operativo. Por lo tanto, para poder utilizarlas se necesitó un sistema Android en funcionamiento. Esto se puede lograr con el uso de un dispositivo físico, o un emulador en una computadora. La opción del emulador fue rápidamente descartada por tres grandes razones. En primer lugar, instalar y montar dicho emulador, y garantizar el acceso a los puertos usb reales a través de los cuales necesaria para tanto controlar al Phantom 3 en vuelo como para evitar posibles accidentes. Por último, la extensa presencia de dispositivos Android en el mercado Argentino aptos para este propósito inclinó la decisión hacia esta última opción. Utilizando la API para dispositivos móviles entonces, se puede reemplazar la necesidad de tener un dispositivo físico como la DJI Ground Station utilizando un smartphone en su lugar. Dado que el drone puede comunicarse con un smartphone pero no directamente con una computadora, la solución propuesta es la utilización de un smartphone que oficie de proxy entre la computadora y el drone, como puede observarse en la Fig. 1 Fig. 1 Diagrama general de la solución se conecta al control remoto de DJI es innecesariamente complejo. Aumentar la complejidad y los costos de implementación es algo a evitar. En segundo lugar, el emulador tiende a tener tiempos de ejecución considerablemente más lentos que un dispositivo físico. Esto puede crear problemas donde los mensajes de control que deben pasar por el teléfono antes de llegar al drone sean demasiado lentos, y se pierda la capacidad de respuesta que es Diagrama general de la solución. Se generó una aplicación para android que una vez iniciada establece la conexión con el drone, pudiendo asi acceder a la información de navegación, el streaming de video, y la capacidad de controlar al mismo. Esta conexión a su vez requiere que se validen permisos de control del drone contra uno de los servidores de DJI utilizando una identificación única de la aplicación. 813

Cuando esta validación se completa, la aplicación puede oficiar como nexo entre la computadora y el Phantom 3. La aplicación entonces abre un puerto TCP/IP al que puede conectarse la computadora para comunicarse. Los mensajes que la computadora envía a través de este puerto serán redirigidos al drone, y las respuestas del drone hacia la aplicación serán igualmente redirigidas hacia la computadora. De esta forma, el teléfono se convierte en un proxy de comunicaciones sin ninguna lógica aparte de la redirección de mensajes. Resultados Obtenidos La primera implementación fue sumamente simple. Una vez establecida la comunicación al servidor se envían ciertos caracteres al dispositivo móvil, cada uno de los cuales representa una dirección hacia la cual el Phantom 3 debe moverse. Si bien este método de control carece de precisión, fue suficiente para controlar al drone desde la computadora utilizando el software desarrollado. Este simple protocolo de comunicación permitió la construcción del primer experimento. Se conectó un Kinect a la computadora, cámara desarrollada por Microsoft que permite obtener la posición en 3 dimensiones de las articulaciones de una persona, particularmente de las manos (Zhang, 2012). Para el experimento, se simuló la palanca de control de un avión de ala fija, ubicado en las manos del usuario, y se envió la información correspondiente al software de control en el smartphone. Esto permitió controlar al Phantom 3 de DJI utilizando gestos, cosa que no es posible con el esquema de control originalmente planteado por el fabricante. El próximo paso en el desarrollo es mejorar el modelo de comunicación para garantizar la disponibilidad completa de la información de navegación en la computadora. La primera implementación del software ubicado en el dispositivo móvil tiene acceso a dicha información, pero no la envía a la computadora. Proveer toda la información disponible del drone al servidor garantiza que el mismo pueda tomar decisiones respecto a la posición, orientación, y estado (si se encuentra en el aire o no) del Phantom 3. Una vez conseguido esto se puede construir un sistema que haga al drone recorrer caminos, y aterrizar por sí mismo. El último paso necesario es permitir la transmisión del video capturado por el Phantom. El drone envía actualmente el video al dispositivo Android usando el formato H.264 (Sullivan, 2012) uno de los más utilizados para transmitir video en la actualidad. Este formato se usa en los discos Blu-Ray, y en varios servicios de streaming como YouTube y Vimeo. Esta tarea en particular requiere establecer una segunda conexión entre la computadora y el teléfono, para garantizar que el envío y la recepción del video no interfieran con la información de control. Luego sólo queda transmitir cada bloque de H.264 recibido por el dispositivo móvil al servidor. De construirse esta segunda integración se podrían utilizar varias técnicas de análisis de imágenes para determinar el movimiento del drone, ofreciendo la capacidad de construir realmente un sistema de vuelo completamente autónomo y de un costo relativamente bajo. Por otra parte, todos estos desarrollos tienen como objetivo generar un conjunto de librerías que simplifiquen el control del drone. De esta manera podrá ser programado por alumnos de la carrera de 814

Ingeniería en sistemas en diversas materias, con un nivel de complejidad definible según el grado de avance en la carrera. Utilizar un drone para estudiar aspectos de programación, control, robótica, procesamiento de imágenes u otros es altamente motivador para los estudiantes. efficiency video coding (HEVC) standard. En Circuits and Systems for Video Technology, IEEE Transactions on, 22(12), 1649-1668. Formación de Recursos Humanos El equipo de trabajo está conformado por un investigador adjunto del Centro de Altos Estudios en Tecnología Informática (CAETI) quien ejerce el rol de director del proyecto, dos doctorandos, y un ayudante alumno de la Facultad de Tecnología Informática de la Universidad Abierta Interamericana. Referencias Kakaes, K. (2015). What drones can do and how they can do it. En Drones and aerial observation: new technologies for property rights, human rights, and global development, 9. Liu, Z., Li, Z., Liu, B., Fu, X., Ioannis, R., & Ren, K. (2015, June). Rise of Mini- Drones: Applications and Issues. En Proceedings of the 2015 Workshop on Privacy-Aware Mobile Computing (pp. 7-12). ACM. DJI (2015, October). Phantom 3 Professional User Manual. En https://dl.djicdn.com/downloads/phantom _3/en/Phantom_3_Professional_User_M anual V1.6.pdf.DJI Zhang, Z. (2012). Microsoft kinect sensor and its effect. En MultiMedia, IEEE,19(2), 4-10. Sullivan, G. J., Ohm, J. R., Han, W. J., & Wiegand, T. (2012). Overview of the high 815