1 package org
.usfirst
.frc
.team3501
.robot
.commands
;
3 import org
.usfirst
.frc
.team3501
.robot
.Constants
.Defense
;
5 import edu
.wpi
.first
.wpilibj
.command
.CommandGroup
;
8 * The default autonomous strategy involves passing the defense that is in front
9 * of it, aiming the robot/ shooter towards the goal, and shooting.
11 public class DefaultAutonStrategy
extends CommandGroup
{
14 // distance along a platform
15 final double DIST_BETWEEN_OUTER_WORKS__AND_COURTYARD
= 4.0;
16 // number from -1 to 1
17 final double SPEED_FOR_PASSING_DEFENSE
= 0.5;
19 public DefaultAutonStrategy(int position
, Defense defense
) {
21 // TODO: any variable that is not declared/instantiated are vars that need
22 // to be tested for their value
28 // we are assuming that LiftPortcullis() includes moving the defense arm
29 // and driving forward
31 addSequential(new LiftPortcullis());
40 new DriveForDistance(DIST_BETWEEN_OUTER_WORKS__AND_COURTYARD
+ 2,
41 SPEED_FOR_PASSING_DEFENSE
));
46 new DriveForDistance(DIST_BETWEEN_OUTER_WORKS__AND_COURTYARD
+ 2,
47 SPEED_FOR_PASSING_DEFENSE
));
51 addSequential(new LowerChevalDeFrise());
55 addSequential(new LowerDrawBridge());
59 addSequential(new DriveForDistance(
60 DIST_BETWEEN_OUTER_WORKS__AND_COURTYARD
, SPEED_FOR_PASSING_DEFENSE
));
64 addSequential(new DriveForDistance(
65 DIST_BETWEEN_OUTER_WORKS__AND_COURTYARD
, SPEED_FOR_PASSING_DEFENSE
));
69 addSequential(new DriveForDistance(
70 DIST_BETWEEN_OUTER_WORKS__AND_COURTYARD
, SPEED_FOR_PASSING_DEFENSE
));