Ir al contenido

Proyecto terminado · Drones e inteligencia artificial

StratoPilot

Hemos diseñado el software de un dron que ve, se orienta y elige la ruta por sí solo.

de software: decidir, orientarse, volar
3 niveles
el modelo para reconocer los incendios
YOLOv8
para encontrar la ruta más corta
PRM y A*
para conectar los módulos
ROS 2

Para quien viene de informática, ingeniería aeroespacial

Tres niveles

StratoPilot quería un dron capaz de hacer por sí solo tres tipos de misión, de la más simple a la más difícil: vigilar y mapear el entorno, transportar fármacos o mercancías, ayudar en tareas de rescate. El software está dividido en tres niveles, cada uno seguido por al menos un estudiante de máster.

  • 01

    Nivel alto

    Decide qué hacer y mira: la visión reconoce los incendios, una máquina de estados elige el siguiente movimiento.

  • 02

    Nivel medio

    Construye el mapa, entiende dónde está el dron y calcula la trayectoria.

  • 03

    Nivel bajo

    Transforma la trayectoria en las corrientes de los motores.

Ver los incendios

Para la visión elegimos YOLOv8, un modelo de Ultralytics que encuentra y recuadra los objetos en una imagen, ya entrenado con 80 categorías de objetos comunes. Lo entrenamos de nuevo con imágenes satelitales de incendios, a color y en infrarrojo.

El entrenamiento corrió en un ordenador personal: 5 épocas en una noche. La confianza de las respuestas estaba entre el 30 y el 40%. La confianza, sin embargo, no es una medida de exactitud: dice cuán seguro está el modelo, no cuántas veces acierta, y los números de exactitud no los medimos.

El mapa y la ruta

Para saber dónde está y cómo es el terreno, el dron usa un LiDAR y el algoritmo DFLIOM, que construye el mapa como nube de puntos. Una red neuronal elige solo los puntos útiles para alinear un escaneo con el siguiente, aproximadamente uno de cada cinco.

En el mapa la ruta se busca en dos tiempos. La Probabilistic Roadmap esparce puntos libres al azar y conecta cada uno con los vecinos alcanzables: nace un grafo de caminos posibles. Luego A* encuentra en el grafo la ruta más corta.

abiertos = {partenza}
g(inicio) = 0
mientras abiertos no esté vacío:
    n = el nodo de abiertos con f(n) = g(n) + h(n) más pequeño
    si n es la meta: reconstruye la ruta y detente
    quita n de abiertos
    para cada vecino m de n:
        costo = g(n) + distancia(n, m)
        si costo < g(m): g(m) = costo, recuerda que m viene de n, pon m en abiertos
A*: g(n) es el camino ya recorrido, h(n) una estimación del que falta. Si la estimación nunca exagera, la ruta encontrada es la más corta. Hart, Nilsson y Raphael, 1968.

El piloto automático

Al principio pensábamos escribir desde cero también el piloto automático. Después de hablar con algunos profesores cambiamos de idea: habría sido un trabajo enorme e inútil, porque existen pilotos automáticos open source maduros. Comparamos los dos más usados, PX4 y ArduPilot.

Para hacer que visión, mapa, planificación y piloto automático se comuniquen entre sí, elegimos ROS 2, el sistema más usado para conectar los módulos de un robot.

Los dos pilotos automáticos
PX4open sourcealojado por Dronecode, de la Linux Foundation
ArduPilotopen source, GPLv3desde 2009, en más de un millón de vehículos

El balance

En el verano de 2025 estaban listos los módulos del esquema básico: visión, mapa y localización, planificación de la ruta. Quedaban fuera la máquina de estados de las decisiones y la coordinación con otros drones.

El siguiente paso era conectar todo con ROS 2 y empezar las pruebas en simulación, que sin embargo pedían un ordenador mucho más potente que los que teníamos. Evaluamos alquilar potencia de cálculo en la nube. El proyecto se cerró ahí.

Cómo fue

  1. 10 de marzo de 2025Presentamos el proyecto en el Palazzo della Borsa.
  2. Marzo de 2025Un curso interno de machine learning: teoría del aprendizaje y redes neuronales en PyTorch.
  3. Verano de 2025Listos los módulos de visión, mapa y ruta. Faltaban la integración con ROS 2 y las pruebas, para las que hacía falta un ordenador más potente.

Vídeos

El vuelo autónomo con inteligencia artificialEl proyecto contado en el evento inaugural de DOPE, diciembre de 2025

Personas del proyecto

Con quién lo hacemos

  • Università di Genova

Todos los socios

Fuentes

  • Informe del proyecto StratoPilot, 2025.
  • Ultralytics, documentación de YOLOv8.
  • Dong y colegas, LiDAR Inertial Odometry And Mapping Using Learned Registration-Relevant Features, arXiv:2410.02961, 2024.
  • Kavraki, Švestka, Latombe y Overmars, Probabilistic roadmaps, IEEE Transactions on Robotics and Automation, 1996.
  • Hart, Nilsson y Raphael, A Formal Basis for the Heuristic Determination of Minimum Cost Paths, 1968.
  • px4.io; ardupilot.org.

El proyecto está terminado

Lo que aprendimos sigue en los proyectos en curso.

Mira los proyectos en curso