Piloter thymio avec snap


#1

Bonjour à tous,
J’ai vu dans la doc snap que le robot thymio pouvait être piloté par scratch et snap via node.js.
Il y a dans snap un pdf qui renvoie via http://localhost:3000 vers ext_basic.json et ext_scratch.json, pour ensuite utiliser asebahttp api puis asebascratch api.De là, via aseba-ser:tcp: on envoie vers thymio_motion.aesl et aseba firmware.
Je ne comprends pas la méthode pour l’appliquer à snap…
Quelqu’un peut)il m’éclairer ?
Merci d’avance
Alain


#2

Bonjour,

Moi aussi je m’intéresse à controller un robot Thymio avec Snap! car Snap! est fabuleux.
Il y a peut-être quelque chose qui pourrait vous éclairer dans ce post :
https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/issues/1711#issuecomment-291939737

Nathalie Carrié


#3

Bonjour,
Vous trouverez sur cette page les blocs du pilotage d’un Thymio pour snap :
http://dm1r.fr/thymio-scratch-sim/
Le fichier se nomme thymio-scratch-snap-base.zip, il faut le chercher sur la page.
Dans l’archive zip, se trouve le fichier thymio_snap_15052017.xml qui est à importer depuis l’interface de snap, dans lequel se trouvent tous les blocs pour Thymio. Les fichiers utilisés par snap sont au format xml.
Voilà, j’esmère que ça va vous sservir.


#4

Bonjour,

Nous n’avons que des postes sous Linux au lycée, et les patchs ne sont malheureusement donnés que pour Windows et Mac.

Nos élèves ont tous un portable sous Linux (offert par la Région) à leur entrée en seconde.

Avez-vous une idée de ce qu’il faut faire sous Linux pour que la passerelle Thymio-poste marche ?
Je ne comprends pas pourquoi il faut passer par Scratch.


#5

bonjour,

Je ne vois pas de quelle passerelle vous parlez …
Je n’ai pas cette passerellle dans mes deux versions de snap…
D’autre part, je ne passe pas par scratch, snap fonctionne sans scratch…


#6

La version de Thymio Snap! que j’ai faite et qui est sur http://dm1r.fr/thymio-scratch-sim/ utilise la passerelle faite pour Thymio Scratch et disponible ici : https://github.com/davidjsherman/inirobot-scratch-thymioII/releases .
Cette passerelle nécessite l’environnement aseba pour fonctionner.

  • Il y a 2 versions intégrées dans l’environnement aseba qui fonctionnent pour windows et osx. En les installant vous avez à la fois l’environnement aseba et la passerelle permettant de connecter thymio à scratch (ou snap!, c’est la même passerelle). Tout est expliqué ici : http://dm1r.fr/thymio-scratch-sim/ .
  • Il y aussi une version simple de la passerelle pour windows, osx et ubuntu sur https://github.com/davidjsherman/inirobot-scratch-thymioII/releases. Elle a besoin que l’environnement aseba soit installé par ailleurs. Elle ne fonctionnera sans doute pas avec la version la plus récente d’aseba mais à tester avec des anciennes.

Toutes ces questions vont être bientôt résolues, quand Thymio Scratch (et aussi donc Thymio Snap!) va sortir officiellement chez Mobsya. Les versions actuelles de Thymio Scratch et Thymio Snap! sont expérimentales et fournies par Inria pour tester ce que donnent de tels langages avec Thymio.

Pour en savoir sur tout cela et plus encore, ne manquez pas le Colloque Robotique et Education de Bordeaux le 18 juillet http://dm1r.fr/roboeduc17/ et la conférence mondiale Scratch (et Snap!) http://www.scratch2017bdx.org/ .

Didier Roy


#7

Bonjour,
Merci pour toutes ces précisions.@droy.
Est-il possible d’avoir les documents terminaux afférent à ces deux évènements ?


#8

Bonjour,

Je me posais la question d’une passerelle éventuelle car pour moi, cela ne marche pas.

Oui,
il y a un travail énorme derrière le fichier thymio_snap_15052017.xml
car j’ai bien vu tous les nouveaux blocs programmés pour le Thymio.
Et je remercie infiniment ceux qui les ont écrits (je n’aime pas l’environnement Aseba car on ne peut pas programmer de fonctions).
Malheureusement, je n’arrive pas à établir de contact.

J’ai d’abord dû ajouter une variable globale qui me semblait manquante à ce bloc : .
La variable thymioPort.

Ensuite l’initialisation donne ceci :

Apparemment, c’est cette fonction qui pose un problème :

​Auriez-vous
un exemple de programme qui fasse marcher le Thymio sous Snap! chez
vous ? Et sous quel Linux êtes-vous ? J’ai peut-être un problème de
ports.

Le bloc reste en attente.

Merci pour votre aide.

Nathalie Carrié


#9

Bonjour,

J’avais écrit cette dernière réponse avant de lire la réponse de Didier Roy.
J’ai l’impression qu’il va falloir que j’attende la version publiée par Mobsya.
A moins qu’on ne m’aide un petit peu. J’ai une dernière séance sur le Thymio avec les premières S en accompagnement personnalisé dans une semaine… Ils adorent !

En tout cas, j’y serai à Bordeaux le 18 juillet…

Nathalie Carrié


#10

Là, il semble donc qu’il faille attendre …


#11

Aïe, @nathalierun, la séance avec les 1ère S doit être passée mais parlons quand même du problème rencontré.

  • Le bloc “Thymio Init” est inutile, il faudra que je l’enlève.
  • Le bloc “init Thymio …” génère une erreur s’il y a un pb de connexion (robot non connecté, port incorrect, passerelle entre Thymio et Scratch non lancée).
  • “get nodes” marche a priori bien, je n’ai pas eu d’erreur à ce jour.
  • Essayez avec le nouveau fichier : thymio_snap_29052017.doc (66,4 Ko) ==== Changer l’extension doc en xml (les xml ne sont pas uploadables pour des raisons de sécurité)

D’ici la fin juin, la version sera finalisée.


#12

Bonjour,

Merci pour votre réponse.
J’ai installé le pack pour Ubuntu mais cela ne marche toujours pas. Je ne comprends pas pourquoi dans le fichier Scratch2-ThymioII.sh , il y a un exec asebascratch (fichier que je n’ai pas)…

Remarque : j’ai bien mis dans /usr/share/aseba/ le ficier thymio_motion.aesl