Algorithmes de gestion pour un drone ultra-maniable en Open source par le MIT

Des algorithmes de navigation pour drones ont été développés par des étudiants du Massachusetts Institute of Technology, plus particulièrement au  CSAIL (Computer Science and Artificial Intelligence Laboratory). Ces calculs permettent d’éviter les obstacles par exemple ou de rechercher quelque chose de particulier.

Ce logiciel peut être utilisé avec tout type de drone, véhicule autonome ou robot, en effet, il était  conçu à l’origine pour le robot bipède Atlas qui s’est illustré lors de l’édition 2013 du Darpa Robotics Challenge.

Pour effectuer ces calculs, il y a besoin de réaliser des calculs en temps réel et de pouvoir  gérer des variables relatives au vol (vent, soleil, pluie,…).

La vidéo (plus bas) nous montre un drone qui parcourt un labyrinthe en 3D fait de cordes à un mètre par seconde.

MIT-Quadrotor-1_0

La détection est effectuée par le drone au moyen de :

  • capteurs optiques de mouvement
  • une centrale inertielle.

L’algorithme découpe ainsi l’espace autour du drone en repérant les zones libres puis les relie pour définir sa trajectoire. «Plutôt que de planifier des trajectoires basées sur le nombre d’obstacles, il est beaucoup plus gérable de faire l’inverse : choisir les segments d’espaces libres à travers lesquels le drone peut naviguer», explique Benoit Landry l’un des étudiants du CSAIL qui a travaillé sur ce programme.

Bon, c’est pas plus compliqué que ce qu’on fait en 3D sur nos machines, c’est comparable à un algorithme en A* (dit du plus court chemin) adapté dans l’espace.

Le drone utilisé est un modèle simple commercial de 92 millimètres et 34 grammes, il peut donc facilement se faufiler dans des décombres par exemple.

Les algorithmes sont disponibles en open source via github. Il y en a pour près d’1Go de code source compressé (ouch! Non je déconne, pensez à retirer les Logs). C’est en python – j’adore vraiment ce langage 😉 Cela utilise aussi Matlab. Je n’ai pas encore eu le temps de mettre le nez dedans, d’autant que c’est orienté pour la plateforme crazyflie: probablement un fork modifié pour ce projet. En même temps, c’est de l’Open Hardware – vous pouvez l’assembler vous même. On peut même acheter les pièces et monter le Kit soi-même, mais à l’heure où j’écris ces lignes, le site de vente du kit est en maintenance – Pour étudier cela, on peut se passer du hardware, mais c’est un peu dommage.

Anirudha Majumdar a aussi testé un algorithme (code source C++) avec un modèle réduit d’avion à hélice et en utilisant une base de données qui contient des trajectoires virtuelles préprogrammées. Le logiciel choisit celle qui ne croise aucun obstacle. «Pendant qu’il vole, le drone parcourt continuellement la base de données pour assembler les chemins qui, par calcul informatique, garantissent d’éviter les obstacles .[…] mais est plus sensible aux rafales de vent», explique l’étudiant impliqué dans le projet arxiv. L’idée n’est pas bête: on dispose de beaucoup de mémoire, pourquoi s’embêter à calculer une trajectoire en temps réel…

MIT-Quadrotor-2

Ces logiciels et ces drones pourraient être utilisés pour l’exploration de tunnels, grottes, spéléologie, secours, archéologie, pour l’étude animalière, les livraisons, et bien sur l’espionnage et plus si affinités….

Le travail de Landry a été partiellement financé par la Fondation Siebel Scholars, tandis que le travail de Majumdar a été soutenu par une subvention de l‘Office of Naval Research.

Un autre projet du MIT propose un algorithme de vision stéréoscopique qui permet au drone de détecter et d’éviter les obstacles en volant à près de 50 km/h, mais il ne peut pas effectuer des manœuvres aussi complexes.

sources: http://news.mit.edu/2016/csail-drones-do-donuts-figure-eights-around-obstacles-0119

Personnellement, dès que j’ai un peu de temps, je construit mon armée de drônes qui me suivra comme Salamandar dans Cobra… Non, je déconne… quoi que ?

Ces articles pourraient aussi vous intéresser …

Le gros live #2

Au programme:  Les news du blog, Veille techno: UE4.22/Raytracing, Paint3D, Rocket3F, VRoid Studio, Scripting UE4 et...