From: Meryem Esa Date: Thu, 11 Feb 2016 03:29:07 +0000 (-0800) Subject: add skeleton code for calculating angle to turn for shooting X-Git-Url: http://challenge-bot.com/repos/?p=3501%2Fstronghold-2016;a=commitdiff_plain;h=1696ae2852279093cffd17ce49f50b2be740ed66 add skeleton code for calculating angle to turn for shooting --- diff --git a/src/org/usfirst/frc/team3501/robot/commands/AlignToScore.java b/src/org/usfirst/frc/team3501/robot/commands/AlignToScore.java index 012ffad6..a2f83d42 100755 --- a/src/org/usfirst/frc/team3501/robot/commands/AlignToScore.java +++ b/src/org/usfirst/frc/team3501/robot/commands/AlignToScore.java @@ -1,5 +1,7 @@ package org.usfirst.frc.team3501.robot.commands; +import org.usfirst.frc.team3501.robot.Robot; + import edu.wpi.first.wpilibj.command.CommandGroup; /** @@ -14,15 +16,16 @@ import edu.wpi.first.wpilibj.command.CommandGroup; * */ public class AlignToScore extends CommandGroup { + private final double DIST_CENTER_OF_MASS_TO_FRONT_OF_ROBOT = 0; + private final double DEFAULT_SPEED = 0.5; - // constants for position 1: low bar + // constants for position 1: low bar private final double POS1_DIST1 = 0; private final double POS1_TURN1 = 0; private final double POS1_DIST2 = 0; // constants for position 2 - private final double POS2_DIST1 = 0; private final double POS2_TURN1 = 0; private final double POS2_DIST2 = 0; @@ -35,8 +38,16 @@ public class AlignToScore extends CommandGroup { private final double POS3_DIST3 = 0; // constants for position 4 + private final double POS4_DIST1 = 0; + private final double POS4_TURN1 = 0; + private final double POS4_DIST2 = 0; + private final double POS4_TURN2 = 0; + private final double POS4_DIST3 = 0; // constants for position 5 + private final double POS5_DIST1 = 0; + private final double POS5_TURN1 = 0; + private final double POS5_DIST2 = 0; public AlignToScore(int position) { @@ -62,15 +73,25 @@ public class AlignToScore extends CommandGroup { addSequential(new DriveForDistance(POS3_DIST2, DEFAULT_SPEED)); addSequential(new TurnForAngle(POS3_TURN2)); addSequential(new DriveForDistance(POS3_DIST3, DEFAULT_SPEED)); - ; case 4: - addSequential(); + addSequential(new DriveForDistance(POS4_DIST1, DEFAULT_SPEED)); + addSequential(new TurnForAngle(POS4_TURN1)); + addSequential(new DriveForDistance(POS4_DIST2, DEFAULT_SPEED)); + addSequential(new TurnForAngle(POS4_TURN2)); + addSequential(new DriveForDistance(POS4_DIST3, DEFAULT_SPEED)); case 5: - addSequential(); + addSequential(new DriveForDistance(POS5_DIST1, DEFAULT_SPEED)); + addSequential(new TurnForAngle(POS5_TURN1)); + addSequential(new DriveForDistance(POS5_DIST2, DEFAULT_SPEED)); } } + + public static void calculatePath() { + double leftDistance = Robot.shooter.getLeftDistanceToTower(); + double rightDistance = Robot.shooter.getRightDistanceToTower(); + } } diff --git a/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java b/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java index 3b91bfe0..98131673 100755 --- a/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java +++ b/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java @@ -1,8 +1,6 @@ package org.usfirst.frc.team3501.robot.subsystems; import org.usfirst.frc.team3501.robot.Constants; -import org.usfirst.frc.team3501.robot.Lidar; -import org.usfirst.frc.team3501.robot.MathLib; import edu.wpi.first.wpilibj.CANTalon; import edu.wpi.first.wpilibj.CounterBase.EncodingType; @@ -11,10 +9,11 @@ import edu.wpi.first.wpilibj.Encoder; import edu.wpi.first.wpilibj.command.Subsystem; /*** - * The Shooter consists of a platform and wheel, each controlled by separate - * motors. The piston controlling the platform pushes the ball onto the wheel. - * The wheel is controlled by a motor, which is running before the ball is - * pushed onto the wheel. The spinning wheel propels the ball. + * The Shooter consists of a platform and wheel, each controlled by + * separate motors. The piston controlling the platform pushes the ball onto the + * wheel. The wheel is controlled by a motor, which is running before the ball + * is pushed + * onto the wheel. The spinning wheel propels the ball. * * @author superuser * @@ -52,15 +51,12 @@ public class Shooter extends Subsystem { } public void setSpeed(double speed) { - speed = MathLib.constrain(speed, -1, 1); - shooter.set(speed); - } - - // This getDistance() will return the distance using the lidar from the - // desired target during match. This distance is returned in units of - // CENTIMETERS. - public double getDistance() { - return lidar.getDistance(); + if (speed > 1.0) + shooter.set(1.0); + else if (speed < -1.0) + shooter.set(-1.0); + else + shooter.set(speed); } public void stop() { @@ -79,7 +75,7 @@ public class Shooter extends Subsystem { } // Punch Commands - public void punch() { + public void extendPunch() { punch.set(Constants.Shooter.punch); }