Los mejores SDKs para desarrolladores de aplicaciones para drones: 3D Robotics y DJI
Dron ya es sinónimo de mercado maduro. Control fronterizo, extinción de incendios forestales, situaciones de emergencia, labores informativas, cultivo agrícola… son muchos los usos para los que ya se utilizan drones de forma habitual. Y eso genera un negocio vinculado al desarrollo de aplicaciones y plataformas muy potente y prometedor. Las empresas buscan que los desarrolladores puedan personalizar estos vehículos aéreos no tripulados.
Según un estudio reciente de Deloitte, el número de drones civiles de 200 dólares o más superará el millón de unidades en 2015, con unos ingresos en la industria entre los 200 y 400 millones de dólares. En ese escenario, explorar nuevas posibilidades permite generar ingresos. Dos ejemplos de los resultados ofrecidos por los nuevos desarrollos son las compañías 3D Robotics y DJI, que han lanzado Kits de Desarrollo de Aplicaciones (SDKs) y APIs para desarrolladores.
DroneKit, el SDK de 3D Robotics
3D Robotics dispone del DroneKit, una API en Python flexible y abierta para el desarrollo de aplicaciones que se ejecutan desde el ordenador de abordo y comunican con el controlador de vuelo ArduPilot con un enlace de baja latencia.
La API se conecta con los drones a través del protocolo de comunicación MAVLink, un sistema utilizado habitualmente para conectar una estación de control de tierra y un vehículo no tripulado para transmitir, por ejemplo, la ubicación y la velocidad. Gracias a este protocolo, la API tiene acceso a los datos de la telemetría a través de Bluetooth, Wi-Fi o el sistema de radio 3DR o a los parámetros del dron y también permite controlar el movimiento y las operaciones del propio aparato no tripulado.
Este SDK permite a los desarrolladores, entre otras funciones:
– Desarrollar aplicaciones que mejoran el vuelo en piloto automático.
– Proporcionar características inteligentes a un dron como la visión por ordenador, la planificación de la ruta o el modelado en 3D.
– Permitir a un vehículo aéreo seguir objetivos mediante GPS.
– Facilitar el seguimiento de una ruta marcada con receptores GPS.
DroneKit se puede instalar en sistemas operativos Linux, Windows y Mac OS X y la plataforma funciona tanto en ordenadores de escritorio como en móviles. Por ahora, el desarrollo de aplicaciones móviles solo está disponible para el sistema operativo Android, aunque está previsto en breve el lanzamiento en iOS. También se puede trabajar con el SDK y acceder a la API en la nube, donde los desarrolladores también disponen del servicio DroneShare (mapean vuelos en tiempo real y comparten datos de misiones y rutas con drones).
Una aplicación desarrollada con DroneKit en Python suele ejecutarse en un ordenador de abordo en Linux, pero durante las pruebas de desarrollo lo más lógico y habitual es probar los prototipos en un ordenador estándar que opere con Windows, Mac OS X o Linux con un piloto automático.
Fruto del trabajo con DroneKit, 3DR tiene varias aplicaciones:
– Tower (DroidPlanner3): es una aplicación que sirve como programa de control de vuelo, con ella se puede planificar todo lo necesario para una ruta con drones. Es una aplicación de código abierto, cualquier desarrollador dispone de la programación en GitHub para hacer sus modificaciones. También tiene acceso a las contribuciones del resto de profesionales.
Algunas de sus principales características son:
– Crear rutas de vuelo o controlar el descenso del dron a través del establecimiento de coordenadas desde un dispositivo móvil.
– El sistema de coordenadas permite que el dron describa trayectorias con movimientos curvos de forma suave o trayectorias orbitales.
– Generar automáticamente patrones de vuelo con la función Survey, que permite el mapeo de regiones de terreno amplias.
– Escanear en tres dimensiones estructuras de gran volumen con la función Automated Building Mapper.
– La función 3PV Follow Me permite centrar la cámara del dron sobre un usuario en movimiento y ajustar los ángulos de la imagen.
Tower Wear: esta app de 3D Robotic permite el manejo de drones con Tower, pero a través de relojes inteligentes con sistema Android Wear.
El primero de los SDK permite a los profesionales supervisar y controlar el dron desde cualquier sistema conectado directamente con el piloto automático de la aeronave a través de una interfaz disponible de serie. Un desarrollador puede crear, gracias a esta API, un algoritmo que sea capaz de controlar el dron usando cualquier tipo de lenguaje de programación y para distintos sistemas operativos.
El desarrollo de aplicaciones con este SDK daría a acceso a funciones como:
– Control de todos los elementos importantes del vuelo: despegue, aterrizaje y también la propia ruta seguida por el dron.
– Acceso a los datos en ruta: se puede disponer de todos los datos acumulados por la aeronave y también a la información del sistema, todo en tiempo real. Datos como la altitud, la velocidad, información del punto de origen y destino, posibles errores en ruta…
– Transmisión en tiempo real de todas esa información: permite la transmisión de datos y la comunicación segura entre el dron y el dispositivo móvil con el que se controla todo el movimiento del vehículo no tripulado.
Las características más importantes de la API para el control de abordo:
– Comunicación fiable: protocolo para evitar la pérdida de datos.
– Sistema de control flexible: diferentes métodos de control del vuelo, desde la información de su posición hasta su velocidad.
– Monitorización de datos configurable: los datos de vuelo se pueden obtener de forma personalizada.
– Autonomía de vuelo: el modo de control de vuelo y la información obtenida en ruta están diseñados para facilitar una navegación autónoma.
Con la segunda de las APIs, DJI permite la creación de aplicaciones móviles para conectarse con el dron desde tierra, tanto para dispositivos iOS como Android.
El SDK facilita funcionalidades de todo tipo:
– Tomar imágenes aéreas: acceso a las características de la cámara desde la pantalla del propio dispositivo móvil y opción de descarga del material.
– Grabar vídeo en tiempo real desde la pantalla de un dispositivo móvil.
– Control sobre los tres ejes para el montaje de la cámara en el dron: esto facilita el manejo de los ángulos de la cámara y su propia estabilidad.
– Información de la batería.
– Extensor para un mayor alcance de la conexión Wi-Fi.
– Control remoto: parámetros y botones personalizables.
Cualquier programador que quiera empezar a trabajar con el SDK móvil e implementar la toma de imágenes y vídeos, DJI le proporciona un tutorial.
Los próximos años la industria de los drones se convertirá en un sector de desarrollo profesional intenso para los desarrolladores. Es hora de aprovecharlo.
Banco Bilbao Vizcaya Argentaria, S.A. titular de este portal utiliza cookies y/o tecnologías similares propias y de terceros para fines técnicos, de personalización, analíticos, de publicidad comportamental o publicidad relacionada con tus preferencias sobre la base de un perfil elaborado a partir de tus hábitos de navegación (por ejemplo, páginas visitadas). Si deseas obtener información más detallada, consulta nuestra Política de Cookies.
Panel de configuración de cookies
Este es el configurador avanzado de cookies propias y de terceros. Aquí puedes modificar parámetros que afectarán directamente a tu experiencia de navegación en esta web.
Cookies técnicas (necesarias)
Estas cookies son importantes para darte acceso seguro a zonas con información personal o para reconocerte cuando inicias sesión.
Denominación
Titular
Duración
Finalidad
gobp.lang
BBVA
1 mes
Preferencia de idioma
aceptarCookies
BBVA
1 año
Configuración Cookies aceptadas
_abck
BBVA
1 año
Ayuda a protegerse contra los ataques de sitios web maliciosos
bm_sz
BBVA
4 horas
Ayuda a protegerse contra los ataques de sitios web maliciosos
ADRUM_BTs
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BT1
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BTa
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BT
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
xt_0d95e
Salesforce Marketing Cloud
Sesión
Recordar las preferencias del usuario (si las hay)
__s9744cdb192d044faa1bf201d29fafd1e
Salesforce Marketing Cloud
Sesión
Recordar las preferencias del usuario (si las hay)
wpml_browser_redirect_test
WPML
Sesión
Traducción de textos del portal
wp-wpml_current_language
WPML
24 horas
Traducción de textos del portal
Cookies de Analítica
Permiten medir, de forma anónima, el número de visitas o la actividad. Gracias a ellas podemos mejorar constantemente tu experiencia de navegación.
Dispones de una mejora continua en la experiencia de navegación.
Con tu selección no podemos ofrecerte una mejora continua en la experiencia de navegación.
Denominación
Titular
Duración
Finalidad
AMCV_***
Adobe Analytics
Sesión
ID de visitante único que se usan en las soluciones de Marketing Cloud
AMCVS_***
Adobe Analytics
2 años
ID de visitante único que se usan en las soluciones de Marketing Cloud
demdex (safari)
Adobe Analytics
180 días
Crear y almacenar identificadores únicos y persistentes
sessionID
Adobe Analytics
Sesión
Cookie interna de Launch usada para identificar al usuario
gpv_URL
Adobe Analytics
Sesión
plugin Adobe Analytics: getPreviousValue Capturar el valor de una determinada variable en la siguiente vista de página, en este caso la prop1
gpv_level1
Adobe Analytics
Sesión
Cookie utilizada para almacenar el levl1 del DataLayer de la página anterior.
gpv_pageIntent
Adobe Analytics
Sesión
Cookie utilizada para almacenar el pageIntent de la página anterior.
gpv_pageName
Adobe Analytics
Sesión
Cookie utilizada para almacenar el pagename de la página anterior.
aocs
Adobe Analytics
Sesión
Cookie que almacena los primeros valores recogidos al inicio de un proceso.
TTC
Adobe Analytics
Sesión
Cookie usada para almacenar el tiempo transcurrido entre el evento App Page Visit y App Completed.
TTCL
Adobe Analytics
Sesión
Cookie usada para almacenar el tiempo transcurrido entre el evento LogIn y App Completed.
s_cc
Adobe Analytics
Sesión
Determinar si las cookies están activas
s_hc
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_ht
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_nr
Adobe Analytics
2 años
Determinar el número de visitas de usuario
s_ppv
Adobe Analytics
Persistente
plugin Adobe Analytics: getPercentPageViewed Determinar el procentaje de página que visualiza un usuario
s_sq
Adobe Analytics
Sesión
Funcionalidades ClickMap/ActivityMap
s_tp
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_visit
Adobe Analytics
2 años
Cookie usada por Adobe para saber cunado una sesión se ha iniciado.
Cookies de Publicidad
Permiten que la publicidad que te mostramos sea personalizada y relevante para ti. Gracias a estas cookies no verás anuncios que no te interesen.
Dispones de una publicidad adaptada a ti y a tus preferencias.
Con tu selección pierdes la personalización de la publicidad, solo verás anuncios genéricos.
Denominación
Titular
Duración
Finalidad
OT2
VersaTag
90 días
Cookie de VersaTag usada para almacenar un id de usuario y el numero de visitas del usuario.
u2
VersaTag
90 días
Cookie de VersaTag en la que se almacena el ID del usuario
TargetingInfo 2
MediaMind
1 año
Cookie que sirve para asignar un número unico random que genera MediaMind.
Cookies de Personalización
Estas cookies están relacionadas con características generales como, por ejemplo, el navegador que utilizas.
Dispones de una experiencia y contenidos personalizados.
Con tu selección no podemos ofrecerte una navegación y contenidos personalizados.
Denominación
Titular
Duración
Finalidad
mbox
Adobe Target
9 días
Cookie usada por Adobe Target para hacer test de personalizacion de experencia del usuario.
Parece que estás navegando desde MéxicoEspañaArgentinaPerúColombiaBélgicaChileEEUUFranciaHong KongItaliaPortugalReino UnidoTurquíaUruguayVenezuelaAlemania, así que vamos a mostrarte el contenido personalizado para tu localización. Cambiar
Selecciona el país
Para poder acceder al área privada y sandbox correspondiente, selecciona el país de las APIs que quieres utilizar.
Preferencias de Navegación
Elige el país del que quieres que te mostremos su contenido por defecto.