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 6 Programmer le lièvre et la tortue

1, 2, 3, codez ! - Activités cycle 4 - Projet « Robotique » - Séance 6 : Programmer le lièvre et la tortue

Discipline dominante

Technologie

Résumé

La première simulation de circulation routière des élèves reprend le thème d’une fable de La Fontaine. Il n’y a pas de véritable enjeu tant que le lièvre et la tortue sont sur des pistes séparées. En revanche, lorsqu’ils partagent la même piste, les élèves doivent prévenir les accidents.

Matériel

Pour la classe :

  •  Un vidéoprojecteur
  •  Deux longues pistes parallèles disjointes, constituées de plusieurs tronçons rectilignes (Fiche 4
  •  Un robot Thymio pour jouer la tortue

Par groupe :

  •  Un robot Thymio pour jouer le lièvre
  •  Un ordinateur avec Aseba Studio installé

Situation déclenchante

Le professeur propose de revivre la fable  « le lièvre et la tortue » de Jean de La Fontaine : il y a deux pistes dégradées, parallèles, et il faut programmer deux suiveurs de piste, avec des vitesses de croisière différentes. Il est préférable de colorer le Thymio suiveur « lent » et le Thymio suiveur « rapide » de façon différente pour bien les distinguer. Le professeur gèrera le suiveur « lent », tandis que chaque groupe programmera son suiveur « rapide ».

Les élèves arrivent rapidement à deux programmes similaires :


Programme de la tortue

Programme du lièvre

Les groupes organisent une course sur les deux pistes parallèles, et sauf erreurs de programmation (bugs) ou aléas de l’environnement (pli d’un papier, défaut d’impression de la piste, etc…), le lièvre arrive toujours le premier.

Maintenant, le professeur  retire une des deux pistes, et annonce que, comme dans la fable, le lièvre laisse de l’avance à la tortue avant de partir. Que va-t-il se passer ?


À gauche : situation initiale, la tortue (en vert) a un peu d’avance sur la piste unique, le lièvre (en orange) la suit de peu. À droite : le lièvre a rattrapé la tortue et cause un accident en la poussant sur le bas-côté.

Evidemment, le lièvre rattrape la tortue et cause un accident : selon les cas, il la pousse jusqu’à la ligne d’arrivée, la fait dévier vers  le fossé, dévie lui aussi, etc.

Le défi proposé aux élèves permet de gérer ce problème.

Défi : le lièvre rattrape la tortue sans causer d’accident (par groupes)

Le professeur demande alors : dans une situation automobile, comment peut-on gérer ce problème ?
Les élèves proposent en particulier de freiner, ou d’adapter sa vitesse. Le professeur propose alors à chaque groupe d’appliquer chacune des deux méthodes, en commençant par le freinage.
A chaque fois, les élèves sont encouragés à mettre au propre leur algorithme avant de se lancer dans la programmation.


Exemple de logigramme incluant le mode SUIVEUR (en jaune) avec deux options de réaction face à l’obstacle : freinage d’urgence (rose) ou adaptation de la vitesse (rouge)

Note pédagogique :
 Nous conseillons à tous les groupes de commencer par la programmation du freinage d’urgence même s’ils ont envisagé des solutions plus fines. En effet, le freinage permet une première approche de l’utilisation des capteurs frontaux, qui sera approfondie lors de la programmation de la seconde solution.

Solution 1 : freinage d’urgence

Une première solution consiste à piler net devant l’obstacle. Si c’est déconseillé en ASSR [Attestation scolaire de sécurité routière], c’est la solution la plus rapide à programmer.


Seul le bloc en bas à gauche est nouveau.

Solution 2 : suivre la tortue

Une seconde solution est d’adapter sa vitesse à celle de la tortue, en gardant une distance de sécurité. Là encore, il faut faire plusieurs essais pour bien jauger la sensibilité du capteur avant. Il est tout à fait possible (et encouragé) d’utiliser l’écran d’Aseba Studio qui reste inactif en arrière-plan à bon escient : si, avant de « Démarrer Blockly », on déplie d’office les onglets prox.horizontal (capteurs 5+2) et prox.ground.delta (2 capteurs de châssis) dans Aseba Studio, on peut lire en temps réel les valeurs retournées par les capteurs.


Dans la correction proposée ci-dessus, le lièvre ralentit lorsqu’il se rapproche trop de la tortue, jusqu’à piler et klaxonner s’il s’en approche trop.

Note pédagogique :
 Encore une fois, il n’est pas demandé de reproduire le comportement du Thymio « amical » (mode préprogrammé vert) car ce mode est plus subtil qu’il n’y parait : Thymio est capable d’adapter sa vitesse en fonction de la position, mais aussi de la vitesse de l’obstacle. Ici, les élèves doivent comprendre le principe de la programmation plus qu’aboutir à des programmes parfaits.

Conclusion

Avec ces nouvelles conditions, l’accident est évité, mais le lièvre est furieux. Que se passe-t-il dans la vraie vie, sur la route, dans des situations similaires ?
Les élèves répondent vite : le véhicule rapide cherche à doubler le véhicule lent. Ce sera l’objet de la séance suivante.
Pour l’instant, les élèves reproduisent le logigramme du lièvre dans leur carnet de projet.