def run(self): try: self.robot.upper_body_idle_motion.stop() self.robot.torso_idle_motion.stop() # self.robot.head_idle_motion.stop() except: pass else: pass finally: pass # initialize the time variable t = time.time() # find the right move with open("./moves/" + self.move + ".move") as f: m = Move.load(f) # chargement du .move # start the move movey = MovePlayer(self.robot, m) movey.start() #time to start the move el = time.time() - t # taking into account the movement time in itself (pos_number * framerate) md = movey.duration() - 0.3 time.sleep(md) # sleeping the wanted duration
def start_move_player(self, move_name, speed=1.0, backwards=False): """Move player need to have a move file <move_name.record> in the working directory to play it""" # check if running try: player = getattr(self.robot, '_{}_player'.format(move_name)) if player.running: return except AttributeError: pass # if not running, override the play primitive with open('{}.record'.format(move_name)) as f: loaded_move = Move.load(f) player = MovePlayer(self.robot, loaded_move, play_speed=speed, backwards=backwards) self.robot.attach_primitive(player, '_{}_player'.format(move_name)) player.start() return player.duration()