use of me.wobblyyyy.pathfinder2.control.GenericTurnController in project Pathfinder2 by Wobblyyyy.
the class TestExecutorManager method testExecutorManager2.
@Test
public void testExecutorManager2() {
SimulatedOdometry odometry = new SimulatedOdometry();
SimulatedDrive drive = new SimulatedDrive();
Robot robot = new Robot(drive, odometry);
Trajectory trajectory1 = new LinearTrajectory(new PointXYZ(10, 10, 0), 1.0, 0.1, Angle.fromDeg(3));
Trajectory trajectory2 = new LinearTrajectory(new PointXYZ(20, 20, 45), 1.0, 0.1, Angle.fromDeg(3));
Trajectory trajectory3 = new LinearTrajectory(new PointXYZ(30, 30, 90), 1.0, 0.1, Angle.fromDeg(3));
Controller controller = new GenericTurnController(0.1);
GenericFollowerGenerator generator = new GenericFollowerGenerator(controller);
Follower follower1 = generator.generate(robot, trajectory1);
Follower follower2 = generator.generate(robot, trajectory2);
Follower follower3 = generator.generate(robot, trajectory3);
List<Follower> followers = new ArrayList<Follower>() {
{
add(follower1);
add(follower2);
add(follower3);
}
};
ExecutorManager manager = new ExecutorManager(robot);
manager.addExecutor(followers);
manager.tick();
Assertions.assertTrue(manager.isActive());
odometry.setRawPosition(new PointXYZ(10, 10, 0));
manager.tick();
Assertions.assertTrue(manager.isActive());
odometry.setRawPosition(new PointXYZ(20, 20, 30));
manager.tick();
Assertions.assertTrue(manager.isActive());
odometry.setRawPosition(new PointXYZ(20, 20, 45));
manager.tick();
Assertions.assertTrue(manager.isActive());
odometry.setRawPosition(new PointXYZ(30, 30, 45));
manager.tick();
Assertions.assertTrue(manager.isActive());
odometry.setRawPosition(new PointXYZ(30, 30, 90));
manager.tick();
Assertions.assertFalse(manager.isActive());
}
use of me.wobblyyyy.pathfinder2.control.GenericTurnController in project Pathfinder2 by Wobblyyyy.
the class TestExecutorManager method testExecutorManager.
@Test
public void testExecutorManager() {
SimulatedOdometry odometry = new SimulatedOdometry();
SimulatedDrive drive = new SimulatedDrive();
Robot robot = new Robot(drive, odometry);
Trajectory trajectory = new LinearTrajectory(new PointXYZ(10, 10, 0), 1.0, 0.1, Angle.fromDeg(3));
Controller controller = new GenericTurnController(0.1);
GenericFollowerGenerator generator = new GenericFollowerGenerator(controller);
Follower follower = generator.generate(robot, trajectory);
List<Follower> list = new ArrayList<Follower>() {
{
add(follower);
}
};
FollowerExecutor executor = new FollowerExecutor(odometry, drive, list);
Assertions.assertFalse(executor.tick());
ExecutorManager manager = new ExecutorManager(robot);
Assertions.assertFalse(manager.isActive());
manager.addExecutor(list);
Assertions.assertTrue(manager.isActive());
Assertions.assertFalse(manager.isInactive());
Assertions.assertFalse(manager.tick());
odometry.setRawPosition(new PointXYZ(10, 10, 0));
Assertions.assertEquals(1, manager.howManyExecutors());
Assertions.assertTrue(manager.tick());
Assertions.assertFalse(manager.isActive());
Assertions.assertTrue(manager.isInactive());
}
use of me.wobblyyyy.pathfinder2.control.GenericTurnController in project Pathfinder2 by Wobblyyyy.
the class TestFollowerExecutor method testSingleFollowerExecution.
@Test
public void testSingleFollowerExecution() {
SimulatedOdometry odometry = new SimulatedOdometry();
SimulatedDrive drive = new SimulatedDrive();
Robot robot = new Robot(drive, odometry);
Trajectory trajectory = new LinearTrajectory(new PointXYZ(10, 10, 0), 1.0, 0.1, Angle.fromDeg(3));
Controller controller = new GenericTurnController(0.1);
GenericFollowerGenerator generator = new GenericFollowerGenerator(controller);
Follower follower = generator.generate(robot, trajectory);
List<Follower> list = new ArrayList<Follower>() {
{
add(follower);
}
};
FollowerExecutor executor = new FollowerExecutor(odometry, drive, list);
Assertions.assertFalse(executor.tick());
odometry.setRawPosition(new PointXYZ(10, 10, 0));
Assertions.assertTrue(executor.tick());
}
use of me.wobblyyyy.pathfinder2.control.GenericTurnController in project Pathfinder2 by Wobblyyyy.
the class TestGenericFollowerGenerator method testGeneration.
@Test
public void testGeneration() {
Robot robot = new Robot(new SimulatedDrive(), new SimulatedOdometry());
Controller controller = new GenericTurnController(0.1);
Trajectory trajectory = new LinearTrajectory(new PointXYZ(10, 10, 10), 0.5, 0.1, Angle.fromDeg(3));
GenericFollowerGenerator generator = new GenericFollowerGenerator(controller);
Follower follower = generator.generate(robot, trajectory);
Assertions.assertEquals(trajectory, follower.getTrajectory());
}
Aggregations