Scratch - Thymio - Appréhender l'environnement éloigné

Scratch est l’environnement préconisé / imposé par l’Éducation Nationale dans la mise en œuvre des nouveaux programmes (algorithmie et programmation).

Le robot Thymio permet une première approche de la robotique. S’il dispose de capteurs lui permettant d’appréhender son environnement proche, rien ne lui permet de “voir” à plus de quelques centimètres.

Pour lui donner des yeux, plusieurs solutions pourraient être envisageables :

  • Utiliser une caméra IP fixe et utiliser les fonctions vidéos de Scratch pour assurer le positionnement et le repérage : le problème est que Scratch 2 n’autorise que la caméra locale.
  • Mettre en œuvre une carte complémentaire (Raspberry, par exemple) équipée d’une caméra et/ou d’un capteur ultrason : le souci est que la version Scratch de l’OS de la carte est la version 1.4 et qu’elle n’implémente pas la vidéo.
  • Utiliser une caméra de type RoboSnap, pour laquelle les blocs Scratch (ou son cousin Snap) sont disponibles : la carte USB RoboSnap peut être montée sur Lego Mindstorms ou Raspberry + DexterIndustries BrickPi, ce qui éloigne de la solution Thymio ou complexifie et augmente le coût de la solution.

Toutes les idées pour mener à bien les pistes évoquées ou en proposer d’autres sont les bienvenues.

Très bonne problématique à discuter. @cbarraud, de @smagnenat et de @sherman ont peut-être un avis sur la question.
Il est possible de créer des extensions pour Scratch.

En effet, le Thymio ne peut actuellement voir qu’à courte distance. Je vois plusieurs possibilités pour améliorer cela :

  • Utiliser une caméra externe pour localiser le robot. C’est ce qui est fait indirectement quand on fait de la réalité augmentée. J’ai développé un prototype dans le cadre d’une publication de recherche (voir ici). Nos développements en cours sur la réalité augmentée vont également dans cette direction.
  • Permettre au robot de se localiser en utilisant les capteurs au sol sur une image connue. Nous avons soumis une publication allant dans cette direction, et le code sera rendu public une fois cette dernière acceptée.
  • Mettre une caméra sur le robot, avec un Raspberry PI ou un petit ordi, ou en déporté. C’est toujours possible, mais en effet ça complexifie la mise en place.