In [1]:
from poppy.creatures import PoppyErgoJr

jr = PoppyErgoJr()
In [2]:
import time

from pypot.primitive import Primitive

class Jump(Primitive):
    def setup(self):
        self.up = {'m1': 0, 'm2': -10, 'm3': -20, 'm4': 0, 'm5': -35, 'm6': -35}
        self.down = {'m1': 0, 'm2': -75, 'm3': 55, 'm4': 0, 'm5': 35, 'm6': 35}
        
        for m in self.robot.motors:
            m.compliant = False
            m.pid = (10., 0., 0.)
            m.moving_speed = 0.
            
    def run(self):
        while not self.should_stop():
            if self.should_pause():
                self.wait_to_resume()
             
            for name, p in self.up.items():
                m = getattr(self.robot, name)
                m.moving_speed = 0
                m.goal_position = p
            time.sleep(.2)    
             
            for name, p in self.down.items():
                m = getattr(self.robot, name)
                m.moving_speed = 250.
                m.goal_position = p  
            time.sleep(.4)
            
    def teardown(self):
        for m in self.robot.motors:
            m.pid = (4., 0., 0.)
In [3]:
jump = Jump(jr)
In [4]:
jump.start()
In [5]:
jump.stop()