separated each pass defense command (purely driving ones) into two, one based on...
authorCindy Zhang <cindyzyx9@gmail.com>
Tue, 16 Feb 2016 18:44:00 +0000 (10:44 -0800)
committerKevin Zhang <icestormf1@gmail.com>
Tue, 16 Feb 2016 19:37:03 +0000 (11:37 -0800)
16 files changed:
src/org/usfirst/frc/team3501/robot/commands/auton/DefaultAutonStrategy.java
src/org/usfirst/frc/team3501/robot/commands/auton/PassLowBar.java [deleted file]
src/org/usfirst/frc/team3501/robot/commands/auton/PassLowBarDistance.java [new file with mode: 0644]
src/org/usfirst/frc/team3501/robot/commands/auton/PassLowBarTime.java [new file with mode: 0755]
src/org/usfirst/frc/team3501/robot/commands/auton/PassMoat.java [deleted file]
src/org/usfirst/frc/team3501/robot/commands/auton/PassMoatDistance.java [new file with mode: 0755]
src/org/usfirst/frc/team3501/robot/commands/auton/PassMoatTime.java [new file with mode: 0644]
src/org/usfirst/frc/team3501/robot/commands/auton/PassRampart.java [deleted file]
src/org/usfirst/frc/team3501/robot/commands/auton/PassRampartDistance.java [new file with mode: 0755]
src/org/usfirst/frc/team3501/robot/commands/auton/PassRampartTime.java [new file with mode: 0644]
src/org/usfirst/frc/team3501/robot/commands/auton/PassRockWall.java [deleted file]
src/org/usfirst/frc/team3501/robot/commands/auton/PassRockWallDistance.java [new file with mode: 0755]
src/org/usfirst/frc/team3501/robot/commands/auton/PassRockWallTime.java [new file with mode: 0644]
src/org/usfirst/frc/team3501/robot/commands/auton/PassRoughTerrain.java [deleted file]
src/org/usfirst/frc/team3501/robot/commands/auton/PassRoughTerrainDistance.java [new file with mode: 0644]
src/org/usfirst/frc/team3501/robot/commands/auton/PassRoughTerrainTime.java [new file with mode: 0755]

index 5b6453ddaa9382a4e30e6d76c3f4f56830c1196a..318de7c115732194b00d631ff3ef971583a468af 100755 (executable)
@@ -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 (executable)
index cbdaeef..0000000
+++ /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 (file)
index 0000000..ee69e2a
--- /dev/null
@@ -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 (executable)
index 0000000..fde2ee4
--- /dev/null
@@ -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 (executable)
index 1f465d9..0000000
+++ /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 (executable)
index 0000000..735e971
--- /dev/null
@@ -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 (file)
index 0000000..d46f015
--- /dev/null
@@ -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 (executable)
index 426063d..0000000
+++ /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 (executable)
index 0000000..4ff3a85
--- /dev/null
@@ -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 (file)
index 0000000..582292e
--- /dev/null
@@ -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 (executable)
index b27c6de..0000000
+++ /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 (executable)
index 0000000..08ca2c3
--- /dev/null
@@ -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 (file)
index 0000000..05cfcc6
--- /dev/null
@@ -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 (executable)
index 8851edf..0000000
+++ /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 (file)
index 0000000..9728994
--- /dev/null
@@ -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 (executable)
index 0000000..6bc6b22
--- /dev/null
@@ -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));
+
+  }
+}