From: Cindy Zhang Date: Mon, 20 Feb 2017 19:01:30 +0000 (-0800) Subject: edit pid and limit motor values X-Git-Url: http://challenge-bot.com/repos/?p=3501%2F2017steamworks;a=commitdiff_plain;h=ac77a7b890c794f807b764221ff72d9044791fab edit pid and limit motor values --- diff --git a/src/org/usfirst/frc/team3501/robot/subsystems/DriveTrain.java b/src/org/usfirst/frc/team3501/robot/subsystems/DriveTrain.java index 0a68c4c..32ec7b2 100644 --- a/src/org/usfirst/frc/team3501/robot/subsystems/DriveTrain.java +++ b/src/org/usfirst/frc/team3501/robot/subsystems/DriveTrain.java @@ -1,6 +1,7 @@ package org.usfirst.frc.team3501.robot.subsystems; import org.usfirst.frc.team3501.robot.Constants; +import org.usfirst.frc.team3501.robot.MathLib; import org.usfirst.frc.team3501.robot.commands.driving.JoystickDrive; import com.ctre.CANTalon; @@ -13,12 +14,12 @@ import edu.wpi.first.wpilibj.RobotDrive; import edu.wpi.first.wpilibj.command.Subsystem; public class DriveTrain extends Subsystem { - public static double driveP = 0.012, driveI = 0.0011, driveD = -0.002; + public static double driveP = 0.006, driveI = 0.0011, driveD = -0.002; public static double turnP = 0.004, turnI = 0.0013, turnD = -0.005; public static double driveStraightGyroP = 0.01; - public static final double WHEEL_DIAMETER = 6; // inches - public static final int ENCODER_PULSES_PER_REVOLUTION = 256; + public static final double WHEEL_DIAMETER = 4; // inches + public static final double ENCODER_PULSES_PER_REVOLUTION = 256; public static final double INCHES_PER_PULSE = WHEEL_DIAMETER * Math.PI / ENCODER_PULSES_PER_REVOLUTION; @@ -75,7 +76,10 @@ public class DriveTrain extends Subsystem { } // DRIVE METHODS - public void setMotorValues(final double left, final double right) { + public void setMotorValues(double left, double right) { + left = MathLib.restrictToRange(left, 0.0, 1.0); + right = MathLib.restrictToRange(right, 0.0, 1.0); + frontLeft.set(left); rearLeft.set(left); diff --git a/src/org/usfirst/frc/team3501/robot/subsystems/Intake.java b/src/org/usfirst/frc/team3501/robot/subsystems/Intake.java index efde6a3..ed47fa7 100644 --- a/src/org/usfirst/frc/team3501/robot/subsystems/Intake.java +++ b/src/org/usfirst/frc/team3501/robot/subsystems/Intake.java @@ -1,6 +1,7 @@ package org.usfirst.frc.team3501.robot.subsystems; import org.usfirst.frc.team3501.robot.Constants; +import org.usfirst.frc.team3501.robot.MathLib; import com.ctre.CANTalon; @@ -44,6 +45,7 @@ public class Intake extends Subsystem { * from -1 to 1 */ private void setSpeed(double speed) { + speed = MathLib.restrictToRange(speed, -1.0, 1.0); intakeWheel.set(speed); } diff --git a/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java b/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java index b9ccb42..7a11c2d 100644 --- a/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java +++ b/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java @@ -1,6 +1,7 @@ package org.usfirst.frc.team3501.robot.subsystems; import org.usfirst.frc.team3501.robot.Constants; +import org.usfirst.frc.team3501.robot.MathLib; import org.usfirst.frc.team3501.robot.utils.HallEffectSensor; import com.ctre.CANTalon; @@ -8,12 +9,12 @@ import com.ctre.CANTalon; import edu.wpi.first.wpilibj.command.Subsystem; public class Shooter extends Subsystem { - public double wheelP = 0, wheelI = 0, wheelD = -0; + public double wheelP = 0.0003, wheelI = 0, wheelD = -0.00004; private static Shooter shooter; private static HallEffectSensor hallEffect; private final CANTalon flyWheel1, flyWheel2, indexWheel; - public static final double DEFAULT_INDEXING_SPEED = -0.75; + public static final double DEFAULT_INDEXING_SPEED = -1.0; public static final double DEFAULT_SHOOTING_SPEED = 0.75; public static double CURRENT_SHOOTING_SPEED = DEFAULT_SHOOTING_SPEED; @@ -49,7 +50,8 @@ public class Shooter extends Subsystem { * @param val * motor value from -1 to 1(fastest forward) */ - public void setFlyWheelMotorVal(final double val) { + public void setFlyWheelMotorVal(double val) { + val = MathLib.restrictToRange(val, 0.0, 1.0); flyWheel1.set(val); flyWheel2.set(val); } @@ -68,7 +70,8 @@ public class Shooter extends Subsystem { * @param val * motor value from -1 to 1(fastest forward) */ - public void setIndexWheelMotorVal(final double val) { + public void setIndexWheelMotorVal(double val) { + val = MathLib.restrictToRange(val, -1.0, 1.0); indexWheel.set(val); }