Creative Adaptation through Learning
Adaptation Créative par Apprentissage
Résumé
Robots have transformed many industries, most notably manufacturing, and have the power to deliver tremendous benefits to society, for example in search and rescue, disaster response, health care, and transportation. They are also invaluable tools for scientific exploration of distant planets or deep oceans. A major obstacle to their widespread adoption in more complex environments and outside of factories is their fragility. While animals can quickly adapt to injuries, current robots cannot “think outside the box” to find a compensatory behavior when they are damaged: they are limited to their pre-specified self-sensing abilities, which can diagnose only anticipated failure modes and strongly increase the overall complexity of the robot.
In this thesis, we propose a different approach that considers having robots learn appropriate behaviors in response to damage. However, current learning techniques are slow even with small, constrained search spaces. To allow fast and creative adaptation, we combine the creativity of evolutionary algorithms with the learning speed of policy search algorithms.
In our first contribution, we show how evolutionary algorithms can be used to find, not only one solution, but a set of both high-performing and diverse solutions. We call these sets of solutions behavioral repertoires and we used them to allow a legged robot to learn to walk in every direction and to find several thousands ways to walk. In a sense, these repertoires capture a portion of the creativity of evolutionary algorithms.
In our second contribution, we designed an algorithm that combines these behavioral repertoires with Bayesian Optimization, a policy search algorithm. The repertoires guide the learning algorithm to allow damaged robots to conduct intelligent experiments to rapidly discover a compensatory behavior that works in spite of the damage. Experiments reveal successful adaptation in less than two minutes in large search spaces and without requiring self-diagnosis or pre-specified contingency plans. The algorithm has been tested on a legged robot injured in five different ways, including damaged, broken, and missing legs, and on a robotic arm with joints broken in 14 different ways.
Finally, in our last contribution, we extended this algorithm to address three common issues in robotics: (1) transferring knowledge from one task to faster learn the following ones, (2) dealing with solutions that cannot be evaluated on the robot, which may hurt learning algorithms and (3) adapting prior information that may be misleading, in order to maximize their potential utility. All these additional features allow our damaged robotic arm to reach in less than 10 minutes 20 targets by using images provided by a camera placed at an arbitrary and unknown location.
Throughout this thesis, we made a point of designing algorithms that work not only in simulation but also in reality. Therefore, all the contributions presented in this manuscript have been evaluated on at least one physical robot, which represents one of the biggest challenges addressed in this thesis. Globally, this work aims to provide the algorithmic foundations that will allow physical robots to be more robust, effective and autonomous.
Les robots ont profondément transformé l’industrie manufacturière et sont susceptibles de délivrer de grands bénéfices pour la société, par exemple en intervenant sur des lieux de catastrophes naturelles, lors de secours à la personne ou dans le cadre de la santé et des transports. Ce sont aussi des outils précieux pour la recherche scientifique, comme pour l’exploration des planètes ou des fonds marins. L’un des obstacles majeurs à leur utilisation en dehors des environnements parfaitement contrôlés des usines ou des laboratoires, est leur fragilité. Alors que les animaux peuvent rapidement s’adapter à des blessures, les robots actuels ont des difficultés à faire preuve de créativité lorsqu’ils doivent surmonter un problème inattendu: ils sont limités aux capteurs qu’ils embarquent et ne peuvent diagnostiquer que les situations qui ont été anticipées par leur concepteurs.
Dans cette thèse, nous proposons une approche différente qui consiste à laisser le robot apprendre de lui-même un comportement palliant la panne. Cependant, les méthodes actuelles d’apprentissage sont lentes même lorsque l’espace de recherche est petit et contraint. Pour surmonter cette limitation et permettre une adaptation rapide et créative, nous combinons la créativité des algorithmes évolutionnistes avec la rapidité des algorithmes de recherche de politique (policy search).
Notre première contribution montre comment les algorithmes évolutionnistes peuvent être utilisés afin de trouver, non pas une solution, mais un large ensemble de solutions à la fois performantes et diverses. Nous appelons ces ensembles de solutions des répertoires comportementaux (behavioral repertoires). En découvrant de manière autonome ces répertoires comportementaux, notre robot hexapode a été capable d’apprendre à marcher dans toutes les directions et de trouver des milliers de façons différentes de marcher. A notre sens, ces répertoires comportementaux capturent la créativité des algorithmes évolutionnistes.
La seconde contribution que nous présentons dans ce manuscrit combine ces répertoires comportementaux avec de l’optimisation Bayesienne. Le répertoire comportemental guide l’algorithme d’optimisation afin de permettre au robot endommagé de réaliser des tests intelligents pour trouver rapidement un comportement de compensation qui fonctionne en dépit de la panne. Nos expériences démontrent que le robot est capable de s’adapter à la situation moins de deux minutes malgré l’utilisation d’un grand espace de recherche et l’absence de plan de secours préétablis. L’algorithme a été testé sur un robot hexapode endommagé de 5 manières différentes, comprenant des pattes cassées, déconnectées ou arrachées, ainsi que sur un bras robotisé avec des articulations endommagées de 14 façons différentes.
Pour finir, notre dernière contribution étend cet algorithme d’adaptation afin de pallier trois difficultés qui sont couramment rencontrées en robotique: (1) permettre de transférer les connaissances acquises sur une tâche afin d’apprendre plus rapidement à réaliser les tâches suivantes, (2) être robuste aux solutions qui ne peuvent pas être évaluées sur le robot (pour des raisons de sécurité par exemple), et qui sont susceptibles de pénaliser les performances d’apprentissage et (3) adapter les informations reçues a priori par le robot, qui peuvent être trompeuses, afin de maximiser leur utilité. Avec ces nouvelles propriétés, notre algorithme d’adaptation a permis à un bras robotisé endommagé d’atteindre successivement 20 cibles en moins de 10 minutes en utilisant uniquement les images provenant d’une caméra placée à une position arbitraire et inconnue du robot.
A travers l’ensemble de cette thèse, nous avons mis un point d’honneur à concevoir des algorithmes qui fonctionnent non seulement en simulation, mais aussi en réalité. C’est pourquoi l’ensemble des contributions présentées dans ce manuscrit ont été testées sur au moins un robot physique, ce qui représente l’un des plus grands défis de cette thèse. D’une manière générale, ces travaux visent à apporter les fondations algorithmiques permettant aux robots physiques d’être plus robustes, performants et autonomes.
Fichier principal
manuscrit.pdf (108.28 Mo)
Télécharger le fichier
Archive_example.pdf (1.22 Mo)
Télécharger le fichier
Archive_example_2.pdf (2.7 Mo)
Télécharger le fichier
Archive_example_3.pdf (1.66 Mo)
Télécharger le fichier
Archive_mapelites.pdf (3.11 Mo)
Télécharger le fichier
Traj.pdf (778.09 Ko)
Télécharger le fichier
actions2.pdf (89.76 Ko)
Télécharger le fichier
archive.pdf (932.45 Ko)
Télécharger le fichier
archive_mapelites_nature.pdf (665.52 Ko)
Télécharger le fichier
arm_setup_1.pdf (1.66 Mo)
Télécharger le fichier
arm_setup_2.pdf (21.97 Mo)
Télécharger le fichier
best_choice.pdf (106.64 Ko)
Télécharger le fichier
bl_physical_setup.pdf (4.99 Mo)
Télécharger le fichier
bo_tuto.pdf (93.6 Ko)
Télécharger le fichier
boxplot.pdf (48.63 Ko)
Télécharger le fichier
duration_irreducible_ggplot.pdf (4.72 Ko)
Télécharger le fichier
duration_repartition_ggplot.pdf (4.74 Ko)
Télécharger le fichier
ea.pdf (202.98 Ko)
Télécharger le fichier
evolution.pdf (4.21 Mo)
Télécharger le fichier
evolution_archive.pdf (960.14 Ko)
Télécharger le fichier
extended_data_figure1.pdf (183.82 Ko)
Télécharger le fichier
extended_data_figure10.pdf (847.14 Ko)
Télécharger le fichier
extended_data_figure2.pdf (300.2 Ko)
Télécharger le fichier
extended_data_figure3.pdf (123.12 Ko)
Télécharger le fichier
extended_data_figure4.pdf (200.62 Ko)
Télécharger le fichier
extended_data_figure5.pdf (2.92 Mo)
Télécharger le fichier
extended_data_figure6.pdf (2.68 Mo)
Télécharger le fichier
extended_data_figure7.pdf (990.81 Ko)
Télécharger le fichier
extended_data_figure8.pdf (1.15 Mo)
Télécharger le fichier
extended_data_figure9.pdf (204.24 Ko)
Télécharger le fichier
extrapolations.pdf (58.04 Ko)
Télécharger le fichier
failures_robot.pdf (43.29 Mo)
Télécharger le fichier
figure1.pdf (2.15 Mo)
Télécharger le fichier
figure2.pdf (1.29 Mo)
Télécharger le fichier
figure3.pdf (6.71 Mo)
Télécharger le fichier
figure4.pdf (1.22 Mo)
Télécharger le fichier
intact_annotated.pdf (550.39 Ko)
Télécharger le fichier
local_search_integ_zoom.pdf (24.38 Ko)
Télécharger le fichier
logo_cnrs.pdf (3.04 Ko)
Télécharger le fichier
logo_creadapt.pdf (11.81 Ko)
Télécharger le fichier
logo_isir.pdf (59.86 Ko)
Télécharger le fichier
logo_upmc_creadapt.pdf (188.76 Ko)
Télécharger le fichier
nombre_transferable.pdf (21.93 Ko)
Télécharger le fichier
objective.pdf (1.88 Mo)
Télécharger le fichier
performance_mapelites.pdf (61.85 Ko)
Télécharger le fichier
policy_search_integ_zoom.pdf (24.3 Ko)
Télécharger le fichier
precision.pdf (116.52 Ko)
Télécharger le fichier
result_1it_nobl_PILCO.pdf (26.17 Ko)
Télécharger le fichier
result_misleading.pdf (26.24 Ko)
Télécharger le fichier
result_priors.pdf (43.64 Ko)
Télécharger le fichier
result_priors_real.pdf (38.01 Ko)
Télécharger le fichier
result_punishment.pdf (47.55 Ko)
Télécharger le fichier
result_successrate_transfer.pdf (31.91 Ko)
Télécharger le fichier
result_transfer.pdf (41.82 Ko)
Télécharger le fichier
result_transfer_bl.pdf (41.58 Ko)
Télécharger le fichier
results_blocked_legs_coda_ggplot.pdf (18.03 Ko)
Télécharger le fichier
results_blocked_legs_simu_ggplot.pdf (4.81 Ko)
Télécharger le fichier
results_initial_learning_ggplot.pdf (5.21 Ko)
Télécharger le fichier
results_lost_leg_ggplot.pdf (5.18 Ko)
Télécharger le fichier
results_middlelostleg_ggplot.pdf (4.86 Ko)
Télécharger le fichier
results_shortened_leg_ggplot.pdf (5.19 Ko)
Télécharger le fichier
results_twolostlegs_ggplot.pdf (4.86 Ko)
Télécharger le fichier
results_unpowered_leg_ggplot.pdf (5.17 Ko)
Télécharger le fichier
robot.pdf (130.58 Ko)
Télécharger le fichier
schema1.pdf (245.5 Ko)
Télécharger le fichier
schema2.pdf (208.97 Ko)
Télécharger le fichier
schema3.pdf (238.23 Ko)
Télécharger le fichier
schema4.pdf (237.17 Ko)
Télécharger le fichier
schema_blacklist_1.pdf (48.74 Ko)
Télécharger le fichier
schema_blacklist_2.pdf (66.92 Ko)
Télécharger le fichier
schema_mapelites.pdf (74.28 Ko)
Télécharger le fichier
schema_pareto.pdf (21.64 Ko)
Télécharger le fichier
schema_predefined2.pdf (342.63 Ko)
Télécharger le fichier
schema_ps.pdf (19.13 Ko)
Télécharger le fichier
schema_transfer.pdf (54.97 Ko)
Télécharger le fichier
traj_both_lostleg.pdf (8.38 Ko)
Télécharger le fichier
traj_both_middlelost.pdf (10.97 Ko)
Télécharger le fichier
traj_both_middlelostleg.pdf (10.97 Ko)
Télécharger le fichier
traj_both_shoowered.pdf (10.64 Ko)
Télécharger le fichier
traj_both_shortened.pdf (10.9 Ko)
Télécharger le fichier
traj_both_twolostlegs.pdf (10.71 Ko)
Télécharger le fichier
traj_both_undamaged.pdf (10.95 Ko)
Télécharger le fichier
traj_both_unpowered.pdf (10.94 Ko)
Télécharger le fichier
transferability.pdf (2.04 Mo)
Télécharger le fichier