Projet « Robotique » – Séance 2 Découvrir Thymio
1, 2, 3, codez ! - Activités cycle 4 - Projet « Robotique » - Séance 2 : Découvrir Thymio
Discipline dominante |
Technologie |
Résumé |
Les élèves découvrent Thymio, un robot que des étudiants de Master utilisent pour simuler un réseau routier. Ils se l’approprient, et commencent à le programmer par eux-mêmes avec Blockly, un langage de programmation graphique. |
Notions |
Machines
Robots
Langages
|
Matériel |
Pour la classe :
Par groupe :
|
Avant-propos
Il existe de nombreuses façons de programmer Thymio. Nous utilisons ici Aseba Studio/Blockly, que nous appellerons désormais plus simplement « Blockly » même si c’en est une version très spécialisée (l’interface Blockly n’est disponible que depuis la version 1.5 d’Aseba). Nous fournissons également des corrigés utilisant Aseba Studio/VPL, spécifiquement conçu pour Thymio, en variante. Il est de même possible d’utiliser des plugins pour Scratch ou Snap ! ou mBlock pour ce faire, mais le professeur devra adapter de lui-même les corrigés que nous proposons ici.
Préparation
Télécharger le logiciel Aseba Studio à partir de la page https://www.thymio.org/fr:start, qui permet de choisir son environnement de travail. Ce logiciel est gratuit et disponible pour les systèmes d’exploitation Windows, Mac et linux. L’installation ne pose aucun problème : il suffit d’accepter les options par défaut (en particulier, choisir l’option « pour Thymio II (Recommandée) ».
Pour lancer Aseba Studio/Blockly | Pour programmer |
---|---|
1. Brancher Thymio sur l’ordinateur avec le câble USB (il s’allume) 2. Lancer Aseba Studio pour Thymio 3. [Optionnel] dérouler les onglets prox.horizontal (ce qui permet de lire les valeurs des 7 capteurs sur le pourtour du robot) et prox.ground.delta (ce qui permet de lire les valeurs des 2 capteurs de châssis) 4. Cliquer sur « Démarrer Blockly » |
1. Écrire le programme 2. Sauvegarder le programme 3. Exécuter le programme |
Si le robot est relié à l’ordinateur par un câble et que le logiciel est fermé par erreur, l’ordinateur risque de ne plus détecter le robot : dans ce cas, débrancher et rebrancher le robot.
Situation déclenchante
Suite aux débats en classe de la séance précédente, le professeur diffuse la vidéo d’un projet de robotique d’étudiants de master de l’EPFL qui simule un réseau routier.
Les élèves décrivent ce qu’ils observent : des robots qui
peuvent changer de couleur, certains jouant le rôle de voitures,
d’autres celui de feux de circulation. Il y a aussi des marquages sur le
bord des pistes sur lesquelles circulent les robots.
Découverte de Thymio
Le professeur distribue alors un exemplaire de ces robots à chaque
groupe. Les élèves doivent découvrir, en autonomie, ce que peut faire
Thymio.
Au bout de 5 minutes, les élèves ont découvert comment l’allumer ou
l’éteindre : ils ont également remarqué que Thymio pouvait changer
de couleur, et qu’il ne réagissait pas de la même façon selon la couleur
qu’il arborait. Le professeur explique alors que chaque couleur
correspond à un mode préprogrammé, et que les élèves doivent donc
chercher à quoi correspond chaque mode.
Au bout de 10 minutes, et en l’absence de certains matériels, ils
ne peuvent décrire que 4 des six modes, en leur trouvant à chaque fois
un surnom, comme par exemple :
- Thymio « amical » (vert) : il suit l’obstacle placé devant lui. Si l’obstacle est trop près, il recule.
- Thymio « peureux » (rouge) : il fuit l’obstacle placé devant lui.
- Thymio « obéissant » (mauve) : il avance ou tourne quand on appuie sur les flèches de son capot. Appuyer plusieurs fois sur la même flèche accélère le mouvement.
- Thymio « explorateur » (jaune) : il avance seul, et esquive les obstacles placés devant lui.
Notes pédagogiques :
Les élèves auront sans doute repéré deux autres modes (cyan et bleu), mais sans réellement pouvoir les interpréter.
- Nous utiliserons le Thymio cyan à la séance suivante.
- Le Thymio bleu est sensible au son : pour des raisons évidentes nous déconseillons son utilisation en classe. Cependant, il est possible de l’explorer moyennant quelques précautions : un seul élève pourra faire des tests devant la classe entière priée de rester complètement silencieuse.
Les élèves auront remarqué qu’aucun des quatre modes étudiés jusqu’ici ne reproduit ce qu’ils ont vu dans la vidéo. Certains vont peut-être émettre l’hypothèse qu’il faudrait des pistes sur lesquelles faire évoluer leurs robots, et c’est effectivement une réponse, bien que partielle.
Dans l’immédiat, les élèves peuvent désormais définir ce qu’est un robot. Le professeur leur demande : à votre avis, pourquoi met-on Thymio dans la catégorie des robots ? Les idées sont notées au tableau, sans pour l’instant donner la réponse.
Un premier programme en Blockly
Le professeur précise que les Thymio de la vidéo ont été reprogrammés pour les besoins de la simulation. Et les élèves vont eux-mêmes reproduire une simulation routière, qui nécessitera de modifier les comportements par défaut de leur(s) Thymio, en utilisant un langage de programmation dédié, « Aseba Studio ».
Le professeur démontre le fonctionnement de l’interface Blockly pour Aseba Studio en créant en direct le programme suivant :
Il demande alors aux élèves d’essayer de deviner ce que
signifie ce programme, et ce que Thymio fera si on lui demande de
l’appliquer. Certains élèves proposent que Thymio prendra une
couleur verte s’il détecte quelque chose devant lui. Le professeur
exécute alors le programme pour vérifier cette hypothèse.
La démonstration permet d’aborder dès maintenant deux notions :
1. Thymio est un robot, car il est doté de capteurs, d’actionneurs, et d’un ordinateur. Les élèves peuvent essayer de les repérer :
- Capteurs (représentés dans le langage Blockly par des déclencheurs bordeaux ou des valeurs de capteurs bleues) comme les 9 détecteurs à infrarouge (carrés noirs dotés d’une DEL pour signaler leur activité) sur le pourtour et le châssis, mais aussi le touchpad, (les flèches et le bouton central) ou encore, bien qu’invisibles : le microphone et l’accéléromètre.
- Actionneurs (représentés dans le langage Blockly par des blocs beiges) : plusieurs DEL d’ambiance, pour le capot et pour le châssis, deux moteurs indépendants pour les roues, un haut-parleur.
- Ordinateur : associe des évènements liés aux détections par les capteurs et des actions liées aux actionneurs, via un programme. Sans démonter Thymio, ils ne peuvent pas observer le microprocesseur qui l’applique.
2. Thymio obéit strictement au programme fourni : ici, on ne lui a pas dit quoi faire quand il ne détectait plus rien face à lui. Une fois teinté en vert, il garde donc cette couleur quoi qu’il arrive. Il faut donc souvent initialiser ses programmes, et inclure des portes de sortie, ou contrordres, pour revenir à l’état initial.
Les élèves dictent alors comment compléter ce programme pour revenir à l’état initial :
Le professeur démontre ainsi deux états fondamentaux des capteurs de
Thymio : actif (« détecte quelque chose ») et inactif
(« détecte rien »). Il passe sous silence pour l’instant les
autres valeurs disponible (« détecte du noir » ou
« détecte du blanc ») qui serviront implicitement plus loin.
Le professeur précise enfin que Blockly permet une
programmation évènementielle et parallèle : chaque action est
déclenchée par certains évènements. Des actions différentes peuvent
démarrer simultanément si les évènements qui les déclenchent
(typiquement sur deux capteurs distincts) sont eux aussi simultanés.
Note pédagogique :
En arrière-plan, il est possible de voir Aseba Studio écrire en temps
réel l’équivalent textuel du programme graphique réalisé. Cela permet
d’aborder le fait qu’il existe de nombreux langages de programmation,
certains graphiques, certains textuels, mais que tous doivent être
interprétés par la machine.
Quelques défis pour prendre Blockly en main
Les élèves vont se familiariser avec Blockly en relevant plusieurs défis : il va s’agir de reproduire partiellement les comportements observés en mode mauve (obéissant) et en mode jaune (explorateur). Nous supposons que chaque défi permet d’améliorer le programme petit à petit, en ajoutant progressivement de nouveaux éléments, plutôt que de recommencer de zéro à chaque fois.
Défi 1 : Thymio avance grâce à la flèche du haut et s’arrête grâce au bouton central
Voici une solution possible. On peut ajouter de nouvelles instructions pour complexifier le programme et ajouter des fonctionnalités du robot.
Défi 2 : Thymio tourne grâce aux flèches
Défi 3 : Thymio s’arrête si un obstacle est devant lui
À ce stade, nous arrêtons l’imitation du mode mauve pour incorporer une détection d’obstacles.
Conclusion :
Les élèves élaborent une conclusion commune, par exemple :
- Un robot est une machine qui peut interagir avec son environnement.
- Un robot possède un ordinateur, des capteurs et des actionneurs, tous connectés entre eux.
- Pour donner des instructions à une machine, on utilise un langage de programmation, compréhensible à la fois par la machine et par l'être humain
- Certaines instructions ne s’exécutent qu’au déclenchement d’un évènement : on parle de programmation évènementielle.
- Blockly est un langage de programmation que Thymio peut comprendre.
Ils peuvent y ajouter un bref descriptif des modes préprogrammés de Thymio qu’ils auront étudiés.
Extrait de "1, 2, 3... codez !", Editions Le Pommier, 2016-2017. Publié sous licence CC by-nc-nd 3.0.