#!/usr/bin/env python # coding: utf-8 # #ET – Niveau 1 - Python # # ##TP1 # # Premier Contact # # #####Le projet [Seti](http://setiathome.free.fr/) vient de faire un communiqué: ils ont établi le contact! # # Grâce à la puissance cumulée de milliers d'ordinateurs, ils ont pu retranscrire visuellement une partie du message intercepté depuis l'espace. # # le voici: # # - éxécutes le code grâce au raccourci 'ctrl + enter' # In[1]: import pypot,time from poppy.creatures import PoppyHumanoid messager = PoppyHumanoid(simulator='vrep') time.sleep(1) messager.r_shoulder_x.goto_position(-5,0.5) messager.l_shoulder_x.goto_position(5,0.5) messager.head_z.goto_position(30,1,wait=True) messager.l_shoulder_x.goto_position(90,2) messager.l_arm_z.goto_position(90,2) messager.abs_z.goto_position(10,2) messager.l_elbow_y.goto_position(-120,2,wait=True) for i in range(3): messager.l_elbow_y.goto_position(-90,0.5,wait=True) messager.l_elbow_y.goto_position(-120,0.5,wait=True) messager.l_shoulder_x.goto_position(5,2) messager.l_arm_z.goto_position(0,2) messager.l_elbow_y.goto_position(0,2,wait=True) messager.head_y.goto_position(10,1) messager.head_z.goto_position(0,1,wait=True) time.sleep(1) messager.stop_simulation() pypot.vrep.close_all_connections() # #####Ce messager semble amical ; nous devrions essayer de lui repondre. # # #####Mais pour communiquer il nous faut un langage commun... # essayons: # In[2]: import time from poppy.creatures import PoppyTorso poppy=PoppyTorso(simulator='vrep') # ## Voilà notre interprète, Poppy. # # #####C'est lui qui va nous servir à communiquer, comment me direz vous : grâce au langage des signes! # # #####C'est parti! # # # ###Tu es prêt Poppy? # In[3]: # oui poppy.head_y.goal_position = 20 time.sleep(1) poppy.head_y.goal_position = -20 time.sleep(1) poppy.head_y.goal_position = 20 time.sleep(1) poppy.head_y.goal_position = -20 time.sleep(1) poppy.head_y.goal_position = 0 # ####oh! tu bouges vraiment comme un robot... pas terrible tout ça ; tu n'es pas d'accord ? # # In[4]: # non poppy.head_z.goal_position = 40 time.sleep(1) poppy.head_z.goal_position = -40 time.sleep(1) poppy.head_z.goal_position = 40 time.sleep(1) poppy.head_z.goal_position = -40 time.sleep(1) poppy.head_z.goal_position = 0 # #### Vraiment ? # In[5]: # NON poppy.head_z.goal_position = 90 time.sleep(0.5) poppy.head_z.goal_position = -90 time.sleep(0.5) poppy.head_z.goal_position = 90 time.sleep(0.5) poppy.head_z.goal_position = -90 time.sleep(0.5) poppy.head_z.goal_position = 0 # ####Doucement, pas besoin de s'énerver... il n'y aurait pas un moyen de controler la vitesse de tes mouvements? # In[6]: # oui poppy.head_y.goal_position = 40 time.sleep(0.5) poppy.head_y.goal_position = -40 time.sleep(1) poppy.head_y.goal_position = 40 time.sleep(1) poppy.head_y.goal_position = -40 time.sleep(1) poppy.head_y.goal_position = 0 # ####Comment ?! # In[7]: # chutttt poppy.l_arm_z.goto_position(-40,1,wait=True) poppy.l_shoulder_y.goto_position(-40,1,wait=True) poppy.l_elbow_y.goto_position(40,1,wait=True) time.sleep(1) poppy.l_arm_z.goal_position=0 poppy.l_shoulder_y.goal_position=-90 poppy.l_elbow_y.goal_position=20 # #### mais c'est quoi ce "goto" ???! tu m'expliques ? # In[8]: # NON poppy.head_z.goto_position(40, 0.3 ,wait=True) poppy.head_z.goto_position(-40, 0.3 ,wait=True) poppy.head_z.goto_position(40, 0.9 ,wait=True) poppy.head_z.goto_position(-40, .9 ,wait=True) poppy.head_z.goto_position(40, 1 ,wait=True) poppy.head_z.goto_position(-40, 1.5 ,wait=True) poppy.head_z.goto_position(40, 3 ,wait=True) poppy.head_z.goto_position(-40, 5 ,wait=True) poppy.head_z.goal_position = 0 # #### Pas grave, j'ai compris ^^ ! # #### j'aimerais en savoir un peu plus sur toi, tu as beaucoup de moteurs ? # In[ ]: print len(poppy.motors) # #### hey, mais c'est encore ce poppy.motors? # In[ ]: print type(poppy.motors) # #### C'est quoi une liste ?! # In[ ]: for m in poppy.motors: print m.name print "----" # #### ah, c'est une sorte de boite qui contient de l'information ? # In[ ]: # OUI for i in range(50,150,25): i= i*0.01 poppy.head_y.goto_position(15, i ,wait=True) poppy.head_y.goto_position(-15, i ,wait=True) print i poppy.head_y.goto_position(0,0.1,wait=True) # ####Et si on communiquait... # # Trouves les commandes adéquates pour que Poppy te salue de la main. # In[ ]: # essaies ton propre code! # _________________________________________________________________ # # # #### Tu as raté? c'est pas grâve, recommmence, essaies ces lignes pour redémarrer : # In[ ]: messager.reset_simulation() # #### Encore buger ? essaies celles-ci : # In[ ]: import pypot poppy.stop_simulation() pypot.vrep.close_all_connections() from poppy.creatures import PoppyTorso poppy=PoppyTorso(simulator='vrep') # #### Tu as fini? coupes la simulation ici: # In[10]: import pypot poppy.stop_simulation() pypot.vrep.close_all_connections()