Deep Drone Racing: Learning Agile Flight in Dynamic Environments
Auteurs: Elia Kaufmann, Antonio Loquercio, René Ranftl, Alexey Dosovitskiy, Vladlen Koltun, Davide Scaramuzza · CoRL 2018
Licences
- Accès libre
- Article: CC BY 4.0
Tout ce qui suit s'appuie sur l'article complet sous sa licence CC BY 4.0 ; sa figure est montrée en citant les auteurs.
En bref
Un CNN associe une image de la caméra embarquée à une direction cible et une vitesse ; un planificateur à jerk minimal et un contrôleur classique font voler le quadrirotor, qui parcourt ainsi à pleine vitesse des circuits à portes mobiles sans carte ni pose globale.
Pourquoi c'est important
La stabilité reste confiée à un contrôleur classique tandis que le réseau ne gère que la perception, de sorte que la partie apprise peut tourner à environ 10 Hz sur un petit ordinateur embarqué. Comme les commandes sont données dans le repère du corps, le système ne souffre pas de la dérive qui affecte à grande vitesse les références fondées sur l'odométrie visuelle-inertielle.
Problème
Un drone de course qui suit une trajectoire globale précalculée a besoin d'une estimation d'état très précise, et la localisation de type SLAM dérive sous le flou de mouvement et les fortes accélérations. Ces méthodes supposent aussi un monde statique, de sorte que les points de passage ne peuvent pas être fixés à l'avance lorsque les portes bougent.
Solution proposée
Un CNN fondé sur ResNet prend une image RGB de 300 × 200 et produit une direction cible en coordonnées image normalisées ainsi qu'une vitesse normalisée. La cible est rétroprojetée en un point 3D, une trajectoire d'interception d'état à jerk minimal est calculée pour l'atteindre, et un contrôleur bas niveau existant la suit, recalculée selon un principe d'horizon glissant. Le réseau est entraîné en imitant un expert qui suit une trajectoire globale minimum-snap, avec des données issues de plusieurs dispositions de portes afin qu'il gère des portes qui bougent au moment du test.
Idées clés
- Prédire un point de passage et une vitesse, plutôt que des vitesses angulaires du corps, permet à un contrôleur classique de maintenir le quadrirotor stable ; un régresseur de bout en bout des vitesses angulaires n'a pas pu franchir plus d'une porte en simulation
- L'entraînement sur plusieurs dispositions de portes statiques a suffi pour que la politique traverse des portes qui bougent pendant le vol
- La politique apprise n'est pas bornée par ses démonstrations : elle gère des portes mobiles, ce dont l'expert qu'elle imite est incapable
- Des données d'entraînement réelles peuvent être collectées en toute sécurité en portant le quadrirotor à la main le long du circuit pendant que l'expert étiquette chaque image
- Un seul réseau entraîné couvre une gamme d'agressivité, puisque l'utilisateur met à l'échelle la vitesse prédite par une vitesse maximale choisie
Principaux résultats
- Simulation, circuit de 116 m à 8 portes : la méthode accomplit la tâche de manière fiable jusqu'à une vitesse maximale de 9 m/s, avec une dégradation progressive à plus haute vitesse ; la référence VIO échoue à cause de la dérive accumulée. La section 4.2 indique cinq essais par configuration, alors que la légende de la Figure 4 indique 10 essais par vitesse
- Simulation avec portes mobiles à 8 m/s : aucun crash pour des déplacements de porte allant jusqu'à 1,5 fois le diamètre de la porte, alors que la référence VIO échoue même pour de petits mouvements de porte
- Test réel d'ouverture étroite : le réseau a franchi la porte dans 100 %, 80 % et 20 % des essais pour des angles initiaux de 0–30°, 30–70° et 70–90° (porte invisible au départ dans la dernière plage), contre 70 %, 0 % et 0 % pour un détecteur de fenêtre conçu à la main
- Test réel d'occultation : l'approche est restée robuste à des occultations allant jusqu'à 50 % de la surface de la porte, tandis que la référence conçue à la main s'est effondrée à occultation modérée
- Circuit réel de 21 m à 4 portes : taux de réussite et vitesse supérieurs à ceux d'une référence de planification et de suivi fondée sur VIO ; les pilotes humains professionnels et intermédiaires ont été plus rapides mais se sont écrasés plus souvent
- Comparaison en simulation : la référence de bout en bout sur les vitesses angulaires n'a jamais franchi plus d'une porte sur un circuit de 43 m à 4 portes, même avec 35k échantillons d'entraînement contre 5k pour la méthode proposée
Limites
- Les performances se dégraderont si l'apparence de l'environnement change sensiblement au-delà de ce qui a été vu à l'entraînement
- L'entraînement du système de perception nécessite une quantité importante de données collectées dans l'environnement d'application
- Lorsque l'optimisation de trajectoire ne peut pas fournir de politique à imiter, par exemple pour des virages extrêmement serrés, l'apprenant risque aussi d'échouer
- Au-delà de 9 m/s en simulation, la fréquence de prédiction limitée (30 Hz) ne peut pas suivre les fortes vitesses de roulis et de tangage
- Les pilotes humains ont bouclé le circuit réel plus vite, avec des manœuvres plus agiles dans les virages serrés, sur lesquelles le système ne sait pas encore raisonner
Impact sur le domaine
Lauréat du CoRL 2018 Best Systems Paper Award, avec 166 citations. L'article renvoie à une vidéo complémentaire ; il ne publie ni code ni données.
Résumé
Le vol agile autonome soulève des défis fondamentaux en robotique, comme faire face à une estimation d'état peu fiable, réagir de manière optimale à des environnements qui changent dynamiquement, et coupler perception et action en temps réel sous de fortes contraintes de ressources. Dans cet article, nous examinons ces défis dans le contexte de la course de drones autonome, fondée sur la vision, en environnements dynamiques. Notre approche combine un réseau de neurones convolutif (CNN) avec un système de planification de trajectoire et de commande à l'état de l'art. Le CNN associe directement des images brutes à une représentation robuste sous la forme d'un point de passage et d'une vitesse souhaitée. Cette information est ensuite utilisée par le planificateur pour générer un court segment de trajectoire à jerk minimal et les commandes moteur correspondantes afin d'atteindre l'objectif souhaité. Nous démontrons notre méthode dans des scénarios de vol agile autonome, dans lesquels un quadrirotor fondé sur la vision parcourt des circuits de course de drones avec des portes éventuellement mobiles. Notre méthode ne nécessite aucune carte explicite de l'environnement et s'exécute entièrement à bord. Nous testons de manière approfondie la précision et la robustesse de l'approche en simulation et dans le monde physique. Nous évaluons également notre méthode face à des approches de navigation à l'état de l'art et à des pilotes de drones humains professionnels.
Liens
- arXiv 1806.08548: https://arxiv.org/abs/1806.08548
- DOI 10.48550/arXiv.1806.08548: https://doi.org/10.48550/arXiv.1806.08548
- PDF: http://proceedings.mlr.press/v87/kaufmann18a/kaufmann18a.pdf