Planifiez la mission. Optimisez la flotte. Faites-la voler — en simulation.
Un levé LiDAR d’un site de 500 × 500 m près d’Al-Batinah Sud, à Oman, mené d’un cahier des charges à une mission optimale et volable, entièrement dans DjiniousLab. Les spécifications du drone, du LiDAR et de la flotte pilotent un plan de couverture ; un optimiseur ajuste l’altitude, la vitesse et l’allocation de flotte selon ce qui compte pour vous — rapidité maximale, moins de changements de batterie, ou résolution la plus élevée ; une mission Python commande ensuite une flotte d’UAV simulée, rejouée sur une carte animée. Six notebooks, un seul flux de travail, le tout sur le worker.
D’un cahier des charges à une mission volable, en six étapes.
Chaque étape est un notebook Python exécuté sur le worker DjiniousLab — numpy/scipy pour les calculs de planification, Plotly et Leaflet pour les cartes. Rien n’est figé en dur : changez une spécification et toute la mission est replanifiée.
Site et référentiel géodésique
La zone de levé de 500 m et une base de lancement mobile sont repérées en WGS-84 sur la véritable côte d’Al-Batinah. Un repère métrique local est-nord (équirectangulaire à la latitude du site) porte toute la géométrie ; le transit base-zone ressort à environ 2,3 km — et il est déduit de l’autonomie de chaque sortie.
Modèle de spécifications drone et LiDAR
Vitesse de croisière/balayage, autonomie de batterie et temps de rotation pour le drone ; champ de vision, cadence de points et altitude minimale pour le LiDAR. La fauchée au sol = 2·h·tan(FOV/2) et la densité de points = cadence / (fauchée · vitesse) en découlent directement — l’altitude et la vitesse arbitrent donc entre couverture et résolution.
Trajectoire de couverture
Une trajectoire en aller-retour (tondeuse à gazon) pave la zone selon l’espacement de fauchée impliqué par l’altitude et le recouvrement choisis. À 60 m et 20 % de recouvrement, cela donne une fauchée de 84 m, environ 8 lignes et un trajet de balayage de 4,5 km — le travail brut que la flotte doit se répartir.
Allocation de flotte et optimisation
Les bandes sont découpées en tronçons contigus volés simultanément, si bien qu’ajouter des drones réduit véritablement la durée totale. Un balayage sur l’altitude, la vitesse, le recouvrement et la taille de flotte trouve l’optimum pour l’objectif choisi — et montre l’arbitrage : la durée totale chute de 34 % en passant d’un drone à six.
Mission Python → flotte simulée
Le plan optimal devient un programme de points de passage par drone. Un pilote purement Python commande une flotte distante simulée — armement, décollage, déplacement, balayage, retour — en diffusant une télémétrie en direct et une barre de progression. La liaison radio est simulée ; la structure des commandes se lit exactement comme la réalité.
Carte de mission animée
La chronologie de télémétrie est rejouée sur un fond de carte OpenStreetMap : trois UAV décollent de la base, transitent, balayent leurs bandes simultanément puis reviennent, avec un bouton de lecture et un curseur temporel sur 48 images. L’artefact phare qu’un planificateur peut réellement observer.
Des spécifications en entrée, une mission en sortie — changez un chiffre et replanifiez.
La mission est fonction du matériel, pas un plan figé. L’autonomie du drone détermine la part du levé qui tient dans une sortie ; le champ de vision et la cadence de points du LiDAR déterminent la largeur de chaque passage et la densité des retours ; l’altitude et la vitesse arbitrent entre les deux. Comme chaque étape en aval lit ces spécifications, changer de drone ou de capteur — ou assouplir le recouvrement — redérive automatiquement la fauchée, la trajectoire, le nombre de sorties et la flotte optimale. Les graphiques ci-dessous sont les leviers qu’un planificateur actionne réellement.
La fauchée au sol croît linéairement avec l’altitude ; la densité de points diminue avec l’altitude et la vitesse.
L’autonomie moins le transit aller-retour d’environ 2,3 km détermine le budget de balayage par sortie.
Le recouvrement, l’altitude et la vitesse sont les variables continues que l’optimiseur explore.
Un modèle. Trois objectifs. Vous choisissez ce que signifie « optimal ».
Le même plan peut être optimisé de trois façons : minimiser le temps de mission (durée totale), minimiser les sorties sur batterie, ou maximiser la résolution LiDAR dans un budget de temps donné. La flotte vole simultanément — les bandes sont découpées en tronçons contigus — de sorte que l’objectif de durée totale récompense véritablement l’ajout de drones, tandis que l’objectif de résolution fait baisser l’altitude au prix du temps. Un balayage de sensibilité sur la taille de flotte et l’altitude rend l’arbitrage visible, de sorte que le choix devient une décision d’ingénierie, pas un pari.
Répartition simultanée : la durée totale correspond au temps réel du drone le plus occupé, donc une flotte plus grande termine plus vite.
La durée totale passe de 8,0 min (1 drone) à 5,3 min (6 drones) à l’altitude optimale en temps.
Privilégier la résolution pousse l’altitude à son plancher — densité de points plus élevée, mission plus longue.
Trois objectifs, trois missions.
Le même levé de 500 m, optimisé de trois façons pour la flotte de classe UR par défaut. Minimiser le temps fait voler haut et vite ; maximiser la résolution fait voler bas et lentement. (Ici, le moins de sorties et la meilleure résolution coïncident au plancher d’altitude.)
Minimiser le temps de mission
Altitude : 75 m · Temps de mission : 5,8 min · Densité LiDAR : ≈159 pts/m²
Le moins de sorties sur batterie
Altitude : 30 m · Temps de mission : 13,0 min · Densité LiDAR : ≈1 322 pts/m²
Maximiser la résolution (≤ 90 min)
Altitude : 30 m · Temps de mission : 13,0 min · Densité LiDAR : ≈1 322 pts/m²
Un jumeau numérique de planification, pas un système de vol.
Tout ici est de la simulation. La flotte d’UAV est simulée — il n’y a ni liaison radio ni pilote automatique ; le pilote Python imite une véritable interface de commande de déplacement/télémétrie mais dialogue avec un simulateur. Le modèle de vol est de qualité planification : sol plat, pas de vent, un budget énergétique simplifié, et un optimum trouvé dans les plages de paramètres balayées. Ce à quoi il sert est exactement ce dont un planificateur de mission a besoin avant que quiconque ne décolle : dimensionner la flotte, choisir l’altitude et la vitesse, et voir l’arbitrage temps/résolution — sur un site réel, avec vos propres chiffres de drone et de capteur, en quelques minutes.