From: Cindy Zhang Date: Tue, 16 Feb 2016 18:44:00 +0000 (-0800) Subject: separated each pass defense command (purely driving ones) into two, one based on... X-Git-Url: http://challenge-bot.com/repos/?p=3501%2Fstronghold-2016;a=commitdiff_plain;h=5322db4648916dfaa63e4b04e4b26220f0519005 separated each pass defense command (purely driving ones) into two, one based on distance and one based on time --- diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/DefaultAutonStrategy.java b/src/org/usfirst/frc/team3501/robot/commands/auton/DefaultAutonStrategy.java index 5b6453dd..318de7c1 100755 --- a/src/org/usfirst/frc/team3501/robot/commands/auton/DefaultAutonStrategy.java +++ b/src/org/usfirst/frc/team3501/robot/commands/auton/DefaultAutonStrategy.java @@ -22,10 +22,10 @@ public class DefaultAutonStrategy extends CommandGroup { addSequential(new PassSallyPort()); else if (defense == Constants.Defense.ROUGH_TERRAIN) - addSequential(new PassRoughTerrain()); + addSequential(new PassRoughTerrainTime()); else if (defense == Constants.Defense.LOW_BAR) - addSequential(new PassLowBar()); + addSequential(new PassLowBarTime()); else if (defense == Constants.Defense.CHEVAL_DE_FRISE) addSequential(new PassChevalDeFrise()); @@ -34,13 +34,13 @@ public class DefaultAutonStrategy extends CommandGroup { addSequential(new PassDrawBridge()); else if (defense == Constants.Defense.MOAT) - addSequential(new PassMoat()); + addSequential(new PassMoatDistance()); else if (defense == Constants.Defense.ROCK_WALL) - addSequential(new PassRockWall()); + addSequential(new PassRockWallDistance()); else if (defense == Constants.Defense.RAMPART) - addSequential(new PassRampart()); + addSequential(new PassRampartDistance()); addSequential(new AimAndAlign()); addSequential(new Shoot()); diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassLowBar.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassLowBar.java deleted file mode 100755 index cbdaeef6..00000000 --- a/src/org/usfirst/frc/team3501/robot/commands/auton/PassLowBar.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.usfirst.frc.team3501.robot.commands.auton; - -import org.usfirst.frc.team3501.robot.commands.driving.DriveDistance; - -import edu.wpi.first.wpilibj.command.CommandGroup; - -/*** - * This command will drive the robot through the low bar. - * - * dependency on sensors: encoders - * dependency on subsystems: drivetrain - * dependency on other commands: DriveForDist - * - * pre-condition: robot is flush against the ramp of the outerworks in front of - * the low bar - * - * post-condition: the robot has passed the low bar and is in the next zone - * - * @author Meryem and Avi - * - */ - -public class PassLowBar extends CommandGroup { - - private final double DISTANCE = 4.0; - private final double DEFAULT_SPEED = 0.5; - - public PassLowBar() { - // TODO: need to add sequential for retracting the arms and shooting hood - // once those commands are made - addSequential(new DriveDistance(DISTANCE, DEFAULT_SPEED)); - } - - public PassLowBar(double speed) { - addSequential(new DriveDistance(DISTANCE, speed)); - } -} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassLowBarDistance.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassLowBarDistance.java new file mode 100644 index 00000000..ee69e2a9 --- /dev/null +++ b/src/org/usfirst/frc/team3501/robot/commands/auton/PassLowBarDistance.java @@ -0,0 +1,37 @@ +package org.usfirst.frc.team3501.robot.commands.auton; + +import org.usfirst.frc.team3501.robot.commands.driving.DriveDistance; + +import edu.wpi.first.wpilibj.command.CommandGroup; + +/*** + * This command will drive the robot through the low bar. + * + * dependency on sensors: encoders + * dependency on subsystems: drivetrain + * dependency on other commands: DriveForDist + * + * pre-condition: robot is flush against the ramp of the outerworks in front of + * the low bar + * + * post-condition: the robot has passed the low bar and is in the next zone + * + * @author Meryem and Avi + * + */ + +public class PassLowBarDistance extends CommandGroup { + + private final double DISTANCE = 4.0; + private final double DEFAULT_SPEED = 0.5; + + public PassLowBarDistance() { + // TODO: need to add sequential for retracting the arms and shooting hood + // once those commands are made + addSequential(new DriveDistance(DISTANCE, DEFAULT_SPEED)); + } + + public PassLowBarDistance(double speed) { + addSequential(new DriveDistance(DISTANCE, speed)); + } +} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassLowBarTime.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassLowBarTime.java new file mode 100755 index 00000000..fde2ee40 --- /dev/null +++ b/src/org/usfirst/frc/team3501/robot/commands/auton/PassLowBarTime.java @@ -0,0 +1,37 @@ +package org.usfirst.frc.team3501.robot.commands.auton; + +import org.usfirst.frc.team3501.robot.commands.driving.DriveDistance; + +import edu.wpi.first.wpilibj.command.CommandGroup; + +/*** + * This command will drive the robot through the low bar. + * + * dependency on sensors: encoders + * dependency on subsystems: drivetrain + * dependency on other commands: DriveForDist + * + * pre-condition: robot is flush against the ramp of the outerworks in front of + * the low bar + * + * post-condition: the robot has passed the low bar and is in the next zone + * + * @author Meryem and Avi + * + */ + +public class PassLowBarTime extends CommandGroup { + + private final double DISTANCE = 4.0; + private final double DEFAULT_SPEED = 0.5; + + public PassLowBarTime() { + // TODO: need to add sequential for retracting the arms and shooting hood + // once those commands are made + addSequential(new DriveDistance(DISTANCE, DEFAULT_SPEED)); + } + + public PassLowBarTime(double speed) { + addSequential(new DriveDistance(DISTANCE, speed)); + } +} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassMoat.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassMoat.java deleted file mode 100755 index 1f465d95..00000000 --- a/src/org/usfirst/frc/team3501/robot/commands/auton/PassMoat.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.usfirst.frc.team3501.robot.commands.auton; - -import org.usfirst.frc.team3501.robot.commands.driving.DriveForTime; - -import edu.wpi.first.wpilibj.command.CommandGroup; - -/*** - * This command will drive the robot through the moat. - * - * The code drives the robot for a specific time at a specific speed up the ramp - * to the defense then drive over the defense at a different speed and time. - * - * dependency on subsystem: drivetrain - * - * dependency on other commands: DriveForTime - * - * pre-condition: robot is flush against the ramp of the outerworks in front of - * the moat - * - * post-condition: the robot has passed the moat and is in the next zone - * - * @author Meryem and Avi - * - */ - -public class PassMoat extends CommandGroup { - - private final double BEG_TIME = 0; - private final double MID_TIME = 0; - private final double END_TIME = 0; - private final double BEG_SPEED = 0; - private final double MID_SPEED = 0; - private final double END_SPEED = 0; - - public PassMoat() { - addSequential(new DriveForTime(BEG_TIME, BEG_SPEED)); - addSequential(new DriveForTime(MID_TIME, MID_SPEED)); - addSequential(new DriveForTime(END_TIME, END_SPEED)); - - } -} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassMoatDistance.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassMoatDistance.java new file mode 100755 index 00000000..735e9710 --- /dev/null +++ b/src/org/usfirst/frc/team3501/robot/commands/auton/PassMoatDistance.java @@ -0,0 +1,41 @@ +package org.usfirst.frc.team3501.robot.commands.auton; + +import org.usfirst.frc.team3501.robot.commands.driving.DriveForTime; + +import edu.wpi.first.wpilibj.command.CommandGroup; + +/*** + * This command will drive the robot through the moat. + * + * The code drives the robot for a specific time at a specific speed up the ramp + * to the defense then drive over the defense at a different speed and time. + * + * dependency on subsystem: drivetrain + * + * dependency on other commands: DriveForTime + * + * pre-condition: robot is flush against the ramp of the outerworks in front of + * the moat + * + * post-condition: the robot has passed the moat and is in the next zone + * + * @author Meryem and Avi + * + */ + +public class PassMoatDistance extends CommandGroup { + + private final double BEG_TIME = 0; + private final double MID_TIME = 0; + private final double END_TIME = 0; + private final double BEG_SPEED = 0; + private final double MID_SPEED = 0; + private final double END_SPEED = 0; + + public PassMoatDistance() { + addSequential(new DriveForTime(BEG_TIME, BEG_SPEED)); + addSequential(new DriveForTime(MID_TIME, MID_SPEED)); + addSequential(new DriveForTime(END_TIME, END_SPEED)); + + } +} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassMoatTime.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassMoatTime.java new file mode 100644 index 00000000..d46f015c --- /dev/null +++ b/src/org/usfirst/frc/team3501/robot/commands/auton/PassMoatTime.java @@ -0,0 +1,41 @@ +package org.usfirst.frc.team3501.robot.commands.auton; + +import org.usfirst.frc.team3501.robot.commands.driving.DriveForTime; + +import edu.wpi.first.wpilibj.command.CommandGroup; + +/*** + * This command will drive the robot through the moat. + * + * The code drives the robot for a specific time at a specific speed up the ramp + * to the defense then drive over the defense at a different speed and time. + * + * dependency on subsystem: drivetrain + * + * dependency on other commands: DriveForTime + * + * pre-condition: robot is flush against the ramp of the outerworks in front of + * the moat + * + * post-condition: the robot has passed the moat and is in the next zone + * + * @author Meryem and Avi + * + */ + +public class PassMoatTime extends CommandGroup { + + private final double BEG_TIME = 0; + private final double MID_TIME = 0; + private final double END_TIME = 0; + private final double BEG_SPEED = 0; + private final double MID_SPEED = 0; + private final double END_SPEED = 0; + + public PassMoatTime() { + addSequential(new DriveForTime(BEG_TIME, BEG_SPEED)); + addSequential(new DriveForTime(MID_TIME, MID_SPEED)); + addSequential(new DriveForTime(END_TIME, END_SPEED)); + + } +} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassRampart.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRampart.java deleted file mode 100755 index 426063dc..00000000 --- a/src/org/usfirst/frc/team3501/robot/commands/auton/PassRampart.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.usfirst.frc.team3501.robot.commands.auton; - -import org.usfirst.frc.team3501.robot.commands.driving.DriveForTime; - -import edu.wpi.first.wpilibj.command.CommandGroup; - -/*** - * This command will drive the robot through the rampart. - * - * dependency on subsystems: drivetrain - * - * dependency on other commands: DriveForTime - * - * pre-condition: robot is flush against the ramp of the outerworks in front of - * the rampart - * - * post-condition: the robot has passed the rampart and is in the next zone - * - * @author Meryem and Avi - * - */ - -public class PassRampart extends CommandGroup { - - public PassRampart() { - - final double BEG_TIME = 0; - final double BEG_SPEED = 0; - final double MID_TIME = 0; - final double MID_SPEED = 0; - final double END_TIME = 0; - final double END_SPEED = 0; - - addSequential(new DriveForTime(BEG_TIME, BEG_SPEED)); - addSequential(new DriveForTime(MID_TIME, MID_SPEED)); - addSequential(new DriveForTime(END_TIME, END_SPEED)); - - } - -} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassRampartDistance.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRampartDistance.java new file mode 100755 index 00000000..4ff3a85d --- /dev/null +++ b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRampartDistance.java @@ -0,0 +1,40 @@ +package org.usfirst.frc.team3501.robot.commands.auton; + +import org.usfirst.frc.team3501.robot.commands.driving.DriveForTime; + +import edu.wpi.first.wpilibj.command.CommandGroup; + +/*** + * This command will drive the robot through the rampart. + * + * dependency on subsystems: drivetrain + * + * dependency on other commands: DriveForTime + * + * pre-condition: robot is flush against the ramp of the outerworks in front of + * the rampart + * + * post-condition: the robot has passed the rampart and is in the next zone + * + * @author Meryem and Avi + * + */ + +public class PassRampartDistance extends CommandGroup { + + public PassRampartDistance() { + + final double BEG_TIME = 0; + final double BEG_SPEED = 0; + final double MID_TIME = 0; + final double MID_SPEED = 0; + final double END_TIME = 0; + final double END_SPEED = 0; + + addSequential(new DriveForTime(BEG_TIME, BEG_SPEED)); + addSequential(new DriveForTime(MID_TIME, MID_SPEED)); + addSequential(new DriveForTime(END_TIME, END_SPEED)); + + } + +} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassRampartTime.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRampartTime.java new file mode 100644 index 00000000..582292e0 --- /dev/null +++ b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRampartTime.java @@ -0,0 +1,40 @@ +package org.usfirst.frc.team3501.robot.commands.auton; + +import org.usfirst.frc.team3501.robot.commands.driving.DriveForTime; + +import edu.wpi.first.wpilibj.command.CommandGroup; + +/*** + * This command will drive the robot through the rampart. + * + * dependency on subsystems: drivetrain + * + * dependency on other commands: DriveForTime + * + * pre-condition: robot is flush against the ramp of the outerworks in front of + * the rampart + * + * post-condition: the robot has passed the rampart and is in the next zone + * + * @author Meryem and Avi + * + */ + +public class PassRampartTime extends CommandGroup { + + public PassRampartTime() { + + final double BEG_TIME = 0; + final double BEG_SPEED = 0; + final double MID_TIME = 0; + final double MID_SPEED = 0; + final double END_TIME = 0; + final double END_SPEED = 0; + + addSequential(new DriveForTime(BEG_TIME, BEG_SPEED)); + addSequential(new DriveForTime(MID_TIME, MID_SPEED)); + addSequential(new DriveForTime(END_TIME, END_SPEED)); + + } + +} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassRockWall.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRockWall.java deleted file mode 100755 index b27c6de1..00000000 --- a/src/org/usfirst/frc/team3501/robot/commands/auton/PassRockWall.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.usfirst.frc.team3501.robot.commands.auton; - -import org.usfirst.frc.team3501.robot.commands.driving.DriveForTime; - -import edu.wpi.first.wpilibj.command.CommandGroup; - -/*** - * This command will drive the robot through the rock wall. - * - * dependency on subsystems: drivetrain - * - * dependency on other commands: DriveForTime - * - * pre-condition: robot is flush against the ramp of the outerworks in front of - * the rock wall - * - * post-condition: the robot has passed the rock wall and is in the next zone - * - * @author Meryem and Avi - * - */ - -public class PassRockWall extends CommandGroup { - - private final double BEG_TIME = 0; - private final double MID_TIME = 0; - private final double END_TIME = 0; - private final double BEG_SPEED = 0; - private final double MID_SPEED = 0; - private final double END_SPEED = 0; - - public PassRockWall() { - - addSequential(new DriveForTime(BEG_TIME, BEG_SPEED)); - addSequential(new DriveForTime(MID_TIME, MID_SPEED)); - addSequential(new DriveForTime(END_TIME, END_SPEED)); - - } -} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassRockWallDistance.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRockWallDistance.java new file mode 100755 index 00000000..08ca2c36 --- /dev/null +++ b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRockWallDistance.java @@ -0,0 +1,39 @@ +package org.usfirst.frc.team3501.robot.commands.auton; + +import org.usfirst.frc.team3501.robot.commands.driving.DriveForTime; + +import edu.wpi.first.wpilibj.command.CommandGroup; + +/*** + * This command will drive the robot through the rock wall. + * + * dependency on subsystems: drivetrain + * + * dependency on other commands: DriveForTime + * + * pre-condition: robot is flush against the ramp of the outerworks in front of + * the rock wall + * + * post-condition: the robot has passed the rock wall and is in the next zone + * + * @author Meryem and Avi + * + */ + +public class PassRockWallDistance extends CommandGroup { + + private final double BEG_TIME = 0; + private final double MID_TIME = 0; + private final double END_TIME = 0; + private final double BEG_SPEED = 0; + private final double MID_SPEED = 0; + private final double END_SPEED = 0; + + public PassRockWallDistance() { + + addSequential(new DriveForTime(BEG_TIME, BEG_SPEED)); + addSequential(new DriveForTime(MID_TIME, MID_SPEED)); + addSequential(new DriveForTime(END_TIME, END_SPEED)); + + } +} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassRockWallTime.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRockWallTime.java new file mode 100644 index 00000000..05cfcc64 --- /dev/null +++ b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRockWallTime.java @@ -0,0 +1,39 @@ +package org.usfirst.frc.team3501.robot.commands.auton; + +import org.usfirst.frc.team3501.robot.commands.driving.DriveForTime; + +import edu.wpi.first.wpilibj.command.CommandGroup; + +/*** + * This command will drive the robot through the rock wall. + * + * dependency on subsystems: drivetrain + * + * dependency on other commands: DriveForTime + * + * pre-condition: robot is flush against the ramp of the outerworks in front of + * the rock wall + * + * post-condition: the robot has passed the rock wall and is in the next zone + * + * @author Meryem and Avi + * + */ + +public class PassRockWallTime extends CommandGroup { + + private final double BEG_TIME = 0; + private final double MID_TIME = 0; + private final double END_TIME = 0; + private final double BEG_SPEED = 0; + private final double MID_SPEED = 0; + private final double END_SPEED = 0; + + public PassRockWallTime() { + + addSequential(new DriveForTime(BEG_TIME, BEG_SPEED)); + addSequential(new DriveForTime(MID_TIME, MID_SPEED)); + addSequential(new DriveForTime(END_TIME, END_SPEED)); + + } +} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassRoughTerrain.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRoughTerrain.java deleted file mode 100755 index 8851edf6..00000000 --- a/src/org/usfirst/frc/team3501/robot/commands/auton/PassRoughTerrain.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.usfirst.frc.team3501.robot.commands.auton; - -import org.usfirst.frc.team3501.robot.commands.driving.DriveForTime; - -import edu.wpi.first.wpilibj.command.CommandGroup; - -/*** - * This command will drive the robot through the rough terrain. - * - * dependency on subsytems: drivetrain - * - * dependency on other commands: DriveForTime - * - * pre-condition: robot is flush against the ramp of the outerworks in front of - * the rough terrain - * - * post-condition: the robot has passed the rough terrain and is in the next - * zone - * - * @author Meryem and Avi - * - */ -public class PassRoughTerrain extends CommandGroup { - - // TODO: test for the time - private final double BEG_TIME = 0; - private final double MID_TIME = 0; - private final double END_TIME = 0; - - private final double BEG_SPEED = 0; - private final double MID_SPEED = 0; - private final double END_SPEED = 0; - - public PassRoughTerrain() { - - addSequential(new DriveForTime(BEG_TIME, BEG_SPEED)); - addSequential(new DriveForTime(MID_TIME, MID_SPEED)); - addSequential(new DriveForTime(END_TIME, BEG_SPEED)); - - } -} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassRoughTerrainDistance.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRoughTerrainDistance.java new file mode 100644 index 00000000..97289947 --- /dev/null +++ b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRoughTerrainDistance.java @@ -0,0 +1,41 @@ +package org.usfirst.frc.team3501.robot.commands.auton; + +import org.usfirst.frc.team3501.robot.commands.driving.DriveForTime; + +import edu.wpi.first.wpilibj.command.CommandGroup; + +/*** + * This command will drive the robot through the rough terrain. + * + * dependency on subsytems: drivetrain + * + * dependency on other commands: DriveForTime + * + * pre-condition: robot is flush against the ramp of the outerworks in front of + * the rough terrain + * + * post-condition: the robot has passed the rough terrain and is in the next + * zone + * + * @author Meryem and Avi + * + */ +public class PassRoughTerrainDistance extends CommandGroup { + + // TODO: test for the time + private final double BEG_TIME = 0; + private final double MID_TIME = 0; + private final double END_TIME = 0; + + private final double BEG_SPEED = 0; + private final double MID_SPEED = 0; + private final double END_SPEED = 0; + + public PassRoughTerrainDistance() { + + addSequential(new DriveForTime(BEG_TIME, BEG_SPEED)); + addSequential(new DriveForTime(MID_TIME, MID_SPEED)); + addSequential(new DriveForTime(END_TIME, BEG_SPEED)); + + } +} diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/PassRoughTerrainTime.java b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRoughTerrainTime.java new file mode 100755 index 00000000..6bc6b223 --- /dev/null +++ b/src/org/usfirst/frc/team3501/robot/commands/auton/PassRoughTerrainTime.java @@ -0,0 +1,41 @@ +package org.usfirst.frc.team3501.robot.commands.auton; + +import org.usfirst.frc.team3501.robot.commands.driving.DriveForTime; + +import edu.wpi.first.wpilibj.command.CommandGroup; + +/*** + * This command will drive the robot through the rough terrain. + * + * dependency on subsytems: drivetrain + * + * dependency on other commands: DriveForTime + * + * pre-condition: robot is flush against the ramp of the outerworks in front of + * the rough terrain + * + * post-condition: the robot has passed the rough terrain and is in the next + * zone + * + * @author Meryem and Avi + * + */ +public class PassRoughTerrainTime extends CommandGroup { + + // TODO: test for the time + private final double BEG_TIME = 0; + private final double MID_TIME = 0; + private final double END_TIME = 0; + + private final double BEG_SPEED = 0; + private final double MID_SPEED = 0; + private final double END_SPEED = 0; + + public PassRoughTerrainTime() { + + addSequential(new DriveForTime(BEG_TIME, BEG_SPEED)); + addSequential(new DriveForTime(MID_TIME, MID_SPEED)); + addSequential(new DriveForTime(END_TIME, BEG_SPEED)); + + } +}