/*
* 作成日: 2008/06/27
*/
package jp.ac.fit.asura.nao.strategy.schedulers;
import org.apache.log4j.Logger;
import jp.ac.fit.asura.nao.RobotContext;
import jp.ac.fit.asura.nao.event.MotionEventListener;
import jp.ac.fit.asura.nao.motion.Motion;
import jp.ac.fit.asura.nao.strategy.StrategyContext;
import jp.ac.fit.asura.nao.strategy.permanent.BallTrackingTask;
import jp.ac.fit.asura.nao.strategy.permanent.BallTrackingTask.Mode;
/**
* なにかいろいろ実験用のスケジューラ.
*
* オドメトリの計測とかはここでやるといいかも
*
* @author $Author: sey $
*
* @version $Id: ExperimentalScheduler.java 709 2008-11-23 07:40:31Z sey $
*
*/
public class ExperimentalScheduler extends BasicSchedulerTask implements
MotionEventListener {
private Logger log = Logger.getLogger(this.getClass());
private BallTrackingTask tracking;
public String getName() {
return "ExperimentalScheduler";
}
public void init(RobotContext context) {
tracking = (BallTrackingTask) context.getStrategy().getTaskManager().find("BallTracking");
assert tracking != null;
}
public void enter(StrategyContext context) {
super.enter(context);
context.getSuperContext().getMotor().addEventListener(this);
}
public void leave(StrategyContext context) {
super.leave(context);
context.getSuperContext().getMotor().removeEventListener(this);
}
public void continueTask(StrategyContext context) {
// なにかする
// context.makemotion(Motions.NAOJI_WALKER, 0.5f, 0, 0);
tracking.setMode(Mode.Cont);
}
protected void fillQueue(StrategyContext context) {
assert false;
}
public void startMotion(Motion motion) {
}
public void stopMotion(Motion motion) {
}
public void updateOdometry(float forward, float left, float turnCCW) {
}
public void updatePosture() {
}
}