Système multi-robots autonome et coopératif
Transcription
Système multi-robots autonome et coopératif
1 ARTICLE DE SYNTHÈSE, ELE6904 SÉMINAIRES • AVRIL 2004 Système multi-robots autonome et coopératif Julien Beaudry, étudiant M.Sc.A. en génie électrique, École Polytechnique de Montréal Résumé—Le but de ce projet est d’utiliser le soccer robotisé pour quantifier l’efficacité et la robustesse de différentes architectures de communication et différents mécanismes de coopération pour systèmes multi-robots. 6 robots mobiles physiquement homogènes ainsi qu’un simulateur peuvent servir de banc d’essai. Afin d’offrir des possibilités coopératives intéressantes, l’emphase a été mise dans un premier temps sur le développement des capacités individuelles des robots. Il s’agit d’un projet ambitieux étant donnée l’implantation sur un système multi-robots réel. Le travail est bien entamé mais non terminé. Le texte qui suit présente donc quelques éléments pertinents seulement. Mots clés—systèmes multi-robots, soccer robotisé, simulation dynamique, structures décisionnelles, hiérarchisation des comportements. I. INTRODUCTION L e soccer robotisé constitue une plate-forme d’essai de prédilection pour différents domaines comme les systèmes multi-robots et l’intelligence artificielle. Si nous pensons à l’objectif ultime de la RoboCup, “By 2050, develop a team of fully autonomous humanoid robots that can win against the human world champion team in soccer”, nous réalisons à quel point les défis techniques à relever à différents niveaux sont énormes. Pour qu’une équipe de robots soit capable de communiquer et de coopérer, et ce face à une équipe adverse dans un environnement partiellement connu, il lui faut compter sur plusieurs éléments techniques essentiels : plate-forme mécatronique agile, liens de communication, processus décisionnel, système de perception, etc. Le texte qui suit vise à présenter différents éléments novateurs développés à l’École Polytechnique de Montréal dans le cadre d’un projet de système multi-robots autonome et coopératif. Le système développé est présenté ainsi que les différentes approches possibles au niveau de la structure décisionnelle à adopter. Finalement le soccer robotisé est présenté comme une plateforme d’essai permettant la quantification de résultats. II. DEFINITION D’UN SYSTEME MULTI-ROBOTS COOPERATIF En mettant en commun les concepts sociaux que nous avons développés avec les possibilités qu’offre aujourd’hui la Document transmis le 8 avril 2004. Ce projet est supporté par le Département de génie électrique de l’École Polytechnique ainsi que par le Fonds Nature et Technologies. J. Beaudry est un étudiant gradué de l’École Polytechnique de Montréal, Montréal, QC H3T 1J4 Canada (tél. : 514-340-4711 ext.7030 fax: 514-3404174; courriel: [email protected]). robotique mobile, nous pouvons penser à un système où une équipe de robots est en mesure de mettre en application ces concepts sociaux. Par exemple, les membres d’une équipe sportive ou d’une équipe de travail sont en mesure de s’entraider et de coopérer. Avec les éléments nécessaires, une équipe de robots est également capable de le faire. Nous pourrions ainsi donc définir un système multi-robots coopératif comme étant, selon l’auteur, un “Groupe de robots, hétérogène ou homogène, utilisant un certain mécanisme permettant d’améliorer l’efficacité d’exécution de tâches ou encore permettant d’exécuter de nouvelles tâches impossibles à exécuter de façon individuelle.” Cette définition permet de réaliser que presque dans tous les domaines où la robotique mobile peut être utile, les systèmes multi-robots peuvent apporter des nouvelles possibilités intéressantes. Parmi les exemples d’applications de tels systèmes, nous pouvons penser aux suivants : équipe de robots pour exploration spatiale, équipe de robots pour usine de fabrication, équipe de robots pour détecter et enlever les mines anti-personnel, équipe de robots de sécurité, équipe de robots pour inspection d’endroits à risque (grotte, mines, sous-marin, aérien). Des possibilités d’applications sont également à prévoir dans d’autres secteurs, dans un avenir un peu plus lointain, par exemple dans l’industrie agricole et celle des transports. III. PLATEFORME D’ESSAI: SOCCER ROBOTISÉ Le soccer robotisé constitue la plateforme d’essai préconisée par le présent projet. Pourquoi donc utiliser le soccer robotisé comme prétexte de développement d’un système multi-robots? En fait, la problématique de développer une équipe de robots joueurs de soccer autonomes demande la résolution de problèmes complexes dans des domaines variés (systèmes électro-mécaniques, informatique temps-réel, systèmes de perception, contrôle de bas et de haut niveau, mécanismes de coopération, intelligence artificielle, etc.). Comme la plupart des projets de robotique mobile demandent la résolution de problèmes similaires (mouvements agiles, perception de l’environnement, etc.), les solutions développées dans le cadre d’un projet comme celui présenté sont facilement transférables dans d’autres applications ayant des retombées plus concrètes. De plus, comme le soccer est le sport le plus populaire au monde, ce prétexte présente ainsi une bonne occasion de regrouper la communauté scientifique internationale provenant des divers domaines rattachés. Il existe d’ailleurs de ARTICLE DE SYNTHÈSE, ELE6904 SÉMINAIRES • AVRIL 2004 nombreuses compétitions de soccer robotisé à travers le monde, comme la Coupe du monde de soccer robotisé, la RoboCup. La RoboCup est une compétition internationale permettant à des équipes de robots de différentes universités et même d’entreprises privées de s’affronter dans un tournoi qui a lieu annuellement dans divers coins de la planète. Plusieurs ligues permettent de spécifier des formats de terrain et de robots différents, dont la “Middle Size Robot League”, la ligue qui sert de référence pour ce projet. Utilisant le sport le plus populaire au monde, cette compétition permet de rapprocher le grand public des plus récents développements en robotique mobile. Il y a d’ailleurs près de 100 000 visiteurs à chaque édition de la compétition. L’objectif ultime de la RoboCup n’est rien de moins que : “By 2050, develop a team of fully autonomous humanoid robots that can win against the human world champion team in soccer”. En plus de présenter un tournoi éliminatoire par ligue, cet événement compte également un symposium permettant à la communauté scientifique rattachée d’échanger de précieuses connaissances. Le symposium est d’ailleurs une bonne occasion de présenter des travaux pertinents à d’autres applications que le soccer robotisé. Afin de permettre aux robots de se repérer sur le terrain de jeu, les différentes ligues définissent des balises et spécifications aux caractéristiques connues. Ainsi, dans la Middle-Size League, deux équipes de 4 robots s’affrontent sur un terrain d’environ 8x12m où des balises bleu et jaune sont disposées aux 4 coins du terrain. Les buts et le ballon sont également de couleurs spécifiques. L’image qui suit présente une image d’un match typique de cette ligue. 2 coopératif. Le système développé dans le cadre de ce projet compte 6 robots physiquement homogènes. L’image qui suit présente l’aspect physique de ces robots et les lignes qui suivent présentent les divers éléments développés dans le cadre de ce projet. Figure 2 : Image de l’équipe de robots développée. A. Plateforme électromécanique La configuration des robots footballeurs est une plateforme à vitesses différentielles symétrique: 2 moteurs de propulsion et de direction couplés à deux roues motrices. Les roues motrices sont disposées au centre du robot et 2 roues libres assurant la stabilité sont disposées à l’avant et à l’arrière du robot. Le centre de masse se retrouve le plus près possible de l’axe des roues motrices. Les performances de cette plateforme sont intéressantes puisqu’elle permet d’atteindre des vitesses de près de 3m/s et 18rad/s tout en conservant des accélérations satisfaisantes. La plateforme développée est en fait une réingénierie du robot SpinoS développé à Polytechnique (J.Beaudry [1]).Cette plateforme est complétée par un système pneumatique de contrôle et de botter du ballon. Ce système est composé de rouleaux de mousse passifs pour contrôler le ballon, en respect des règlements de la compétition, et de pistons pneumatiques permettant de botter le ballon. Ce système utilise la symétrie de la plateforme puisque qu’il comporte deux modules, à l’avant et à l’arrière du robot. La figure qui suit présente une modélisation de cette plateforme. Figure 1 : Image d’un match de la RoboCup Middle-Size League. IV. DESCRIPTION DU SYSTÈME UTILISÉ De nombreuses composantes sont nécessaires au fonctionnement du système de jeu de soccer robotisé dans son ensemble. On compte parmi ces éléments une plateforme mécatronique, les modules électroniques essentiels, un logiciel de contrôle temps-réel ainsi qu’un simulateur. Tous ces éléments permettent de développer un système multi-robots Figure 3 : Modélisation CATIA de la plateforme électromécanique. B. Composantes électroniques Pour obtenir un robot mobile autonome capable de percevoir, de réagir et d’agir sur son environnement et ce en coopération ARTICLE DE SYNTHÈSE, ELE6904 SÉMINAIRES • AVRIL 2004 avec les membres d’une équipe, de nombreuses composantes électroniques sont nécessaires. Voici une brève description des principales composantes. 3 figure qui suit résume la structure du logiciel de contrôle. On remarque sur ce schéma quatre classes. Chacun des robots est muni d’un ordinateur embarqué de format Half-Size SBC. Cet ordinateur possède un processeur de génération Intel Pentium 3, 256Mo de mémoire SDRAM, une carte graphique ainsi qu’un contrôleur Ethernet intégrés. Il se base sur les bus PC/104 et PC/104+ pour interfacer des cartes additionnelles. Pour contrôler ses moteurs ainsi que les valves pneumatiques, le robot utilise une carte de contrôle offrant deux boucles de rétroaction avec PID numérique ainsi que les circuits d’amplification nécessaires. De plus, cette carte offre des entrées/sorties numériques permettant entre autre de déclencher les botteurs pneumatiques au moment opportun. Pour communiquer avec le reste de l’équipe et possiblement un serveur central, chacun des robots est muni d’un lien de communication sans fil utilisant la norme IEEE 802.11b et offrant un débit maximal de 3,6Mbps. Enfin, afin de bien percevoir sa position sur le terrain ainsi que la position du ballon et des autres robots, chacun des robots est muni d’un système de perception adéquat. L’élément central de ce système de perception est le système de vision omnidirectionnel que possède chacun des robots. Il est principalement constitué d’une caméra USB et d’un miroir convexe. L’image qui suit présente l’aspect physique de ce système de vision ainsi qu’une image omnidirectionnelle vue de la caméra. Figure 4 : Système de vision embarqué. C. Logiciel de contrôle Afin de réagir adéquatement, chacun des robots doit compter sur un logiciel de contrôle temps-réel robuste et à exécution rapide et périodique. Le système d’exploitation utilisé sur les robots footballeurs est Debian Linux avec le noyau 2.4.18. L’ordonnanceur du système a été configuré pour fonctionner à 1kHz, ce qui donne des performances temps réel satisfaisantes. Le langage de programmation utilisé est le C++. Il est ainsi possible de développer un logiciel multi-thread temps-réel répondant aux besoins. Le logiciel développé modularise de façon intuitive les différentes capacités du robot (perception, cognition, action). Cette modularité a entre autre facilité le développement d’une plateforme de simulation dynamique. La Figure 5 : Schéma résumant le logiciel de contrôle des robots. 1) Classe Brain Elle se charge de prendre des décisions en fonction de l’état du robot et de son environnement. Par exemple, un attaquant, en fonction de sa position, de celles des autres joueurs et de celle du ballon, peut prendre des décisions semblables à « tirer au but », « effectuer une passe » ou encore « jouer un rôle défensif ». Plusieurs cerveaux différents ont été programmés jusqu’à présent pour répondre à des besoins divers. Le cerveau se base sur le bon fonctionnement de la classe Perception qui lui fournit sa position et celle des autres éléments. Il utilise la classe MotionControl pour atteindre des cibles sur le terrain de jeu et il utilise la classe Controller pour botter le ballon. Cette classe est celle dans laquelle se fait le travail de coopération. 2) Classe Perception Ce module est responsable de prendre les informations provenant des encodeurs optiques et de la caméra pour calculer les différentes valeurs numériques pertinentes de l’espace opérationnel, soient les coordonnées et vitesses des différents objets dynamiques. 3) Classe MotionControl Ce module se charge principalement de déplacer le robot vers la cible désirée, à la vitesse de référence désirée, tout en évitant les obstacles du terrain. Comme on peut le voir sur le schéma, le module détermine les vitesses désirées en fonction de la cible et des éléments du terrain. La technique d’évitement d’obstacles utilise une approche réactive semblable à celle utilisée dans M. Bowling, M.Veloso ([2]). 4) Classe Controller Ce module a deux fonctions principales. La première est de convertir les vitesses désirées de l’espace opérationnel à l’espace articulaire et de transmettre ces vitesses désirées à la carte de contrôle. Sa deuxième fonction est d’actionner les valves pneumatiques des botteurs. D. Plateforme de simulation La modularité du logiciel de contrôle ainsi que les possibilités de la librairie MICROB utilisée dans le projet ont grandement facilité le développement d’une plateforme de simulation dynamique. En fait, au niveau du logiciel de contrôle, seule la classe Controller doit être modifiée où les accès à la carte de 4 ARTICLE DE SYNTHÈSE, ELE6904 SÉMINAIRES • AVRIL 2004 contrôle sont remplacés par les modèles cinématique et dynamique développés par R. M. DeSantis ([2]). Un simulateur de dynamique du ballon ainsi qu’un visualisateur 3D, présenté à la figure qui suit, permettent de compléter ce simulateur. Les apports d’une telle plateforme de simulation sont importants lorsque vient le temps de développer des algorithmes de contrôle de haut niveau ainsi que les différents comportements des robots, car il est alors possible de le faire sans nécessiter le système réel. Figure 6 : Visualisateur 3D utilisé en simulation. E. Capacités coopératives Le système présenté précédemment permet donc de développer un système multi-robots démontrant des capacités ccopératives. Pour le présent projet, nous pouvons regrouper les capcités coopératives dans deux grandes catégories bien distinctes : l’assignation dynamique de rôles et la manipulation coopérative. Voici une description de ces deux types de coopération. 1) Assignation dynamique de rôles (ADR) L’assignation dynamique de rôles est une approche fréquemment utilisée (R. Emery, K. Sikorsky, T. Balch [4], L. Chainowicz, M.F.M. Campos, V. Kumar [5] et P. Stone [6]) lorsque vient le temps d’assigner des tâches aux différents robots d’une équipe de robots homogènes comme celle du présent projet. Grâce à un mécanisme adéquat, il est possible de distribuer les différentes tâches d’un système de façon à répondre à certains critères d’optimalité et d’efficacité. Il peut également être nécessaire d’assigner des zones de couverture. Par exemple, deux robots peuvent se voir assigner une tâche identique mais avec des zones de couverture différentes. Ce type de coopération est le sujet des paragraphes qui suivent. 2) Manipulation coopérative Ce type de coopération est utilisé lorsqu’il est nécessaire ou avantageux d’utiliser plusieurs robots pour manipuler un même objet ou un même groupe d’objets. Par exemple, dans le cas du présent projet, il est difficile pour un robot seul de se déplacer rapidement avec le ballon, étant données les contraintes imposées par les règlements de la compétition au niveau du contrôle du ballon. La manipulation coopérative peut alors être grandement utile puisque deux robots pourraient être en mesure de manipuler le ballon en coopération de façon à grandement améliorer l’agilité de cette manipulation. Cette capacité sera développée ultérieurement et n’est pas traitée dans le présent texte. V. HIÉRARCHISATION DES COMPORTEMENTS Afin de permettre à un robot individuel de coopérer avec une équipe de robots, il est nécessaire de pouvoir gérer de façon adéquate ses comportements. Pour y arriver, une hiérarchisation des comportements du robot s’impose (P. Stone [6]). Le schéma qui suit présente la hiérarchie utilisée dans le présent projet. Figure 7 : Schéma résumant la hiérarchie des comportements des robots. On remarque que plus on monte dans la hiérarchie, plus les comportements deviennent complexes et abstraits. Le premier étage, celui des capacité individuelles, touche directement aux actuateurs du robot et permet à ce dernier de démontrer des comportements satisfaisants en terme d’agilité, d’efficacité et de robustesse. Ensuite on retrouve les capacités d’équipe, capables d’être effectués individuellement, sans coopération. À l’étage supérieur on retrouve les comportements coopératifs des robots. Ces comportements sont en fait constitués d’un mécanisme d’assignation dynamique des rôles (ADR) et des zones de couverture. Ce mécanisme détermine, en fonction de nombreux facteurs, tels l’état du match et la situation de jeu, la formation à employer (par exemple le nombre d’attaquants et de défenseurs et leurs zones de couverture). Évidemment, chacun des comportements doit être correctement élaboré et certains peuvent demander une quantité considérable de programmation. Mentionnons que chacun de ces comportements peut comporter sa propre machine à états. En étudiant cette structure, on conclut rapidement que cette hiérarchie fonctionne bien seulement si chacun des étages démontre un fonctionnement adéquat. Par analogie, une équipe de sport professionnel ne peut espérer remporter un championnat si chacun des membres de l’équipe ne présente pas des aptitudes individuelles adéquates et si l’entraîneur ne sait pas comment tirer profit de ces aptitudes. ARTICLE DE SYNTHÈSE, ELE6904 SÉMINAIRES • AVRIL 2004 VI. STRUCTURES DÉCISIONNELLES POSSIBLES Dans une équipe de robots homogènes, chacun des robots est capable d’effectuer les mêmes tâches individuellement et un mécanisme d’ADR permet de gérer adéquatement les comportements des robots de l’équipe. Comme les robots sont homogènes, un mécanisme d’ADR identique pour chacun des robots peut être utilisé. Ainsi donc, pour un mécanisme décisionnel donné (ADR), plusieurs structures décisionnelles sont possibles. Il est possible de distribuer le mécanisme et il est également possible de le centraliser. Pour bénéficier des avantages des deux approches il est également possible d’utiliser une approche mixte. Voici un résumé des différentes approches possibles. A. Approche distribuée Le schéma qui suit résume le fonctionnement de l’approche distribuée. 5 nous pouvons supposer que la mise en commun de l’information génère la représentation du monde la plus fidèle qu’il est possible d’obtenir. Il est ainsi possible d’être plus robuste que pour l’approche distribuée puisqu’il est impossible, par exemple, que deux robots se voient attribuer un même rôle ou encore une même zone de couverture. Cependant, cette approche émet l’hypothèse que la communication du système est robuste et toujours présente. Comme cette hypothèse est audacieuse étant donnée les possibilités de faille des liens de communication sans fil, cette approche n’est pas non plus parfaite dans notre cas. C. Approche mixte Le schéma qui suit résume le fonctionnement de l’approche mixte. Figure 8 : Schéma résumant une structure décisionnelle distribuée. On remarque que chacun des robots possède son propre mécanisme d’ADR et qu’il n’existe aucun lien d’interdépendance entre les robots. Cette approche est donc intéressante (et la seule possible!) lorsque la communication entre les robots est impossible. Étant donné que la perception est distribuée, cette structure est possible. Il est difficile cependant d’affirmer que cette approche peut être robuste. En effet, il est impossible d’obtenir une représentation du monde qui est identique pour chacun des robots. Le système de perception de chacun des robots présente une erreur de représentation non nulle et différente pour chacun. Comme le mécanisme d’ADR se base, entre autre, sur cette représentation du monde, il est possible que le mécanisme d’ADR désiré ne soit pas respecté par tous les robots de l’équipe. B. Approche centralisée Le schéma qui suit résume le fonctionnement de l’approche centralisée. Figure 10 : Schéma résumant une structure décisionnelle mixte. Cette approche bénéficie des avantages des deux approches précédentes et peut éliminer leurs désavantages. Comme la perception des robots est distribuée, il est possible également de distribuer le mécanisme d’ADR. Cependant, comme la représentation du monde peut être différente d’un robot à l’autre et ainsi occasionner des décisions erronnées, le mécanisme d’ADR central vient corriger la situation. Effectivement, cet ADR central, bénéficiant de la représentation commune, est en mesure d’attribuer les rôles convenablement et ainsi resynchroniser l’équipe de robots. Comme la communication peut ne pas être disponible en tout temps, les mécanismes locaux sont eux toujours disponibles. Il est important de voir également que les robots doivent bénéficier de la représentation du monde commune qu’utilise l’ADR central, cette représentation doit être transmise à chacun des robots pour assurer la synchronisation de leurs mécanismes locaux avec le mécanisme central. VII. ÉVALUATION QUANTITATIVE ET RÉSULTATS ESCOMPTÉS Figure 9 : Schéma résumant une structure décisionnelle centralisée. On remarque sur le schéma qu’il existe un seul mécanisme d’ADR centralisé. Ce mécanisme se charge de déterminer le rôle de chacun des robots du système. Comme la perception est distribuée, il utilise une représentation du monde qui est une mise en commun de l’information reçue de chacun des robots. Il n’est pas impossible que de mauvaises décisions soient prises dans le cas d’une perception inadéquate, mais Comme il a été mentionné préalablement, le soccer robotisé, en plus de présenter un prétexte de développement pertinent, permet de quantifier les performances d’un système multirobots. Effectivement, il est possible d’identifier différents éléments quantitatifs pertinents pour évaluer les performances d’un système. Par exemple, nous pouvons considérer le nombre de buts marqués, le nombre de tirs au but effecutés, le temps de possession du ballon, le temps de possession dans les différentes zones du terrain, le nombre de passes tentées et réussies, etc. Voilà donc un éventail de mesures possibles et qui peuvent être d’une grande utilité dans l’étude des systèmes multi-robots coopératifs. ARTICLE DE SYNTHÈSE, ELE6904 SÉMINAIRES • AVRIL 2004 Cette évaluation quantitative devrait permettre, dans le cadre du présent projet, d’évaluer les performances des différentes approches de structures décisionnelles mentionnées précédemment. Cela devrait permettre de confirmer l’hypothèse voulant que l’approche mixte soit la plus performante. De plus, cette évaluation pourra permettre le développement de différents mécanismes d’assignation dynamique des rôles et des zones de couverture. VIII. CONCLUSION Nous avons vu dans le présent document que le système développé dans le cadre de ce projet est adéquat pour permettre le développement des capacités coopératives de ce dernier. L’agilité de la plateforme électro-mécanique, l’efficacité de l’électronique de contrôle, la modularité du logiciel de contrôle temps-réel, la puissance de l’ordinateur embarqué ainsi que la précision et la robustesse du système de perception font partie des éléments essentiels au bon fonctionnement de ce système multi-robots. Il est donc possible à partir d’aujourd’hui d’utiliser le soccer robotisé pour évaluer les performances de différentes approches aux niveaux des mécanismes d’assignation dynamique et des structures décisionnelles. Comme les solutions techniques développées en rapport avec le soccer robotisé sont généralement transférables directement à des applications à retombées beaucoup plus concrètes, il est possible d’espérer que ce projet puisse mener à des développements de concepts ou à des résultats pertinents et ayant des répercussions intéressantes. REMERCIEMENTS J. Beaudry tient à remercier Richard Hurteau pour son support scientifique ainsi que pour les ressources matérielles et humaines qu’il est en mesure de joindre au projet. L’auteur tient également à remercier Richard Grenier pour son apport considérable lors de la conception et la fabrication des robots mobiles. RÉFÉRENCES [1] [2] [3] [4] [5] [6] J. Beaudry. Projet SpinoS : conception et contrôle d’un robot mobile à vitesses différentielles. École Polytechnique de Montréal. Décembre 2001. M. Bowling, M. Veloso. Motion Control in Dynamic Multi-Robot Environments. Proceedings of the 1999 IEEE International Symposium on Computational Intelligence in Robotics and Automation. 1999. R. M. DeSantis. Dynamique des systèmes mécaniques sous contraintes holonomes et non holonomes. École Polytechnique de Montréal. 1999. R. Emery, K. Sikorsky, T. Balch. Protocols for Collaboration, Coordination and Dynamic Role Assignment in a Robot Team. Proceedings of the 2002 IEEE International Conference on Robotics & Automation. 2002. L. Chainowicz, M.F.M. Campos, V. Kumar. Dynamic role Assignment for Cooperative Robots. Proceedings of the 2002 IEEE International Conference on Robotics & Automation. 2002. P. Stone. Layered Learning in Multiagent Systems. The MIT Press. 2000. 6 J.Beaudry (B.Sc., 2000) décida de rejoindre l’équipe de SAE Robotique dès sa première année de baccalauréat. Par la suite, il eût la chance de suivre le cours ELE3100 : Projets de génie électrique traitant de robotique mobile et d’informatique. Le but principal du cours étant de concevoir un robot mobile capable de jouer au soccer, il entrepris parallèlement la conception du robot SpinoS avec une équipe de SAE Robotique. J.Beaudry fut de SpinoS l’objet de son projet de fin d’études. Ensuite, M. Richard Hurteau décida d’entreprendre, avec J. Beaudry, la réingénierie du robot SpinoS pour créer de multiples robots joueurs de soccer. Pendant ce temps, Julien compléta son baccalauréat avec une Mention d’excellence et alla rejoindre l’équipe de robotique de l’Institut de recherche d’Hydro-Québec (IREQ) où il travailla au développement de leur robot d’inspection sous-marine pendant près de huit mois. J. Beaudry entrepris ensuite une maîtrise en génie électrique ayant comme principal sujet la coopération dans un système multi-robots autonome. Depuis l’automne 2002, J. Beaudry travaille donc à ce projet de maîtrise. De plus, il a entrepris, avec une équipe d’étudiants, l’ambitieux projet de présenter une équipe représentant Polytechnique à la prochaine Coupe du monde des robots joueurs de soccer, la RoboCup (http://www.robocup.org). C’est ainsi qu’il fonda, à l’été 2003, une nouvelle société technique du nom de Groupe Robofoot ÉPM (http://robofoot.auto.polymtl.ca/).