Danse contemporaine - School of moon - Suprimer les cables de Poppy Ergo Jr (activer wifi + batteries) + piloter plusieurs robots sur un même projet Snap!

documentation
howto
ergo-jr
français
Tags: #<Tag:0x00007f5ce73efa80> #<Tag:0x00007f5ce73ef918> #<Tag:0x00007f5ce73ef6e8> #<Tag:0x00007f5ce73ef490>

#1

Avec la compagnie Shonen, dans le cadre d’un atelier de 13h à Pau du 23 au 26 avril avec @quitterie , nous allons créer un nouveau format toujours dans la continuité du Spectacle School of Moon.
La différence principale est l’intégration sur scène, en plus d’un Poppy Humanoïde, d’une petite armée de Poppy Ergo Junior (entre 10 et 12).
L’atelier se déroulera avec deux groupes de CM1-CM2 mêlant danse et programmation robotique. En effet, le challenge va être que les élèves auront à programmer les robots qui seront sur scène.
La thématique sera “les plantes de la vallée de l’étrange”.
La vallée de l’étrange est en effet une référence du spectacle School of Moon. Pour rappel, quand un robot ne ressemble pas à l’humain, l’humain l’accepte facilement. Mais si il ressemble de plus en plus à l’humain, il devient de plus en plus monstrueux et provoque une émotion mêlant dégout et peur, une sorte de frisson. Enfin, quand le robot ressemble de manière très fidèle à l’humain (comme un clone), il redevient acceptable.

La réflexion consiste à analyser cette vallée de l’étrange avec les plantes et le robot Poppy Ergo Junior qui sera travaillé en arbre. Qu’est ce qu’un mouvement naturel de plante ? Comment programmer le Poppy ergo pour qu’il ressemble à une algue ?

Nous allons donc composer une petite forêt sur scène en complémentarité avec les enfants et le robot Poppy Humanoïde.

Les enfants seront donc partie intégrante du processus de création.

Après un premier test avec un robot Poppy Ergo, il apparait déjà plusieurs pistes. Le travail effectué déjà sur ce robot d’un point de vue pédagogique est déjà immense et est un appui magnifique qui va grandement m’aider.

Reste quelques questions techniques :

  • j’ai voulu activer le wifi sur le Poppy Ergo pour éviter le câble RJ45 sur scène et il semble avoir cramé. Ca vous est déjà arrivé ?
  • Est-il possible sous SNAP d’envoyer, via un Snap maître des variables via le réseau qui vont déclencher des blocs chez d’autres robots ?

A part ces deux questions techniques, il me reste des questions pédagogiques que j’aborderai lors d’une première rencontre à Pau ce mercredi avec les enseignants.
Si vous avez des idées sur ces questions ou des remarques, ça m’intéresse.


Quelle batterie utiliser pour un poppy ergo jr?
#2

Bonjour @Thot

Encore un super projet !!! Bravo pour l’initiative !!!

concernant tes questions

Non, mais je pense que l’image sur la sd est configuré pour être compatible avec les RaspberryPi2 … pour activer la puce wifi de la RaspberryPi3, tu dois ouvrir un terminal sur l’ergo et mettre à jour le système:

sudo apt update
sudo apt dist-upgrade

puis tu dois ajouter ton réseau:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

selon ce format:

network={
ssid="nomDeLaBox"
psk="cléDeSécurité"
}

Oui, et c’est assez simple ! :

  • On sait que: dans Snap! tout les blocks contrôlant le robot se terminent par une ‘url’ qui envoie la commande. Cette url se compose de l’adresse du robot (IP+port) + la commande à exécuter. L’adresse du robot est contenu dans une variable global nommé ‘host’.
  • Or, en Snap! nous pouvons créer plusieurs ‘sprite’ possédant leur propre variables (local et non global).
  • Donc, il faut supprimer la variable global ‘host’ ; créer une variable local ‘host’ ; créer autant de sprite qu’il y a de robot (chacun possédant ca propre variable ‘host’)
  • Enfin, tu peut assez facilement récupérer et transférer les valeurs de position des moteurs (ou autre) d’un sprite à l’autre)

J’avais réaliser une petite vidéo expliquant la manip :

Et

sache que tu peut également brancher des batteries (de ce type Batterie LiPo LBS-10 11V) sur la carte pixel …


Tu peux également alimenter via le microusb de la Raspberry … ça fonctionne… mais «c’est pas bien!» cependant mes talents d’électronicien ne pourrons pas me permettre de t’expliquer pourquoi :wink:

Voila, j’espère que cela va résoudre “tes problèmes”!

Continu comme ça !
a bientôt
tibo


Comment avoir plusieurs robots simulés à partir d'un unique robot réel
#3

Merci beaucoup @tibo. Je vais tester tout ça.
Concernant le wifi, je ne sais pas comment j’ai fait mais il a bel et bien cramé… avec la même carte sd sur une autre pi3, ca marche.
Ca grésille a chaque tentative de connexion.
Pour plusieurs connexions je vais tester ca !


#4

@Theo, une idée?


je te conseil aussi d’utiliser ce projet: pypot-snap-blocks_v2beta.xml (391.8 KB) (cf post3640:pypot-snap-block-new-version ), car, même s’il n’est qu’en version beta, il corrige pas mal de problème surtout lorsqu’on souhaite manipuler plusieurs robot…


#5

Bonjour @Thot,

concernant les questions pédagogiques, voici des liens et des pistes (en lien avec notre discussion d’aujourd’hui) pour nourrir tes réflexions et t’aider à scénariser ton atelier de 4h d’introduction à la robotique/programmation avec des élèves de CM1 (les élèves devront ensuite, dans un second atelier de 5 h, programmer des robots qui seront sur scène):

  • voici une séquence complète Ergo Jr pour des CM1 :
  • On peut utiliser les QR codes pour faire comprendre le concept de condition : par exemple, demander aux élèves de montrer le QR code au robot et décrire ce qu’ils observent (le robot est au préalable programmé pour avoir des comportements différents en fonction du QR code qu’il détecte).

  • Pour mêler danse et programmation/algorithmes , tu peux t’inspirer d’activités débranchées, comme le robot idiot :


on peut même y intégrer le concept de boucle et de condition

  • ne pas non plus hésiter à montrer des petits scripts/programmes existants et leur demande de comprendre / et de le modifier

On s’est aussi interrogé sur le nombre idéal d’élèves par robots pour un niveau CM1 ?

C’est vrai qu’au lycée on a tendance à préconiser 3 élèves par groupe mais en primaire j’ai peur que le fait de devoir “collaborer” interfèrent sur les tâches à réaliser (vu que ça demande un apprentissage à part - j’imagine que ça dépend aussi des objectifs et du temps qu’on a) ? Bref, j’ai un doute ?

Voilà !

Toutes idées / conseils, réflexions sont les bienvenues.

@christophe @Noemie @Animatrice_Epn @_thierry @quitterie je sais que vous avez déjà réalisé / voulut réaliser des activités en primaire :p, votre expérience nous intéresse :slight_smile: .


#6

Salut @tibo, je suis en train de tester les multi robot et multi sprite. J’ai un petit soucis.
J’utilise la version beta que tu as fourni dans ton post.
Je créé mon premier sprite ave le host (local) positionné à 10.0.0.102, je m’y connecte et tout va bien
Quand je créé le deuxième sprite, je créé la variable locale “host”, je dépose un bloc d’init robot à l’adresse 10.0.0.103 mais dans l’affichage, il reste à 10.0.0.102.
Quand je récupère les positions, il récupère bien les positions du 10.0.0.102 et non 10.0.0.103.

Un problème de portée des variables ?


Merci


#7

le block “set host” met par défaut poppy.local.
Si on met un block “set” variable avec host comme variable, ça marche.


#8

Bonjour @Thot

je pense que tu as simplement oublié de cliquer sur le bloc ‘set host’ :rofl:

quand tu duplique un sprite, il conserve la valeur qu’il y avait dans les variables local au moment de la copie pour les attribuer au nouveau sprite, donc il conservé le “.102”. Lorsque tu clic sur ‘set host’ il y a effectivement un bloc 'set ’ qui est utilisé…

Quoi qu’il en soit, j’ai effectué quelques petites modifs sur la version Beta en ligne pour que, par defaut, elle permette l’utilisation de plusieurs robots simultanément…

n’hésite pas à me faire d’autre retour sur cette beta! Merci


#9

Merci pour la beta, elle a en effet pas mal évolué.
Pour info, je cliquais sur la block “set host” mais c’est sur l’ancienne beta. En regardant la description du block “set host”, ça permet bien de faire du multi-robot.

Grâce à la compagnie du code, j’ai pu faire une première séance avec un enfant qui connaissait déjà scratch (qui m’a appris des trucs :slight_smile: )
J’ai quelques questions :

  • quand un message d’erreur apparait, du style (motor_name n’existe pas en glissant malencontreusement sur le bloc…), si le bloc se trouve dans un “forever”, le messsage d’erreur est relancé tout le temps et il faut preuve de super reflexes pour cliquer sur le bloc avant que le message d’erreur apparaisse. Vous avez une astuce ?
  • Il arrive qu’il y ait des micro-coupures de l’alimentation de la Raspberry Pi. Cela est arrivé bien sûr après avoir fait un programme complexe qu’on n’a pas sauvegardé. Vous avez aussi des astuces ?

Sinon, l’activité a permi à l’enfant de ré-utiliser ce qu’il avait appris sur Scratch avec un robot. Nous avons fait deux activités :

  • Chamboule tout
  • Poppy ergo téléopération qui consiste à piloter un robot ergo à partir d’un autre en le manipulant. (l’équivalent de ton tutoriel en mode vrai robot)

Concernant le wifi, j’ai pu activer par la procédure “wpa-supplicant” et ça marche super. J’avais donc bien un défaut dû au matériel.


#10

Bonjour,
Merci à Thot pour son prêt qui m’a permit de faire valider la notice par un jeune de 11-12 ans et voici les remarques que j’ai pu faire.

  • l’utilisation des rivets et contre rivets n’est pas suffisemment explicite, après plusieurs ‘démontages intempsestifs’ cela a été clair !

  • les photos de montage ne montrent pas le côté du rivet gris , bien sur la logique est aussi simple.

  • Les vis de montage sur la plaque en bois sont trop courtes , et le positionnement sur la plaque en bois ne se voit que sur des photos autres que sur la notice de montage

  • Le wifi sur un réseau non ouvert ne fonctionne pas bien et la procèdure de connection point à point ne me semble pas bien précise pour les novices

  • Une fois la connection sur la RPI3, la configuration des moteurs en mode ligne est évidente.Je me demande s’il ne faut pas mettre les cables au fur et à mesure et juste faire le chainage des moteurs à la fin.

  • Annecdote: comment fait on pour mettre la SDcard …elle est trop grande - je pense que Thot devra préciser de prendre la microSD :wink: (tout dépends des enfants).

  • J’ai testé le fonctionnement avec un pack batterie pour RPI3 et cela fonctionne bien … l’utilisation en autonome est donc envisagée …

En espérant que ce retour d’expérience soit utile


#11

alors oui il y en a une, qui est déjà mis en pratique dans cette version beta … mais apparemment ce n’est pas suffisant … quand le bloc 'popup ’ fait apparaître le message d’erreur, une fois cliqué sur ok, tu as 2 seconde pour stopper ta boucle forever, car pendant 2sec le sprite ‘diras’ (bloc ‘say for secs’) également le message d’erreur. si ces 2 secondes ne sont pas suffisantes, modifie le bloc ‘popup’ est augmente le délais du bloc ‘say’ . (pour info, avant tu avais 0.1 secondes environs pour dé-activé ta boucle ^^ voir moins si tu activé le mode turbo)

alors une astuce pour ce problème… non… Mais!.. en fait c’est pcq’il n’y a pas de problème :wink: , ou alors j’ai mal compris la question :confused: :
pourquoi actualises tu la page snap (ou Ipython) ? si la com avec le robot est coupé, il suffit d’attendre que le robot reboot …

heu… dans ma démo, il y avait un robot réel ausi! :stuck_out_tongue: (pilotant un virtuel)… mais je n’avais rien pour filmer le robot, alors j’ai utilisé le visualisateur :wink:


#12

Ok, je fais bien d’attendre avant de charger tous les nouveaux XML sur les 12 ergo. La nouvelle librairie va m’aider.
Merci pour l’astuce de ne pas actualiser la page !

Pour la démo avec un robot, je suis comme saint Thomas, je ne crois que ce que je vois :slight_smile:
Au pire, je vais essayer de faire une démo avec 12 robot mais on dira pas qui c’est.


#13

Bon je pars pour Pau pour l’atelier danse et robots.
J’ai pu faire une danse synchro avant de partir.

J’ai aussi fait un premier atelier avec 10 enfants de 6ème et 6 robots en wifi. Ce fut rude avec des déconnections intempestives et des changements d adresse IP non prévus, j’avais fixé les adresses IP pourtant. Mais nous avons tout de même reussi a faire une activité « passe moi le rouleau de scotch». Les 6 robots étaient côte a côte et se passaient un rouleau de scotch a faire avancer sur une distance totale de 1m50. Je m’attendais bien a ce genre de choses, c’est fait :slight_smile:

Sur les conseils de @Th_FAU j’ai flashé la dernière version de poppy ergo. Le wifi est en effet plus stable mais bon… pour les séances en classe, je vais rester en l’Ethernet.

Pour le spectacle je vais par contre etre en wifi.
Je ferai des photos.


#14

J’avais une petite question, les mouvements créés par le blocs denregistrement sont ils stockés dans un fichier ? Si oui, on peut les récupérer ?


#15

oui, ils sont enregister dans un fichier sur le robot:

c’est un (.json à l’intérieur d’un) .record par défaut enregistré dans le répertoire: poppy_src/puppet-master/ (accessible via l’interface jupyter)

cette notebook peut éventuellement t’aider:


#16

Nous avons fini les ateliers de robotique avec les deux classes lundi et mardi. Un rythme de danse le matin et robotique l’après midi pendant deux jour leur a beaucoup plu.
L’objectif a été de les investir dans le projet dans les deux disciplines tout en leur faisant toucher quelques notions d’informatique.
Cela fait 4h de robot, 6h de danse.
Nous faisons le spectacle jeudi soir a 17h30.

En premier lieu, j’ai fait une présentation générique de la robotique, capteurs, actionneurs, contrôleur.
Ensuite, lors du spectacle de danse, les enfants changent de partie en s’appuyant sur les couleurs des leds des ergos, et si ca clignote ou pas. Ils ont donc concu sur snap cette interface pour aborder la notion de séquence et de boucle. Puis l’événement par appui sur une touche.

Le deuxième jour, j’ai amené poppy humanoïde pour montrer un relevé. J’ai introduit le sentiment de «vallée de l’étrange» qu’on ressent quand on voit ça. A partir de là, nous avons construit une interface d’enregistrement de mouvements pour creer des mini choregraphies de 30 secondes avec thème imposé :
Graine qui pousse
Patte d’araignée
Antenne d’escargot
Vent forêt
Chat liquide
Méduse
Vibration
Cobra
Rap
Taper
Usine
Déplacement
Et enfin freestyle.

Avec dix robots et 50 enfants, on a créé une bibliothèque de 250 mouvements.
Durant le spectacle, une séquence ira chercher aléatoirement une de ces chorégraphies et enchainer. Cela donne au robot quelquechose d’assez étrange, de petite présence.

Ce matin nous avons fait une repetition générale du spectacle ou nous avons identifié les differents chantiers encore a finir.

D’un point de vue technique j’ai noté plusieurs soucis avec les ergo que j’utilise finalement en wifi, les connections en local ne sont pas aussi fiable a cause des faux contact Ethernet. L’alimentation aussi a des faux contacts, les connecteurs ont tendance a être perturbés.
Trois robots ne me répondent plus mais je n’ai pas encore trouvé pourquoi.

Personnellement, une expérience très forte et les enseignants qui nous accueillent sont super.


#17

#18

Ca y est, nous avons joué hier soir.
Après une journée de 9h a 15h30 ou nous avons fait deux filages dans les lieux du gymnase de Billere a côté de Pau aménagé en plateau Shonen, sono et lumière lunaire.
Huits poppy ergo etaient au centre de la scène, un ergo en régie manipulable copiés par les autres et un autre connecté en filaire sur le routeur wifi pour héberger la session SNAP de pilotage du spectacle.
En effet, au début, une scène de départ montre une image que nous n’avions pas encore exploré : le corps de l’enfant qui code. Un de ces enfants m’a rejoint en coulisse pour manipuler un ergo en compliant copié par les huit autres. Au depart, le serveur snap était sur ce robot mais si il y avait une fausse manip de cet enfant, tout le programme du spectacle plantait…
Les huits robots du centre enchainait 10 couleurs différentes pour que les enfants soient a l’écoute pendant 10 phases aux rythmes différents.
L’image des 8 robots synchro au centre et des cinquante enfants allongés autour le bras en l’air en train d’imiter les ergo pilotés par un autre enfant était vraiment puissante :slight_smile:

L’autre raison d’avoir un assistant enfant robotique en régie est que poppy humanoïde était aussi sur scène, et il fallait s’occuper de lui. Au milieu de cinquante enfants en train de courir, il est malheureusement tombé, il a fallut le relever plusieurs fois. Mais ca fait partie du spectacle et il s’en est finalement bien sorti.

A la fin, tous les enfants sont sortis de scène et les ergo ont exécuté les chorégraphies créées par les enfants le mardi au hasard en boucle mode installation. L’enchaînement donne un résultat vraiment envoûtant, chaque petit robot a sa vie propre et donne l’impression d’une micro vie, gratouille le sol, oscille malade, se fige, appui sur le sol jusqu’à se débrancher…
Poppy reste avec le public a faire des selfies en faisant coucou.

Le projet a vraiment été fort, c’est la première fois qu’on ajoute un atelier robot en parallèle de l’atelier danse et ça a apporté une autre dimension, les enfants on pu s’impliquer encore plus. Le retour des instituteurs ont aussi été positifs, ils nous ont accompagné et ont vu de gros changements dans leurs élèves pour certains ils ont découverts leurs élèves autrement. Le trac a aussi été un obstacle qu’ils ont franchi avec courage et une certaine fierté de l’avoir fait.

En bref une expérience inoubliables dans de super conditions grâce aussi a access qui a tout organisé et un cadre de l’éducation nationale et enfin une aide précieuse de l’équipe Flowers que je remercie encore :slight_smile:


#19

Bonjour,

voici la captation intégrale :