Deux jours avant le lancement officiel de la Coupe du Monde 2002, une autre compétition de foot se terminait en Corée : la coupe du monde des robots footballeurs ou "FIRA Cup".
Cette dernière a vu s'affronter plus de 200 équipes provenant de 25 pays différents, via des robots miniatures élaborés au sein des laboratoire de recherche.
| Créée en 1997, l'initiative de Jong-Hwan Kim, un Professeur de l'Institut Coréen de Technologie (KAIST), la FIRA ("Federation of International Robot-soccer Association") vise à promouvoir la recherche robotique, en s'appuyant sur une compétition aux règles précises. La FIRA Cup est destinée d'une part à fournir aux universités un terrain d'expérimentation, d'autre part à populariser la robotique. La coupe du monde de robot-foot est décomposée en plusieurs tournois aux caractéristiques variées. Parmi eux, "MiroSot" (Micro-Robot Soccer Tournament) est le plus populaire. Les équipes s'affrontent sur un terrain de la taille d'une table de billard, sur lequel des robots d'apparence dépouillée (de simples cubes de 6 cm de côté montés sur roulettes) poussent un ballon ressemblant à une balle de ping-pong (2 robots plus 1 goal par équipe ). |
|
L'exploit se cache derrière cette apparente simplicité : les robots sont en
réalité des agent autonomes devant collaborer pour remplier leur objectif :
marquer des BUTS !
Leur pilotage est effectué à distance par un ordinateur en
utilisant la voie hertzienne. Il s'agit de démonter l'efficacité des dernières
avancées à la fois en intelligence artificielle et en robotique.
Il ne faut cependant pas trop en demander : cette aventure se heurte à d'imporantes difficultés techniques. Ainsi la liasion robot-ordinateur est considérée par nombre des participants comme un élément central de réussite. Du coup on ne se situe plus tout à fait dans système multiagents. En effet, les robots ne sont pas guidés par un être humain mais ne sont pas autonomes non plus : leur ``intelligence'' est centralisée par un ordinateur qui donne une stratégie globale (même si ce dernier essaye de faire collaborer ses ouailles). Un second élément est l'objet de toutes les attentions, c'est la capacité à prédire rapidement la trajectoire de la balle.
Le champ de recherche est largement dominé par les asiatiques. Les différences de niveau entre les robots proviennent davantage d'une bonne rapidité de réaction et de déplacement plutôt que de la qualité de l'intelligence artificielle.
Il existe une autre catégorie, simurosot, beaucoup moins connue qui consiste à en un affrontement de deux équipes de robots virtuels. (entre 5 et 11 robots par équipe selon le type d'épreuve 3 ordinateurs dédiés à la simulation). Cependant bien que les équipes se refusent à donner leurs algorithmes de contrôle, il semble qu'il ne s'agisse toujours pas d'agents indépendants communiquant avec leur environnement virtuel mais d'une stratégie collective mise en place par une intelligence centralisée. On peut citer egalement un autre exemple de robots footbaleurs qui est celui du trophé M6 1998. Cependant celui-ci est destiné au étudiants et ne met pas en oeuvre de techniques liées au jeu en équipe : une vidéo assez éloquente à ce sujet : robot de l'IUT de ville d'Avray (FRANCE) qui a terminé 3e en France (derrière l'X et EEA Orsay) et qui a gagné la coupe européenne. |
|
Dans l'ensemble on peut considérer que ces compétitions de robots footballeurs (pour lesquels il faut également citer la RoboCup) sont des vitrines technologiques destinées aux médias et au grand public. Nous allons voir qu'il existe une autre partie des robots collaborant qui est davantage réservée aux chercheurs.
Les véritables robots collaboratifs sont ailleurs, cachés dans les laboratoires de recherche et encore assez peu spectaculaires. Néanmoins, on peut reprérer plusieurs initiatives intéressantes : on parle alors de Swarm Intelligence (il ne s'agit en fait que d'une fraction de la swarm intelligence qui est plus large que l'application aux seuls robots physiques )
Pour éviter de tomber dans les écueils précédents et pour travailler sur de réels agents autonomes, nous allons commencer par quelques définitions :
Pour le premier, je pense que la figure suivante résume bien la situation : le baton est trop grand pour qu'un robot parvienne seul à l'extraire...
L'idée vient de la biologie [Chauvin and Janin, 1975] et les premières expérimentations sont de [Martinoli and Mondada,1995]. Plusieurs types de robots ont étés testés ; en particulier certains possédaient un meilleurs algorithmes (de reconnaissance et de communication) La conclusion de l'époque était qu'il fallait d'abord construire des individus performants puis les faire collaborer plutôt que de construire d'emblée un système collaboratif. Cette idée s'est trouvée confirmée par la suite [Ijspeert, Martinoli, Billard, and Gambardella, 2001] ont mis en évidence que l'amélioration du comportement au niveau individuel permettait d'améliorer la collaboration globale d'un ordre de grandeur. De nombreux test ont étés menés avec des robots communiquants ou non, avec des robots homogènes ou hétérogènes... Les meilleurs résultats ont étés obtenus avec des robots homogènes communiquants possédant un schéma d'action probabilite ; c'est-à-dire que leur comportement est une chaine de Markov au lieu d'un automate déterministe.
Bien sûr, il est difficile d'apprendre une chaîne de Markov et à mon avis ce point est une limitation importante dans la construction de robots devant gérer des tâches plus complexes. En effet on est obligé d'avoir une idée à priori de la forme de la chaîne à apprendre et on doit initialiser les poids à des valeurs relativement correctes pour pouvoir utiliser les algorithmes d'apprentissage classiques. Rick Sutton de Stanford travaille sur ce point particulier en essayant de remplacer les Processus de Decison de Markow par des PSR (Predictive State Representation).
Le second grand exemple est le transport collaboratif, clairement inspiré des
fourmis...
Le problème est de coordonner un groupe de robots pour pousser une boîte sans
contrôle centralisé ni de communication explicite entre les robots.
Deux tâches :
Cette expérience soulève bien des questions : Plus les robots sont nombreux plus ils ont du mal... Ceci semble être du à des difficulté de coordination mais est selon moi un point gênant... les robots lors des tests parviennent à changer de comportement lorsqu'il stagnent ; on observe le même comportement chez les fourmis y a t-il un lien ? Il n'y a pas de modélisation précise dans cette expérience, et l'apprentissage des robots fait appel à de nombreux ``coups de tournevis'' Les robots ne communiquent pas du tout entre eux (pas même au niveau local). Quelles en sont les conséquences ? (Variabilité des résultats , performance sous-linéaires)
Présentation des recherches de KubeEn plus de ces deux grandes expériences collaboratives, on peut citer d'autres approches coopératives (attention à la nuance).
Box-pushing with Alliance architecture [L. Parker 1995, 2000] basée sur le comportement, résistante au bruit, distribuée, adaptée pour des robots hétérogènes, exploite la supériorité des robots sur les insectes en termes de communication Mais cette approche ne passe pas à l'échelle : elle repose sur le fait que chaque robot est conscient de ce que font les autres (communication globale, système de positionnement absolu, monotâche ) et ne fonctionne que pour de petits groupes de robots. Approche idendique dans [M. Mataric1995, 2000]
Stick-Passing [L. Parker 1995, 2000]
Box lifting and transportation [Bay and Johnson, 1995] Se base sur des techniques employées par l'armée pour transporter des charges. On force le calcul et la modélisation d'un plan d'action. Il semble que personne n'ai vu le système fonctionner réellement.
Cooperative manipulation [Khatib 1999, 2000] On force le calcul et la modélisation d'un plan d'action.
les robots CESAR de l'ORNL dont la mission est principalement la découverte de milieux nouveaux par une approche coopérative (et non collaborative).
Les Tactical Mobiles Robots (TMR) ; ils sont développés avec des crédits militaires pour remplir des missions de reconnaissance. Certains de leurs projets font appels à des groupes de robots collaborant
Deux Grandes questions semblent se poser pour l'avenir des robots collaboratifs :
Comment fusionner les approches collaboratives et coopératives sans perdre le passage à l'échelle ? Et de manière générale comment s'effectuent les passages à l'échelle pour des groupes ? Ce point est extrèment interessant et fait l'objet de recherches de la part de grands mathématiciens et physiciens (en particulier pour tenter de comprendre la structure de l'univers). En effet, il semble que nos outils classiques tels que la dérivée (ou plus largement les distributions) ne soient absolument pas adaptés pour répondre à des problèmes complexes de type fractal par exemple (comment trouver une tangente à l'ensemble de Mandelbroot alors qu'il n'y a même pas de frontière).
Quelle type de communication implicite ou explicite, peut-on s'autoriser dans une expérience strictement collaborative ? La question se retrouve à mon sens dans le monde des agents : quels moyens de communication utiliser ? KQML ? Peut-on espérer mettre au point une technique de communication qui soit adaptable et évolutive au cours du temps ? Ce point me paraît fondamental car comment continuer une approche incrémentale telle que le permettent les agents si on est obligé de reprogrammer tous les agents chaque fois que l'on souhaite enrichir le langage. A mon sens il y a deux solutions à ce problème :