added values from calculations and cad.

This commit is contained in:
Tylr-J42
2026-02-26 08:18:07 -05:00
parent e2c2eaafc9
commit 7621cfd009
10 changed files with 44 additions and 41 deletions

View File

@@ -69,7 +69,7 @@
},
"prevControl": {
"x": 8.08578683847011,
"y": 0.4907704016028375
"y": 0.49077040160283747
},
"nextControl": {
"x": 8.318287488908608,

View File

@@ -1,6 +1,6 @@
{
"robotWidth": 0.9,
"robotLength": 0.9,
"robotWidth": 0.921,
"robotLength": 0.787,
"holonomicMode": true,
"pathFolders": [],
"autoFolders": [],
@@ -9,24 +9,26 @@
"defaultMaxAngVel": 540.0,
"defaultMaxAngAccel": 720.0,
"defaultNominalVoltage": 12.0,
"robotMass": 74.088,
"robotMOI": 6.883,
"robotMass": 64.864,
"robotMOI": 37.809,
"robotTrackwidth": 0.546,
"driveWheelRadius": 0.048,
"driveGearing": 5.143,
"maxDriveSpeed": 5.45,
"driveWheelRadius": 0.051,
"driveGearing": 6.122,
"maxDriveSpeed": 4.66,
"driveMotorType": "krakenX60",
"driveCurrentLimit": 60.0,
"driveCurrentLimit": 65.0,
"wheelCOF": 1.2,
"flModuleX": 0.273,
"flModuleY": 0.273,
"frModuleX": 0.273,
"frModuleY": -0.273,
"blModuleX": -0.273,
"blModuleY": 0.273,
"brModuleX": -0.273,
"brModuleY": -0.273,
"flModuleX": 0.238,
"flModuleY": 0.3015,
"frModuleX": 0.238,
"frModuleY": -0.3015,
"blModuleX": -0.238,
"blModuleY": 0.3015,
"brModuleX": -0.238,
"brModuleY": -0.3015,
"bumperOffsetX": 0.0,
"bumperOffsetY": 0.0,
"robotFeatures": []
"robotFeatures": [
"{\"name\":\"Rectangle\",\"type\":\"rounded_rect\",\"data\":{\"center\":{\"x\":0.55,\"y\":0.0},\"size\":{\"width\":0.921,\"length\":0.305},\"borderRadius\":0.05,\"strokeWidth\":0.02,\"filled\":false}}"
]
}

View File

@@ -14,7 +14,7 @@ import edu.wpi.first.math.util.Units;
// TODO This is all hold over from 2025, does any of it need to change?
public class AutoConstants {
public static final double kMaxSpeedMetersPerSecond = 5;
public static final double kMaxSpeedMetersPerSecond = 4;
public static final double kMaxAccelerationMetersPerSecondSquared = 4;
public static final double kMaxAngularSpeedRadiansPerSecond = Math.PI;
public static final double kMaxAngularAccelerationRadiansPerSecondSquared = Math.PI;

View File

@@ -9,8 +9,7 @@ import edu.wpi.first.math.numbers.N3;
import edu.wpi.first.math.util.Units;
public class DrivetrainConstants {
// TODO Hold over from 2025, adjust?
public static final double kMaxSpeedMetersPerSecond = 4.125;
public static final double kMaxSpeedMetersPerSecond = 4.663;
public static final double kMaxAngularSpeed = 2 * Math.PI;
public static final double kTrackWidth = Units.inchesToMeters(23.75);

View File

@@ -17,7 +17,7 @@ public class HoodConstants {
// TODO Real Values
public static final int kMotorCANID = 0;
public static final double kConversionFactor = 0;
public static final double kConversionFactor = 3.0*147.0/8.0;
public static final double kP = 0;
public static final double kI = 0;

View File

@@ -7,8 +7,8 @@ import com.revrobotics.spark.config.SparkBaseConfig.IdleMode;
public class IntakePivotConstants {
// TODO Real values
public enum IntakePivotPosition {
kUp(0),
kDown(0);
kUp(Math.toRadians(116.0)),
kDown(Math.toRadians(0.0));
private double positionRadians;
private IntakePivotPosition(double positionRadians) {
@@ -23,7 +23,7 @@ public class IntakePivotConstants {
public static final int kLeftMotorCANID = 0;
public static final int kRightMotorCANID = 0;
public static final double kConversionFactor = 0;
public static final double kConversionFactor = 60.0/11.0*60.0/18.0*38.0/16.0;
// Ultra conservative multiplier to prevent 1/8" lexan destruction, modify at your own peril
public static final double kMaxManualSpeedMultiplier = .3;
@@ -32,8 +32,9 @@ public class IntakePivotConstants {
public static final double kI = 0;
public static final double kD = 0;
public static final double kS = 0;
public static final double kV = 0;
public static final double kA = 0;
public static final double kV = 5.26;
public static final double kA = 0.05;
public static final double kG = 0.25;
public static final boolean kInvertMotors = false;
@@ -51,17 +52,17 @@ public class IntakePivotConstants {
.idleMode(kIdleMode)
.smartCurrentLimit(kCurrentLimit)
.inverted(kInvertMotors);
KLeftMotorConfig.absoluteEncoder
KLeftMotorConfig.encoder
.positionConversionFactor(kConversionFactor)
.velocityConversionFactor(kConversionFactor / 60);
KLeftMotorConfig.closedLoop
.feedbackSensor(FeedbackSensor.kAbsoluteEncoder)
.feedbackSensor(FeedbackSensor.kPrimaryEncoder)
.pid(kP, kI, kD)
.outputRange(-1, 1)
.positionWrappingEnabled(true)
.positionWrappingInputRange(0, 2 * Math.PI)
.feedForward
.sva(kS, kV, kA);
.svag(kS, kV, kA, kG);
kRightMotorConfig
.idleMode(kIdleMode)

View File

@@ -8,7 +8,7 @@ public class IntakeRollerConstants {
public static final int kLeftMotorCANID = 0;
public static final int kRightMotorCANID = 0;
public static final int kCurrentLimit = 30;
public static final int kCurrentLimit = 40;
public static final boolean kInvertMotors = false;

View File

@@ -24,7 +24,7 @@ public class ShooterConstants {
// TODO Conversion factor?
public static final double kWheelDiameter = Units.inchesToMeters(6);
public static final double kWheelDiameter = Units.inchesToMeters(4);
// TODO Real values
public static final int kLeftShooterMotor1CANID = 0;
@@ -41,20 +41,20 @@ public class ShooterConstants {
public static final double kLeftI = 0;
public static final double kLeftD = 0;
public static final double kLeftS = 0;
public static final double kLeftV = 0;
public static final double kLeftV = 0.21;
public static final double kLeftA = 0;
public static final double kRightP = 0;
public static final double kRightI = 0;
public static final double kRightD = 0;
public static final double kRightS = 0;
public static final double kRightV = 0;
public static final double kRightV = 0.21;
public static final double kRightA = 0;
public static final double kShooterHeightMeters = 0;
// TODO Is this value sane?
public static final int kCurrentLimit = 30;
public static final int kCurrentLimit = 50;
public static final IdleMode kShooterIdleMode = IdleMode.kCoast;

View File

@@ -12,9 +12,9 @@ public class SpindexerConstants {
public static final int kSpindexerMotorCANID = 0;
public static final int kFeederMotorCANID = 0;
public static final int kSpindexerStatorCurrentLimit = 80;
public static final int kSpindexerSupplyCurrentLimit = 30;
public static final int kFeederCurrentLimit = 30;
public static final int kSpindexerStatorCurrentLimit = 90;
public static final int kSpindexerSupplyCurrentLimit = 50;
public static final int kFeederCurrentLimit = 40;
public static final boolean kFeederMotorInverted = false;

View File

@@ -5,8 +5,8 @@ import java.util.function.DoubleSupplier;
import org.littletonrobotics.junction.Logger;
import com.revrobotics.AbsoluteEncoder;
import com.revrobotics.PersistMode;
import com.revrobotics.RelativeEncoder;
import com.revrobotics.ResetMode;
import com.revrobotics.spark.SparkClosedLoopController;
import com.revrobotics.spark.SparkMax;
@@ -22,7 +22,7 @@ public class IntakePivot extends SubsystemBase {
private SparkMax leftMotor;
private SparkMax rightMotor;
private AbsoluteEncoder encoder;
private RelativeEncoder encoder;
private SparkClosedLoopController controller;
@@ -46,7 +46,8 @@ public class IntakePivot extends SubsystemBase {
controller = leftMotor.getClosedLoopController();
encoder = leftMotor.getAbsoluteEncoder();
encoder = leftMotor.getEncoder();
encoder.setPosition(IntakePivotConstants.IntakePivotPosition.kUp.getPositionRadians());
}
@Override