Change turning to using arcade drive turning to be smoother
authorKevin Zhang <icestormf1@gmail.com>
Sun, 21 Feb 2016 22:34:14 +0000 (14:34 -0800)
committerKevin Zhang <icestormf1@gmail.com>
Mon, 22 Feb 2016 23:59:35 +0000 (15:59 -0800)
src/org/usfirst/frc/team3501/robot/Robot.java
src/org/usfirst/frc/team3501/robot/commands/auton/AimAndAlign.java [deleted file]
src/org/usfirst/frc/team3501/robot/commands/driving/TurnForTime.java
src/org/usfirst/frc/team3501/robot/subsystems/DriveTrain.java

index 8beb817d189bba11dd761c6f2f3da5ffa05a60a2..19fa056a857c635282ca337eed87d1db08ca4a96 100644 (file)
@@ -26,7 +26,7 @@ public class Robot extends IterativeRobot {
   // Sendable Choosers send a drop down menu to the Smart Dashboard.
   SendableChooser positionChooser;
   SendableChooser positionOneDefense, positionTwoDefense, positionThreeDefense,
-      positionFourDefense, positionFiveDefense;
+  positionFourDefense, positionFiveDefense;
 
   @Override
   public void robotInit() {
@@ -104,28 +104,6 @@ public class Robot extends IterativeRobot {
   public void autonomousInit() {
     Scheduler.getInstance().run();
 
-    // // get options chosen from drop down menu
-    // Integer chosenPosition = (Integer) positionChooser.getSelected();
-    // Integer chosenDefense = 0;
-    //
-    // if (chosenPosition == 1)
-    // chosenDefense = (Integer) positionOneDefense.getSelected();
-    // else if (chosenPosition == 2)
-    // chosenDefense = (Integer) positionTwoDefense.getSelected();
-    // else if (chosenPosition == 3)
-    // chosenDefense = (Integer) positionThreeDefense.getSelected();
-    // else if (chosenPosition == 4)
-    // chosenDefense = (Integer) positionFourDefense.getSelected();
-    // else if (chosenPosition == 5)
-    // chosenDefense = (Integer) positionFiveDefense.getSelected();
-    //
-    // System.out.println("Chosen Position: " + chosenPosition);
-    // System.out.println("Chosen Defense: " + chosenDefense);
-  }
-
-  @Override
-  public void autonomousPeriodic() {
-    Scheduler.getInstance().run();
     // Scheduler.getInstance().add(new DriveDistance(24, 5));
     // Scheduler.getInstance().add(new DriveForTime(2, 0.3));
     // Scheduler.getInstance().add(new TurnForAngle(90, 5));
@@ -136,6 +114,11 @@ public class Robot extends IterativeRobot {
     // Scheduler.getInstance().add(new Turn180());
   }
 
+  @Override
+  public void autonomousPeriodic() {
+    Scheduler.getInstance().run();
+  }
+
   @Override
   public void teleopInit() {
     Scheduler.getInstance().add(new JoystickDrive());
diff --git a/src/org/usfirst/frc/team3501/robot/commands/auton/AimAndAlign.java b/src/org/usfirst/frc/team3501/robot/commands/auton/AimAndAlign.java
deleted file mode 100755 (executable)
index d304013..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.usfirst.frc.team3501.robot.commands.auton;
-
-import edu.wpi.first.wpilibj.command.Command;
-
-public class AimAndAlign extends Command {
-
-       public AimAndAlign() {
-       }
-
-       @Override
-       protected void initialize() {
-       }
-
-       @Override
-       protected void execute() {
-       }
-
-       @Override
-       protected boolean isFinished() {
-               return false;
-       }
-
-       @Override
-       protected void end() {
-       }
-
-       @Override
-       protected void interrupted() {
-       }
-}
index 368d10459f2289f94a406ff3ecc1ece79653592b..f0f2ecf6fca6c79e39d7879010832abcbd1506a3 100755 (executable)
@@ -45,9 +45,11 @@ public class TurnForTime extends Command {
     timer.start();
 
     if (direction == Direction.RIGHT) {
-      Robot.driveTrain.drive(speed, -speed);
+      // Robot.driveTrain.drive(speed, -speed);
+      Robot.driveTrain.arcadeDrive(0, speed);
     } else if (direction == Direction.LEFT) {
-      Robot.driveTrain.drive(-speed, speed);
+      // Robot.driveTrain.drive(-speed, speed);
+      Robot.driveTrain.arcadeDrive(0, speed);
     }
   }
 
index 5fa529335b57c5315c3000e9ffbc89d734ae17b3..a7fa8eea4a053d43ea27ced0f196ccbf2735e556 100644 (file)
@@ -213,11 +213,12 @@ public class DriveTrain extends PIDSubsystem {
         output = Math.signum(output) * 0.3;
       left = output;
       right = output + drift * Constants.DriveTrain.kp / 10;
+      drive(left, right);
     } else if (DRIVE_MODE == Constants.DriveTrain.GYRO_MODE) {
       left = output;
       right = -output;
+      arcadeDrive(0, output);
     }
-    drive(left, right);
     pidOutput = output;
   }
 
@@ -257,6 +258,10 @@ public class DriveTrain extends PIDSubsystem {
       robotDrive.tankDrive(right, left);
   }
 
+  public void arcadeDrive(double y, double twist) {
+    robotDrive.arcadeDrive(y, twist);
+  }
+
   /*
    * constrains the distance to within -100 and 100 since we aren't going to
    * drive more than 100 inches