Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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()