FR 3100898 A1 20210319 FR 1910054 A 20190912 Procédé de simulation pour la réalisation de figures aériennes avec un essaim de drones Procédé de simulation numérique du vol d’un essaim (100) de drones (10), entre au moins une première figure aérienne (F1) et une deuxième figure aérienne (F2), comprenant une étape (500) de modélisation tridimensionnelle mise en œuvre par un calculateur, la modélisation tridimensionnelle comprenant : une étape (510) de conception des figures aériennes et des transitions entre lesdites figures ; et une étape (520) itérative de calcul des trajectoires des drones entre leurs positions dans la première figure aérienne et leurs positions dans la deuxième figure aérienne ; l’étape de calcul des trajectoires comprend une résolution d’un problème d’affectation, suivie de l’exécution d’un algorithme de démêlage pour éviter les collisions entre drones, le procédé comprend en outre une visualisation (700) des résultats de la modélisation 3D en réalité augmentée. figure pour l’abrégé : figure 1 Procédé de simulation pour la réalisation de figures aériennes avec un essaim de drones La présente invention appartient au domaine général des drones aériens, notamment du vol de drones en essaim, et concerne plus particulièrement un procédé de simulation numérique pour la réalisation de figures aériennes avec un essaim de drones. De telles figures aériennes sont par exemple des compositions de formes géométriques et figuratives, illuminées et chorégraphiées, dans le cadre d’un spectacle de drones. Etat de la technique Les spectacles de drones connaissent de nos jours un réel intérêt porté par différents acteurs qu’il s’agisse de particuliers, d’organisateurs évènementiels, ou d’artistes. Ces spectacles consistent à faire voler des drones en essaim et à réaliser des performances artistiques aériennes telles que des chorégraphies avec la composition de formes statiques ou animées diverses. Dans la plupart des spectacles de drones, les drones exécutent leurs numéros de façon automatique sur la base d’un scénario établi et programmé en amont. Dès lors, la « conception » d’un spectacle de drones nécessite des outils de simulation numérique pour s’affranchir des tests réels, ou tout le moins limiter le nombre de répétitions avant la démonstration finale, d’autant plus que la multiplication des répétitions augmente le risque de collisions entre drones et, par là-même, de dégradation des drones. En raison de la nature tridimensionnelle des essaims de drones formés lors d’un spectacle aérien, leur simulation doit faire appel à des outils de modélisation 3D. Il existe actuellement des moteurs 3D adaptés à la conception de jeux vidéo ou de réalité virtuelle, mais pour l’instant aucun moteur 3D n’a été développé pour simuler le vol en essaim de plusieurs centaines de drones. Autrement dit, les moteurs 3D existants ne contiennent pas d’algorithmes adaptés au calcul des trajectoires d’une pluralité de drones évoluant simultanément avec des critères d’optimisation et d’évitement de collisions. Par exemple, le moteur Unity, utilisé pour plusieurs jeux vidéo, possède plusieurs points forts parmi lesquels une capacité à générer des applications natives Windows ou macOS. Cependant, ce moteur connait des limites en ce qui concerne le traitement de dynamiques complexes telles que le vol d’un essaim de drones. En outre, pour des spectacles d’envergure, impliquant par exemple plusieurs centaines voire quelques milliers de drones, il est préférable d’observer les aspects dynamiques et le rendu esthétique des vols programmés avant le spectacle final, surtout en immersion dans l’environnement où se déroulera le spectacle, en vue d’effectuer certains réglages (hauteur des drones, emplacement des spectateurs, etc.) et améliorer ainsi l’expérience des spectateurs. Il n’existe aucune solution de module de réalité augmentée pour retranscrire tous les aspects dynamiques et esthétiques liés à une chorégraphie de vol d’un essaim de drones. Dans le domaine des spectacles de drones, le document US 2018/0136646 décrit une méthode pour générer une séquence de transformation, ou « morphing », pour un spectacle de drones. Cette méthode consiste à calculer pour chaque drone de l’essaim une trajectoire optimisée entre une première position, correspondant à un emplacement du drone dans une première figure aérienne, et une deuxième position, correspondant à une position dudit drone dans une deuxième figure aérienne. Le calcul des trajectoires de transition s’accompagne d’une gestion des éventuelles collisions entre les drones ainsi que d’autre contraintes d’optimisation. Présentation de l’invention La présente invention vise à pallier les inconvénients de l’art antérieur et à proposer une solution plus complète pour la simulation des vols de drones en essaims. À cet effet, la présente invention concerne un procédé de simulation numérique du vol d’un essaim de drones, entre au moins une première figure aérienne et une deuxième figure aérienne, comprenant une étape de modélisation tridimensionnelle mise en œuvre par un calculateur. La modélisation tridimensionnelle comprend : - une étape de conception des figures aériennes et des transitions entre lesdites figures ; et - une étape itérative de calcul des trajectoires des drones entre leurs positions dans la première figure aérienne et leurs positions dans la deuxième figure aérienne ; Ce procédé est remarquable en ce que l’étape de calcul des trajectoires comprend une résolution d’un problème d’affectation, suivie de l’exécution d’un algorithme de démêlage pour éviter les collisions entre drones, et en ce que ledit procédé comprend en outre une visualisation des résultats de la modélisation 3D en réalité augmentée. Avantageusement, le problème d’affectation correspond à une optimisation combinatoire déterministe, dans laquelle chaque figure aérienne est définie par un ensemble de positions (ou de points), et se résout en temps polynomial par la méthode hongroise. Selon un principe fondamental de l’invention, chaque trajectoire est découpée en nœuds selon une discrétisation temporelle, et l’algorithme de démêlage comprend une opération de répulsion consistant à maintenir à chaque instant une distance de sécurité mutuelle entre tous les nœuds en repoussant chaque nœud se trouvant dans une zone de sécurité d’un autre nœud en dehors de celle-ci. Plus particulièrement, chaque nœud se trouvant dans la zone de sécurité d’un autre nœud est repoussé dans une zone de répulsion située entre ladite zone de sécurité et une sphère de répulsion de l’autre nœud. De façon avantageuse, l’opération de répulsion est suivie d’une opération de lissage des trajectoires permettant de réduire des courbures locales dans lesdites trajectoires en déplaçant chaque nœud excentré vers le milieu du segment défini par les deux nœuds qui lui sont adjacents. Selon un mode de réalisation, l’étape de conception des figures aériennes et des transitions comprend : - une étape de dessin des figures aériennes ; - une étape de choix des transitions entre lesdites figures aériennes ; et - une étape de choix d’effets dynamiques pour les figures aériennes et les transitions. Selon un mode de réalisation, l’étape de calcul des trajectoires comprend en outre une définition d’une zone de vol non autorisée et un gel de la position de certains nœuds critiques. La réalité augmentée est particulièrement adaptée pour visualiser une chorégraphie en vue de la modifier ou simplement de la présenter dans le cadre d’une prestation commerciale par exemple. L’utilisateur peut alors, sur un écran de smartphone ou de tablette, voir le mouvement des drones ainsi que l’animation lumineuse proposés. En effet, la simulation en conditions réelles respecte la temporalité (ou délais d’exécution) et les dimensions des figures aériennes et des transitions préalablement calculées. De façon avantageuse, chaque drone de l’essaim est apte à effectuer un vol stationnaire et comporte au moins un module de diode électroluminescente. Les concepts fondamentaux de l’invention venant d’être exposés ci-dessus dans leur forme la plus élémentaire, d’autres détails et caractéristiques ressortiront plus clairement à la lecture de la description qui suit et en regard des dessins annexés, donnant à titre d’exemple non limitatif un mode de réalisation d’un procédé de simulation du vol de drones en essaim conforme aux principes de l’invention. Présentation des dessins Les figures ainsi que les éléments d’une même figure ne sont pas nécessairement à la même échelle. Sur l’ensemble des figures, les éléments identiques portent la même référence numérique. Il est ainsi illustré en : : une vue schématique d’un essaim de drones en forme d’étoile, avec un détail sur les drones ; : un exemple de deux figures aériennes réalisées successivement lors d’un spectacle de drones ; : un exemple d’une figure aérienne tridimensionnelle ; : un schéma d’une phase de décollage et de réalisation d’une première figure aérienne ; : une transition entre la première figure aérienne et une deuxième figure aérienne dont les positions sont représentées en trait interrompu ; : la deuxième figure aérienne de la figure 5a ; : un exemple de couplage parfait en résolution d’un problème d’affectation entre deux figures aériennes ; : les trajectoires de deux drones avec des nœuds aux mêmes instants ; : les principales étapes du procédé de simulation selon l’invention ; : un déroulement de l’étape de conception d’un spectacle de drones selon un mode de réalisation de l’invention ; : un déroulement de l’étape de calcul des trajectoires des drones selon un mode de réalisation de l’invention ; : une modélisation d’une trajectoire de drone selon l’invention ; : un schéma de principe de la méthode de démêlage selon l’invention ; : un exemple de deux nœuds ne respectant pas la distance de sécurité mutuelle ; : les nœuds de la figure 13a après répulsion, chaque nœud étant en dehors d’une zone de sécurité de l’autre nœud ; : un schéma de principe de la méthode de lissage des trajectoires selon l’invention ; : un exemple de découpage de trajectoire avec un pas spatial correspondant à la distance de sécurité. Description détaillée de modes de réalisation Dans le mode de réalisation décrit ci-après, on fait référence à un procédé de simulation, basé sur une modélisation 3D et une visualisation en réalité augmentée, pour la réalisation de figures aériennes avec des drones en essaim, destiné principalement aux spectacles de drones. Cet exemple non limitatif est donné pour une meilleure compréhension de l’invention et n’exclut pas la mise en œuvre du procédé pour réaliser des vols synchronisés de drones dans le cadre de missions d’inspection par exemple. Dans la suite de la description, le terme « drone » désigne par extension un drone aérien, ou véhicule aérien sans pilote (UAV). Le procédé de simulation selon l’invention a pour objectif de permettre la conception, le calcul, la visualisation et l’exportation de trajectoires de drones afin de réaliser un spectacle aérien programmé avec des trajectoires prédéfinies pour chaque drone de l’essaim. Il est ici rappelé qu’un spectacle de drones consiste généralement à faire voler un essaim de drones de façon synchronisée, donnant lieu à des chorégraphies aériennes au cours desquelles les drones composent des formes géométriques et figuratives, ci-après dénommées « figures aériennes », qui évoluent suivant un scénario, créant ainsi une représentation animée. Pour une meilleure visibilité et un agrément esthétique avantageux, les drones peuvent s’illuminer grâce à des diodes électroluminescentes (LED) à couleur et intensité lumineuse variables pour produire des jeux de lumière, des effets lumineux, des illusions de mouvement, etc. La figure 1 représente schématiquement un essaim de drones 100 tel qu’il peut être perçu par un spectateur au sol lors d’une démonstration aérienne. L’essaim 100 est constitué d’une pluralité de drones 10 effectuant une formation en étoile dans laquelle chaque drone occupe une position bien définie. Chaque drone 10 de l’essaim 100 est un drone civil apte à effectuer un vol stationnaire, de type quadrirotor par exemple, et comportant principalement un corps 20, à l’intérieur duquel se trouve les systèmes embarqués du drone (avionique, alimentation, etc.), des moteurs à hélice 30, coplanaires et agencés en croix autour du corps, et des bras 40 reliant lesdits moteurs au corps du drone. Pour les besoins des spectacles de drones, chaque drone 10 est en outre équipé d’au moins un module LED 21 lui permettant de s’illuminer lors des démonstrations aériennes, en particulier en condition de faible luminosité telle qu’un spectacle nocturne en extérieur. Lorsque les drones 10 effectuent un vol en formation, comme dans le cas de la figure 1, ces derniers respectent mutuellement des distances de sécurité, verticales (d s sur le détail de la figure 1) et horizontales, pour éviter des collisions et des perturbations aérodynamiques qui pourraient ébranler la formation. Cette notion de distance de sécurité sera détaillée plus loin dans la description. La figure 2 donne un exemple de transformation d’un essaim drone d’une première figure aérienne F1, représentant un contour d’étoile, à une deuxième figure aérienne F2, représentant un contour d’avion, avec un rendu clair sur fond sombre qui correspond à des drones illuminés dans un ciel sombre par exemple. Lors de la transition entre les deux figures, les LED des drones peuvent être éteintes pour produire un effet d’apparition instantanée de la figure aérienne par exemple. La figure 3 représente quant à elle un exemple de figure aérienne en trois dimensions. Un spectacle de drones comporte généralement un ou plusieurs actes, chaque acte pouvant par exemple correspondre à une phase continue comprenant le décollage, la performance aérienne et l’atterrissage, d’une partie ou de l’ensemble des drones de l’essaim. Au cours de la performance aérienne, les drones réalisent plusieurs figures aériennes successives avec l’exécution de transitions précises réglées par la mise en œuvre du procédé de simulation. Pour chaque drone, on entend par décollage la transition entre sa position au sol et sa position dans la première figure aérienne d’un acte du spectacle, et par atterrissage la transition entre sa position dans la dernière figure aérienne dudit acte et sa position au sol. La figure 4 représente schématiquement des drones 10a, 10b, 10c et 10d en phase de décollage entre une position de décollage sur un poste de décollage 200, le sol par exemple, et une position de première figure aérienne F1. La transition entre ces deux positions peut être effectuée suivant différentes trajectoires. Par exemple, le drone 10c peut emprunter une trajectoire rectiligne T c – 1 qui minimise le trajet entre sa position de décollage et sa position affectée dans la figure aérienne F1, ou une trajectoire incurvée T c – 2 qui respecte certaines conditions aux limites (vecteur vitesse initiale par exemple). Les positions de décollage des drones sont définies en fonction de la première figure aérienne F1 que l’essaim doit exécuter, de sorte à permettre aux drones d’atteindre le plus rapidement possible et sans collisions leurs positions dans ladite première figure. En effet, chaque figure aérienne est définie par un ensemble de points, ou de positions, que doivent occuper des drones de l’essaim à un instant donné, voir par exemple la figure 6 dans laquelle chaque figure aérienne est définie par des positions numérotées 1 à 6. Ensuite et en référence aux figures 5a et 5b, les drones 10a, 10b, 10c et 10d effectuent une transition entre la première figure aérienne F1 et une deuxième figure aérienne F2. En effet, chaque drone de l’essaim est affecté à une position dans la nouvelle figure aérienne et effectue un déplacement suivant une trajectoire calculée de sorte à optimiser la transition de l’essaim entre les deux figures aériennes successives. En référence à la figure 8, le procédé de simulation pour la réalisation de figures aériennes comprend deux grandes phases : une phase 500 de modélisation en 3D des trajectoires des drones et une phase 700 de visualisation des résultats en réalité augmentée. Modélisation 3D Cette phase permet, pour un spectacle donné ou une séquence donnée, de résoudre le problème de détermination des trajectoires des drones, et, selon le mode de réalisation de la figure 8, comprend : - une étape initiale 510 de conception d’un spectacle de drones ; - une étape 520 de calcul des trajectoires des drones ; - une étape 530 de vérification de points de blocage dans les trajectoires calculées ; et - une étape 540 de validation des trajectoires de tous les drones de l’essaim. L’étape 510 de conception du spectacle consiste à programmer toutes les étapes de la démonstration aérienne du début à la fin ou par actes, au moyen d’un logiciel, développé exclusivement dans le cadre de l’invention, qui permet d’importer des figures, de dessiner des formes telles que des courbes, des surfaces et des volumes. Les différentes figures aériennes, de régler les transitions entre ces figures, d’ajouter des effets dynamiques, de contrôler les paramètres de vitesse des transitions et des effets afin d’obtenir des animations personnalisées. Les transitions entre figures aériennes et les effets dynamiques sont basés sur des algorithmes de mouvement spécifiques et correspondent par exemple à des morphings, des balayages, des fractionnements, des vibrations, des éclatements de formes, des effondrements, etc. Par exemple, l’étape 510 de conception, telle que représentée sur la figure 9, comprend : - une étape 511 de dessins des figures aériennes, avec le choix du nombre de drones par figure, la programmation lumineuse, etc. ; - une étape 512 de choix des transitions entre les figures dessinées, avec le réglage des paramètres de vitesse, la programmation lumineuse, etc. ; une étape 513 de choix des effets dynamiques qui seront appliqués à chaque figure aérienne et à chaque transition ; et une étape 514 de validation de la conception, par une visualisation vidéo par exemple. Des données cinématiques du spectacle conçu sont ensuite générées et exportées en entrée de l’étape de calcul des trajectoires des drones. L’étape 520 de calcul des trajectoires, selon le mode de réalisation de la figure 10, comprend : - une étape 521 d’affectation, qui permet d’attribuer à chaque position (ou drone) d’une figure aérienne courante une position dans une figure aérienne suivante ; - une étape 522 de démêlage pour éviter les collisions entre drones lors des transitions ; - une étape 523 de lissage des trajectoires pour éviter les fortes courbures locales ; et - une étape 524 de validation des trajectoires calculées. L’étape 521 d’affectation permet d’assigner à chaque drone dans une position donnée de décollage ou de figure aérienne une position dans une figure aérienne suivante. Plus précisément, il est assigné à chaque état (position, vitesse, accélération) un état unique suivant, de sorte que l’affectation choisie minimise le temps de transition. En numérotant 1 à n les états des drones à un instant donné, avec n un entier naturel supérieur à 2, aussi bien dans la figure aérienne courante que dans la suivante, l’affectation consiste alors à rechercher la permutation de l’ensemble des n entiers qui minimise le coût de la transition, où le coût correspond au temps total de la transition, autrement dit la somme des temps de transition de tous les drones de l’essaim. Ce problème d’affectation est connu dans le domaine de l’optimisation combinatoire et peut être résolu (ou décidé) en temps polynomial O(n 3 ) grâce à l’algorithme hongrois. De préférence et dans le cadre de l’utilisation de l’algorithme hongrois pour la résolution du problème d’affectation de l’étape 521, la fonction de coût correspond à la somme des carrés des durées de chaque trajet au lieu de la durée totale de la transition. L’implémentation de l’algorithme hongrois, également connu sous le nom de méthode hongroise ou algorithme de Kuhn-Munkres, est très documentée sur internet. Sa mise en œuvre discrète dans la configuration de la figure 6 par exemple revient à partir de la matrice suivante : avec t ij la durée du trajet entre la position i dans la première figure aérienne F1 et la position j dans la deuxième figure aérienne F2. La résolution du problème d’affectation se traduit par une affectation optimale, dite couplage parfait, qui minimise la fonction coût définie. Les affectations représentées sur la figure 6 correspondent à un couplage parfait qui minimise la durée de transition entres les deux figures aériennes F1 et F2. De façon générale, le problème de couplage parfait se présente comme suit : On cherche à minimiser le coût total de la transition entre la figure aérienne F1 et la figure aérienne F2, correspondant toutes deux à des ensembles de points de cardinal n (nombre de drones), ces points étant par exemple numérotés 1 à n : ou tel que : et : avec pour tout : Ainsi, l’étape 521 d’affectation permet de trouver le couplage parfait entre chaque deux figures aériennes successives du spectacle de drones. L’étape 522 de démêlage consiste à éviter les collisions entre drones lors d’une transition et repose sur un algorithme de démêlage (untangling en terminologie anglosaxonne). Le démêlage peut être réalisé soit en modifiant une ou plusieurs trajectoires à condition d’observer une distance de sécurité, soit en changeant les affectations de l’étape précédente afin d’éviter toute collision (bouclage sur la figure 10). La modification des trajectoires permet de toujours trouver une solution, mais elle s’accompagne systématiquement de la création de points de cheminement (waypoints). Le changement d’affectation évite quant à lui l’ajout de points de cheminement mais peut être assez pénalisant en temps de calcul et risque de créer de nouvelles collisions dont il faudra tenir compte dans une nouvelle itération. Afin de mettre en œuvre la méthode de démêlage par modification de trajectoires, chaque trajet d’un drone de l’essaim peut être représenté, en référence à la figure 11, par un point (ou position) de départ et un point d’arrivée reliés par une trajectoire. La trajectoire peut être découpée en un ensemble de segments définis et séparés par des nœuds, chaque nœud représentant la position du drone sur la trajectoire à un instant donné. Le découpage peut par exemple être réalisé selon un pas de temps régulier (discrétisation temporelle). La figure 12 schématise le principe de la méthode de démêlage employée, et dans laquelle les trajectoires des drones sont modélisées par des cordes élastiques qui se repoussent mutuellement afin de maintenir une distance de sécurité entre les drones à chaque instant. En effet, avant le démêlage, les drones 10a et 10b pénètrent chacun à l’instant t dans la zone de sécurité de l’autre, ladite zone étant délimitée par une sphère dont le rayon correspond à la distance de sécurité. Ce chevauchement risque de causer une collision entre les deux drones et/ou une perturbation aérodynamique susceptible de les déstabiliser. Le démêlage permet donc de reconfigurer les trajectoires des drones de sorte qu’aucun drone ne franchisse la zone de sécurité d’un autre drone. L’algorithme de démêlage prend en entrée une liste de couples (état au départ, état à l’arrivée) pour chaque drone de l’essaim, où chaque état comporte une date, une position, une vitesse et une accélération : avec n le nombre de drones de l’essaim. L’initialisation de l’algorithme de démêlage consiste à considérer que la trajectoire de chaque drone entre le point de départ et le point d’arrivée est celle d’un mouvement rectiligne uniforme. Chaque trajectoire est ensuite découpée en un nombre identique de segments séparés par des nœuds qui correspondent chacun à la position du drone à un instant donné. Le découpage étant le même pour l’ensemble des trajectoires, les instants correspondants aux nœuds d’une trajectoire correspondent également aux nœuds des autres trajectoires. Ensuite dans une boucle de l’algorithme de démêlage, tous les nœuds interagissent suivant deux opérations : une répulsion et un lissage. La répulsion, telle que schématisée sur les figures 13a et 13b, correspond à l’éloignement d’un nœud lorsqu’il est très proche d’un autre nœud à un instant donné. Plus précisément, lorsqu’un nœud se trouve dans la zone de sécurité d’un autre nœud, il tend à en sortir à condition de rester dans une sphère de répulsion entourant ladite zone de sécurité. Sur la figure 13a par exemple, le nœud 10b (ou le drone 10b à un instant donné) se trouve dans la zone de sécurité Z a du nœud 10a (ou du drone 10a au même instant), et inversement. La répulsion permet donc d’éloigner ces deux nœuds et d’établir une configuration admissible représentée sur la figure 13b, dans laquelle le nœud 10b se trouve en dehors de la zone de sécurité Z a du nœud 10a tout en restant dans la sphère de répulsion S a du même nœud, et inversement. Le lissage, tel que schématisé sur la figure 14, permet de réduire les courbures locales des trajectoires afin de limiter les fortes accélérations. Sur la figure 14 par exemple, le nœud central doit être ramené vers le segment joignant les nœuds extrémaux. Après exécution des opérations de répulsion et de lissage, l’algorithme de démêlage présente la condition d’arrêt suivante : tous les nœuds sont à distance de sécurité les uns des autres (répulsion) et leurs déplacements sont négligeables (lissage). Dans le cadre de l’invention, le choix des paramètres de l’algorithme de démêlage, à savoir la distance de sécurité, le découpage des trajectoires, la sphère de répulsion, et la distance de répulsion, permet d’obtenir un schéma numérique stable et dissipatif avec une convergence conditionnelle. Des exemples de choix des paramètres algorithmiques sont donnés dans la suite. En ce qui concerne la complexité de la méthode de démêlage, l’algorithme doit calculer, à chaque boucle et pour chaque pas de temps, les distances entre un nœud et les autres nœuds. Par conséquent, en notant n le nombre d’états en entrée, T le nombre de pas de temps (nombre de nœuds par trajectoire) et S le nombre d’itérations de la boucle (qui dépend des paramètres choisis), la complexité est en : La distance de sécurité est la distance minimale qui doit séparer deux drones à chaque instant. Elle dépend de la précision de localisation des drones et de la taille de la zone de turbulence créée par leurs hélices. De préférence, la distance de sécurité pour des drones tels que le Parrot Bebop Drone (marque déposée) de la société PARROT SA est comprise entre un et deux mètres. Avantageusement, la fonction distance de sécurité est définie de sorte à correspondre à un cylindre au lieu d’une sphère, car les turbulences sont plus fortes en dessous du drone qu’au-dessus. Par exemple, la distance de sécurité prend la forme suivante : dans laquelle d h et d v sont respectivement la distance de sécurité horizontale et la distance de sécurité verticale. En ce qui concerne le découpage des trajectoires et pour que les nœuds de même date interagissent entre eux, il est nécessaire de choisir une discrétisation temporelle commune à toutes les trajectoires, autrement dit, toutes les trajectoires doivent avoir des nœuds aux mêmes dates. Le choix du pas de temps est arbitraire, mais résulte d’un compromis entre temps de calcul et précision. En effet, un pas de temps très petit est avantageux en précision mais pénalisant en temps de calcul, et un pas de temps très grand réduit le temps de calcul mais nécessite de prendre une sphère de répulsion plus grande. De préférence, pour un bon compromis entre précision et rapidité, le pas de temps Δt est choisi de sorte que la distance maximale entre deux nœuds successifs d’une même trajectoire soit sensiblement égale à la distance de sécurité. Cette configuration est représentée sur la figure 15. Dans ce cas, le pas de temps est donné par la formule suivante : où et sont les vecteurs position de départ et d’arrivée du drone i, et les dates de départ et d’arrivée du drone i, et la distance de sécurité. Ensuite, on part de la première date de départ, à savoir : Et on incrémente régulièrement de Δt en créant un nœud sur chaque trajectoire, jusqu’à la dernière date d’arrivée, à savoir : Pour chaque nœud, la sphère de répulsion correspond à une zone dans laquelle les autres nœuds doivent être repoussés en cas de franchissement de la distance de sécurité. Par exemple, lorsque la distance entre deux nœuds de même date est inférieure à une distance de répulsion, les deux nœuds s’éloignent l’un de l’autre jusqu’à ce que la distance qui les sépare soit sensiblement égale à la distance de répulsion, mais inférieure à celle-ci. Cela permet d’éviter des phénomènes d’oscillations et d’assurer ainsi la stabilité du schéma. Au vu de résultats empiriques, il est préférable de prendre une distance de répulsion qui vérifie : Et plus préférablement encore : L’étape 520 de calcul des trajectoires peut également tenir compte de certains comportements particuliers tels que : - la définition d’une zone aérienne non autorisée, auquel cas les drones qui y pénètrent sont immédiatement repoussés. Par exemple, une zone non autorisée peut correspondre à une zone au-dessus ou proche des spectateurs pour éviter tout risque d’accident ; - le gel de certains nœuds, qui dans ce cas ne se déplacent pas mais repoussent les autres nœuds qui s’en approchent à moins de la distance de sécurité. Les nœuds gelés peuvent par exemple correspondre à des nœuds qui définissent le contour d’une figure aérienne. Ainsi, les étapes de conception des figures aériennes et de calcul des trajectoires permettent d’obtenir les résultats bruts de la simulation, et peuvent être suivies, outre les tests propres aux algorithmes d’affectation et de démêlage, d’une étape de test supplémentaire qui boucle sur l’étape de calcul des trajectoires. Cette étape 530 de test consiste à vérifier l’existence de points de blocage quelconques dans les trajectoires calculées afin de valider ou de recalculer les trajectoires des drones en fonction du résultat du test. En dernière étape de la phase de modélisation 3D, l’étape 540 de validation des trajectoires permet de sauvegarder les dernières données de calcul afin de les exporter dans un module de réalité augmentée. La phase de modélisation 3D est mise en œuvre par un calculateur comprenant un processeur, de type ordinateur, et implémentant les différents algorithmes de calcul (cinématique, optimisation, etc.). Globalement cette phase permet d’obtenir pour un scénario donné la meilleure solution en termes de rapidité et de sécurité d’exécution. En référence à la figure 8, une étape 600 d’exportation des trajectoires calculées lors de la modélisation 3D survient juste avant la visualisation en réalité augmentée. En effet, un échantillonnage de la modélisation 3D à une fréquence donnée, par exemple chaque 100 millisecondes, permet au calculateur de générer un plan de vol dans un format standard, tel que le format xml, qui donne la position de chaque drone ainsi que le statut de leurs LED à la fréquence d’échantillonnage. Ce plan de vol est exportable à la fois sur les drones, mais également sur une application de réalité augmentée. Réalité augmentée La phase 700 de visualisation en réalité augmentée, selon le mode de réalisation de la figure 8, comprend principalement : - une étape 710 de reconnaissance de surface ; et - une étape 720 de représentation. La visualisation en réalité augmentée peut par exemple être réalisée grâce à l’outil ARKit développé par la société Apple. L’étape de reconnaissance de surface permet à l’application ARKit, après que l’utilisateur ait sélectionné une surface de vol en pointant sur l’application un point d’origine de la chorégraphie, de fixer ledit point sur ladite surface quel que soit le point de vue. L’étape de représentation s’appuie également sur l’outil ARKit et permet d’établir une association entre le plan de vol et les positions des drones ainsi que les statuts de leurs LED, chaque drone étant un objet 3D présentant des statuts variés selon l’état de ses LED. Procédé de simulation numérique du vol d’un essaim (100) de drones (10), entre au moins une première figure aérienne (F1) et une deuxième figure aérienne (F2), comprenant une étape (500) de modélisation tridimensionnelle mise en œuvre par un calculateur, caractérisé en ce que la modélisation tridimensionnelle comprend : une étape (510) de conception des figures aériennes et des transitions entre lesdites figures ; et une étape (520) itérative de calcul des trajectoires des drones entre leurs positions dans la première figure aérienne et leurs positions dans la deuxième figure aérienne ; en ce que l’étape de calcul des trajectoires comprend une résolution d’un problème d’affectation, suivie de l’exécution d’un algorithme de démêlage pour éviter les collisions entre drones, et en ce que ledit procédé comprend en outre une visualisation (700) des résultats de la modélisation en réalité augmentée. Procédé de simulation selon la revendication 1, dans lequel le problème d’affectation correspond à une optimisation combinatoire déterministe dans laquelle chaque figure aérienne (F1, F2) est définie par un ensemble de positions, et est résolu en temps polynomial par la méthode hongroise. Procédé de simulation selon l’une quelconque des revendications précédentes, dans lequel chaque trajectoire est découpée en nœuds selon une discrétisation temporelle, et dans lequel l’algorithme de démêlage comprend une opération de répulsion consistant à maintenir à chaque instant une distance de sécurité mutuelle entre tous les nœuds en repoussant chaque nœud se trouvant dans une zone de sécurité d’un autre nœud en dehors de ladite zone de sécurité. Procédé de simulation selon la revendication 3, dans lequel chaque nœud se trouvant dans la zone de sécurité d’un autre nœud est repoussé dans une zone de répulsion située entre ladite zone de sécurité et une sphère de répulsion de l’autre nœud. Procédé de simulation selon l’une des revendications 3 ou 4, dans lequel l’opération de répulsion est suivie d’une opération de lissage des trajectoires permettant de réduire des courbures locales dans lesdites trajectoires en déplaçant chaque nœud excentré vers le milieu du segment défini par les deux nœuds adjacents audit nœud excentré. Procédé de simulation selon l’une quelconque des revendications précédentes, dans lequel l’étape (510) de conception des figures aériennes et des transitions comprend : une étape (511) de dessin des figures aériennes ; une étape (512) de choix des transitions entre lesdites figures aériennes ; et une étape (513) de choix d’effets dynamiques pour lesdites figures aériennes et lesdites transitions. Procédé de simulation selon l’une quelconque des revendications précédentes, dans lequel l’étape (520) de calcul des trajectoires comprend en outre une définition d’une zone de vol non autorisée. Procédé de simulation selon l’une quelconque des revendications précédentes, dans lequel chaque drone (10) est apte à effectuer un vol stationnaire et comporte au moins un module de diode électroluminescente (21).