Application de la robotique pédagogique au sein d’une association de vulgarisation scientifique (Planète Sciences)
Contribution au colloque francophone de robotique pédagogique de la Ferté-Bernard 2005
dimanche 28 août 2005, par
Par Loïc Dayot (Formateur de formateurs pour Planète Sciences
ldayot@antispam*.ouvaton.org) et Roger Tanguy (Dept M.I.M.E. Université Paris 8 à St-Denis rt@antispam*.mime.up8.edu)
Est-il possible d’atteindre l’abstraction sans passer par une phase concrète ? Planète sciences est une association qui a pour vocation la pratique d’activités scientifiques auprès des jeunes par la réalisation de projets. Le secteur robotique est une de ses composantes. La pratique de l’activité consiste en la réalisation d’objet mobile capable de capter des informations, de les traiter et d’adapter le comportement du mobile. Cela nécessite la découverte de la mécanique, de la physique, de l’électronique, de l’informatique. Pour aborder l’ensemble de ces disciplines des outils spécifiques ont été développés : modules de commande, carte microcontrôleur, outils logiciel. Des actions sont menées en secteur scolaire pour des enfants à partir de 8 ans ou la mécanique est basée sur l’utilisation du carton de récupération et du pistolet à colle et des rudiments du langage LOGO. Ainsi que dans les séjours de vacances pour des jeunes à partir de 9 ans en particulier pour les plus grands au cours du séjour « Furobalex » où le projet consiste à faire un essai grandeur réelle du règlement de la coupe de robotique e=m6 avant sa publication.
La pratique de la robotique au sein de l’association Planète Sciences (anciennement Association Nationale Sciences Techniques Jeunesse) est une longue histoire qui débute en 1983 et qui, après une évolution chaotique liée à l’investissement individuel des membres de l’association du groupe robotique au fil du temps, nous amène aujourd’hui à faire un état des activités auprès des jeunes. Cette description prend en compte les animations dans le cadre des activités scolaires et des séjours de vacances. Nous n’évoquerons pas les activités de type concours qui correspondent à une autre approche.
Notre première remarque générale sur l’utilisation de l’informatique auprès des jeunes est la suivante : « est-il sûr que son apparition dans l’enseignement soit une si grande évolution ? ». S’il est vrai que nous pouvons simuler nombre de représentation sur un écran d’ordinateur, cela ne nécessite-t-il pas pour l’utilisateur une connaissance préalable du problème. Combien de logiciels à vocation pédagogique sont un long parcours pré-établi que l’utilisateur doit suivre en franchissant les obstacles sans en oublier, tel un jeu d’aventure ou le joueur ne peut quitter une pièce que lorsqu’il a trouvé tous les objets cachés.
Nous pensons que développer l’imagination, fait appel à d’autres mécanismes, ou le contact avec le concret permet de se fabriquer une image mentale donnant accès à l’abstraction. La robotique dite pédagogique offre la possibilité de construire un ensemble mécanique disposant de capteurs et d’actionneurs et de lui donner une certaine autonomie [ACT 85]. Cette discipline permet de mettre en œuvre un ensemble de connaissances telles que : mécanique, physique, électronique, informatique dont le niveau de découverte doit bien évidement être adapté au niveau de l’utilisateur.
Mais la transversalité des disciplines ne doit pas nécessiter la connaissance approfondie de toutes ces spécialités. Ainsi au fil des années, le groupe robotique à développé un ensemble d’outils pour : fabriquer la structure mécanique, lire et commander les capteurs et les actionneurs, interfacer avec l’ordinateur, programmer les modules informatiques.
Les outils utilisés
Les outils, aussi bien matériels que logiciels sont adaptés aux différentes activités. Coté matériel, nous utilisons les produits maison comme : le Module Electronique de Commande dit « MECsimple », un module similaire avec une interface I2C nommé « superMEC » et pour les plus avertis une carte microcontrôleur appelée « Foxacogite II ».
Coté logiciel de programmation, la préférence est depuis le début donnée au langage LOGO et pour la carte « Foxacogite II » plusieurs possibilités sont offertes : une adaptation du Basic Intel, le mini-VLisp, une adaptation du VLisp de l’Université Paris 8-St-Denis, ou l’assembleur 8051.
Le MECsimple.
Ce module permet de réaliser de petits robots réactifs, autonome si l’alimentation est réalisée par une source indépendante (pile ou batterie). Il est destiné à commandé un moteur à courant continu de faible puissance. La commande électrique du moteur passe par deux relais électromagnétiques câblés en H, il est ainsi possible de déterminer la marche et le sens de rotation. Les entrées pour trois contacteurs servent, à travers une logique de commande, à agir sur l’alimentation du moteur. Pour une utilisation classique, deux des contacteurs vont servir de détection de fin de course et le troisième pour un arrêt en position intermédiaire.
Deux autres entrées sont destinées à recevoir le câblage de deux photorésistances. Celles-ci, plaquées sur un écran d’ordinateur, vont pouvoir détecter l’état (éclairé ou éteint) de la zone de l’écran sur laquelle elles sont placées. Ainsi par la programmation des zones de l’écran associées, il est possible d’agir sur le sens de rotation et d’arrêt du moteur. Cette astucieuse solution évite l’utilisation d’une interface plus compliquée à mettre en œuvre et surtout à expliquer. En plus, la zone de l’écran éclairé ou éteinte permet de « voir » le passage de la commande. Le MECsimple, de par sa conception, concerne une utilisation avec le public le plus jeune.
Le SuperMEC
Le module SuperMEC s’adresse à des utilisateurs plus avertis. Il reprend les principes du MECsimple. Ils ont en commun, le contrôle du moteur, les fins de course et l’arrêt intermédiaire. Les commandes ne se font plus par l’intermédiaire de photorésistances, mais par une interface série respectant la norme du bus I2C1. Ceci nécessite une carte PC ou plus simplement une carte d’interface ordinateur liaison I2C qui se branche sur le port parallèle de l’ordinateur, connecteur destiné en principe à l’utilisation d’une imprimante.
Le bus I2C est simple d’emploi du fait de son mode asynchrone, la donnée est associée au signal d’horloge. Il permet d’échanger des informations dans les deux sens soit : agir sur la commande du moteur mais aussi récupérer l’état des capteurs. Autre avantage de ce bus, il est possible de brancher plusieurs périphériques sur une seule liaison (théoriquement 127). Dans les applications qui nous intéressent huit SuperMEC peuvent être pilotés simultanément. A cette fin, la carte SuperMEC comporte des micros interrupteurs sur lesquels est codé un numéro compris entre 0 et 7 pour former une adresse, laquelle doit être différente sur chaque module branché sur la même liaison. Deux prises « type téléphone » ou RJ11 assurent la connexion, les deux prises sont identiques et permettent le chaînage des SuperMEC. Au niveau logiciel, l’échange d’informations dépend de l’adresse du destinataire, un SuperMEC ne répond qu’a sa propre adresse.
Les SuperMEC peuvent aussi être utilisés avec la carte microcontrôleur Foxacogite II.
La carte microcontrôleur Foxacogite II
La carte microcontrôleur a été développée pour une utilisation embarquée, avec plusieurs approches possibles. La carte est dotée d’un microcontrôleur 80C552 Philips, composant intéressant car disposant d’un cœur de 8051 et d’autres possibilités comme l’interface I2C, ainsi que des ports analogiques. La consommation électrique de la carte est de l’ordre d’une centaine de milliampères. Elle peut être alimenté par une pile 9 volts type 6LR61 tout en conservant une très bonne autonomie.
Trois connecteurs sont prévus pour les différents usages :
– Connecteur RJ11. Sur ce connecteur nous retrouvons le bus I2C décrit ci-dessus et l’utilisation de modules SuperMEC. Il est aussi possible d’utiliser des modules interfacés I2C disponibles dans le commerce comme : télémètre à ultrasons, boussole sur le nord magnétique, interface pour piloter une vingtaine de servomoteurs de modélisme ou encore afficheur LCD.
– Connecteur HE10 14 broches. Ce connecteur permet un contrôle plus fin des capteurs et actionneurs. Il permet en particulier de commander deux moteurs à courant continu en mode MLI 1 ce qui permet une plus grande souplesse de vitesse dans les déplacements. Il dispose aussi de 6 entrées analogiques mesurables par logiciel à l’aide du convertisseur analogique numérique inclus dans le microcontrôleur. La conversion donne un résultat sur 10 bits soit 1024 pas de mesure. Toutes les broches de ce connecteur sont protégées électriquement ce qui préserve la carte contre un certain nombre de mauvais traitements.
– Connecteur HE10 40 broches. Ce connecteur donne accès directement aux broches du microcontrôleur et il ne comporte aucune protection. Il est déconseillé d’usage avec des utilisateurs non spécialistes mais offre des possibilités intéressantes pour des extensions comme le contrôle d’émetteur/récepteur pour une connexion radio HF.
Le programme est chargé dans une mémoire RAM, cette mémoire a son alimentation maintenue par une pile bouton. Il est ainsi possible de débrancher la carte sans perdre son programme et l’exécution peut redémarrer à la remise sous tension.
La programmation de la carte Foxacogite II peut être faite directement par la liaison série et un ordinateur utilisé comme terminal. Mais le logiciel Termfox permet une plus grande souplesse d’utilisation. Il propose deux fenêtres utilisateur, la première une connexion directe avec la carte, l’autre un éditeur de texte qui permet de préparer le programme que l’utilisateur va charger dans la carte. Cette fenêtre offre la possibilité de sauvegarder le texte du programme dans un fichier de façon à le retrouver lors d’une prochaine utilisation. Un accès à l’aide existe pour les langages suivants : Basic552, miniVLisp552. Des fichiers d’exemples de programmes sont proposés pour l’apprentissage des langages et la mise en œuvre des interfaçages.
Les langages
Concernant les langages de programmation, nos préférences vont vers les langages interprétés. Essentiellement, par le fait que les langages compilés imposent pendant la mise au point du programme, la séquence récurrente suivante, tant que le programme n’est pas conforme aux objectifs : éditeur de texte, compilation, chargement, essai. Les langages interprétés donnent la grande facilité de pouvoir formuler une instruction ou une procédure et de la tester immédiatement. Ceci est très efficace pour vérifier rapidement : l’action sur un moteur ou la mesure d’un capteur, avec un minimum de connaissance des pratiques informatiques. Les erreurs de programmation sont renvoyées immédiatement avec leur contexte, ce qui évite l’usage d’outils de mise au point. Le temps d’exécution du programme résultant est le principal reproche fait aux langages interprétés. Cette remarque est fondée, car inhérent à son principe, mais dans la pratique qui nous intéresse, les robots sont-ils si véloces et les algorithmes si gourmands en temps de calcul que la rapidité d’exécution du programme soit un réel problème ?
Pour la carte Foxacogite II : Basic et miniVLisp
Le code source de l’interprète Basic du microcôntroleur inclus dans le 8052 étant mis à disposition par la société Intel, cela nous a permis de le modifier pour l’adapter à la carte actuelle. La reprise de l’interprète Basic Intel permet de retrouver les connaissances acquises avec la carte antérieure, la Foxacogite I. Ainsi les échanges à travers le bus I2C, la lecture des entrées analogiques et les commandes en MLI y ont été intégrés.
Les faiblesses du langage Basic sont depuis longtemps connues. Par exemple l’utilisation des instructions de contrôle : GOTO et GOSUB, associées à la numérotation de ligne, entraîne une écriture de programme peu structurée et peu lisible.
Pour le contrôle de la carte Foxacogite II, nous proposons aussi une programmation en miniVLisp552 que nous avons adapté d’un mini interprète VLisp [GREU 90] utilisé pour l’enseignement de la programmation. Le passage d’un interprète à l’autre est obtenu en positionnant 2 minis interrupteurs de la carte. L’utilisation de la carte Foxacogite II étant destinée à des adolescents ou plus âgés, nous avons conservé pour l’interprète miniVLisp552, le nom des primitives anglo-saxonnes. La syntaxe du langage impose une programmation bien structurée et plus propre. Ainsi pour déterminer le déplacement d’un mobile, nous pouvons écrire :
(WHILE (> (distance) 20)
(avance 1))
Dans l’exemple ci-dessus, la fonction « distance » ramène une mesure en centimètres accomplie par un télémètre à ultrasons. La boucle de contrôle « WHILE » fait que, tant que la distance à un obstacle est supérieur à 20 centimètres, la commande « avance de 1 » est appliquée. L’interprète dispose aussi de primitifs trigonométriques utiles pour un calcule de localisation d’un mobile dans un espace d’évolution.
Pour les autres applications : le langage LOGO
Concernant les applications utilisant les modules MECsimple et SuperMEC le langage LOGO reste l’outil de programmation le mieux adapté [VIVET 83]. Le problème que nous rencontrons est que les éditeurs de logiciel ne proposent plus de version de l’interprète du langage LOGO, et particulièrement en langue française. Nous avons donc décidé de reprendre le code de la version Open Source 6.3 de mswlogo. Logiciel développé par Brian Harvey de l’Université de Californie à Berkeley. Nous avons traduit tous les termes du langage ce qui inclus évidement le nom des primitives et de la bibliothèque de fonctions, mais aussi les affichages des menus, des messages d’erreur et des exemples.
Nous avons aussi ajouté les fonctions pour l’interface I2C et l’utilisation des SuperMEC, ainsi que des exemples correspondant aux activités de l’association. Les possibilités graphiques 3D de mswlogo sont utilisées pour la simulation du robot en cours de réalisation et de son évolution dans un environnement virtuel. Cette version de logo propose bien d’autres possibilités comme l’interface réseau Internet, les boites de dialogue et les boutons, l’exécution en pas à pas.
La robotique pédagogique dans le cadre scolaire
Les interventions peuvent revêtir plusieurs formes : classes sciences, ateliers en temps scolaire, ateliers périscolaires, avec ou sans l’aide de l’enseignant. La durée d’un atelier scolaire se situe généralement entre 30 et 80 heures. Les animations commencent dès la maternelle, mais touchent le plus souvent les primaires de CE2 au CM2, et aussi en collège en activité périscolaire.
Suivant l’âge des enfants, les objectifs opérationnels ne sont pas de même niveau. Outre les objectifs transversaux à tout projet pédagogique en animation socioculturelle, voici ceux généralement développés par les animateurs.
Les objectifs pédagogiques
Les objectifs, à des fins de simplification sont structurés à l’ancienne en savoirs, savoir-faire et savoir-être. Ils couvrent plus ou moins largement trois des aspects de la robotique pédagogique : électricité, mécanique et informatique.
Pour illustrer ces pratiques, nous évoquons une animation se déroulant dans une classe entière de 6ème pendant une semaine.
Tableau 1. Les objectifs pour les élèves.
Savoirs | Savoir-faire | |
---|---|---|
Électricité | Avoir une notion de polarité dans un circuit à courant continu. | Savoir brancher les modules électroniques de commande (MEC). |
Mécanique | Avoir une notion du rapport entre vitesse et force d’un moteur. | Savoir utiliser les outils de manière autonome en toute sécurité, sans gâchis et à bon escient. Savoir réaliser une construction en carton solide et esthétique. Savoir réaliser une transformation de mouvement. Savoir choisir le bon nombre d’engrenages d’un moteur en fonction de l’utilisation attendue. |
Informatique | Comprendre ce qu’est un langage de programmation et ses principales caractéristiques. | Savoir réaliser un programme en Logo d’enchaînement d’actions. |
Autre | Avoir une définition de ce qu’est un robot et la robotique. | |
Savoir-être | ||
Participer activement à un projet expérimental et collectif selon une méthode réfléchie. Avoir une attitude de chercheur face à un problème ou une question. |
Quels que soient la forme et le public, la démarche, déclinaison d’une pédagogie de projet constructiviste, reste assez commune. Elle peut se résumer en une répétition de la succession de trois phases : contact, découverte, approfondissement.
– Phase contact : susciter des questions, émoustiller la curiosité.
– Phase découverte (ou d’apprentissage) : trouver des réponses aux questions, acquérir des compétences.
– Phase d’approfondissement : réinvestir en autonomie les compétences acquises.
Dans un premier temps, quelques découvertes portant sur différentes notions et techniques permettent de savoir ce qu’il est possible de réaliser en robotique dans la classe. Ensuite, tout le groupe réalise un projet commun inspiré d’un conte.
La première partie regroupe une succession de phases contact et découverte
Elle est organisée en une suite de séquences.
Qu’est-ce qu’un robot ?
Sur une feuille les enfants écrivent ou dessinent des robots. (Travail sur les représentations à la mode cognitiviste.) Les élèves écrivent sur le tableau les idées sans les trier.
Ensuite, un débat s’engage pour savoir quelle chose est un robot, quelle chose n’en est pas un. Le débat est mené par l’animateur. Au cours de ce débat, une liste de composantes principales d’un robot se dégage. La conclusion abouti en général à ce résumé :
des mécanismes -> automate
+ de la programmation -> automate programmable
+ des capteurs -> robot
Le débat s’achève par un exposé rapide sur les capacités d’un robot, dans le monde de la recherche. Il s’agit surtout de faire comprendre aux enfants que la robotique ce n’est pas Goldorak ou Terminator.
Enfin, les enfants assistent à une démonstration d’un montage mécanique relié à l’ordinateur par un MECsimple. Ils peuvent manipuler le robot via l’interpréteur LOGO. Les deux modes sont utilisés : les boutons et la ligne de commandes.
Deux montages sont montrés en démonstration. Ils ont été construits à partir de moteurs à réduction et à base de carton d’emballage découpé et collé. Le premier est en fonctionnement sur l’ordinateur. Il ressemble à un canard dont le bec s’ouvre et se ferme avec un système de crémaillère. Le second est un personnage qui se déplace de gauche à droite grâce à un système de vis sans fin (tige filetée). Les deux montages disposent de fins de courses construites autour de simples minis interrupteurs.
Course de voitures. Rapport vitesse force et découverte des outils et matériaux.
Le matériel est essentiellement composé de carton d’emballage de récupération, d’éléments mécaniques en plastiques (roues dentées, crémaillères, vis sans fin, rues coniques), de petits moteurs électriques à réduction en kits, de visserie métal et divers éléments électriques.
La consigne suivante est donnée aux enfants : « vous devez, par groupes de deux, réaliser un véhicule qui transportera une charge ». Les moteurs fournis sont à base de kits déjà montés avec un nombre d’engrenages variable.
Au cours de la construction, lorsque les élèves utilisent pour la première fois un outil dangereux (cutter, pistolet à colle chaude, fer à souder), ils sont priés de demander la présence d’un adulte. Les constructions sont assez simples, à partir d’un profil de véhicule, répété deux fois dont les deux exemplaires sont reliés entre eux pour donner une profondeur. Les éléments cartons et le moteur sont collés. Deux fils électriques sont soudés aux bornes du moteur d’un côté, à un trombone de l’autre, pour faciliter le branchement à une pile plate amovible.
A la fin, une course des véhicules à vide puis chargés est organisée ; les temps de chacun sont mesurés et notés. La course est comme prévue très animée. Les résultats des courses permettent de bien montrer les atouts des moteurs à plus ou moins d’engrenages.
A la fin, une analyse est menée sur le rapport entre la vitesse et le nombre d’engrenages ainsi que sur la puissance de véhicules. Les conclusions sont réinvesties lors de la séquence suivante.
Verbes d’actions compliquées.
Il s’agit de découvrir quelques transformations de mouvement, principalement de rotation en translation.
Dans un premier temps, une petite foire aux idées est organisée, dont la consigne est « trouver des verbes d’action ». Les verbes sont écrits au tableau. L’animateur écarte les actions trop faciles ou trop difficiles à réaliser.
Dans un second temps, par groupes de trois, les enfants doivent choisir un verbe et construire un mécanisme réalisant l’action. L’animateur leur indique qu’il faut prévoir un axe (barre métallique) sur lequel s’accrochera un moteur. Il donne des idées de mécanismes de transformations de mouvements aux groupes. Il oriente les enfants vers les montages de démonstration qui peuvent servir de modèles.
A la fin, un éventail assez complet des systèmes de transformation de mouvement possibles est obtenu, notamment des systèmes de bielle manivelle, de vis sans fin, de treuil bobine et de came.
Suivant les indications données, les constructions sont bien construites : utilisation d’équerres de renforcement, identification des mouvements des pièces, découpage et assemblage corrects.
Certains montages sont connectés à un MECsimple. Les montages sont conservés pour compléter la technothèque.
Qu’est-ce qu’un langage ?
Le jeu de Roméo et Juliette est proposé et deux équipes sont constituées. Dans chacune d’elles, un enfant joue un robot. Les deux robots n’écoutent qu’une seule personne de leur équipe qui donne un ordre à la fois. Ils exécutent l’ordre lorsqu’ils le peuvent et le comprennent. La première équipe, tente de faire rattraper par son robot Juliette le robot Roméo de l’équipe adverse. Cette dernière cherche à faire fuir Roméo.
La première équipe donne un ordre à son robot, le robot commence à l’exécuter puis c’est à la seconde équipe de donner un ordre au sien et ainsi de suite.
Habituellement, lors de la première partie, le jeu se déroule mal, parce que le robot ne fait pas ce que l’équipe pense. Après cette partie, l’animateur indique aux équipes qu’il faut qu’elles écrivent la liste des ordres qui seront compris par leur robot et quelle en est la signification exacte. La partie est rejouée avec cette liste d’ordres. En général, la liste n’est pas complète à la deuxième partie. Une fois la liste d’ordres modifiée, une troisième partie peut être jouée.
La conclusion du jeu est faite sur le parallèle entre la liste d’ordres et un langage informatique. Les enfants découvrent les contraintes et l’intérêt d’un langage limité, complet et univoque. Ils passent assez naturellement à la programmation en langage LOGO.
Découverte du langage LOGO.
Après les premiers tâtonnements avec l’interpréteur LOGO, les questions fusent. Le parallèle est fait entre les ordres créés lors du jeu précédent, avec les ordres du LOGO. Une liste de primitives est donnée aux enfants. Certains enfants préfèrent avoir une consigne (dessine une maison), d’autres utilisent leur imagination et suivent leur inspiration. Des rapporteurs imprimés sur feuille transparente sont mis à disposition des enfants pour qu’ils repèrent les angles en degrés. Ils s’en passent rapidement.
Sur demande d’aller un peu plus loin, il est proposé à quelques enfants d’apprendre à LOGO un nouveau mot, donc de créer une procédure. Les autres enfants viennent apprendre des premiers comment faire.
Ensuite, ils sont dirigés vers la technothèque pour découvrir ce qu’il est nécessaire pour commander un MECsimple avec LOGO. Il s’agit de faire apparaître et disparaître des zones claires ou obscures sur lesquelles viennent s’appliquer les photorésistances de l’interface (cf. § les outils utilisés, le MECsimple). Suivant les préférences de l’animateur, une certaine méthode est utilisée ou bien laissée libre aux enfants.
Les autres éléments du LOGO sont vus au cours de la réalisation du projet.
La seconde partie commune globalise les objectifs dans un projet.
Cette partie correspond à toutes les phases d’approfondissement des notions découvertes précédemment.
A la suite de la lecture du conte « Scoubidou la poupée qui sait tout »1, les enfants, individuellement, décrivent la scène qu’ils préfèrent et qu’ils souhaitent réaliser. La description prend la forme de une à trois phrases ou d’un dessin. La liste des scènes est affichée au tableau et des groupes de 3 à 4 élèves se constituent.
Une fiche est distribuée à chaque groupe. Cette fiche est la carte d’identité du groupe et doit lui permettre de savoir où il en est dans l’avancée de la réalisation. Le groupe se donne un nom, qui peut être le titre de la scène.
Une fois qu’ils se sont mis d’accord, ils décrivent, en une à trois phrase(s), la scène choisie. Le dessin de la scène est l’occasion de se mettre d’accord sur ses éléments. Puis plus précisément, il s’agit d’isoler les mouvements qu’ils veulent voir dans la scène. Il ne doit y en avoir qu’un ou deux (s’ils ne sont pas compliqués).
Les premières tâches consistent en la construction de maquettes. Une maquette, c’est le brouillon, grandeur réelle d’un élément simple du robot. Le but est de prouver que l’élément est possible à réaliser. Pour un même élément, il peut y avoir plusieurs maquettes, pour choisir quel est le meilleur système. La technothèque joué son rôle de centre à idées et les nouvelles maquettes y sont déposées.
Une liste des premières tâches à réaliser est élaborée et s’allongera au fur et à mesure des découvertes. Dans un premier temps, les élèves ne pensent pas toujours qu’ils doivent connecter des MECsimple et faire un programme en LOGO ou encore décorer le robot.
La construction est ponctuée par des réunions qui sont l’occasion de faire le point sur l’avancée du projet, régler les problèmes d’organisation ou d’entente. Pour qu’elles arrivent à leur terme, les réalisations sont volontairement limitées. En général, elles sont la reprise avec amélioration des maquettes et surtout intégrées à la réalisation globale. Chaque groupe est chargé de la programmation de sa scène. Ils découvrent alors le branchement du MEC et les quelques primitives qui leur font défaut : la mise en attente selon l’horloge, les sauvegardes et chargements de programmes. Une décoration est assurée pour toutes les scènes. Cette étape revêt une grande importance pour les enfants.
Un groupe assure la cohérence de l’ensemble, en attribuant les emplacements des zones claires/obscures des photorésistances sur l’écran et recueille les programmes des autres pour assurer leur enchaînement. A la fin, le groupe qui assure l’intégration totale est très mobilisé alors que les autres ont plus de temps. Ceux qui sont en avance, réalisent une petite description des mécanismes et une description de la scène sur papier.
Une représentation du conte est organisée devant tout le monde. Les projets sont présentés comme dans une bande dessinée, une suite de petits théâtres animés. Le programme est lancé. Un enregistrement d’extraits du conte a été fait et les scènes sont synchronisées. Sous chaque scène, sont accroches les descriptifs, dessins des mécanismes et les fiches de suivi de projet de chaque groupe.
Séjours de vacances 15-18 ans « Furobalex »
L’association Planète sciences organise des séjours de vacances à thèmes scientifiques et techniques pour les enfants à partir de 8 ans et les jeunes au delà de 13 ans. Le Furobalex est un séjour de quatre semaines pour les jeunes de 15 à 18 ans dont les activités de fusées, ballons stratosphériques et robotique expérimentaux occupent au minimum quatre heures par jour, le reste étant les activités traditionnelles d’un séjour de vacances. Depuis quelques années, le Furobalex est l’occasion d’essayer avant sa sortie officielle, le règlement de la coupe e=m6 de robotique. Les robots sont des machines mobiles complètement autonomes.
Les objectifs
Les objectifs liés à la culture scientifique et technique sont déclinés à partir de l’intention de favoriser l’esprit critique. En voici les éléments liés à la robotique pédagogique :
– Un projet expérimental
- Le suivi de projet est réalisé par les jeunes grâce à un compte à rebours par journée. L’équipe d’animation met en place un moyen de suivi de chacune des équipes.
- Les jeunes vivent une méthode de développement de projet encouragée par l’équipe d’animation.
- Au cours de la réalisation, les participants qui rencontrent un problème sont orientés par les animateurs vers une démarche expérimentale. C’est flagrant en électronique où l’isolement de paramètres est souvent requis, c’est aussi possible en mécanique et systématique en informatique (tâtonnement expérimental).
– Des savoirs - Les jeunes en charge d’une partie d’un projet collectif progressent dans cette partie grâce à la rencontre de difficultés et d’apports de la part des animateurs et des autres jeunes. Un certain nombre de points incontournables dans chacun des domaines scientifiques et techniques figurent dans des séquences de découverte.
- Les animateurs encouragent l’utilisation des documents et livres disponibles sur le lieu du séjour.
Les objectifs opérationnels concernant la robotique sont plus difficiles à énoncer dans lecontexte du Furobalex, dans la mesure où les savoirs et savoir-faire sont très liés aux projets techniques. C’est pourquoi il vaut mieux décrire les principes des robots.
La mécanique
Les matériaux mis à disposition sont l’aluminium, le polystyrène choc, du PVC, du plexiglas, du bois et parfois des composites. Les éléments actifs sont des moteurs à courant continu très performants, moteurs pas-à-pas et servomoteurs. Quelques éléments mécaniques en métal ou plastique sont également à disposition : roues, engrenages, crémaillères. Les objectifs concernant la mécanique sont : le choix des matériaux, l’usinage des matériaux, les liaisons et fixations, l’isostatisme, les transmissions et transformations de mouvements, l’intégration. Le gros outillage mécanique consiste en perceuses à colonne, scie sauteuse établi, tour...
L’interfaçage, l’électronique
Les capteurs sont choisis en fonction des projets : sons et ultrasons, lumière visible ou infrarouge, contraintes, chaleur, humidité, champ magnétique.
La partie interfaçage est construite pendant le séjour autour notamment de composants dotés du bus I²C. Les jeunes découvrent l’électronique de puissance, comprennent en quoi elle est indispensable et comment la construire. Suivant les projets, certains utilisent les SuperMEC directement intégrés, pour se consacrer à d’autres cartes électroniques.
Les objectifs sont donc assez divers, cela va de la pratique de la loi d’ohm, l’électronique de puissance, l’optoélectronique, le protocole I²C, les filtres de fréquences à l’amplification de signal.
Le matériel sur place consiste principalement en postes électroniques composés d’oscilloscope, alimentations, fer à souder, générateur basses fréquences, kits d’évaluation. Les jeunes disposent du nécessaire pour réaliser des circuits imprimés.
L’informatique
La partie informatique consiste en la programmation de la Foxacogite II en Basic552 (ou plus récemment en miniVLisp552). Mais avant d’en arriver là, une étape de simulation en Logo se fait sur ordinateur. Ceci met au centre du projet la partie informatique qui intègre dans la simulation les autres éléments (mécaniques et électroniques), comme nous le verrons plus loin.
La sensibilisation
Dans les premiers temps du séjour, une sensibilisation des jeunes aux différents domaines est organisée sous forme ludique.
Mécanique - découverte des matériaux, des outils, de l’atelier, des techniques d’usinage et d’assemblage.
Électronique - découverte des instruments, outils, documentations, composants, lieux.
Informatique, interfaçage et langages.
Capteurs et expérience - découverte des notions suivantes : mesures, étalonnage, capteurs, expériences, référentiel, exploitabilité des mesures.
Circuits imprimés - découverte de l’impression de circuits imprimés électroniques.
A l’issue de cette sensibilisation, tous les jeunes ont pratiqué chacun des domaines de la robotique.
Le projet
Les animateurs énoncent le but et les contraintes du règlement provisoire du concours. Suite à cela, un inventaire des idées est fait d’abord par binômes puis collectivement. Toutes les idées sont conservées, y compris les plus farfelues. Les animateurs orientent un peu les idées pour qu’elles se portent de préférence sur une stratégie plutôt qu’un système partiel.
Les animateurs demandent dans un premier temps de réaliser une étude de faisabilité (qui correspond à la réalisation de maquettes ou la recherche de compétences). La liste des idées est affichée avec de la place pour indiquer qui se charge de prouver sa faisabilité et quel est le résultat de l’étude. Les animateurs freinent les fonceurs, tempèrent les ardeurs et parfois donnent leur avis sur la faisabilité.
Une petite parenthèse pour expliquer en quoi consistent les maquettes en robotique au Furobalex. La preuve qu’une idée est réalisable doit être apportée en moins de deux heures par une personne. C’est le cas général. Il arrive que deux jeunes travaillent ensemble et qu’après négociation dans un groupe, la durée soit plus longue. Il peut y avoir plusieurs études pour un même problème. Une preuve est apportée en tenant compte du matériel disponible ou du budget, des compétences sur place, du temps disponible, de la prise de risque au regard de la nécessité du système.
Lorsqu’il s’agit d’un système mécanique, au minimum il doit y avoir un témoignage écrit ou oral que le système a fonctionné. Au maximum, il s’agit de construire principalement avec du carton, le mécanisme. Exemple : est-il possible que la motricité et la direction soit rendue par une seule roue directrice ? Autre exemple : peut-on loger dans un cube de 50 cm de côté trois robots autonomes ?
Dans le cas d’une partie électronique, il s’agit le plus souvent de réaliser un montage sur platine. Exemple : Est-il possible de mesure la distance entre le robot et un obstacle haut de 5 cm seulement ? Peut-on commander un moteur à deux vitesses différentes ? Il faut aussi tenir compte du prix des composants, le budget total de l’activité a été annoncé dès le départ.
Pour l’informatique, la faisabilité concerne le plus souvent des fonctionnalités du Basic552 ou miniVLisp552 et du Logo. L’étude consiste alors à trouver des exemples de programmes dans la documentation ou à réaliser une ébauche de programme qui démontre la faisabilité de telle ou telle chose. Exemple : Est-il possible de mémoriser un parcours emprunté pour le reproduire rapidement ? Peut-on scruter tel capteur tous les dixièmes de seconde ?
Lorsqu’il s’agit de stratégie d’ensemble, un croquis est fait, montrant les différentes situations possibles au cours d’une partie. En général, la stratégie est très liée à ce qu’on peut faire en programmation.
A l’issue de l’étude de faisabilité, les idées de systèmes se sont affinées. Après une réunion collective, les projets deviennent réalistes.
Ensuite a lieu la constitution des groupes de projets, en tenant compte de :
– la convergence d’idées de projet : sur le projet complet mais aussi sur les systèmes.
– la complémentarité des compétences des jeunes qui doivent couvrir l’informatique, la mécanique et l’électronique.
– le nombre de membres (3 ou 4 au maximum)
– les affinités : critère très important pour la suite.
Il arrive que les animateurs interviennent, mais souvent, de façon autonome, les jeunes s’arrangent entre eux.
Dans l’étape de réalisation, comme dans la précédente (étude de faisabilité), les animateurs sont vigilants quant au dynamisme dans le groupe, au respect des contraintes émises au départ (y compris le temps disponible), à la bonne information entre les membres de chaque groupe et de la bonne répartition des tâches dans les groupes.
Pour faciliter une vision globale de l’avancée du projet, un dessin du robot est fait en grandeur réelle, avec des encarts sur toutes les parties à réaliser, en indiquant pour chaque partie son avancée. Lorsqu’une maquette ou une partie matérielle est réalisée, elle est déposée sur le dessin.
L’animateur peut être amené à jouer le rôle de chef de projet en imposant des réunions d’organisation du groupe défaillant, en répartissant lui-même les tâches. En dehors de ce rôle de « vigile du travail de groupe », il reste à disposition des jeunes pour répondre à leurs demandes de connaissances et réaliser des séquences découvertes préparées à l’avance.
Voici quelques exemples de séquences de découverte qui peuvent arriver dès l’étude de faisabilité ou au cours de la réalisation.
– Protection, optocoupleur et relais.
– I²C (numérique et analogique).
– Le transistor (commutation) et l’électronique de puissance.
– Oscilloscope et mesure.
– Condensateur.
– Diode (y compris Zener, LED et redressement).
– BASIC552.
– Microcontrôleur.
Recours à la simulation en Logo
Pour assurer la cohérence du projet, la simulation des actions du robot dans son environnement est mise au coeur de la méthodologie. Si les informaticiens attendent les mécaniciens et les électroniciens, il y a de fortes chances pour que le programme soit inachevé ou très simple. C’est le Logo qui nous aide.
Les robots doivent évoluer sur une piste dont les dimensions sont connues. Il s’agit ici du test du règlement de l’édition 2000 de la Coupe de France e=m6 de robotique : crever des ballons dans le camp de l’adversaire en 1min30, le tout sur un terrain accidenté. Les difficultés sont donc l’inégalité du sol et la détection des ballons mobiles.
Pour commencer, les trois équipes héritent d’un ensemble de procédures dessinant la piste à l’échelle. Certains éléments doivent pouvoir bouger, en particulier les ballons mobiles. Tout est dessiné très simplement avec le crayon de la tortue, en marquant des différences de niveaux par des différences de couleurs, notamment pour les bords de la table et les plots de départ.
Ensuite les équipes dessinent leur robot à l’échelle (un pas de tortue = 1 cm). Le dessin doit être relatif à la position de la tortue qui donne l’orientation du robot et sa position sur le terrain. Le point de départ du dessin du robot est le centre de rotation.
|
|
Ensuite, il faut créer les commandes du robot :
|
|
Le robot a un comportement qui tient compte des ordres précédents.
|
|
Bien entendu, des mesures doivent être prises dès que les moteurs sont choisis : temps de déplacements, temps de rotation dans un sens et dans l’autre. Le programmeur adapte alors le nombre de pas et de degrés aux mesures empiriques. Le robot va sur l’écran à la même vitesse que le robot lorsqu’il sera terminé.
Pour être plus proche de la réalité, un peu de hasard peut être introduit dans les déplacements, créant une dérive aléatoire. L’imprécision du robot simulé devra être compensée par la programmation de son comportement.
Ensuite, nous intégrons les capteurs de ligne blanche. Sur le terrain dessiné, figure des lignes blanches : il reste à lire la couleur sous le robot, à tel endroit. Une tortue LOGO disponible est placée au centre de rotation du robot, puis déplacée relativement à l’orientation du robot, vers le point exact où se trouve le capteur, par exemple :
|
|
Un contacteur détecteur de choc peut aussi être simulé. Il devra alors être sensible à d’autres couleurs que le blanc. Le placement se fera à l’endroit exact de la détection par rapport au centre de rotation du robot.
Reste à effectuer un affichage de contrôle régulier pour voir évoluer le robot sur le terrain.
|
|
La programmation de la stratégie
Les ordres sont du genre : tant qu’aucun contacteur n’est activé, continue à avancer ; tant que le capteur 1 est sur du noir, tourne ; etc.
Il faut ajouter des procédures qui correspondent à des commandes complexes, par exemple attendre 20 secondes ou la rencontre d’une ligne blanche. Ces procédures peuvent être utilisées à plusieurs reprises pour former une stratégie complète du robot.
La stratégie élaborée en pure simulation se révèle réaliste
Grâce aux déplacements sur le terrain, grâce aux capteurs, aux vitesses de déplacements et de rotations très proches de la réalité, il est possible de prévoir des stratégies de jeu, de chronométrer le temps du parcours total sans l’adversaire. L’introduction du hasard dans les déplacements du robot est très proche de ce qui peut se passer réellement (en fonction des frottements, de la charge des batteries, etc.). Cette introduction permet d’élaborer des stratégies de rattrapage de parcours qui se révèlent très efficaces par la suite sur les tables de jeu. A chaque nouvelle simulation, le robot se décale légèrement dans un sens ou un autre, deux parties ne sont jamais les mêmes, comme dans la réalité.
Une fois la simulation convaincante, les programmeurs traduisent les procédures Logo en Basic552 compréhensible par notre microcontrôleur (Foxacogite II). Cette traduction, presque mot à mot, produit une programmation Basic aussi claire que possible pour ce langage. Le déboguage restant ne concerne que la partie interfaçage avec le matériel (la commande des actionneurs et la mesure des capteurs).
Des choix pédagogique donnant la priorité à la stratégie... et ayant d’autres effets bénéfiques.
Cette manière de faire est choisie par l’équipe d’animation par goût de la programmation en Logo et pour orienter les projets robotiques vers la stratégie. La stratégie est souvent délaissée au profit de la technique. En faisant travailler les informaticiens sur la stratégie dès les premiers jours, tous les membres de l’équipe doivent se mettre d’accord et valider les choix stratégiques à tester. Les stratégies évoluent parfois grâce aux simulations peu convaincantes ou par soucis de simplifier la programmation, voire la construction du robot.
Autre avantage entrevu dès le départ, celui de garantir aux informaticiens une partie intéressante, profitable au projet et débutant dès le début du séjour.
Un autre effet, non prévu, est celui de la validation de certains choix techniques, comme la place des roues, la vitesse des roues du robot, la forme du robot. Au cours de la simulation, par exemple, une équipe s’est aperçue que le robot avait un encombrement qui ne lui permettait pas de tourner sans frotter sur les bords de la piste.
De même, lorsque les informaticiens planchaient sur le suivi de ligne blanche, ils ont interdit aux mécaniciens de fixer les capteurs jusqu’à ce qu’ils trouvent leurs bonnes places en simulation.
Certains projets ont changé le nombre de capteurs qu’ils comptaient disposer, ou bien plus simplement l’emplacement de ceux-ci. Une fois les problèmes résolus en simulation, les mécaniciens se mettaient à l’ouvrage.
Le bouquet final a été de constater qu’un des robots qui devait suivre un mur ne fonctionnait pas correctement et perdait le mur. Après une enquête un peu tendue (on était à la fin du séjour), il s’est avéré que les mécaniciens s’étaient écartés des recommandations de l’informaticienne et avait décalé le détecteur de cinq millimètres vers l’arrière du robot. Après modification, le robot fonctionnait beaucoup mieux. La simulation avait été suffisamment précise pour déterminer très exactement ces mesures.
La simulation en réseau
Lors d’un des séjours Furobalex nous avons essayé avec succès la simulation complète de rencontres de robots. Il a été possible, grâce au mswlogo de faire communiquer les PC entre eux par réseau local.
Chaque équipe en lice disposait d’un PC avec son programme de simulation. Un troisième PC servait au contrôle du déplacement des ballons mobiles. Chaque PC demandait aux autres les coordonnées de son robot ou des ballons. Sur tous les PC, se dessinaient les deux robots et les ballons à leur place simulée.
Quelques parties ont pu être organisées dans ces conditions. Deux des équipes ont été amenées à modifier leur stratégie suite à ces rencontres simulées.
Si ces simulations en Logo sont intéressantes, elles servent avant tout le projet technique de robot bien réel celui là. C’est la réalité qui dicte les contraintes lors des simulations, les allers et retours sont réguliers, mais au final, c’est le robot réel qui fonctionne.
En fin de séjour, après des rencontres réelles sur un terrain construit tel que l’indique le règlement, chaque équipe se retrouve pour faire le bilan du projet. Un retour sur le cahier des charges est fait ainsi que sur la conformité du robot, la pertinence du règlement, la méthodologie de projet employée au long du séjour. Les jeunes repartent avec plein de souvenirs, de photos et surtout avec la satisfaction d’avoir réalisé un projet technique expérimental collectif abouti et valorisant.
Conclusions
Comme souvent dans les actions pédagogiques, il est difficile de conduire une évaluation portant sur les intentions à long terme. Comment mesurer que les participants des activités de robotique pédagogique de Planète Sciences ont aiguisé leur esprit critique, ouvert leur esprit, élargi leur culture scientifique et technique, sont plus curieux ? Les éléments, parfois très fins, d’évaluation dont disposent les organisateurs, sont ceux fournis par les équipes d’animation. Ces dernières effectuent leur évaluation de l’atteinte des objectifs pédagogiques élaborés à l’occasion de leur animation. Les indicateurs ne sont donc pas constants, empêchant une exploitation dans le long terme. De plus, les participants des activités de l’association passent sans qu’il soit possible d’effectuer un suivi.
Pour autant, certains indices existent qui font penser que ces activités sont satisfaisantes. Nous notons par exemple que d’une année sur l’autre, la moitié des participants du Furobalex se réinscrivent l’année suivante au même séjour. C’est une mesure objective de l’intérêt qu’ils y portent. Un certain nombre d’entre eux, après avoir suivi des formations pédagogiques, deviennent animateurs à leur tour. A l’issue des séjours de vacances, plus de la moitié des projets trouvent une continuité au cours de l’année par la création de clubs de robotique amateurs. Ils récupèrent alors leur robot, leurs programmes et tous les outils pédagogiques qui leur sont donnés ou prêtés.
Par ailleurs, force est de constater que les robots réalisés présentent généralement un intérêt technologique. Les outils pédagogiques élaborés pour les activités de Planète sciences semblent pertinents : facile d’accès et permettant la mise en œuvre de robots complexes. Ces outils pédagogiques permettent également d’équilibrer les domaines pratiqués dans les activités robotiques d’amateurs : programmation, électricité, électronique et mécanique ; le tout justifiant le qualificatif de robotique.
Un effort permanent est porté sur la formation des animateurs et formateurs de l’association Planète sciences. En effet, le renouvellement des équipes est régulier, les animateurs restant en moyenne deux à trois ans. Ce constat rend difficile le transfert de l’expérience accumulée des années passées. Planète sciences est aussi victime du paradoxe de la formation des animateurs : ces derniers sont plus enclins à réclamer de la formation dans les domaines dans lesquels ils détiennent déjà les meilleures compétences ou qui semblent les plus faciles à animer.
D’autre part, les équipes d’animation font rarement part aux concepteurs de leur retour d’expérience suite à l’utilisation des outils pédagogiques au cours d’animations. Cela ne facilite pas l’adaptation et l’évolution de ces outils.
De nombreuses informations, expériences, astuces utiles aux animateurs font l’objet de publications internes, comme dans la revue Microbe, ou publiques, notamment sur le site Web de l’association : http://www.planete-sciences.org.
Références bibliographiques :
– [ACT 85] AGABRA-CAILLA. J & TANGUY. R, Expliquez moi l’informatique, Un robot au bout de votre micro, CNDP-ADI 1985.
– [ANSTJ 93] Documentation de la M.A.R.I.E., Module Electronique de Commande, ANSTJ, Microbe hors série n°2 - Décembre 1993.
– [ANSTJ 95] Manuel d’utilisation du SuperMEC, ANSTJ, 1995.
– [GREU 90] Listing de l’interprète svlisp, Dept Informatique Université Paris8, novembre 1990.
– [VIVET 83] VIVET. M , LOGO : un outil pour une formation de base à la robotique, Actes du 2ème colloque LOGO, ETI N°3, LISH-CNRS septembre 1984