Poppy Ergo Jr

import random
import time
from pypot.dynamixel.conversion import XL320LEDColors

#------------------------------------------------------
# CREATION DU ROBOT
#------------------------------------------------------

from pypot.creatures import PoppyErgoJr
poppy = PoppyErgoJr()

#------------------------------------------------------
# INITIALISATION DU ROBOT
#------------------------------------------------------

for m in poppy.motors :  # Boucle sur les six moteurs
    m.compliant = False
    m.led = 'green'
position_1 = {'m1': 0, 'm2': -110, 'm3': 66, 'm4': 0, 'm5': 34, 'm6': 20}  # safe_power_up
poppy.goto_position(position_1, 2, wait=True)  # 2 secondes pour prendre la position

#------------------------------------------------------
# FONCTION animation
#------------------------------------------------------

def animation(moteur, angleMin, angleMax, forceMax) :
    moteur.goal_position = random.randint(angleMin,angleMax)
    if abs(moteur.present_load) > forceMax :
        print (moteur.present_load)
        for m in poppy.motors :
            m.compliant = True
            m.led = 'off'
        for i in range(5) :
            moteur.led = 'red'
            time.sleep(0.5)
            moteur.led = 'off'
            time.sleep(0.5)
        time.sleep(1)

#------------------------------------------------------
# BOUCLE
#------------------------------------------------------

while 1 :
    for m in poppy.motors :
        m.moving_speed = random.randint(5,20)  # 5,20 à 5,30
        m.compliant = False
        m.led = XL320LEDColors(random.randint(2,8)).name
    animation(poppy.m1,-90,90,50)
    animation(poppy.m2,-110,0,30)
    animation(poppy.m3,0,60,30)
    animation(poppy.m4,-90,90,30)
    animation(poppy.m5,-40,40,20)
    animation(poppy.m6,-60,60,10)
    if random.randrange(4) == 1 :
        time.sleep(random.randrange(5))

Laisser un commentaire