Pianifica la missione. Ottimizza la flotta. Falla volare — in simulazione.
Un rilievo LiDAR su un sito di 500 × 500 m vicino ad Al-Batinah South, Oman, portato da un brief a una missione ottimale e volabile interamente in DjiniousLab. Le specifiche di drone, LiDAR e flotta guidano un piano di copertura; un ottimizzatore adatta quota, velocità e allocazione della flotta a ciò che conta per te — la più veloce, il minor numero di cambi batteria, o la risoluzione più alta; una missione Python comanda poi una flotta UAV simulata, riprodotta su una mappa animata. Sei notebook, un unico workflow, tutto sul worker.
Dal brief del sito a una missione volabile, in sei passi.
Ogni passo è un notebook Python eseguito sul worker di DjiniousLab — numpy/scipy per la matematica di pianificazione, Plotly e Leaflet per le mappe. Niente è codificato in modo fisso: cambia una specifica e l’intera missione viene ripianificata.
Sito e datum
Il riquadro di rilievo di 500 m e una base di lancio mobile sono ancorati in WGS-84 sulla costa reale di Al-Batinah. Un sistema di riferimento locale est-nord in metri (equirettangolare alla latitudine del sito) porta tutta la geometria; il transito base-area risulta di ~2,3 km — ed è addebitato all’autonomia di ogni sortita.
Modello delle specifiche di drone e LiDAR
Velocità di crociera/scansione, autonomia della batteria e tempo di turnaround per il drone; campo visivo, frequenza dei punti e quota minima per il LiDAR. Larghezza di banda a terra = 2·h·tan(FOV/2) e densità di punti = frequenza / (larghezza banda · velocità) derivano direttamente — quindi quota e velocità scambiano copertura contro risoluzione.
Percorso di copertura
Un percorso a serpentina (boustrofedico) copre il riquadro con una spaziatura della fascia implicata dalla quota e dalla sovrapposizione scelte. A 60 m e con il 20% di sovrapposizione la fascia è di 84 m, ~8 linee e un percorso di scansione di 4,5 km — il lavoro grezzo che la flotta deve spartirsi.
Allocazione della flotta e ottimizzazione
Le strisce sono suddivise in fasce contigue volate contemporaneamente, quindi aggiungere droni riduce davvero la durata totale. Una scansione su quota, velocità, sovrapposizione e dimensione della flotta trova l’ottimo per l’obiettivo scelto — e mostra il compromesso: la durata totale scende del 34% passando da un drone a sei.
Missione Python → flotta simulata
Il piano ottimale diventa un programma di waypoint per ogni drone. Un driver in puro Python comanda una flotta remota simulata — arma, decollo, vai-a, scansiona, ritorna — trasmettendo telemetria in tempo reale e una barra di avanzamento. Il collegamento radio è simulato; la struttura dei comandi si legge esattamente come quella reale.
Mappa animata della missione
La timeline della telemetria viene riprodotta su una mappa di base OpenStreetMap: tre UAV decollano dalla base, transitano, scansionano le proprie fasce contemporaneamente e rientrano, con un pulsante di riproduzione e un cursore temporale su 48 frame. L’artefatto principale che un pianificatore può davvero guardare.
Specifiche in ingresso, missione in uscita — cambia un numero e ripianifica.
La missione è una funzione dell’hardware, non un piano fisso. L’autonomia del drone stabilisce quanta parte del rilievo entra in una sortita; il campo visivo e la frequenza dei punti del LiDAR stabiliscono quanto è larga ogni passata e quanto sono densi i ritorni; quota e velocità scambiano l’una contro l’altra. Poiché ogni passo a valle legge queste specifiche, sostituire un drone o un sensore diverso — o allentare la sovrapposizione — ricalcola automaticamente la fascia, il percorso, il numero di sortite e la flotta ottimale. I grafici sotto sono le leve che un pianificatore aziona davvero.
La larghezza di banda a terra cresce linearmente con la quota; la densità di punti diminuisce con quota e velocità.
L’autonomia meno il transito andata-ritorno di ~2,3 km stabilisce il budget di scansione per sortita.
Sovrapposizione, quota e velocità sono le manopole continue che l’ottimizzatore esplora.
Un modello. Tre obiettivi. Scegli tu cosa significa “ottimale”.
Lo stesso piano può essere ottimizzato in tre modi: minimizzare il tempo di missione (durata totale), minimizzare le sortite a batteria, o massimizzare la risoluzione LiDAR entro un budget di tempo. La flotta vola in contemporanea — le strisce sono suddivise in fasce contigue — quindi l’obiettivo di durata totale premia davvero più droni, mentre l’obiettivo di risoluzione spinge la quota verso il basso a costo del tempo. Una scansione di sensibilità su dimensione della flotta e quota rende visibile il compromesso, così la scelta è una decisione ingegneristica, non un’ipotesi.
Suddivisione in fasce concorrenti: la durata totale = il tempo reale del drone più impegnato, quindi una flotta più grande finisce prima.
La durata totale scende da 8,0 min (1 drone) a 5,3 min (6 droni) alla quota ottimale per il tempo.
Dare priorità alla risoluzione spinge la quota al suo minimo — densità di punti più alta, missione più lunga.
Tre obiettivi, tre missioni.
Lo stesso rilievo di 500 m, ottimizzato in tre modi per la flotta di classe UR predefinita. Minimizzare il tempo vola alto e veloce; massimizzare la risoluzione vola basso e lento. (Qui, il minor numero di sortite e la migliore risoluzione coincidono alla quota minima.)
Minimizza il tempo di missione
Quota: 75 m · Tempo di missione: 5,8 min · Densità LiDAR: ≈159 pt/m²
Minor numero di sortite a batteria
Quota: 30 m · Tempo di missione: 13,0 min · Densità LiDAR: ≈1.322 pt/m²
Massimizza la risoluzione (≤ 90 min)
Quota: 30 m · Tempo di missione: 13,0 min · Densità LiDAR: ≈1.322 pt/m²
Un gemello digitale di pianificazione, non un sistema di volo.
Qui tutto è simulazione. La flotta UAV è simulata — non c’è collegamento radio né autopilota; il driver Python imita una vera interfaccia di comando vai-a/telemetria ma dialoga con uno stub. Il modello di volo è di livello pianificazione: terreno piatto, niente vento, un budget energetico semplificato, e un ottimo trovato entro gli intervalli di parametri esplorati. Ciò per cui è utile è esattamente ciò di cui un pianificatore di missione ha bisogno prima che chiunque voli: dimensionare la flotta, scegliere quota e velocità, e vedere il compromesso tempo/risoluzione — su un sito reale, con i tuoi numeri di drone e sensore, in pochi minuti.