Visuel du bouquet de services académiques

Groupe départemental TUIC 80

Vous êtes ici : Accueil > Programmation > Cycle 3 >

Programmation de robots

Exemple de projet de découverte de la programmation de différents robots avec une classe de CM2.

Objectifs :

Donner plus de sens à la programmation, réinvestir les compétences acquises en géométrie (en particulier les notions de longueur et d’angle).
Tout au long du projet les élèves ont pu se trouver en situation de recherche en effectuant des essais et en observant les effets pour ensuite apporter des modifications afin d’atteindre l’objectif fixé.

Dans les programmes :

Compétences travaillées Domaine du socle
Pratiquer des démarches scientifiques et technologiques Domaine 4 – Les systèmes naturels et les systèmes techniques
Pratiquer des langages Domaine 1 – Les langages pour penser et communiquer
Organiser du travail personnel Domaine 2 - Les méthodes et outils pour apprendre
Invention, élaboration, production Domaine 5 – Les représentations du monde et de l’activité humaine
Matériaux et objets techniques
ATTENDUS DE FIN DE CYCLE
- Décrire le fonctionnement d’objets techniques, leur fonction et leur constitution.

- Repérer et comprendre la communication et la gestion de l’information.

CONNAISSANCES ET COMPÉTENCES ASSOCIÉES
Décrire le fonctionnement d’objets techniques, leur fonction et leur constitution.

- Besoin, fonction d’usage

- Fonction technique, solutions techniques

- Représentation du fonctionnement d’un objet technique

- Comparaison de solutions techniques : constitutions, fonctions, organes

Repérer et comprendre la communication et la gestion de l’information.

- Stockage des données, notions d’algorithmes, les objets programmables

Lancement du projet :

Mme Vasseur a décidé de mener un projet programmation avec sa classe de CM2 à l’école élémentaire Pigeonnier. Elle a donc commencé par des activités débranchées avec la Beebot (programmation puis exécution du programme sur ordinateur) et une découverte en binôme du langage de programmation Scratch par l’intermédiaire de l’interface en ligne du même nom. Elle a ensuite pris contact avec Jean-Christophe Olivier de l’atelier Canopé d’Amiens pour pouvoir faire découvrir à ses élèves des robots et ainsi réinvestir le travail effectué en programmation. Nous nous sommes ainsi réunis afin de décider d’une date de venue de la classe à l’atelier Canopé et des activités qui seraient proposées aux élèves.

Préparation en amont avec les élèves :

Afin de préparer la matinée à l’atelier Canopé avec les élèves, je me suis rendu dans l’école (six semaines avant la date fixée) pour observer une séance de programmation sur Scratch et orienter le travail des séances suivantes pour préparer la programmation des robots. J’y suis retourné un mois plus tard avec un Robot Ino-Bot (prêté par Canopé) pour faire découvrir aux élèves les commandes spécifiques du robot dans le logiciel Scratch (que nous avions au préalable fait installer sur les ordinateurs de la salle informatique). J’ai ainsi pris en charge des groupes de 4 élèves pour tester avec eux la connexion du robot à l’ordinateur en Bluetooth puis les différentes commandes (uniquement disponibles en anglais) une à une sur le robot afin de comprendre son fonctionnement. Cela a permis en particulier de mettre en évidence qu’il fallait tenir compte du temps de mise en action du robot dans la programmation. En effet, les informations qui arrivent au robot sont immédiatement traitées, ce qui fait qu’il faut ajouter une instruction spécifique si l’on veut que le robot effectue l’action complète avant de passer à la suivante (commande « Movement Complete »). Les élèves ont ensuite écrit en autonomie par binôme un programme pour ce même robot. Ce programme a été enregistré pour être testé (et ajusté si besoin) lors de la matinée à Canopé.

Déroulement de la matinée "Robots" à Canopé :

La matinée a été organisée autour de 6 ateliers. Les élèves ont été répartis en 6 groupes de 4 élèves (en respectant les binômes déjà constitués). Chaque groupe était accompagné d’un adulte (5 CTICE, l’enseignante, la directrice et un membre de Canopé étaient présents). Mise à part l’atelier 4 que j’ai géré toute la matinée, les autres ateliers étaient préparés pour fonctionner sans que les adultes qui géraient les groupes n’aient besoin de compétences pointues en programmation, ni en utilisation de robots (la plupart ont découvert le matériel en même temps que les élèves). Chaque groupe participait à un atelier durant 20 minutes avant de passer au suivant. Tous les groupes ont ainsi pu tester les 6 ateliers. Voici le détail des ateliers :

  • Atelier 1 : Bluebot (programmation sur le robot)
  1. Programmer un Bluebot pour qu’il s’arrête sur la case représentant la bonne réponse à la question posée (les élèves ont préparé en classe 2 grilles avec des dimensions de cases correspondant à un déplacement du robot ; une grille avec des drapeaux nationaux et une autre avec des illustrations reprenant des fables de La Fontaine sur lesquelles ils avaient travaillé ; Ils ont également préparé des questions associées à ces grilles).
  2. Défis sur grand parcours « Gruffalo » : programmer le(s) Bluebot(s) pour atteindre la cible donnée – à partir de fiches fournies par l’Atelier Canopé (niveau 1 : allez d’un endroit à l’autre ; niveau 2 : idem mais avec 2 robots qui se suivent).

Bilan : Les élèves découvraient ce robot et l’ont malgré tout très vite maîtrisé. La seconde phase (en particulier celle avec 2 robots) était plus complexe : le déplacement simultané de 2 robots demande d’utiliser à bon escient la fonction pause sur le robot suiveur afin de permettre au premier de faire sa rotation sur place (elle demande donc de plus grandes capacités d’abstraction et de représentation par anticipation des mouvements des robots). Elle s’est cependant avérée comme étant la plus intéressante. Le niveau 1 de la deuxième partie est un peu redondant par rapport à la première partie.

  • Atelier 2 : Probot (programmation en Logo)
  1. Découverte des commandes et du fonctionnement.
  2. Enregistrer des programmes dans la Probot (tracé de figures géométriques).

Bilan : L’adulte suivait la fiche que j’avais préparée (cf. annexe A) permettant au travers de manipulations et de questions de comprendre les fonctions de base du robot. Les élèves étaient ensuite en capacité de chercher un programme de tracé de formes géométriques. Ce robot est particulièrement précis dans ses tracés et permet d’appréhender les mesures d’angle en degrés.

  • Atelier 3 : InO-bot (programmation en Scratch)
  1. Test du (ou des) programme(s) préparé(s) en classe et recherche d’amélioration si nécessaire. L’adulte demande aux élèves ce qu’ils ont programmé puis lance le programme à partir de la clé USB qu’ils ont amené. Un point est fait avec eux (le résultat est-il celui attendu ? Si non, pourquoi et comment améliorer le programme pour obtenir le résultat attendu ?).
  2. Programmer le dessin de 3 carrés (fait avec un lutin scratch ; réinvestissement avec le robot).

Bilan : Bien que les élèves avaient pu découvrir ce robot en classe avant la séance, il leur a fallu un certain temps pour s’approprier complètement les commandes spécifiques du robot afin de corriger leurs programmes. Ils ont également été confrontés aux limites du robot. Contrairement à la Probot, l’InO-bot n’est pas capable d’effectuer des tracés précis et nous n’avions pas de stylo permettant d’utiliser les fonctions « Pen down » et « Pen up ». De plus, 3 robots étant en action simultanément, nous avons à certains moments rencontré des problèmes de synchronisation avec l’ordinateur associé. Malgré tout, le fait d’avoir préparé des programmes en amont qu’ils n’ont pu tester qu’une fois à Canopé a motivé les élèves qui se sont investis pleinement dans cet atelier.

  • Atelier 4 : InO-bot (programmer en Scratch en utilisant les capteurs)
  1. Découverte de la programmation conditionnelle (si ... alors) avec utilisation des capteurs (programmer une réaction du robot lors de l’activation du capteur).

Bilan : Cet atelier était celui qui demandait le plus d’attention de la part des élèves car il mettait en jeu plusieurs nouvelles notions de programmation. En plus de la programmation conditionnelle avec l’utilisation des capteurs, il a fallu ajouter l’utilisation de « boucles infinies » pour que les capteurs restent actifs tout au long du déroulement du programme. Les problèmes de connexion du robot à l’ordinateur et la "qualité" des capteurs ont ajouté des difficultés supplémentaires à cette découverte. Toutefois, la notion de condition semble avoir été comprise par l’ensemble des groupes.

  • Atelier 5 : Sphéro (programmation à partir de l’application dédiée sur tablette)
  1. Programmer le Sphéro pour atteindre la ligne d’arrivée en évitant les obstacles.

Bilan : La programmation est assez différente de celle sous Scratch :

  • on ne programme pas une distance mais un temps de déplacement et une vitesse
  • les déplacements ne se programment pas en relatif (par rapport au robot) mais en absolu (par rapport à un point défini au départ) -> on ne fait pas pivoter le robot d’un angle donné vers la gauche ou la droite, on sélectionne l’angle de la direction que doit suivre le robot (de 0° à 360°).
    Cet atelier était très intéressant pour montrer la diversité des types de programmation pour commander des robots. Les élèves sont tous parvenus au bout des 20 minutes (parfois en simplifiant un peu le parcours initial) à écrire un programme permettant au robot d’atteindre la ligne d’arrivée, en réalisant une succession d’essai-échec-ajustement.
    Le Sphéro a un côté très ludique (couleurs, forme et vivacité) qui a fortement contribué à maintenir la motivation des élèves.
  • Atelier 6 : Thymio (découverte des modes « couleurs »)
  1. Fiche "Découverte du robot Thymio aux cycle 2 et 3" tirée du site Canopé Besançon (cf. annexe 2)

Bilan : Cet atelier a permis de découvrir un autre type de commande d’un robot : les réactions en réponse à des actions extérieures par l’intermédiaire de capteurs en fonction d’un mode (programme pré-enregistré) donné. Les élèves ont apprécié le côté ludique de la découverte des différentes réactions du robot selon le mode choisi. Ils ont pu réinvestir leurs découvertes (qu’ils avaient auparavant synthétisées à l’aide d’une fiche) pour réaliser des défis. Ce type d’activité peut déboucher sur la programmation de l’InO-bot afin qu’il adopte le même type de réaction qu’un mode donné du Thymio (ce qui permet de prolonger l’activité menée dans l’atelier 4).

Remarques générales :

  • Il aurait été possible de proposer un deuxième atelier Thymio avec programmation en langage Blockly (peut-être à la place de l’atelier 4 InO-bot (programmer en Scratch en utilisant les capteurs)). Cela aurait permis aux élèves de réinvestir ce qu’ils ont acquis en programmation avec le logiciel Scratch dans un autre langage (qui reste malgré tout très proche) et avec un autre robot que l’InO-Bot.
  • Les élèves de la classe de Mme Vasseur ont eu un comportement exemplaire : attentifs, motivés et actifs (dans le bon sens du terme).

Liens utiles :

  1. Télécharger et installer le compilateur Blockly4Thymio.v1.1.exe
  2. puis la version déconnectée de l’interface de programmation que vous allez décompresser dans un dossier que vous pourrez appeler par exemple Thymio (notez bien l’emplacement où se situe ce dossier).
  3. Ouvrez le dossier décompressé et cliquez-droit sur "Blockly4Thymio" puis "Envoyer vers -> Bureau (créer un raccourci)".
  4. Pour utiliser l’application :
    1. Lancer Blockly4Thymio en cliquant sur le raccourci créé sur le bureau (le navigateur Internet s’ouvre).
    2. Ecrire le programme.
    3. Cliquer sur le Thymio en bas à gauche puis choisir enregistrer.
    4. Vous retrouvez votre fichier dans votre dossier de téléchargement habituel.
    5. Si vous souhaitez charger le programme sur votre Thymio, il vous suffit de double-cliquer sur le fichier.
    6. Si vous souhaitez ouvrir le programme pour le modifier, lancer Blockly4Thymio (le navigateur Internet s’ouvre) puis cliquez sur l’icône avec la flèche verte en bas à gauche ("Charger un programme Blockly4Thymio depuis l’ordinateur").

Remerciements :


Nicolas VASSEUR, CTICE AMIENS 3
nicolas.vasseur ac-amiens.fr

Mise à jour : 19 juillet 2017