ASI Robotics AI · web · robotics
← Todos los servicios

Programación de drones y UAV

Programación de drones y UAV para tu tarea: misiones autónomas, fotografía aérea, inspección. Programamos drones en PX4, ArduPilot y MAVLink: ruta, puntos de captura, inspección autónoma. Asumimos la programación de drones para agro e inspección: campos, líneas eléctricas, tuberías.

desde 710 € Hablar de la tarea
$ ./drone.sh mission --px4
> misión cargada
inspección realizada

Qué incluye la programación de drones

Escribimos la lógica de las misiones autónomas de los drones y configuramos el controlador de vuelo sobre el equipo del cliente: el dron sigue siendo suyo, y nosotros preparamos el firmware, las rutas y el comportamiento en el aire. El trabajo incluye la planificación de las rutas de fotografía aérea y de inspección de objetos, la configuración de los puntos de interés para la inspección, la calibración de los sensores, los modos de fallo y las geozonas. Configuramos el stack PX4 o ArduPilot para el chasis, el gimbal y la carga útil concretos, y enlazamos la telemetría por MAVLink con la estación terrena. Por separado configuramos los escenarios de retorno a casa, el comportamiento ante la pérdida de comunicación y la pérdida de satélites, para que el aparato no entre en un vuelo incontrolado. La programación de drones a este nivel no es el ensamblaje de hardware, sino la configuración del autopiloto y la escritura de las misiones que ese autopiloto ejecuta.

Cómo es una misión autónoma

En la base está el controlador de vuelo con el autopiloto, que lee el GPS, los sensores inerciales, el barómetro y la brújula, y mantiene el aparato en la trayectoria definida. La misión se describe como una secuencia de waypoints con altura, velocidad y acciones en cada punto: tomar una foto, mantener el vuelo estacionario, girar el gimbal, cambiar de altura. La estación terrena y el autopiloto intercambian comandos y telemetría mediante el protocolo MAVLink, por lo que el operario ve la posición, la batería y el estado en tiempo real. Los algoritmos de estabilización y navegación recalculan las señales de control a los motores decenas de veces por segundo, manteniendo el rumbo ante el viento y la deriva. Nuestra parte es montar ese escenario, definir los parámetros y los umbrales de disparo de forma que el aparato del cliente ejecute la ruta de manera predecible.

De dónde surgieron los autopilotos de drones

Los autopilotos abiertos modernos surgieron de dos proyectos de finales de la década de 2000. La comunidad DIY Drones apareció en mayo de 2007, y Jordi Muñoz, ya a finales de 2007, escribió para Arduino un programa de estabilización del que creció ArduPilot: la versión 1.0 la lanzó junto con Chris Anderson en 2009, y ese mismo año su aparato ganó la primera competición Sparkfun AVC. En paralelo, en Suiza, Lorenz Meier puso en marcha en la ETH Zurich el proyecto de investigación Pixhawk: hacia 2008 empezaron los trabajos, y en 2009 salieron los primeros desarrollos abiertos sobre control y visión por computadora. Para 2011, el equipo de Meier había reescrito el stack por completo desde cero, y así apareció PX4 en la forma que está en la base de la plataforma actual. Estas dos líneas, ArduPilot y PX4, son las que definen hoy la práctica de la programación de drones.

Por qué lo deciden el software y la precisión

La fotografía aérea y la inspección dan un resultado útil solo con una georreferenciación precisa: un error de posicionamiento de unos metros desplaza el ortofotomapa y arruina la construcción del modelo 3D. La precisión de la misión la define la configuración del autopiloto: la calibración de los sensores, los parámetros del filtro de navegación, una geometría correcta de la ruta con solapamiento de las imágenes. No menos importante es la legalidad: unas geozonas bien definidas, los límites de altura y el comportamiento ante la pérdida de comunicación mantienen el aparato dentro de la zona permitida y reducen el riesgo de infracción y de accidente. El dron vuela y captura físicamente por sí mismo, pero la calidad de los datos y la seguridad del vuelo las determina el programa y su configuración, y no solo las características del chasis y la cámara. Por eso un error en un solo parámetro de tolerancia a fallos cuesta más caro que la elección del propio hardware.

Stack: PX4, ArduPilot, MAVLink

El stack de trabajo se construye en torno a dos autopilotos y un protocolo de transporte. PX4 es una arquitectura modular sobre tiempo real, cómoda para integrar módulos propios y visión por computadora; ArduPilot es un stack maduro con amplio soporte de tipos de aparatos y una lógica desarrollada de misiones y fallos. MAVLink enlaza el autopiloto con la estación terrena y los módulos externos: mensajes binarios compactos transportan la telemetría, los comandos y los parámetros de la misión por el canal de radio. Por encima de esto trabajamos con estaciones terrenas como QGroundControl y Mission Planner, y para el control por software nos conectamos al autopiloto mediante comandos MAVLink. La elección concreta entre PX4 y ArduPilot la dicta la tarea del cliente y su controlador, y no la costumbre: para ambas plataformas escribimos las misiones y corregimos los parámetros sobre su equipo.

Cuándo aparecieron las herramientas clave

El protocolo MAVLink lo desarrolló Lorenz Meier en la ETH Zurich y lo publicó bajo licencia LGPL en 2009 dentro del proyecto Pixhawk. ArduPilot recibió soporte de MAVLink en las primeras versiones beta de 2011, y PX4 lo incorporó al salir, hacia marzo de 2012; por esas mismas fechas MAVLink lo adoptó la estación terrena QGroundControl. En 2017 salió la versión MAVLink 2.0, que añadió la firma de los mensajes para protegerlos de la suplantación de comandos y paquetes ampliados de hasta 280 bytes. El propio PX4 como plataforma independiente se formó tras la reescritura completa del stack de Pixhawk en 2011, cuando además se tomó como base el RTOS NuttX. Estas fechas importan en la práctica: definen qué versiones de firmware y de mensajes considerar de referencia al configurar el autopiloto del cliente.

Por qué puedes encargarnos la tarea

La experiencia combinada de nuestro equipo de desarrollo en TI supera los 45 años, y el autopiloto para nosotros es ante todo software y su configuración, y no magia del hardware. Abordamos la misión como un reto de ingeniería: fijamos los parámetros, llevamos las versiones de los firmwares y comprobamos el comportamiento del aparato en simulación y en tierra antes del vuelo real. Los escenarios de fallo, las geozonas y el retorno a casa se prueban de antemano, para que el primer vuelo real no sea una comprobación de hipótesis. No fabricamos drones ni hacemos pasar equipos ajenos por propios: programamos y configuramos el equipo del cliente apoyándonos en PX4, ArduPilot y MAVLink. Como resultado, el cliente obtiene no una promesa, sino una configuración reproducible que se puede verificar por los registros y repetir en los siguientes aparatos.

Qué incluye

Misiones autónomas y rutas
Fotografía aérea por puntos
Inspección de líneas eléctricas y tuberías
PX4 / ArduPilot
Integración con MAVLink
Procesado de los datos captados

Cómo trabajamos

01
Zona
02
Ruta
03
Misión
04
Inspección
05
Datos
Resultado

Inspección autónoma: programación de drones con ruta y captura, datos sin un piloto a los mandos.

Preguntas frecuentes

¿Desde cero?+

Programación de drones tanto sobre plataformas ya hechas como el montaje de una a medida para la carga útil.

¿Y la regulación?+

Programamos drones teniendo en cuenta el registro de UAV y las zonas permitidas: vuelas de forma legal.

¿Hablamos de tu proyecto?

Deja tus datos y te contactamos con preguntas y una propuesta.