Problème pour utiliser V-REP et SNAP! sous Ubuntu

Même en root avec la commande poppy-snap --vrep poppy-humanoid, je n’arrive pas à faire fonctionner V-rep et snap en même temps, il doit y avoir quelque chose qui me manque.

A la maison, je viens d’installer Ubuntu 14.04 (64 bits) en dual-boot et je ne parviens pas à ouvrir V-rep:

'/home/laurence/téléchargements/V-REP_PRO_EDU_V3_2_1_64_Linux/vrep' 
Error: could not find or correctly load the V-REP library

Juste avant, j’ai du installer lublua5.1 qui était indiqué comme manquant. J’ai bien installé pypot.
Au cas où ce serait un problème de carte graphique, j’ai installé Bumblebee sans succès.
Gros plantage d’Ubuntu peu de temps après, j’ai du réinstaller…

Je vais devoir retourner sous Windows (où V-rep fonctionne), afin de tester avec Snap.

Erreur très bête en passant de Windows à Ubuntu : il fallait lancer vrep.sh après l’avoir rendu exécutable et non VREP.

V-rep fonctionne donc bien en utilisant ipython-notebook mais j’ai toujours le problème avec Snap.

J’utilise ce tuto mais je crois qu’il me manquent les modules dédiés à Poppy mais je ne sais pas comment les importer dans Snap. Il y a bien un menu d’importation d’outils et de bibliothèques mais ce n’est pas super clair.

Voila le code que j’obtiens (à la fin) avec ipython-notebook:

IOError: [Errno 13] Permission denied: 'pypot-snap-blocks.xml'

S’il y a un problème de droits, comment le résoudre puisque je ne suis pas dans le Terminal d’Ubuntu ?

En effet, au lancement de Snap! on va modifier le projet Snap! pour mettre la bonne adresse ip, ce qui plante ici car pypot à été installé en root.
Mais si tu lances sudo poppy-snap --vrep poppy-humanoid ça devrait fonctionner, non ?

Merci.
J’ai du me connecter à la session admin pour me mettre
en root avec su, j’espère que cela ne fausse pas le résultat.

J’ai ouvert V-rep préalablement.
Dans v-rep, le robot s’affiche après avoir lancé la commande, de ce côté là, ça va.

Une boite de dialogue me demande d’ouvrir google chrome en tant qu’utilisateur normal mais c’est bien firefox (que j’utilise habituellement), qui s’ouvre sur Snap avec cette adresse : http://snap.berkeley.edu/snapsource/snap.html#open:http://192.168.1.75:6969/snap-blocks.xml.

Là, une boite de dialogue me demande si je veux continuer ou arrêter le script. Si je clique sur continuer, la boite de dialogue revient; si j’arrête le script, j’arrive sur Snap sans souci.

Mais après, je ne sais pas comment contrôler le robot virtuel de V-rep car je n’ai que le sprite Turtle d’affiché et des commandes Snap très basiques (comme celle de Scratch, que je connais un peu). Je ne vois pas avec quoi je peux commander chaque moteur.

A noter que pour l’instant, je n’ai pas de robot Poppy sous la main, je souhaite juste faire des essais sur le robot virtuel que je pourrai essayer ensuite quand j’irai à la Villette aux Samedis de la robotique.

Voici ce que dit la console:

root@ordi01:/home/stagiaire# poppy-snap --vrep poppy-humanoid
poppy-snap is depreciated, it will be deleted in a next release. Use poppy-services instead
[2427:2427:0707/170252:ERROR:nss_util.cc(819)] After loading Root Certs, loaded==false: NSS error code: -8018
[2427:2427:0707/170252:ERROR:desktop_window_tree_host_x11.cc(810)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType)

Le chargement des blocks spécifiques à Poppy dans Snap! est lent… Il met à peu près 4-5 secondes sur chromium, et 10-15 secondes sur firefox. Firefox à une sécurité pour empêcher un thread JavaScript de bloquer toutes les ressources et propose donc à l’utilisateur de bloquer un script s’il met trop de temps pour s’executer. Si la boite de dialogue revient, clique à nouveau sur “continuer”, ou plus simple, copie cette URL dans Chromium/Chrome et le chargement sera plus rapide.
Lorsque le projet sera chargé, il y aura un bloc “test connection” dans la zone où on exécutes les blocs.

Merci. Je testerai au boulot, pour l’instant je suis en vacances et j’ai d’autres projets perso à finir.
J’irai samedi prochain aux Samedis de la robotique à la Villette, j’en apprendrai davantage sur le sujet, j’espère.

Avec la commande poppy-snap --vrep poppy-humanoid , que j’utilise dans la console, ça m’envoie sur une autre adresse IP, il suffit donc de corriger et de mettre cette adresse:
http://snap.berkeley.edu/snapsource/snap.html#open:http://172.17.98.8:6969/snap-blocks.xml

Merci à David du Carrefour Numérique à la Villette ! J’essaierai au boulot lundi…

L’adresse http://172.17.98.8 correspond à l’ip locale de l’ordinateur avec lequel vous avez lancé la commande poppy-services, elle est donc très spécifique à l’ordinateur et au réseau sur lequel vous êtes connecté. On génère l’url http://snap.berkeley.edu/snapsource/snap.html#open:http:… avec l’ip locale de l’ordinateur, et pour l’instant ça à toujours fonctionné. C’est probable que ce n’ai pas fonctionné à cause de l’architecture réseaux un peu complexe de la cité des sciences…
Dans tous les cas, si vous ouvrez Snap! sur le même ordinateur que vous avez lancé poppy-services, http://snap.berkeley.edu/snapsource/snap.html#open:localhost:6969/snap-blocks.xml fonctionnera toujours.

Je retournerai demain aux Samedis Robots de la Villette en espérant que Poppy soit opérationnel. Le mois dernier, on a juste pu utiliser V-rep car le robot avait un souci. J’avais mis un certain temps à retrouver mes marques sur ipython-notebook et V-rep.

J’ai refait un essai ce soir chez moi avec V-rep et Snap,que je n’avais pas utilisé
depuis longtemps (mais j’utilise Scratch régulièrement avec les enfants à mon boulot) et j’ai mis là encore un certain temps à réussir.
En passant par ipython-notebook, la commande poppy.snap.run() entrainaît systématiquement le message suivant : kernel busy.

En passant par la commande poppy-snap --vrep poppy-humanoid avec le terminal (après avoir changé les droits sur pypot, qui avait été installé en root par erreur), le site snap se lançait mais à chaque fois, un message demandant si je devais continuer ou arrêter le script se montrait plusieurs fois, avec une baisse inquiétante de luminosité + un blocage du navigateur.

Après plusieurs essais de ce type, j’ai téléchargé la version offline de Scratch et importé pypot-snap-blocks.xml, mais je ne réussissais pas à établir la connexion.

Finalement, c’est la méthode en ligne de commande avec le Snap online qui a fini par fonctionner, mais il m’a fallu plusieurs heures pour y parvenir !

Ce que je voudrais savoir, c’est comment, avec python-notebook, lancer le Snap local. Les explications de la page consacrée à Snap ne sont pas claires sur ce sujet.

Bonjour,
pour ma part (sous Xubuntu 14.04 en 32 bits), voilà comment je procède :

  • J’ouvre V-Rep
  • J’ouvre un Python-Notebook (sous Firefox, non testé sous Chrome).
  • Dans ce notebook, j’exécute :
    from poppy.creatures import PoppyHumanoid
    poppy = PoppyHumanoid(simulator='vrep', use_snap=True)
    suivi de :
    poppy.snap.run()
  • Snap! ne se lance pas automatiquement, et c’est là que je vais chercher mon Snap! local.

Tout est alors fonctionnel.

En espérant que cela puisse t’aider,

Gilles

Et pour info, je viens de tester ça :
Il est possible d’ouvrir “n’importe quel” Snap!. En l’occurrence, je viens d’ouvrir un Snap4arduino, d’importer les blocs pypot (là il me met un warning pour dire que ces blocs ont été créés avec Snap!), je branche mon Arduino, et alors je peux contrôler Poppy dans V-Rep depuis mon Arduino.
Je lui ai juste fait tourner la tête en appuyant sur un bouton poussoir, mais cela a suffit à mon bonheur !

Gilles

PS : ce n’est pas la seule méthode pour contrôler Poppy avec Arduino, ça marche direct en python avec Nanpy, mais du coup on ne passe pas par Snap!. Enfin je découvre tout ça, je n’ai vraiment pas de vue globale…

J’avais suivi les commandes que tu donnes avec ipython notebook, mais comme snap ne s’ouvrait pas, j’ai laissé tomber. J’ai déjà téléchargé le snap local. Je vais donc pouvoir faire un essai avec ta technique.

La commande dans le terminal : poppy-snap --vrep poppy-humanoid est plus efficace même si j’ai mis beaucoup de temps avant de réussir la connexion.

A la Villette hier, j’ai passé pas mal de temps à essayer de mettre des lanceurs vers V-rep et Ipython notebook mais sur Unity, c’est galère (et je n’avais pas le mot de passe admin pour installer Gnome panel).
Ensuite, j’ai réussi à ouvrir assez facilement Snap avec la commande de terminal précédente mais pas à faire la connexion avec le robot de V-rep, qui ne répondait pas aux commandes Snap (alors qu’il n’y avait pas de souci avec Ipython notebook).

On vient juste d’avoir une Arduino au boulot. J’ai juste réussi à faire clignoter une LED, donc avant de commander Poppy, je vais attendre un peu…

Le test de ta méthode a échoué, le test de connexion de Snap local m’indique des problèmes de connexion alors que l’host a bien mon IP (peut-être suis-je en réseau local, ce qui poserait des soucis ?). Il ne reconnaît donc pas les moteurs quand je lui demande de bouger l’un d’eux.

J’ai refait les commandes iptyhon mais cette fois, j’ai ouvert Snap online avant d’importer mes blocks (pas faciles à trouver dans mes fichiers, je dois aller là :/usr/local/lib/python2.7/dist-packages/pypot/server/pypot-snap-blocks.xml)

La connexion est OK, cette fois mais les problèmes de baisse de luminosité et les boites d’alertes sur le script ont été aussi assez longs. Cependant, j’ai pu lui faire bouger un bras, merci !