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
{
13 // distance along a platform
14 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
) {
25 addSequential(new LiftPortcullis());
29 addSequential(new PassSallyPort());
34 new DriveForDistance(DIST_BETWEEN_OUTER_WORKS__AND_COURTYARD
+ 2,
35 DIST_BETWEEN_OUTER_WORKS__AND_COURTYARD
+ 2));
40 new DriveForDistance(DIST_BETWEEN_OUTER_WORKS__AND_COURTYARD
+ 2,
41 SPEED_FOR_PASSING_DEFENSE
));
45 addSequential(new PassChevalDeFrise());
49 addSequential(new PassDrawBridge());
53 addSequential(new DriveForDistance(
54 DIST_BETWEEN_OUTER_WORKS__AND_COURTYARD
, SPEED_FOR_PASSING_DEFENSE
));
58 addSequential(new DriveForDistance(
59 DIST_BETWEEN_OUTER_WORKS__AND_COURTYARD
, SPEED_FOR_PASSING_DEFENSE
));
63 addSequential(new DriveForDistance(
64 DIST_BETWEEN_OUTER_WORKS__AND_COURTYARD
, SPEED_FOR_PASSING_DEFENSE
));
70 // TODO: put in the argument that goes inside of aim, based on the position
71 // variable that was passed into the command group
72 addSequential(new Aim());
73 addSequential(new Shoot());