#include "Behaviors/StateMachine.h"
$nodeclass Demo : VisualRoutinesStateNode {
$nodeclass Forward1500 : PilotNode($, PilotTypes::walk) : doStart {
pilotreq.dx = 1530; //forward 1500 millimeters
pilotreq.forwardSpeed = 200;
}
$nodeclass Forward750 : PilotNode($, PilotTypes::walk) : doStart {
pilotreq.dx = 750; //forward 750 millimeters
pilotreq.forwardSpeed = 200;
}
$nodeclass RTurn90 : PilotNode($, PilotTypes::walk) : doStart {
pilotreq.da = -M_PI/2; //right turn 90 degrees
}
$nodeclass LTurn90 : PilotNode($, PilotTypes::walk) : doStart {
pilotreq.da = M_PI/2; //right turn 90 degrees
}
$setupmachine {
loop : PilotNode
loop =PILOT=> Forward1500 =PILOT=> LTurn90 =PILOT=>
Forward750 =PILOT=> LTurn90 =PILOT=> Forward750 =PILOT=>
LTurn90 =PILOT=> Forward1500 =PILOT=> RTurn90 =PILOT=>
Forward750 =PILOT=> RTurn90 =PILOT=> Forward750 =PILOT=>
RTurn90 =PILOT=> loop
}
}
REGISTER_BEHAVIOR(Demo);
$nodeclass Demo : VisualRoutinesStateNode {
$nodeclass Forward1500 : PilotNode($, PilotTypes::walk) : doStart {
pilotreq.dx = 1530; //forward 1500 millimeters
pilotreq.forwardSpeed = 200;
}
$nodeclass Forward750 : PilotNode($, PilotTypes::walk) : doStart {
pilotreq.dx = 750; //forward 750 millimeters
pilotreq.forwardSpeed = 200;
}
$nodeclass RTurn90 : PilotNode($, PilotTypes::walk) : doStart {
pilotreq.da = -M_PI/2; //right turn 90 degrees
}
$nodeclass LTurn90 : PilotNode($, PilotTypes::walk) : doStart {
pilotreq.da = M_PI/2; //right turn 90 degrees
}
$setupmachine {
loop : PilotNode
loop =PILOT=> Forward1500 =PILOT=> LTurn90 =PILOT=>
Forward750 =PILOT=> LTurn90 =PILOT=> Forward750 =PILOT=>
LTurn90 =PILOT=> Forward1500 =PILOT=> RTurn90 =PILOT=>
Forward750 =PILOT=> RTurn90 =PILOT=> Forward750 =PILOT=>
RTurn90 =PILOT=> loop
}
}
REGISTER_BEHAVIOR(Demo);