Progetto concluso · Droni e intelligenza artificiale
StratoPilot
Abbiamo progettato il software di un drone che vede, si orienta e sceglie da solo il percorso.
- di software: decidere, orientarsi, volare
- 3 livelli
- il modello per riconoscere gli incendi
- YOLOv8
- per trovare il percorso più breve
- PRM e A*
- per collegare i moduli
- ROS 2
Per chi viene da informatica, ingegneria aerospaziale
Tre livelli
StratoPilot voleva un drone capace di fare da solo tre tipi di missione, dal più semplice al più difficile: sorvegliare e mappare l’ambiente, trasportare farmaci o merci, aiutare nei soccorsi. Il software è diviso in tre livelli, ognuno seguito da almeno uno studente di laurea magistrale.
- 01
Alto livello
Decide cosa fare e guarda: la visione riconosce gli incendi, una macchina a stati sceglie la mossa successiva.
- 02
Medio livello
Costruisce la mappa, capisce dove si trova il drone e calcola la traiettoria.
- 03
Basso livello
Trasforma la traiettoria nelle correnti dei motori.
Vedere gli incendi
Per la visione abbiamo scelto YOLOv8, un modello di Ultralytics che trova e riquadra gli oggetti in un’immagine, già addestrato su 80 categorie di oggetti comuni. Lo abbiamo addestrato di nuovo su immagini satellitari di incendi, a colori e all’infrarosso.
L’addestramento è girato su un computer personale: 5 epoche in una notte. La confidenza delle risposte stava fra il 30 e il 40%. La confidenza però non è una misura di accuratezza: dice quanto il modello è sicuro, non quanto spesso ha ragione, e i numeri di accuratezza non li abbiamo misurati.
La mappa e il percorso
Per sapere dove si trova e com’è fatto il terreno, il drone usa un LiDAR e l’algoritmo DFLIOM, che costruisce la mappa come nuvola di punti. Una rete neurale sceglie solo i punti utili ad allineare una scansione con la successiva, circa uno su cinque.
Sulla mappa il percorso si cerca in due tempi. La Probabilistic Roadmap sparge punti liberi a caso e collega ognuno ai vicini raggiungibili: nasce un grafo di strade possibili. Poi A* trova sul grafo il percorso più breve.
aperti = {partenza}
g(partenza) = 0
finché aperti non è vuoto:
n = il nodo di aperti con f(n) = g(n) + h(n) più piccolo
se n è l’arrivo: ricostruisci il percorso e fermati
togli n da aperti
per ogni vicino m di n:
costo = g(n) + distanza(n, m)
se costo < g(m): g(m) = costo, ricorda che m viene da n, metti m in aperti
Il pilota automatico
All’inizio pensavamo di scrivere da zero anche il pilota automatico. Dopo aver sentito alcuni professori abbiamo cambiato idea: sarebbe stato un lavoro enorme e inutile, perché esistono piloti automatici open source maturi. Abbiamo confrontato i due più usati, PX4 e ArduPilot.
Per far parlare fra loro visione, mappa, pianificazione e pilota automatico abbiamo scelto ROS 2, il sistema più diffuso per collegare i moduli di un robot.
| PX4 | open source | ospitato da Dronecode, della Linux Foundation |
|---|---|---|
| ArduPilot | open source, GPLv3 | dal 2009, su oltre un milione di veicoli |
Il bilancio
Nell’estate del 2025 erano pronti i moduli dello schema di base: visione, mappa e localizzazione, pianificazione del percorso. Restavano fuori la macchina a stati delle decisioni e il coordinamento con altri droni.
Il passo successivo era collegare tutto con ROS 2 e cominciare le prove in simulazione, che però chiedevano un computer molto più potente di quelli che avevamo; abbiamo valutato di affittare potenza di calcolo in cloud. Il progetto si è chiuso lì.
Com’è andata
- 10 marzo 2025Abbiamo presentato il progetto a Palazzo della Borsa.
- Marzo 2025Un corso interno di machine learning: teoria dell’apprendimento e reti neurali in PyTorch.
- Estate 2025Pronti i moduli di visione, mappa e percorso. Mancavano l’integrazione con ROS 2 e le prove, per cui serviva un computer più potente.
Video
Persone del progetto
Con chi lo facciamo
Fonti
- Report del progetto StratoPilot, 2025.
- Ultralytics, documentazione di YOLOv8.
- Dong e colleghi, LiDAR Inertial Odometry And Mapping Using Learned Registration-Relevant Features, arXiv:2410.02961, 2024.
- Kavraki, Švestka, Latombe e Overmars, Probabilistic roadmaps, IEEE Transactions on Robotics and Automation, 1996.
- Hart, Nilsson e Raphael, A Formal Basis for the Heuristic Determination of Minimum Cost Paths, 1968.
- px4.io; ardupilot.org.
Il progetto è concluso
Quello che abbiamo imparato continua nei progetti in corso.
