Robotique évolutive

La robotique évolutive (ER) est une méthodologie qui utilise le calcul évolutif pour développer des contrôleurs et / ou du matériel pour des robots autonomes. Les algorithmes dans les urgences opèrent souvent sur des populations de contrôleurs candidats, initialement sélectionnés dans une distribution. Cette population est ensuite modifiée à plusieurs reprises en fonction d’une fonction de fitness. Dans le cas des algorithmes génétiques (ou « GA »), une méthode courante dans le calcul évolutif, la population de contrôleurs candidats est augmentée à plusieurs reprises en fonction d’opérateurs croisés, de mutations et d’autres opérateurs d’AG, puis supprimée en fonction de la fonction de fitness. Les contrôleurs candidats utilisés dans les applications ER peuvent provenir d’un sous-ensemble de l’ensemble des réseaux de neurones artificiels, bien que certaines applications (y compris SAMUEL, développées au Centre naval de recherche appliquée en intelligence artificielle) utilisent des collections de règles « IF THEN ELSE » en tant que parties constitutives d’un contrôleur individuel. Il est théoriquement possible d’utiliser n’importe quel ensemble de formulations symboliques d’une loi de contrôle (parfois appelée politique de la communauté de l’apprentissage automatique) comme espace de contrôleurs potentiels. Les réseaux de neurones artificiels peuvent également être utilisés pour l’apprentissage robotique en dehors du contexte de la robotique évolutive. En particulier, d’autres formes d’apprentissage par renforcement peuvent être utilisées pour l’apprentissage des contrôleurs de robot. Il est théoriquement possible d’utiliser n’importe quel ensemble de formulations symboliques d’une loi de contrôle (parfois appelée politique de la communauté de l’apprentissage automatique) comme espace de contrôleurs potentiels. Les réseaux de neurones artificiels peuvent également être utilisés pour l’apprentissage robotique en dehors du contexte de la robotique évolutive. En particulier, d’autres formes d’apprentissage par renforcement peuvent être utilisées pour l’apprentissage des contrôleurs de robot. Il est théoriquement possible d’utiliser n’importe quel ensemble de formulations symboliques d’une loi de contrôle (parfois appelée politique de la communauté de l’apprentissage automatique) comme espace de contrôleurs potentiels. Les réseaux de neurones artificiels peuvent également être utilisés pour l’apprentissage robotique en dehors du contexte de la robotique évolutive. En particulier, d’autres formes d’apprentissage par renforcement peuvent être utilisées pour l’apprentissage des contrôleurs de robot.

La robotique développementale est liée à la robotique évolutive, mais en diffère. ER utilise des populations de robots qui évoluent dans le temps, alors que DevRob s’intéresse à la manière dont l’organisation d’un système de contrôle d’un seul robot se développe au fil de l’expérience, au fil du temps.

L’histoire
La fondation de ER a été créée avec les travaux du Conseil national de la recherche à Rome dans les années 90, mais l’idée initiale de coder un système de commande de robot dans un génome et de l’améliorer artificiellement date de la fin des années 80.

En 1992 et 1993, trois groupes de recherche, l’un entourant Floreano et Mondada à l’EPFL à Lausanne, et le second impliquant Cliff, Harvey et Husbands de COGS à l’Université du Sussex et le troisième composé de Andrew H. Fagg a rapporté des résultats prometteurs provenant d’expériences sur l’évolution artificielle de robots autonomes. Le succès de ces premières recherches a déclenché une vague d’activités dans les laboratoires du monde entier, qui tentaient d’exploiter le potentiel de cette approche.

Dernièrement, la difficulté à « augmenter » la complexité des tâches du robot a quelque peu déplacé l’attention vers la fin théorique du domaine plutôt que vers la fin technique.

Objectifs
La robotique évolutive est réalisée avec de nombreux objectifs différents, souvent en même temps. Celles-ci incluent la création de contrôleurs utiles pour des tâches de robot réelles, l’exploration des complexités de la théorie de l’évolution (telle que l’effet Baldwin), la reproduction de phénomènes psychologiques et la découverte de réseaux de neurones biologiques par l’étude de réseaux artificiels. Créer des contrôleurs via une évolution artificielle nécessite un grand nombre d’évaluations d’une grande population. Cela prend beaucoup de temps, ce qui est l’une des raisons pour lesquelles l’évolution des contrôleurs se fait généralement par logiciel. De plus, les contrôleurs aléatoires initiaux peuvent présenter un comportement potentiellement dangereux, tel qu’un crash répété contre un mur, ce qui peut endommager le robot. Transférer des contrôleurs évolués dans la simulation à des robots physiques est très difficile et constitue un défi majeur dans l’utilisation de l’approche ER. La raison en est que l’évolution est libre d’explorer toutes les possibilités pour obtenir une bonne condition physique, y compris les imprécisions de la simulation. Ce besoin d’un grand nombre d’évaluations, qui nécessite des simulations informatiques rapides et précises, est l’un des facteurs limitants de l’approche des urgences.

Dans de rares cas, un calcul évolutif peut être utilisé pour concevoir la structure physique du robot, en plus du contrôleur. L’un des exemples les plus remarquables est la démo de Karl Sims pour Thinking Machines Corporation.

Motivation
La plupart des algorithmes d’apprentissage automatique couramment utilisés nécessitent un ensemble d’exemples d’apprentissage composés à la fois d’une entrée hypothétique et d’une réponse souhaitée. Dans de nombreuses applications d’apprentissage de robots, la réponse souhaitée est une action à entreprendre par le robot. Ces actions ne sont généralement pas connues explicitement à priori, mais le robot peut au mieux recevoir une valeur indiquant le succès ou l’échec d’une action donnée. Les algorithmes évolutifs sont des solutions naturelles à ce type de structure de problèmes, car la fonction de fitness n’a besoin que de coder le succès ou l’échec d’un contrôleur donné, plutôt que les actions précises que le contrôleur aurait dû prendre. Une alternative à l’utilisation du calcul évolutif dans l’apprentissage robotique est l’utilisation d’autres formes d’apprentissage par renforcement, telles que le q-learning, pour apprendre la pertinence d’une action en particulier,

Conférences et instituts

Principales conférences
Conférence sur le calcul génétique et évolutif
Congrès IEEE sur le calcul évolutif
Conférence européenne sur la vie artificielle
Une vie

Instituts académiques et chercheurs
Université de technologie Chalmers: Peter Nordin, The Humanoid Project
Université de Sussex: Inman Harvey, Phil Husbands, Ezequiel Di Paolo
Consiglio Nazionale delle Ricerche (CNR): Stefano Nolfi
EPFL: Dario Floreano
Université de Zurich: Rolf Pfeifer
Université Cornell: Hod Lipson
Université du Vermont: Josh Bongard
Université d’Indiana: Randall Beer
Centre de robotique et de machines intelligentes, Université d’État de Caroline du Nord: Eddie Grant, Andrew Nelson
University College London: Peter J. Bentley
Le laboratoire de robotique IDSIA: Juergen Schmidhuber, Juxi Leitner
Laboratoire de recherche de la marine américaine
Université de Osnabrueck, groupe de neurocybernétique: Frank Pasemann
Créatures virtuelles évoluées par Karl Sims (GenArts)
Ken Rinaldo robotique de vie artificielle
L’équipe des concepts avancés de l’Agence spatiale européenne: Dario Izzo
Université du Pays basque (UPV-EHU): Robótica Evolutiva, Pablo González-Nalda (en espagnol) PDF (en anglais)
Université de Plymouth: Angelo Cangelosi, Davide Maroc, Fabio Ruini, * Martin Peniak
Université Heriot-Watt: Patricia A. Vargas
Université Pierre et Marie Curie, ISIR: Stéphane Doncieux, Jean-Baptiste Mouret
Université Paris-Sud et INRIA, IAO / TAO: Nicolas Bredeche
Institut des sciences du cerveau RIKEN
Institut de technologie de Karlsruhe, Institut d’informatique appliquée et méthodes de description formelle: Lukas Koenig