Tiempo de lectura: 4 minutos

Jugando con el ARDroneSDK3 de Parrot para el Bebop Drone

El curso escolar pasado realicé el Master en Informática Móvil (MiMo) oficial de la Universidad Pontificia de Salamanca con el objetivo de conocer Swift para ir haciendo cosas para iOS. Al igual que el Master en Telefonía Móvil de la Universidad de Salamanca es un master dirigido a desarrolladores que quieran iniciarse o profundizar en el desarrollo de aplicaciones móviles: nativas (Android, iOS y Windows Phone) o híbridas.

En dicho Master, hay que entregar el Trabajo de Fin de Master o más conocido como TFM. Entre los distintos proyectos que te ofrecen, o propones, para realizar el trabajo de investigación había uno novedoso este año que consistía en realizar un estudio del SDK de Parrot para sus drones, llamada ARDroneSDK3.

Nunca antes había trabajado con drones así que decidí escoger este tema para conocer lo que se podía hacer con un dron y sobre todo, hacerlo a través de Android.

El TFM consistía en hacer un estudio sobre el uso de esta SDK, hacer una aplicación práctica y sacar conclusiones para su uso en otros proyectos de futuro.

ARDroneSDK3

En la página de desarrolladores de la SDK se puede encontrar la documentación con algunos ejemplos que para iniciarse están muy bien, aunque a mi lo que más me ayudó fue ver el código fuente y navegar por el. El código tiene comentarios que pueden ser muy útiles y los nombres de los métodos son muy descriptivos, así que se puede identificar perfectamente su uso y la descripción de los parámetros.

WayPoint Drone

Lo primero que hice para conocer sus posibilidades, fue realizar una aplicación donde pudiera manejar el dron con los movimientos básicos que ofrecía: despegar, aterrizar, girar a la izquierda, girar a la derecha, avanzar, retroceder y algo muy importante, ejecutar el modo emergencia (apagar los motores).

Una vez conseguido esto, el objetivo ahora era realizar una funcionalidad que en el momento de realizar el TFM no estaba disponible en la aplicación oficial de Android (desconozco si en las otras plataformas se podía). Dicha funcionalidad era la navegación punto a punto a través de un mapa, es decir, poder indicarle al dron que fuera hasta un punto indicado por mi.

En la sdk oficial no existe ningún método que pueda hacer esto y en la aplicación oficial se pone como una mejora a corto plazo. Así que me puse a pensar y se me ocurrió sobre escribir la funcionalidad “Goto Home”. Dicha funcionalidad consiste en que si el dron pierde la señal o tiene la batería baja o se selecciona dicha opción, el dron regresa a la posición inicial de despegue.

Para conseguir que el dron fuera a el punto indicado, actualizaba la posición que tenía guardada cuando despegó con la posición deseada. El resultado fue bueno pero hay que tener mucho cuidado porque es muy peligroso hacer esto. Yo tuve un susto 🙁

Os dejo algunas capturas de la aplicación.

Conclusiones

Me parece muy interesante la SDK que ofrece Parrot para crear tus propias aplicaciones para el dron aunque creo que aún le faltan funcionalidades básicas como la navegación punto a punto, cuando se añada a la SDK permitirá hacer aplicaciones más interesantes. Sencilla de usar e integrar para Android.

El Bebop Drone es un dron muy potente, muy estable y con muchas opciones: cámara, despegue y aterrizaje automático… Recalco la falta de la navegación punto a punto por GPS.

 

Vídeo de la navegación punto a punto.