Connecter Poppyergojr a python

Fermé
Raf91000 - Modifié le 1 mars 2022 à 16:49
mamiemando Messages postés 33367 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 19 novembre 2024 - 1 mars 2022 à 17:03
Bonjour,

Je débute en python et je n'arrive pas à connecter mon robot poppy à python pour le faire bouger. Je suis le tutoriel indiqué dans l'interface python, mais rien ne marche. Pourtant le robot est bien connecté car j'arrive bien à le programmer en snap/scratch. Voilà ce que je met dans l'interface jupyter et ce qui en sort :

from pypot.creatures import *
​
poppy = PoppyErgoJr()


---------------------------------------------------------------------------
OSError Traceback (most recent call last)
<ipython-input-10-ab6248fd0837> in <module>()
1 from pypot.creatures import *
2
----> 3 poppy = PoppyErgoJr()

/home/poppy/miniconda/lib/python2.7/site-packages/pypot/creatures/abstractcreature.pyc in __new__(cls, base_path, config, simulator, scene, host, port, id, use_snap, snap_host, snap_port, snap_quiet, use_http, http_host, http_port, http_quiet, use_remote, remote_host, remote_port, use_ws, ws_host, ws_port, start_background_services, sync, **extra)
117 logger.warning('Init fail: {}'.format(str(e)))
118 else:
--> 119 raise OSError('Could not initalize robot!')
120 poppy_creature.simulated = False
121

OSError: Could not initalize robot!
A voir également:

1 réponse

mamiemando Messages postés 33367 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 19 novembre 2024 7 801
Modifié le 1 mars 2022 à 17:04
Bonjour,

Peux-tu nous reporter les lignes de
abstractcreature.py
qui précedent la ligne 120. Si on se réfère au code mis à disposition ici, différents éléments peuvent déclencher cette exception :
  • le paramètre
    simulator
    passé à
    PoppyErgoJr()
    vaut
    None
    ;
  • ET le paramètre
    config
    passé vaut
    None
    et donc ne permet pas de dire comment se connecter.


Donc j'imagine qu'il faut renseigner au moins l'un ou l'autre. D'après la documentation tu peux:
  • Passer 'vrep', 'poppy-simu', or 'dummy' pour
    simulator
    (e.g.
    poppy = PoppyErgoJr(simulator="dummy")
    ;
  • Ou bien passer le paramètre
    config
    qui contient le chemin vers le fichier
    .json
    qui renseigne comment se connecter à ton robot (voir par exemple
    poppy_humanoid.json
    ) (e.g.
    poppy =  PoppyErgoJr(config="/home/poppy/poppy_humanoid.json"
    )
  • Ou bien passer explicitement, comme expliqué dans la documentation de la fonction
    PoppyErgoJr.__init__
    d'autres paramètres spécifiant comment se connecter à ton robot. En outre, tu parlais de snap, je vois que le constructeur expose des paramètres
    snap_host
    et
    snap_port
    .


Bonne chance
0