Des ingénieurs conçoivent une recette pour améliorer n’importe quel système robotique autonome


  • FrançaisFrançais



  • Les robots autonomes ont parcouru un long chemin depuis le fastidieux Roomba. Ces dernières années, des systèmes artificiellement intelligents ont été déployés dans les voitures autonomes, la livraison de nourriture sur le dernier kilomètre, les services de restauration, le dépistage des patients, le nettoyage des hôpitaux, la préparation des repas, la sécurité des bâtiments et l’emballage des entrepôts.

    Chacun de ces systèmes robotiques est le produit d’un processus de conception ad hoc spécifique à ce système particulier. Lors de la conception d’un robot autonome, les ingénieurs doivent exécuter d’innombrables simulations par essais et erreurs, souvent éclairées par l’intuition. Ces simulations sont adaptées aux composants et aux tâches d’un robot particulier, afin d’ajuster et d’optimiser ses performances. À certains égards, concevoir un robot autonome aujourd’hui, c’est comme faire un gâteau à partir de zéro, sans recette ni mélange préparé pour assurer un résultat réussi.

    Aujourd’hui, les ingénieurs du MIT ont développé un outil de conception général que les roboticiens peuvent utiliser comme une sorte de recette automatisée pour réussir. L’équipe a conçu un code d’optimisation qui peut être appliqué aux simulations de pratiquement n’importe quel système robotique autonome et peut être utilisé pour identifier automatiquement comment et où modifier un système pour améliorer les performances d’un robot.

    L’équipe a montré que l’outil était capable d’améliorer rapidement les performances de deux systèmes autonomes très différents : l’un dans lequel un robot naviguait sur un chemin entre deux obstacles, et l’autre dans lequel une paire de robots travaillaient ensemble pour déplacer une lourde boîte.

    Les chercheurs espèrent que le nouvel optimiseur à usage général pourra contribuer à accélérer le développement d’un large éventail de systèmes autonomes, des robots marcheurs et des véhicules autonomes aux robots souples et agiles, en passant par les équipes de robots collaboratifs.

    L’équipe, composée de Charles Dawson, un étudiant diplômé du MIT, et de ChuChu Fan, professeur adjoint au Département d’aéronautique et d’astronautique du MIT, présentera ses conclusions plus tard ce mois-ci lors de la conférence annuelle Robotics: Science and Systems à New York.

    Conception inversée

    Dawson et Fan ont réalisé le besoin d’un outil d’optimisation général après avoir observé une multitude d’outils de conception automatisés disponibles pour d’autres disciplines d’ingénierie.

    « Si un ingénieur en mécanique voulait concevoir une éolienne, il pourrait utiliser un outil de CAO 3D pour concevoir la structure, puis utiliser un outil d’analyse par éléments finis pour vérifier si elle résistera à certaines charges », explique Dawson. « Cependant, il y a un manque de ces outils de conception assistée par ordinateur pour les systèmes autonomes. »

    Normalement, un roboticien optimise un système autonome en développant d’abord une simulation du système et de ses nombreux sous-systèmes en interaction, tels que sa planification, son contrôle, sa perception et ses composants matériels. Elle doit ensuite ajuster certains paramètres de chaque composant et exécuter la simulation en avant pour voir comment le système fonctionnerait dans ce scénario.

    Ce n’est qu’après avoir exécuté de nombreux scénarios par essais et erreurs qu’un roboticien peut identifier la combinaison optimale d’ingrédients pour obtenir les performances souhaitées. C’est un processus fastidieux, trop adapté et chronophage que Dawson et Fan ont cherché à renverser.

    « Au lieu de dire : ‘Compte tenu d’un design, quelle est la performance ?’ nous voulions inverser cela pour dire : « Compte tenu des performances que nous voulons voir, quel est le design qui nous y amène ? », explique Dawson.

    Les chercheurs ont développé un cadre d’optimisation, ou un code informatique, capable de trouver automatiquement les modifications pouvant être apportées à un système autonome existant pour obtenir le résultat souhaité.

    Le cœur du code est basé sur la différenciation automatique, ou « autodiff », un outil de programmation qui a été développé au sein de la communauté de l’apprentissage automatique et qui a été utilisé initialement pour former des réseaux de neurones. Autodiff est une technique qui peut rapidement et efficacement « évaluer la dérivée », ou la sensibilité au changement de n’importe quel paramètre dans un programme informatique. Dawson et Fan se sont appuyés sur les avancées récentes de la programmation autodiff pour développer un outil d’optimisation à usage général pour les systèmes robotiques autonomes.

    « Notre méthode nous indique automatiquement comment faire de petits pas entre une conception initiale et une conception qui atteint nos objectifs », explique Dawson. « Nous utilisons autodiff pour creuser essentiellement dans le code qui définit un simulateur et comprendre comment faire cette inversion automatiquement. »

    Construire de meilleurs robots

    L’équipe a testé son nouvel outil sur deux systèmes robotiques autonomes distincts et a montré que l’outil améliorait rapidement les performances de chaque système lors d’expériences en laboratoire, par rapport aux méthodes d’optimisation conventionnelles.

    Le premier système comprenait un robot à roues chargé de planifier un chemin entre deux obstacles, sur la base des signaux qu’il recevait de deux balises placées à des endroits différents. L’équipe a cherché à trouver le placement optimal des balises qui donnerait un chemin clair entre les obstacles.

    Ils ont découvert que le nouvel optimiseur avait rapidement retravaillé la simulation du robot et identifié le meilleur placement des balises en cinq minutes, contre 15 minutes pour les méthodes conventionnelles.

    Le deuxième système était plus complexe, comprenant deux robots à roues travaillant ensemble pour pousser une boîte vers une position cible. Une simulation de ce système comprenait beaucoup plus de sous-systèmes et de paramètres. Néanmoins, l’outil de l’équipe a identifié efficacement les étapes nécessaires pour que les robots atteignent leur objectif, dans un processus d’optimisation 20 fois plus rapide que les approches conventionnelles.

    « Si votre système a plus de paramètres à optimiser, notre outil peut faire encore mieux et peut faire gagner beaucoup plus de temps », déclare Fan. « Il s’agit essentiellement d’un choix combinatoire : à mesure que le nombre de paramètres augmente, les choix augmentent également, et notre approche peut réduire cela d’un seul coup. »

    L’équipe a rendu l’optimiseur général disponible au téléchargement et prévoit d’affiner davantage le code pour l’appliquer à des systèmes plus complexes, tels que des robots conçus pour interagir et travailler aux côtés des humains.

    « Notre objectif est de donner aux gens les moyens de construire de meilleurs robots », déclare Dawson. « Nous fournissons un nouveau bloc de construction pour optimiser leur système, afin qu’ils n’aient pas à repartir de zéro. »

    Cette recherche a été financée, en partie, par la Defense Science and Technology Agency de Singapour et par IBM.

    Résumé du papier : https://roboticsconference.org/program/papers/037/

    N'oubliez pas de voter pour cet article !
    1 étoile2 étoiles3 étoiles4 étoiles5 étoiles (No Ratings Yet)
    Loading...
    mm

    La Rédaction

    L'équipe rédactionnelle

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée.