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
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.
| PX4 | open source | alojado por Dronecode, de la Linux Foundation |
|---|---|---|
| ArduPilot | open source, GPLv3 | desde 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
- 10 de marzo de 2025Presentamos el proyecto en el Palazzo della Borsa.
- Marzo de 2025Un curso interno de machine learning: teoría del aprendizaje y redes neuronales en PyTorch.
- 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
Ver el vídeo: El vuelo autónomo con inteligencia artificial, 3 minutos. El vídeo se abre en YouTube.
Personas del proyecto
Con quién lo hacemos
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.
