Examples
Useful examples of combination with other libraries and common use cases.
public class SampleSFMachine {
enum States {
SEQ1,
SEQ2
}
@Override
public void runOpMode() throws InterruptedException {
SampleMecanumDrive drive = new SampleMecanumDrive(hardwareMap);
drive.setPoseEstimate(new Pose2d(0,0,0));
TrajectorySequence sequence1 = drive.trajectorySequenceBuilder(new Pose2d(0,0,0))
.lineTo(new Vector2d(10, 0))
.lineTo(new Vector2d(10, 10))
.build();
TrajectorySequence sequence2 = drive.trajectorySequenceBuilder(new Pose2d(10,10,0))
.lineTo(new Vector2d(0, 10))
.lineTo(new Vector2d(0, 0))
.build();
StateMachine machine = new StateMachineBuilder()
.state(States.SEQ1)
.onEnter(() -> drive.followTrajectorySequenceAsync(sequence1))
.transition(() -> !drive.isBusy())
.state(States.SEQ2)
.onEnter(() -> drive.followTrajectorySequenceAsync(sequence2))
.build();
waitForStart();
machine.start();
while(opModeIsActive()) {
drive.update();
machine.update();
}
}
}Advanced Roadrunner Machine
Nested State Machine
Last updated