SE CONNECTER
1,2,3... codez ! | Le site de la Fondation La main à la pâte
Module 123 Codez | Programmer | Informatics and Digital Creation

Projet « Robotique » – Séance 7 Autoriser le lièvre à doubler la tortue


1, 2, 3, codez ! - Activités cycle 4 - Projet « Robotique » - Séance 7 : Autoriser le lièvre à doubler la tortue

Discipline dominante

Technologie

Résumé

Pour laisser une chance au lièvre, tout en évitant les accidents, les élèves doivent programmer le changement de piste du Thymio rapide, s’il est trop ralenti par le Thymio lent.

Matériel

Pour la classe :

  •  Un vidéoprojecteur
  •  Deux longues pistes parallèles collées côte à côte, constituées de plusieurs tronçons rectilignes (Fiche 4), avec deux signaux « ligne de guidage » issus de la Fiche 7

Par groupe :

  •  Deux robots Thymio
  •  Un ordinateur avec Aseba Studio installé

Préparation

Le professeur reprend une piste rectiligne de la séance précédente, et lui adjoint une autre piste, composée majoritairement de tronçons de la Fiche 4 et de quelques tronçons de la Fiche 7, selon un schéma similaire à celui-ci (qui modélise une route à 2 voies) :

Situation déclenchante

Les élèves rappellent ce qu’ils ont élaboré lors de la séance précédente : deux suiveurs de ligne entrent en collision s’ils empruntent la même voie à des vitesses différentes. Il faut donc que le « lièvre » puisse doubler la « tortue », ce qui est impossible sur une piste unique.
Le professeur présente alors le terrain qu’il a préparé : deux pistes parallèles, simulant une route double-sens à deux voies séparées par une ligne blanche continue. Des codes-barres (minimalistes : ce sont les blocs noirs) représentent le début de lignes discontinues (« lignes de guidage ») permettant au lièvre de changer de voie. Le professeur insiste sur le scénario à respecter. La tortue part sur la voie inférieure et la parcourt de gauche à droite. Le lièvre la suit à quelques secondes, sur la même voie. Lorsque le lièvre la rejoint, il doit adapter sa vitesse et se préparer à doubler. À partir de cet instant, le lièvre a le droit de doubler dès qu’il repère une des bornes de changement de ligne.

Les élèves doivent donc améliorer le programme de leur Thymio pour refléter cette nouvelle situation.

Trouver l’algorithme final du lièvre (classe entière)

Le professeur trace au tableau l’algorithme du comportement du lièvre, sous la dictée des élèves. Il les guide et les relance pour que ce logigramme inclue en particulier :

  •  Les différents états du lièvre

o Repos [code 0]
o Suiveur de ligne [code 1]
o Pressant : il suit la tortue et se prépare à doubler (il met son clignotant) [code 2]
o En train de se déporter : il change de voie [code 3]
o En train de se rabattre : il cherche à se rétablir sur la nouvelle voie [code 4]

  •  La direction du lièvre
  •  La vitesse du lièvre

Il est préférable de choisir un code commun pour les différents états du lièvre, afin de faciliter les mises en commun et le débogage des différents programmes.

Notes pédagogiques :

  •  Il y a plusieurs façons de diriger cette étape. La première, proposée ici, est de réaliser en classe entière le logigramme au fur et à mesure. L’explicitation en français est difficile, car elle demande précision et rigueur : il est probable que cette séance prenne 2h au lieu d’une, et il faudra donc se concentrer sur le logigramme pendant la première heure et la programmation pendant la seconde. L’autre méthode, plus rapide, est d’afficher directement le logigramme proposé ci-dessous, et de demander aux élèves de vérifier s’il répond bien au problème.
  •  Ce logigramme ne prend pas en compte le retour du lièvre sur la piste de droite, car pour cela il faudrait s’assurer que la tortue est bien derrière lui, ce qui est particulièrement technique et difficile. Cela sort donc du cadre de cette initiation.

Les élèves aboutissent à un logigramme semblable à celui-ci :

Ce logigramme intègre déjà beaucoup d’algorithmes que les élèves ont implémentés : les blocs de couleur orange correspondent au suiveur de ligne amélioré de la Séance 5; les blocs de couleur rose correspondent quant à eux à la détection d’obstacles de la Séance 6.
La difficulté nouvelle consiste ici à bien découper les étapes du dépassement : en particulier, puisqu’il n’est pas possible de dire à Thymio « déporte toi tant que tu ne croises pas de nouvelle ligne noire », il faut décomposer d’abord en « déporte toi » puis en « va tout droit jusqu’à une nouvelle ligne noire », le tout temporisé grâce aux évènements « chronomètre ». En cela, les élèves redécouvrent que toute tâche complexe peut être décomposée en instructions élémentaires.

Implémenter l’algorithme du lièvre (par groupes)

Aidés de ce logigramme, les élèves programment finalement le lièvre, et font régulièrement des tests sur une Fiche 4 ou une Fiche 7, en utilisant leur main comme obstacle mouvant.
Partant du programme précédent (le lièvre suit la ligne, rattrape la tortue et s’adapte à sa vitesse), il faut désormais:

  •  expliciter les états du lièvre à chaque étape ;
  •  ajouter les instructions du pseudo-lecteur de code-barres ;
  •  chronométrer le décrochage ;
  •  programmer le redressement sur la piste libre, à gauche, pour repartir en mode « suiveur » classique.

Le programme suivant est une solution possible.

NB : ce programme corrigé, comme tous les autres, est disponible ici

Conclusion

Dès que les groupes sont prêts, ils peuvent tester leurs Thymio sur cette nouvelle piste. Par l’essai-erreur, ils améliorent régulièrement leurs programmes. Au final, ils ont la satisfaction de voir le lièvre doubler la tortue, et filer sur la voie de gauche jusqu’à la ligne d’arrivée.


À gauche: situation initiale, la tortue a un peu d’avance sur la voie de droite, le lièvre la suit de peu sur la même voie. À droite : la tortue continue son chemin (état 1 ou mode SUIVEUR), tandis que le lièvre se déporte sur la gauche pour doubler (état 3 ou mode DEPORTE).

En fin de séance, les élèves reproduisent le logigramme final dans leur carnet de projet.