via un terminal avec la commande : ipython notebook
via l'exécutable: rechercher dans 'tout les programmes' anaconda\IPython (Py 2.7) Notebook
via l'exécutable 'Launcher' : rechercher dans 'tout les programmes' anaconda\Launcher
Pour Poppy réel : via http://poppy.local (ou si vous avez modifié le nom de votre Poppy: http://new-name.local)
Pour démarrer la simulation ; éxécuter les commandes suivantes:
from poppy.creatures import PoppyHumanoid
creature = PoppyHumanoid(simulator='vrep')
creature.reset_simulation()
import pypot
creature.stop_simulation()
pypot.vrep.close_all_connections()
from poppy.creatures import PoppyHumanoid
poppy = PoppyHumanoid(simulator='vrep')
print"Réponse:"
print "j'ai", len( poppy.motors ), "moteurs"
print "ils sont tous indexés dans une ", type( poppy.motors ), "qui s'appelle poppy.motors \n\n la voici: "
for m in poppy.motors:
print "-------------"
print "nom du moteur: ", m.name
print "position actuelle du moteur: ", m.present_position, "degrès"
Réponse: j'ai 25 moteurs il sont tous indexés dans une <type 'list'> qui s'appelle poppy.motors la voici: ------------- nom du moteur: l_elbow_y position actuel du moteur: 0.0 degrès ------------- nom du moteur: r_elbow_y position actuel du moteur: 0.0 degrès ------------- nom du moteur: r_knee_y position actuel du moteur: 0.0 degrès ------------- nom du moteur: head_y position actuel du moteur: -2.3 degrès ------------- nom du moteur: head_z position actuel du moteur: 0.0 degrès ------------- nom du moteur: r_arm_z position actuel du moteur: 0.0 degrès ------------- nom du moteur: r_ankle_y position actuel du moteur: 0.1 degrès ------------- nom du moteur: r_shoulder_x position actuel du moteur: -1.0 degrès ------------- nom du moteur: r_shoulder_y position actuel du moteur: 0.0 degrès ------------- nom du moteur: r_hip_z position actuel du moteur: 0.0 degrès ------------- nom du moteur: r_hip_x position actuel du moteur: 0.2 degrès ------------- nom du moteur: r_hip_y position actuel du moteur: 0.0 degrès ------------- nom du moteur: l_arm_z position actuel du moteur: 0.0 degrès ------------- nom du moteur: l_hip_x position actuel du moteur: -0.3 degrès ------------- nom du moteur: l_hip_y position actuel du moteur: -2.0 degrès ------------- nom du moteur: l_hip_z position actuel du moteur: 0.1 degrès ------------- nom du moteur: abs_x position actuel du moteur: 0.0 degrès ------------- nom du moteur: abs_y position actuel du moteur: 0.1 degrès ------------- nom du moteur: abs_z position actuel du moteur: 0.0 degrès ------------- nom du moteur: l_ankle_y position actuel du moteur: 0.1 degrès ------------- nom du moteur: bust_y position actuel du moteur: 0.1 degrès ------------- nom du moteur: bust_x position actuel du moteur: 0.0 degrès ------------- nom du moteur: l_knee_y position actuel du moteur: 0.0 degrès ------------- nom du moteur: l_shoulder_x position actuel du moteur: 0.3 degrès ------------- nom du moteur: l_shoulder_y position actuel du moteur: -0.3 degrès
Ici on utilise une liste pour stocker le nom des moteurs: poppy.motors
chaque moteur possède:
# éteindre la simulation précédente...
import pypot
creature.stop_simulation()
pypot.vrep.close_all_connections()
# ...avant d'en démarrer une nouvelle.
from poppy.creatures import PoppyHumanoid
poppy = PoppyHumanoid(simulator='vrep')
# Poppy dit oui
for i in range(2):
poppy.head_y.goal_position = -20
poppy.head_y.goal_position = +20
poppy.head_y.goal_position = 0
#####Il ne se passe rien... si !
#####mais Poppy va trop vite, essayons ça :
# Poppy dit oui
import time
for i in range(2):
poppy.head_y.goal_position = -20
time.sleep(1)
poppy.head_y.goal_position = +20
time.sleep(1)
poppy.head_y.goal_position = 0
Ici on utilise la fonction 'goal_position', précédée du nom du moteur, précédé du nom de la créature.
Elle accepte des valeurs de positions allant de -180° à +180°
Les lignes de code s'exécutent de façon quasi instantannées ; même si la position (demandée en ligne précédente) n'a pas été atteinte.
Le module 'Time' nous permet d'attendre (grâce à la fonction 'time.sleep') que le moteur ai atteint la position voulue avant d'exécuter la commande suivante.
poppy.l_shoulder_x.goto_position(90,2)
poppy.l_arm_z.goto_position(90,2)
poppy.abs_z.goto_position(10,2)
poppy.l_elbow_y.goto_position(-120,2,wait=True)
for i in range(3):
poppy.l_elbow_y.goto_position(-90,0.5,wait=True)
poppy.l_elbow_y.goto_position(-120,0.5,wait=True)
poppy.l_shoulder_x.goto_position(0,2)
poppy.l_arm_z.goto_position(0,2)
poppy.abs_z.goto_position(0,2)
poppy.l_elbow_y.goto_position(0,2)
Ici on utilise la fonction 'goto_position', précédée du nom du moteur, précédé du nom de la créature.
Elle accepte entre 2 et 3 paramètres:
L'option 'wait=True' permet d'attendre que la position soit atteinte avant de passer à la ligne suivante.
Par défaut 'wait=False' ne bloque pas le défilement, on peut donc lancer plusieurs moteurs au même moment.
for i in range(3):
poppy.head_y.goto_position(-20,1)
poppy.head_y.goto_position(+20,1)
poppy.head_y.goto_position(0,0.5)
print "Torso, Ergo, et toute la family"
Plus d'informations sur les prochaines créatures Poppy sur ce topic : Poppy mini family
Pour démarrer la simulation ; éxécuter les commandes suivantes:
#si une simulation est active, n'oubliez pas de la quitter
from poppy.creatures import PoppyTorso
torso = PoppyTorso(simulator='vrep')
Pour démarrer la simulation ; éxécuter les commandes suivantes:
#si une simulation est active, n'oubliez pas de la quitter
from poppy.creatures import PoppyErgo
ergo = PoppyErgo(simulator='vrep')
etc
Pour passer d'un programme destiné à une version simulée vers une version réelle, cela nécéssite une unique modification lorsque la créture est instanciée:
Dans votre programme, la ligne...
...devient :
Les moteurs peuvent être dans deux états: compliant / non compliant
Exemple:
poppy.head_z.compliant = True
poppy.head_z.compliant = False
La vitesse des moteurs peut être modifiée via la fonction 'moving_speed'
Exemple:
poppy.head_z.moving_speed = 150 #vitesse en milliseconde
Acheter :
Rendez vous sur : Génération robots plusieurs modèles vous y sont proposés.
Construire :
Rendez vous sur : Assembling Poppy Humanoid une notice et des vidéos vous aident à construire votre poppy
Création :
Retrouvez toute la documentation pour imprimer et acheter individuellement les éléments nécessaires à la construction d'un « pypot robot » sur le site poppy-project.org.
Pour plus d'informations rendez-vous sur le Forum
# essaies ton propre code ;)