Un contrôleur de drone robuste, entraînés à l'aide d'algorithmes d'apprentissage par renforcement développés par des chercheurs de l'USC permettent aux drones de résister à des traitements sévères, y compris le fait d'être projeté et poussé. Crédit :Haotian Mai
Drone, spécifiquement des quadricoptères, sont un lot adaptable. Ils ont été utilisés pour évaluer les dommages après des catastrophes, livrer des cordes et des gilets de sauvetage dans des zones trop dangereuses pour les sauveteurs au sol, inspecter les bâtiments en feu et livrer des échantillons médicaux.
Mais pour atteindre leur plein potentiel, ils doivent être durs. Dans le monde réel, les drones sont obligés de naviguer dans des formes incertaines dans des bâtiments qui s'effondrent, éviter les obstacles et faire face à des conditions difficiles, y compris les tempêtes et les tremblements de terre.
Au département d'informatique de l'USC Viterbi School of Engineering, les chercheurs ont créé des drones artificiellement intelligents qui peuvent récupérer rapidement lorsqu'ils sont poussés, coups de pied ou lors d'une collision avec un objet. Le drone autonome « apprend » à se remettre d'une multitude de situations difficiles auxquelles il est confronté au cours d'un processus de simulation.
"Actuellement, les contrôleurs conçus pour stabiliser les quadricoptères nécessitent un réglage minutieux et même alors, ils sont limités en termes de robustesse à la perturbation et sont spécifiques au modèle, " a déclaré l'auteur principal de l'étude, Artem Molchanov, un doctorat candidat en informatique au Robotic Systems Embedded Laboratory de l'USC.
"Nous essayons d'éliminer ce problème et de présenter une approche qui tire parti des récents progrès de l'apprentissage par renforcement afin que nous puissions éliminer complètement les contrôleurs à réglage manuel et rendre les drones super résistants aux perturbations."
Le papier, appelé « Sim-to-(Multi)-Real : Transfert de politiques de contrôle robustes de bas niveau vers plusieurs quadrotors, " a été présenté à la Conférence internationale sur les robots et systèmes intelligents.
Les co-auteurs étaient Tao Chen, Étudiant à la maîtrise en informatique de l'USC ; Wolfgang Honig, un ancien doctorat en informatique de l'USC. étudiant; James A. Preiss, un doctorat en informatique étudiant; Nora Ayanian, professeur adjoint d'informatique à l'USC et chaire Andrew et Erna Viterbi Early Career; et Gaurav Sukhatme, professeur d'informatique et de génie électrique et informatique et vice-doyen exécutif de l'USC Viterbi.
Apprendre à voler
Depuis des années, les roboticiens se tournent vers les oiseaux pour s'inspirer du vol. Mais les drones ont un long chemin à parcourir avant d'être aussi agiles que leurs homologues à plumes. Lorsqu'un drone se retrouve dans une orientation indésirable, comme à l'envers, il peut être difficile pour lui de se redresser. « Un drone est un système intrinsèquement instable, " dit Molchanov.
"Contrôler un drone demande beaucoup de précision. Surtout quand quelque chose de soudain se produit, vous avez besoin d'une séquence rapide et précise d'entrées de contrôle. si un drone a pu apprendre de l'expérience, comme les humains, il serait plus à même de surmonter ces défis.
Avec ceci est l'esprit, l'équipe de chercheurs de l'USC a créé un système qui utilise un type d'apprentissage automatique, un sous-ensemble de l'intelligence artificielle, appelé apprentissage par renforcement pour entraîner le drone dans un environnement simulé. Plus précisément, pour entraîner le "cerveau" du drone, " ou contrôleur de réseau neuronal.
"L'apprentissage par renforcement est inspiré de la biologie - c'est très similaire à la façon dont vous pourriez entraîner un chien avec une récompense lorsqu'il exécute une commande, " dit Molchanov.
Bien sûr, les drones ne reçoivent pas de collations. Mais dans le processus d'apprentissage par renforcement, ils reçoivent une récompense algorithmique :un signal de renforcement mathématique, qui est un renforcement positif qu'il utilise pour déduire quelles actions sont les plus souhaitables.
Auteur principal Artem Molchanov (au centre), un doctorant en informatique, avec les co-auteurs le professeur Gaurav Sukhatme et le professeur assistant Nora Ayanian. Crédit :Haotian Mai
Apprentissage en simulation
Le drone démarre en mode simulation. En premier, il ne sait rien du monde ou de ce qu'il essaie d'accomplir, dit Molchanov. Il essaie de sauter un peu ou de tourner sur le sol.
Finalement, il apprend à voler un peu et reçoit le signal de renforcement positif. Progressivement, par ce processus, il comprend comment s'équilibrer et finalement voler. Puis, les choses se compliquent.
Toujours en simulation, les chercheurs lancent des conditions aléatoires au contrôleur jusqu'à ce qu'il apprenne à les gérer avec succès. Ils ajoutent du bruit à l'entrée pour simuler un capteur réaliste. Ils modifient la taille et la force du moteur et poussent le drone sous différents angles.
Pendant 24 heures, le système traite 250 heures de formation dans le monde réel. Comme des roues d'entraînement, l'apprentissage en mode simulation permet au drone d'apprendre tout seul dans un environnement sécurisé, avant d'être relâché dans la nature. Finalement, il trouve des solutions à chaque défi mis sur son chemin.
"En simulation, nous pouvons exécuter des centaines de milliers de scénarios, " dit Molchanov.
"Nous continuons à changer légèrement le simulateur, qui permet au drone d'apprendre à s'adapter à toutes les imperfections possibles de l'environnement."
Trois quadricoptères de tailles différentes contrôlés par la même politique entraînés entièrement à la simulation. Crédit :Molchanov et al.
Un défi du monde réel
Pour prouver leur approche, les chercheurs ont déplacé le contrôleur entraîné sur de vrais drones développés dans le laboratoire de coordination automatique des équipes d'Ayanian. Dans une installation de drones couverte en filet, ils ont fait voler les drones et ont essayé de les repousser en les donnant des coups de pied et en les poussant.
Les drones ont réussi à se corriger des coups modérés (y compris les poussées, coups de pied légers et collision avec un objet) 90 % du temps. Une fois formé sur une machine, le contrôleur a pu généraliser rapidement aux quadricoptères de différentes dimensions, poids et tailles.
Alors que les chercheurs se sont concentrés sur la robustesse dans cette étude, ils ont été surpris de constater que le système fonctionnait également de manière compétitive en termes de suivi de trajectoire, passant du point A au point B au point C. Bien qu'il ne soit pas spécifiquement formé à cet effet, il semble que la formation de simulation rigoureuse ait également équipé le contrôleur pour suivre avec précision une cible en mouvement.
Les chercheurs notent qu'il reste encore du travail à faire. Dans cette expérience, ils ont ajusté manuellement quelques paramètres sur les drones, par exemple, limiter la poussée maximale, mais la prochaine étape est de rendre les drones complètement indépendants. L'expérience est une avancée prometteuse vers la construction de drones robustes qui peuvent s'ajuster et apprendre de l'expérience.
Professeur Sukhatme, conseiller de Molchanov et titulaire d'une chaire d'informatique de la Fletcher Jones Foundation, a déclaré que la recherche résout deux problèmes importants en robotique :la robustesse et la généralisation.
« Du point de vue de la sécurité, la robustesse est super importante. Si vous construisez un système de contrôle de vol, il ne peut pas être cassant et s'effondrer quand quelque chose ne va pas, " dit Sukhatme.
"L'autre chose importante est la généralisation. Parfois, vous pouvez construire un système très sûr, mais ce sera très spécialisé. Cette recherche montre à quel point un doctorat mature et accompli. l'étudiant peut réaliser, et je suis très fier d'Artem et de l'équipe qu'il a réunie."