Brainstorm activités pédagogiques Poppy Education, niveau débutants

Ce topic est dédié à un brainstorm informel d’idées d’activités pédagogiques que l’on pourrait imaginer dans le cadre de l’initiation à l’informatique et à la robotique en utilisant la plateforme Poppy, pour une population d’élèves de collège/lycée. Il s’agit de se placer dans l’esprit d’IniRobot, avec des missions ludiques et en même temps didactiques, qui est conçu pour l’école primaire (et basé sur le robot Thymio de l’EPFL).

Ce premier post est en mode wiki: vous pouvez l’éditer librement pour ajouter des idées, on utilise ensuite les réponses ci-dessous pour les discuter plus en détail.

Tout enseignant du secondaire ayant à cœur de réaliser son programme disciplinaire, il serait également intéressant de trouver de liens avec les programmes scolaires

  • Poppy instrument de musique: on utilise un robot Poppy comme un objet tangible qu’on peut déformer avec la main, et cette déformation produit des sons. L’idée est de mener les élèves à construire différentes sortes d’instruments de musique, dans lesquels notamment ils devront utiliser les articulations du robot comme des senseurs, programmer des règles SI…ALORS…, des boucles. On peut avoir plusieurs modes/instruments de musiques en utilisant les cartes QCode. Cela peut permettre de faire un instrument de musique de type synthétiseur.

  • De la même manière, un robot Poppy peut être utilisé comme objet tangible permettant de contrôler des objets virtuels sur l’écran (e.g. lutins de Snap), ou un autre robot.

  • Avec les Ergo Robots: on peut utiliser les moteurs de la base en mode moteur, et ceux du bout en mode senseur (en les rendant compliant). On peut ainsi avoir un capteur de toucher multidirectionnel et avoir des missions ou on doit programmer le robot dans des modes “curieux” (il explore autour de lui et dès qu’il est touché dans une direction il focalise son exploration dans cette direction), “peureux” (si on le touche, le robot fait un mouvement rapide de retrait), etc …

  • Mission de dessin en fixant un stylo au bout du robot: …

  • Mission de création de chorégraphie/danses, permettant de mettre en oeuvre la notion de séquence et concurrence, et les outils d’apprentissage par démonstration

  • Interaction Poppy et flux de données sur le web (data streams), par exemple Twitter: afin de faire comprendre et manipuler la manière dont les objets physiques (e.g. robots) peuvent être connectés et contrôlés (ou influencés) par les flux de données sur le web/réseaux sociaux, on peut imaginer déclencher certains comportements/chorégraphies/interactions quand certaines infos sont détectées dans des Tweets, et/ou faire twetter automatiquement le robot quand il perçoit des choses dans son environnement. Cela peut être particulièrement intéressant en Snap!, selon des activités comme celles présentées dans l’article “Analyzing the Twitter Data Stream Using the Snap! Learning Environment” de Andreas Grillenberger and Ralf Romeike https://www.dropbox.com/s/yl4tahw9vxya9j3/issep15_8p.pdf.pdf?dl=0
    Cette activité peut être l’occasion de faire comprendre aux élèves qu’un site web peut fournir automatiquement des données à une autre machine, par e.g. avec le système REST API, et d’expliquer que la connection entre Twitter et Snap! et similaire à la connection entre Snap! et pypot/Poppy. D’ailleurs, pouvoir faire comprendre l’architecture matérielle et logicielle et réseau de Poppy est un enjeu important des activités qui peuvent être visées.

  • Dans le cadre d’activités liées à l’enseignement du concept de langage informatique (le langage algorithmique et la manière dont il peut s’exprimer et s’éxécuter dans des langages de programmation variés), trois pistes complémentaires possibles:

    • utiliser les fonctions de codification de Snap! permettant de “traduire” un programme Snap! en python, javascript, C: http://snap.berkeley.edu/snapsource/snap.html#cloud:Username=jens&ProjectName=Codification
    • faire inventer aux élèves des langages de programmation basés sur l’utilisation des QRCode (on leur donne comme mission: imaginez un système permettant à d’autres enfants de programmers des chorégraphies avec le robot sans utiliser Snap!, juste en lui montrant des QRCodes). Cela amène aussi une réflexion sur la notion de conventions de codage et d’utilisabilité.
    • la même chose peut être réalisé en demandant aux élèves d’inventer un langage de programmation utilisable par Twitter: le résultat pourrait par exemple faire que si on envoie un tweet “#myrobot123 #Avance 25 #tourne 30 #avance 40” alors la main du robot myrobot123 avance de 25 unités, tourne de 30, et avance de 40 unités.
1 Like

Avec Poppy, la caméra peut aussi être utilisée pour reconnaître des couleurs auxquelles des paroles ou actions sont associées. On peut imaginer faire parler Poppy en fonction des couleurs de T-shirt des éléves qui lui passe devant les yeux.

Avec Ergo
Pendant la Coupe-Off, il y a un jeu que tout le monde trouve drôle c’est le matchs de sumo. On place 2 ergos assez proche, les élèves peuvent essayer de trouver des stratégies pour pousser le robot adverse en dehors d’une zone. Motivation et ambiance garantie.

Avec les deux
Pendant la coupe-off il y a aussi le lancer de balles

1 Like

Ce weekend, à l’Ubuntu party, j’ai un ami qui initiait les jeunes (~primaire) aux HTML avec des cubes en papier sur lesquelles était inscrit les balises de bases.
Une idée: chaque élève construit son cube, il y note le nom de l’action sur une face et un code reconnaissable par le robot sur une autre… idées en vrac…

Une idée à propos de l’option MPS dans les lycées :

Activité : developpement de comportements simples
Niveau : classe de seconde
Matière : MPS (maitrise de la pratique scientifique)
Matériel : Poppy torso (afin de s’affrranchir des comportements d’équilibre trop complexes pour être abordés avec toute une classe de seconde) et V-REP / notebook
Durée : Toute l’année scolaire

L’option MPS de la classe de seconde vise à faire découvrir aux élèves les bases de la démarche expérimentale sans faire de cloisonnement entre les matières traditionnelles. Cette option paraît bien adaptée à l’utilisation de Poppy.

Les premières séances peuvent être dédiées à l’apprentissage de quelques fonctions de bases pour faire bouger les moteurs et utiliser les capteurs.
Utilisation de notebook et de V-REP pour valider l’exercice et ensuite en fin de séance un passage sur le vrai robot pour ancrer les notions.

Ensuite un objectif simple de mouvement est défini :

_ Faire des mouvements symétriques droites / gauches avec les bras.
_ Se toucher les mains devant et derrière
_ Taper du poing sur la table
_ Applaudir
_ Se mettre les mains sur la tête
_ Lancer un objet
_ Faire tomber un objet
_...

Chaque groupe choisi un objectif qu’il doit réaliser en 5 séances. Les groupes travaillent alors en autonomie avec des points conseils réguliers afin de débloquer certaines situations. Les comportements sont testé sur V-REP puis mis en application sur un vrai robot quand ils sont validés.

Pour aller plus loin, il est possible ensuite de rajouter des conditions :

_ Bouger la tête en direction d'un bruit (est-ce que Poppy entend ? Je n'en sais rien...)
_ Lever les bras si du rouge est détecté  dans la caméra
_ Faire non de la tête si on touche le bras droit
_ Se tourner du coté où Poppy est touché
_...
2 Likes

Une autre famille d’activités à creuser est d’imaginer la programmation de jeux avec Poppy.
Dans le monde Scratch, beaucoup d’activités pédagogiques consistent à faire programmer des jeux avec Scratch. Que peut-on imaginer avec Poppy Torso et Poppy Ergo Jr par exemple ?

  • Poppy Torso Vrep: on fait tomber des objets de formes différentes devant le robot, et avec le clavier le joueur doit rapidement déclencher des primitives motrices qui permettent de les “batter/pousser” dans une direction qui dépend de leur forme. C’est donc au final un jeu de réflexe. Les étudiants doivent programmer les primitives motrices, le déroulé du jeu, le système de points et les niveaux.

  • Poppy Torso réel: jeu de mémoire. Avec son bras droit, Poppy produit d’abord un mouvement (M1). Avec le bras gauche en mode “libre”, on doit imiter le mouvement. Poppy produit ensuite M1 suivi d’un autre mouvement M2. Le joueur doit reproduire la séquence. Puis 3 mouvements, 4 mouvements, etc. Le but est d’arriver au plus grand nombre de mouvements. Les étudiants doivent programmer le jeu, la partie intéressante étant de mettre en place une méthode pour comparer les mouvements faits par le joueur et par le robot (mesure de similarité). C’est une forme d’algorithme de reconnaissance/de pattern matching (pas mal de choses à faire ici).

2 Likes

Hello,

An article about motivation trough different process called “gamification” . It describes different way to foster motivation. In particular, there are reflexions about achievement of motivation through education.
Poppy can clearly be a tool for gamification of education.

Motivation through gamification.pdf (611.0 KB)

2 Likes

Bonjour,

J’ai commencé à organisé un peu l’arborescence d’un futur contenu pédagogique ici : http://nbviewer.ipython.org/github/jjehl/poppy_education/tree/master/

et quelques notebook pour une initation à Poppy là:
http://nbviewer.ipython.org/github/jjehl/poppy_education/blob/master/classe%20de%20seconde/Informatique%20et%20science%20du%20num%C3%A9rique/sequence1_activite2_correction.ipynb

j’ai également mis mon dépôt à jour…

pour rappel voici le lien: https://github.com/Tibo42/poppy

j’ajouterai prochainement les fiches résumés pour l’enseignant qui serai dans ce gout là:

1 Like

Bonsoir,

Au fait, le 42 après Tibo c’est pour le département de la loire ou rien à voir ?
Elle est super cette fiche, bravo !
Je me pose pas mal de question sur la mise en forme du contenu pédagogique. Dans tes ressources, tu ne mets pas de références au niveau (seconde, première etc…) et pas de liens avec les programmes scolaires. Parce que des cours de programmation informatique au collège ou même au lycée générale et ben pour l’instant il n’y en a pas :frowning:
J’imagine différentes façons d’organiser le contenu :
1 - Tous les TP un peu en vrac sur Github quitte à avoir ensuite des fiches ou un site internet qui référence le contenu. Dans ce cas, tu peux tout mélanger ça na pas beaucoup d’importance.

2 - Les TP sont triée en fonction du public dès le début (donc dans le repository). C’est ce que j’ai essayé de faire mais c’est un peu lourd… et puis pour les mises à jours pas évident non plus

Quoi qu’il en soit, je pense que d’avoir une information sur le niveau, les matières principales voir la section (STI2D, S-SI etc…) et les notions du programme officiel est une chose importante parce que quand il y aura beaucoup de TP les enseignants ne pourront pas faire le tri parmi tous les TP pour trouver celui qui les intéresse. Pour la méthode, après je sais pas trop, je veux bien avoir ton avis.

Autre question, c’est quoi la différence entre poppy head et poppy doc - web dans ton repo ? Sur la fiche résumé thème et modèle et ce que tu peux me détailler un peu de quoi il s’agit ?

En fait, je pense que la clé d’entrée d’un enseignant qui veut éventuellement utiliser Poppy sera d’abord de trouver sa section (exemple Term S-SI) et ensuite une partie du programme par exemple compétence B3 -> Compétences attendues

  • choisir et mettre en œuvre une méthode de résolution ;
  • simuler le fonctionnement de tout ou partie d’un système à l’aide d’un modèle fourni.

A bientôt.

Bonjour @juju

oui nous sommes entièrement d’accord: il va falloir qu’on organise collectivement le développement de contenus pédagogiques de la manière suivante:

  • identifier les étudiants et enseignants cibles (e.g. seconde, première, terminale) et les matières cibles (e.g. MPS, ICN, ISN, etc …)
  • formaliser les objectifs pédagogiques, c’est à dire les concepts et savoir-faire qui sont visés par une séquence d’activités
  • et enfin mettre au point et scénariser des activités pédagogiques qui visent à chaque fois des étudiants et objectifs bien définis.

Maintenant, il est possible que certaines activités (à matérialiser sous la forme de notebooks/fiches) soient utilisés dans plusieurs séquences/parcours, utiles dans plusieurs contextes. Donc on pourrait avoir à la fois un ensemble d’activités, et à côté un ensemble de parcours dédiés à des publics et objectifs pédagogiques cibles et réutilisant ces activités.

Et du coup à la fin, comme tu dis, l’enseignant devra pouvoir trouver en 3 clicks la séance qui correspond à sa classe :slight_smile:

1 Like

Effectivement, pour le moment le contenu réalisé est avant tout pour les novices, tous les établissements scolaires n’ont pas le même niveau d’avancement dans le domaine des sciences du numérique. Ainsi il ne s’adresse à aucun niveau spécifique, hormis la volonté d’utiliser python.

Faire le lien avec le contenu des autres enseignements est l’objectif final. la robotique et l’informatique n’étant qu’un support pour aborder des contenus transversaux. Mais il réclame un cycle de développement plus long et une collaboration active de tous les acteurs (concepteur, utilisateur, etc)

Pour le moment la structure interne du contenu n’est pas encore fixe, une fois cette question réglée, étudier la structure de référencement à adopter sera essentiel pour fournir une ressource de qualité facilement accessible.
Mais comme l’a dit Pierre-Yves @oudeyer on peut imaginer “avoir à la fois un ensemble d’activités, et à côté un ensemble de parcours dédiés à des publics et objectifs pédagogiques cibles et réutilisant ces activités”

Pour le moment je n’ai pas ajouté les README … c’est donc complexe de se repérer dans cette organisation. la prochaine maj de mon dépôt contiendra (entre autre) ce genre d’information sur la structure: arborescence du répertoire:


Mais pour le moment je me focalise sur la rédaction de mon rapport de stage que je publierai également dans mon dépôt

Cela dépend des activités pédagogiques et de leurs buts. Je pense justement qu’un des buts importants est d’utiliser la robotique comme un outil pour l’enseignement de l’informatique et de ses liens avec le monde physique et social/humain, par exemple dans le contexte de l’ISN.

Dans d’autres contexte d’utilisation, la robotique et l’informatique peuvent en effet être des outils pour des enseignements par exemple artistique, mais ce sont d’autres contextes à définir précisément.

Bonjour,
Je suis animatrice multimédia dans un Espace Public Numérique parisien et je viens de découvrir Poppy aux samedis de la robotique au Carrefour numérique de la Villette.
A la rentrée, je vais démarrer un atelier d’initiation à la programmation avec des primaires. Je commencerai probablement avec Kturtle mais j’espère pouvoir passer à Scratch assez vite.

Je trouve sympa l’idée d’utiliser Poppy comme modèle à animer mais je souhaiterais que ce soit simplifié au maximum.
Est-il possible d’utiliser Scratch avec une version virtuelle de Poppy sans passer par V-rep? En effet, j’ai eu quelques soucis pour utiliser Snap et V-rep en même temps. De plus, je ne comprends pas encore comment programmer les mouvements des moteurs avec les modules de déplacement de Snap.
Ou est-il plus simple de dessiner Poppy en 2D dans 3 ou 4 positions (avec Inkscape par ex) à la façon du chat qui sert de modèle et de l’intégrer dans Scratch? Y a -t-il un dessin déjà prêt pour cela ? Je ne crois pas l’avoir déjà vu mais peut-être ai-je mal regardé.

une documentation approprier est en cours de rédaction, elle est actuellement hébergé sur mon compte github perso, en voila le fichier principal installation rapide (poppy réel & simulé)

Pour le moment ce n’est pas le cas, mais l’idée à déjà était suggéré, peut-etre y auras t-il prochainement une contribution sur ce sujet. @Theo auras surment plus d’info à ce sujet.

C’est normal, snap n’est pas nativement prévu pour Poppy, un certain nombre de bloc ont étés spécialement conçu pour cela. Il est donc nécessaire d’importer un fichier xml dans snap pour manipuler poppy ; mais pareil je laisse les experts de snap vous répondre… @Theo @Amandine @Antoine

Bonjour,
Il n’est pas possible (c’est techniquement faisable mais ce n’est pas prévu) d’utiliser Scratch pour contrôler Poppy. Quasiment tout ce qui est possible de faire avec Scratch est possible avec Snap!, et on a un certain nombre de fonctionnalités supplémentaires (pour faire de la programmation “plus avancée”).

Il est possible actuellement de contrôler via Snap! uniquement un vrai robot ou un robot simulé dans V-REP. On a comme idée de faire un “simulateur” de poppy dans le navigateur, intégré à Snap!, mais ce n’est pas pour tout de suite.

L’intégration de Poppy dans Snap! est encore en développement, et change à présent en fonction des premiers retours utilisateurs. Toute remarque (même négative) est la bienvenue pour améliorer l’utilisabilité et la compréhension des blocs par un utilisateur non averti.

En effet, ça n’existe pas, mais je comprend mal le champs d’application. Vous voulez “simplement” remplacer le chat qui bouge par un dessin de Poppy en utilisant les blocs de Snap!/Scratch pour le faire se déplacer, ou l’idée est de relier les blocs spécifiques à Poppy dans Snap! pour contrôler un sprite ?

Merci pour ce retour.
La première étape serait juste de faire un mini-robot ressemblant à Poppy dans Scratch pour introduire la thématique robotique dans l’atelier. Si un dessin 2D simplifié n’existe pas, on peut peut-être le faire dessiner par les enfants, en se basant sur les photos du vrai Poppy.
Ensuite, on pourrait imaginer un contrôle plus précis de chaque membre du robot (ou peut-être une marionnette lui ressemblant) via Snap ou Scratch (mais il faut que les commandes soient en français, c’est plus simple).
Ce n’est que dans un dernier temps qu’on pourrait aborder le robot dans V-rep, voire le vrai robot (que le Carrefour Numérique pourrait peut-être nous prêter)
Sinon, voila les soucis que j’ai avec Snap et v-rep : [http://forum.ubuntu-fr.org/viewtopic.php?pid=20079901#p20079901]
Par ailleurs, avec des ados, j’avais dans l’idée d’utiliser une version à animer dans Blender, que je connais pas mal, mais je ne sais pas si c’est une bonne idée.

Bonjour,

il est en effet imaginable de programmer une sorte de “marionnette Poppy” dans Scratch pour introduire le sujet et Scratch en même temps, mais il faut développer la marionnette.

Je pense que cela vaut le coup néanmoins d’essayer Snap!+V-Rep, car ensuite la transition avec le vrai robot se fera plus naturellement, et nous pourrons vous accompagner plus facilement sur ce forum.

En effet, je pense que cette approche peut être intéressante. J’ai déjà animé des ateliers sur Scratch avec des enfants de fin de primaire sous la thématique de la création d’un “jeu vidéo” et le côté “marionnette” est très gratifiant pour eux (passer de leur dessin, à leur animation).

Au sujet du problème, vous auriez eu une réponse plus rapide sur ce forum plutôt que celui d’ubuntu…
Il faut installer les paquets en local (en rajoutant “-U” à la commande pip) pour ne pas avoir de droits. Sinon, en exécutant poppy-snap avec les droits root (sudo poppy-snap …), ça marchera.

La difficulté avec Snap est la langue, je crois qu’il n’est qu’en anglais alors que Scratch est en français.

Pour ma part, je programme un peu en javascript et j’ai des bases en python, et je me débrouille bien en anglais. Je ne sais pas si je peux faire quelque chose soit pour de la traduction, soit pour de la programmation.

De toute façon, je vais essayer Snap et V-rep dès que j’arrive à les faire fonctionner ensemble. Je verrai ensuite si je les utilise ou non dans mes ateliers avec les enfants.

1 Like

Snap! est traduit en français, de la même façon que Scratch (mais pas les blocs pour Poppy), il suffit de changer la langue par défaut.
On peut créer ses propres blocs facilement dans Snap!, ce qui ne nécessite pas de toucher au JS.