Lots o changes basically works ig

This commit is contained in:
2026-06-03 15:05:29 -05:00
parent 209c34b3fd
commit a89535830b
5 changed files with 25 additions and 26 deletions

View File

@@ -31,6 +31,8 @@ public class TeleopV4 extends LinearOpMode {
@Override @Override
public void runOpMode() throws InterruptedException { public void runOpMode() throws InterruptedException {
Robot.resetInstance();
robot = Robot.getInstance(hardwareMap); robot = Robot.getInstance(hardwareMap);
TELE = new MultipleTelemetry( TELE = new MultipleTelemetry(
@@ -66,12 +68,14 @@ public class TeleopV4 extends LinearOpMode {
gamepad1.left_stick_x gamepad1.left_stick_x
); );
follower.update();
shooter.update(); shooter.update();
spindexerTransferIntake.update(); spindexerTransferIntake.update();
SpindexerTransferIntake.RapidMode state = spindexerTransferIntake.getRapidState(); SpindexerTransferIntake.RapidMode state = spindexerTransferIntake.getRapidState();
if (gamepad1.xWasPressed() && if (gamepad1.leftBumperWasPressed() &&
(state == SpindexerTransferIntake.RapidMode.INTAKE || (state == SpindexerTransferIntake.RapidMode.INTAKE ||
state == SpindexerTransferIntake.RapidMode.TRANSFER_OFF || state == SpindexerTransferIntake.RapidMode.TRANSFER_OFF ||
state == SpindexerTransferIntake.RapidMode.BEFORE_PULSE_OUT || state == SpindexerTransferIntake.RapidMode.BEFORE_PULSE_OUT ||
@@ -82,7 +86,7 @@ public class TeleopV4 extends LinearOpMode {
spindexerTransferIntake.setRapidMode(SpindexerTransferIntake.RapidMode.OPEN_GATE); spindexerTransferIntake.setRapidMode(SpindexerTransferIntake.RapidMode.OPEN_GATE);
} }
if (gamepad1.aWasPressed() && if (gamepad1.right_trigger > 0.5 &&
(state == SpindexerTransferIntake.RapidMode.INTAKE || (state == SpindexerTransferIntake.RapidMode.INTAKE ||
state == SpindexerTransferIntake.RapidMode.TRANSFER_OFF)) { state == SpindexerTransferIntake.RapidMode.TRANSFER_OFF)) {
@@ -90,8 +94,7 @@ public class TeleopV4 extends LinearOpMode {
SpindexerTransferIntake.RapidMode.HOLD_BALLS SpindexerTransferIntake.RapidMode.HOLD_BALLS
); );
} }
if (gamepad1.rightBumperWasPressed()
if (gamepad1.yWasPressed()
&& state == SpindexerTransferIntake.RapidMode.HOLD_BALLS) { && state == SpindexerTransferIntake.RapidMode.HOLD_BALLS) {
spindexerTransferIntake.setRapidMode( spindexerTransferIntake.setRapidMode(
@@ -99,7 +102,6 @@ public class TeleopV4 extends LinearOpMode {
); );
} }
TELE.update(); TELE.update();
} }

View File

@@ -130,7 +130,7 @@ public class Hardware_Tester extends LinearOpMode {
// TELE.addData("Beam Break 3?", robot.beam3.isPressed()); // TELE.addData("Beam Break 3?", robot.beam3.isPressed());
NormalizedRGBA revColor = robot.revSensor.getNormalizedColors(); NormalizedRGBA revColor = robot.revSensor.getNormalizedColors();
TELE.addData("REV Distance", robot.revSensor.getDistance(DistanceUnit.MM)); TELE.addData("REV Distance", robot.revSensor.getDistance(DistanceUnit.CM));
TELE.addData("REV Green", revColor.green / (revColor.red + revColor.blue + revColor.green)); TELE.addData("REV Green", revColor.green / (revColor.red + revColor.blue + revColor.green));
TELE.addData("Voltage Sensor", robot.voltage.getVoltage()); TELE.addData("Voltage Sensor", robot.voltage.getVoltage());

View File

@@ -86,8 +86,8 @@ public class Shooter {
break; break;
case TRACK_GOAL: case TRACK_GOAL:
turr.trackGoal( turr.trackGoal(
(follow.getPose().getX() - goalX), (goalX - follow.getPose().getX()),
(follow.getPose().getY() - goalY), (goalY - follow.getPose().getY()),
follow.getHeading(), follow.getHeading(),
follow.getAngularVelocity(), follow.getAngularVelocity(),
follow.getVelocity().getXComponent(), follow.getVelocity().getXComponent(),
@@ -97,8 +97,8 @@ public class Shooter {
); );
flywheelVelocity = commander.getVeloPredictive( flywheelVelocity = commander.getVeloPredictive(
(follow.getPose().getX() - goalX), (goalX - follow.getPose().getX()),
(follow.getPose().getY() - goalY), (goalY - follow.getPose().getY()),
follow.getVelocity().getXComponent(), follow.getVelocity().getXComponent(),
follow.getAcceleration().getXComponent(), follow.getAcceleration().getXComponent(),
follow.getVelocity().getYComponent(), follow.getVelocity().getYComponent(),
@@ -109,14 +109,14 @@ public class Shooter {
break; break;
case READ_OBELISK: case READ_OBELISK:
turr.trackObelisk( turr.trackObelisk(
(follow.getPose().getX() - goalX), (goalX - follow.getPose().getX()),
(follow.getPose().getY() - goalY), (goalY - follow.getPose().getY()),
follow.getHeading() follow.getHeading()
); );
flywheelVelocity = commander.getVeloPredictive( flywheelVelocity = commander.getVeloPredictive(
(follow.getPose().getX() - goalX), (goalX - follow.getPose().getX()),
(follow.getPose().getY() - goalY), (goalY - follow.getPose().getY()),
follow.getVelocity().getXComponent(), follow.getVelocity().getXComponent(),
follow.getAcceleration().getXComponent(), follow.getAcceleration().getXComponent(),
follow.getVelocity().getYComponent(), follow.getVelocity().getYComponent(),
@@ -129,8 +129,8 @@ public class Shooter {
case MANUAL_TURRET_TRACK_FLY: case MANUAL_TURRET_TRACK_FLY:
turr.manual(turretPosition); turr.manual(turretPosition);
flywheelVelocity = commander.getVeloPredictive( flywheelVelocity = commander.getVeloPredictive(
(follow.getPose().getX() - goalX), (goalX - follow.getPose().getX()),
(follow.getPose().getY() - goalY), (goalY - follow.getPose().getY()),
follow.getVelocity().getXComponent(), follow.getVelocity().getXComponent(),
follow.getAcceleration().getXComponent(), follow.getAcceleration().getXComponent(),
follow.getVelocity().getYComponent(), follow.getVelocity().getYComponent(),
@@ -142,8 +142,8 @@ public class Shooter {
case MANUAL_FLYWHEEL_TRACK_TURR: case MANUAL_FLYWHEEL_TRACK_TURR:
turr.trackGoal( turr.trackGoal(
(follow.getPose().getX() - goalX), (goalX - follow.getPose().getX()),
(follow.getPose().getY() - goalY), (goalY - follow.getPose().getY()),
follow.getHeading(), follow.getHeading(),
follow.getAngularVelocity(), follow.getAngularVelocity(),
follow.getVelocity().getXComponent(), follow.getVelocity().getXComponent(),

View File

@@ -13,8 +13,8 @@ public class SpindexerTransferIntake {
this.robot = rob; this.robot = rob;
} }
private final double sensorDistanceThreshold = 4.0; private final double sensorDistanceThreshold = 6.0;
private final long pulseTime = 50; // ms private final long pulseTime = 100; // ms
public enum SpindexerMode { public enum SpindexerMode {
RAPID, RAPID,
@@ -74,7 +74,7 @@ public class SpindexerTransferIntake {
case INTAKE: case INTAKE:
robot.setIntakePower(1); robot.setIntakePower(1);
robot.setTransferPower(1); robot.setTransferPower(-0.7);
robot.setRapidFireBlockerPos( robot.setRapidFireBlockerPos(
ServoPositions.rapidFireBlocker_Closed ServoPositions.rapidFireBlocker_Closed
); );
@@ -95,7 +95,7 @@ public class SpindexerTransferIntake {
case TRANSFER_OFF: case TRANSFER_OFF:
robot.setTransferPower(0.3); robot.setTransferPower(-0.7);
if (robot.insideBeam.isPressed() && robot.outsideBeam.isPressed()) { if (robot.insideBeam.isPressed() && robot.outsideBeam.isPressed()) {
setRapidMode(RapidMode.BEFORE_PULSE_OUT); setRapidMode(RapidMode.BEFORE_PULSE_OUT);
@@ -145,9 +145,6 @@ public class SpindexerTransferIntake {
robot.setIntakePower(1); robot.setIntakePower(1);
} }
break; break;
case OPEN_GATE: case OPEN_GATE:

View File

@@ -12,7 +12,7 @@ public class VelocityCommander {
} }
private double distToRPM (double dist){ private double distToRPM (double dist){
return Math.sqrt(dist*dist + goalH*goalH); return Math.sqrt(dist*dist + goalH*goalH) * 20;
//TODO: Add regression here using goalH //TODO: Add regression here using goalH
} }