Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new Constants int implementation #128

Open
wants to merge 37 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
52707c0
Rewriting the ConstantsInt class
Mason-Lam Jun 16, 2022
a69e429
Merge pull request #2 from MikaO13/code-cleanup2
Mason-Lam Jun 16, 2022
ec710a0
Merge pull request #11 from MikaO13/dev
Mason-Lam Jun 16, 2022
b130ba3
Optimize ConstantsInt
Mason-Lam Jun 18, 2022
afe0a36
OptimizeConstants Int
Mason-Lam Jun 18, 2022
09ab367
ConstantFoldingFix
Mason-Lam Jun 18, 2022
a71dc11
Fix constants for pull request
Mason-Lam Jun 18, 2022
59f349d
Merge branch 'code-cleanup2' into ConstantsInt
Mason-Lam Jun 18, 2022
185a2a0
Author credits lol
Mason-Lam Jun 21, 2022
74dc712
Sohan fixes
Mason-Lam Jun 23, 2022
a37ea07
Merge branch 'dev' into ConstantsInt
Mason-Lam Jun 25, 2022
16c494d
NarwhalDashboard Changes
Mason-Lam Jun 25, 2022
ca66207
A few suggestions for the new ConstantsInt implementation
FieryXY Jun 26, 2022
4457a48
Small changes, and extra class security
Mason-Lam Jun 26, 2022
20353d3
Merge pull request #4 from Mason-Lam/constantsint-suggestions
Mason-Lam Jun 26, 2022
729da98
Exception fixes
Mason-Lam Jun 28, 2022
d6707d1
un-wrapping constant constants
Jun 28, 2022
f6bf3a8
Small bug fixes
Mason-Lam Jun 29, 2022
923cb7a
6/28/22 workshop changes
Jun 29, 2022
3f2f85e
Added redundancy/security
Mason-Lam Jun 30, 2022
de0d9b1
Multi Threading fix?
Mason-Lam Jun 30, 2022
40ae198
More sledgehammers
Mason-Lam Jun 30, 2022
4c2b48c
Extra security
Mason-Lam Jul 1, 2022
b187942
Don't like sets
Mason-Lam Jul 1, 2022
549874a
Organization + redundant checks for consistency
Mason-Lam Jul 1, 2022
e754616
Remove Security Checks :(
Mason-Lam Jul 1, 2022
c721b56
Changed Buttons to Triggers
AravCGitHub Oct 8, 2022
a484b19
Added POVButtons to Xbox
AravCGitHub Oct 26, 2022
b830672
Merge branch 'dev' into Trigger
AravCGitHub Oct 26, 2022
aeb4410
becah blitz autos
ControlsNarwhal Oct 30, 2022
706f6e4
workshop 11/1
Nov 2, 2022
1d6654d
i forgot to save this file help
Nov 2, 2022
04b2407
default auto
Nov 3, 2022
d32ef3e
Merge branch 'pr/148'
Nov 3, 2022
7cbb0d9
trigger merge fixes
Nov 3, 2022
abebfb7
beach blitz scuffed changes
ControlsNarwhal Nov 12, 2022
7a04009
Merge branch 'main' into ConstantsInt
Mason-Lam Nov 12, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 65 additions & 71 deletions src/main/java/frc/team3128/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,29 +43,29 @@ public static class DriveConstants {
public static final double DRIVE_NUp100MS_TO_MPS = DRIVE_NU_TO_METER * 10; // sensor units per 100 ms to m/s of drivetrain
public static final double MAX_DRIVE_VEL_NUp100MS = 6380 * FALCON_ENCODER_RESOLUTION / 60 / 10; // max angular velocity of drivetrain (encoder, not wheel) in sensor units per 100 ms - 6380 RPM * RESOLUTION nu/rot * 1 min/60s * 1s/(10*100ms)

public static final double kS = 0.73226;
public static final double kV = 2.0859;
public static final double kA = 0.37853;
public static final double kVAngular = 1.5; // Nathan's magic numbers of doom
public static final double kAAngular = 0.3; // Nathan's magic numbers of doom
public static final double kS = Double.valueOf(0.73226);
public static final double kV = Double.valueOf(2.0859);
public static final double kA = Double.valueOf(0.37853);
public static final double kVAngular = Double.valueOf(1.5); // Nathan's magic numbers of doom
public static final double kAAngular = Double.valueOf(0.3); // Nathan's magic numbers of doom

public static final double MAX_DRIVE_VELOCITY = 2.5; // m/s - Real value ~5
public static final double MAX_DRIVE_ACCELERATION = 2; // m/s^2 - I don't know what this number is
public static final double MAX_DRIVE_VOLTAGE = 7; // volts (hopefully you could figure this out)
public static final double MAX_DRIVE_VELOCITY = Double.valueOf(2.5); // m/s - Real value ~5
public static final double MAX_DRIVE_ACCELERATION = Double.valueOf(2); // m/s^2 - I don't know what this number is
public static final double MAX_DRIVE_VOLTAGE = Double.valueOf(7); // volts (hopefully you could figure this out)

public static final double TURN_kP = -2e-3;
public static final double TURN_kI = 0;
public static final double TURN_kD = -2e-4;
public static final double TURN_kF = 0.1;
public static final double TURN_kP = Double.valueOf(-2e-3);
public static final double TURN_kI = Double.valueOf(0);
public static final double TURN_kD = Double.valueOf(-2e-4);
public static final double TURN_kF = Double.valueOf(0.1);

public static final double TURN_TOLERANCE = 12; // deg
public static final double TURN_TOLERANCE = Double.valueOf(12); // deg

//Ramsete constants
public static final double RAMSETE_B = 2; //default value - don't change unless absolutely necessary
public static final double RAMSETE_ZETA = 0.7; //default value - don't change unless absolutely necessary
public static final double RAMSETE_KP = 3.0101;

public static final Boolean GYRO_REVERSED = false;
public static final boolean GYRO_REVERSED = false;

public static final DCMotor GEARBOX = DCMotor.getFalcon500(4);
public static final LinearSystem<N2, N2, N2> DRIVE_CHAR =
Expand All @@ -79,25 +79,23 @@ public static class DriveConstants {

public static class ShooterConstants {

public static final double SET_RPM = 3000;
public static final double SET_ANGLE = 25;
public static final double SET_RPM = Double.valueOf(3000);
public static final double SET_ANGLE = Double.valueOf(25);

public static final int LEFT_SHOOTER_ID = 4;
public static final int RIGHT_SHOOTER_ID = 5;

public static final double kP = 2e-4; // 3.2e-3;
public static final double kI = 0;
public static final double kD = 0; // 5e-4;
public static final double kP = Double.valueOf(2e-4); // 3.2e-3);
public static final double kI = Double.valueOf(0);
public static final double kD = Double.valueOf(0); // 5e-4);

public static final double kF = 0.00190678;
public static final double kF = Double.valueOf(0.00190678);

public static final int PLATEAU_COUNT = 6;
public static final double RPM_THRESHOLD_PERCENT = 0.05;
public static final double RPM_THRESHOLD_PERCENT_MAX = 0.15;
public static final double TIME_TO_MAX_THRESHOLD = 8;
public static final int PLATEAU_COUNT = Integer.valueOf(6);
public static final double RPM_THRESHOLD_PERCENT = Double.valueOf(0.05);

public static final double LOW_kV = 0.0017857 * 0.9; // 0.00163; //Velocity gain in PID Feed Forward
public static final double LOW_kA = 0.0053359 * 0.9; // 0.0349; //Acceleration gain PID Feed Forward
public static final double LOW_kV = 0.0017857 * 0.9; // fyi these are fake numbers // 0.00163); //Velocity gain in PID Feed Forward
public static final double LOW_kA = 0.0053359 * 0.9; // fyi these are fake numbers // 0.0349); //Acceleration gain PID Feed Forward
public static final LinearSystem<N1, N1, N1> SHOOTER_CHAR =
LinearSystemId.identifyVelocitySystem(
LOW_kV,
Expand Down Expand Up @@ -142,11 +140,11 @@ public static class HopperConstants {

public static final int HOPPER_DIO_PIN1 = 8;
public static final int HOPPER_DIO_PIN2 = 9;
public static final double HOPPER_MAX_REVERSE_DISTANCE = -2200; //set distance
public static final double HOPPER_MAX_REVERSE_DISTANCE = Double.valueOf(-2200); //set distance

public static final double HOPPER_MOTOR_POWER = 0.6;
public static final double HOPPER_MOTOR_2_POWER = 0.7;
public static final double REVERSE_HOPPER_MOTOR_POWER = -1;
public static final double HOPPER_MOTOR_POWER = Double.valueOf(0.6);
public static final double HOPPER_MOTOR_2_POWER = Double.valueOf(0.7);
public static final double REVERSE_HOPPER_MOTOR_POWER = Double.valueOf(-1);

}

Expand All @@ -156,8 +154,8 @@ public static class IntakeConstants {
public static final int INTAKE_SOLENOID_FORWARD_CHANNEL_ID = 4;
public static final int INTAKE_SOLENOID_BACKWARD_CHANNEL_ID = 3;

public static final double INTAKE_MOTOR_POWER = 1;
public static final double OUTTAKE_MOTOR_POWER = -1;
public static final double INTAKE_MOTOR_POWER = Double.valueOf(1);
public static final double OUTTAKE_MOTOR_POWER = Double.valueOf(-1);

}

Expand All @@ -174,20 +172,16 @@ public static class ClimberConstants {

public static final double CLIMBER_GEAR_RATIO = 18.9;
public static final double AXLE_DIAMETER = 0.7;
public static final double CLIMBER_ERROR_RATE = .5; //in inches

public static final double CLIMBER_HEIGHT = 20; // inches

public static final double VERTICAL_DISTANCE = 23.875;
public static final double SMALL_VERTICAL_DISTANCE = 5;
public static final double ANGLED_DISTANCE = 12;
public static final double VERTICAL_DISTANCE = Double.valueOf(23.875);
public static final double SMALL_VERTICAL_DISTANCE = Double.valueOf(5);

public static final double CLIMBER_POWER = 0.8; // 0.9
public static final double MANUAL_POWER = 0.3;
public static final double CLIMBER_POWER = Double.valueOf(0.8); // 0.9
public static final double MANUAL_POWER = Double.valueOf(0.3);

public static final double CLIMB_ENC_DIAG_EXTENSION = 322000;
public static final double CLIMB_ENC_TO_TOP = 322000;
public static final double TOLERANCE_TICKS = 1000;
public static final double CLIMB_ENC_DIAG_EXTENSION = Double.valueOf(322000);
public static final double CLIMB_ENC_TO_TOP = Double.valueOf(322000);
public static final double TOLERANCE_TICKS = Double.valueOf(1000);

}

Expand All @@ -196,21 +190,21 @@ public static class HoodConstants {
public static final int HOOD_MOTOR_ID = 5;

// need to retune hood pid to be actually good
public static final double kP = 0.3;
public static final double kI = 0;
public static final double kD = 0; //8e-6;
public static final double kF = 0.49072349;
public static final double kP = Double.valueOf(0.3);
public static final double kI = Double.valueOf(0);
public static final double kD = Double.valueOf(0); //8e-6);
public static final double kF = Double.valueOf(0.49072349);

public static final double TOLERANCE_MIN = 0.3; // degrees
public static final double TOLERANCE_MIN = Double.valueOf(0.3); // degrees

public static final int HOOD_SHOOTER_GEAR_RATIO = 111; // Bowen number
public static final double ENC_POSITION_CONVERSION_FACTOR = 360.0 / HOOD_SHOOTER_GEAR_RATIO; // Multiply by this to convert encoder rotations to hood degrees

public static final int HOOD_CURRENT_LIMIT = 10; // Amps
public static final int HOOD_CURRENT_LIMIT = 15; // Amps

public static final double MIN_ANGLE = 9.4; // deg
public static final double MAX_ANGLE = 41.4; // deg
public static final double HOME_ANGLE = 28.5; // deg
public static final double MIN_ANGLE = Double.valueOf(9.4); // deg
public static final double MAX_ANGLE = Double.valueOf(41.4); // deg
public static final double HOME_ANGLE = Double.valueOf(28.5); // deg

public static InterpolatingTreeMap<InterpolatingDouble, InterpolatingDouble> hoodAngleMap = new InterpolatingTreeMap<InterpolatingDouble, InterpolatingDouble>();
static {
Expand Down Expand Up @@ -246,36 +240,36 @@ public static class VisionConstants {
public static final double TOP_FRONT_DIST = 0;
public static final double TARGET_HEIGHT = 104;

public static final double VISION_PID_kP = 2.2e-3;
public static final double VISION_PID_kI = 0; // 0.02;
public static final double VISION_PID_kD = 0; // 0.00006;
public static final double VISION_PID_kF = 0.06;
public static final double VISION_PID_kP = Double.valueOf(2.2e-3);
public static final double VISION_PID_kI = Double.valueOf(0); // 0.02);
public static final double VISION_PID_kD = Double.valueOf(0); // 0.00006);
public static final double VISION_PID_kF = Double.valueOf(0.06);

public static final double TX_OFFSET = 0; // to offset alignment in either direction
public static final double TX_OFFSET = Double.valueOf(0); // to offset alignment in either direction

public static final double TX_THRESHOLD = 3; // degrees
public static final double TX_THRESHOLD = Double.valueOf(3); // degrees

public static final int ALIGN_PLATEAU_COUNT = 10; //Number of checks at correct RPM to shoot
public static final int ALIGN_PLATEAU_COUNT = Integer.valueOf(5); //Number of checks at correct RPM to shoot

public static final double BALL_TARGET_HEIGHT = 9.5 / 2;
public static final double BALL_LL_HEIGHT = 24;
public static final double BALL_LL_ANGLE = 65.15 * Math.PI / 180; // 1.0; // Math.acos(21.0 / 39.0); // 1.002186; // radians
public static final double BALL_LL_ANGLE = 65.15 * Math.PI / 180; // 1.0); // Math.acos(21.0 / 39.0)); // 1.002186); // radians
public static final double BALL_LL_FRONT_DIST = 0; // meters, measure

public static final double GOAL_HORIZONTAL_OFFSET = 0; // goal of x displacement from robot to ball/target (if limelight center, 0)
public static final double BALL_THRESHOLD = 5;
public static final double GOAL_HORIZONTAL_OFFSET = Double.valueOf(0); // goal of x displacement from robot to ball/target (if limelight center, 0)
public static final double BALL_THRESHOLD = Double.valueOf(5);

public static final double BALL_VISION_kF = 0.8;
public static final double BALL_VISION_kP = 0.01;
public static final double BALL_VISION_kD = 0.00001;
public static final double BALL_AUTO_PURSUIT_kF = 0.4;
public static final double BALL_VISION_kF = Double.valueOf(0.8);
public static final double BALL_VISION_kP = Double.valueOf(0.01);
public static final double BALL_VISION_kD = Double.valueOf(0.00001);
public static final double BALL_AUTO_PURSUIT_kF = Double.valueOf(0.4);

public static final double POWER_MULTIPLIER = 0.7;
public static final double POWER_MULTIPLIER = Double.valueOf(0.7);

public static final double BALL_DECELERATE_START_DISTANCE = 25;
public static final double BALL_DECELERATE_END_DISTANCE = 9.5;
public static final double BALL_DECELERATE_START_DISTANCE = Double.valueOf(25);
public static final double BALL_DECELERATE_END_DISTANCE = Double.valueOf(9.5);

public static final double BALL_VEL_THRESHOLD = 2.54; // m/s - 100 in/s
public static final int BALL_VEL_PLATEAU_THRESHOLD = 10;
public static final double BALL_VEL_THRESHOLD = Double.valueOf(2.54); // m/s - 100 in/s
public static final int BALL_VEL_PLATEAU_THRESHOLD = Integer.valueOf(10);
}
}
Loading