Ejemplo n.º 1
0
    def enter(self, t, *args, **kwargs):
        super(MoveEffectors, self).enter(t, *args, **kwargs)

        action = kwargs["action"]
        config = action.description[action.name]

        effectors = []
        times = []
        delta_tf = []
        frames = []

        for effector, mapping in config["descr"].iteritems():
            delta = np.zeros(len(mapping.keys()))
            for key, axis in mapping.iteritems():
                delta[MDPAction.key_to_index(key)] = action[axis]

            if np.any(delta):
                effectors.append(effector)
                delta_tf.append(delta)
                times.append([0.5])
                frames.append(NaoMotionController.FRAME_TORSO)

        self._motion.transform(effectors, delta_tf, times, frames)