Skip to content

Commit 2f7bf28

Browse files
ShmayaRNummun14
andcommitted
12 coral auto :)
Co-Authored-By: Nummun14 <142012009+Nummun14@users.noreply.github.com>
1 parent e4ca745 commit 2f7bf28

File tree

5 files changed

+19
-11
lines changed

5 files changed

+19
-11
lines changed

src/main/java/frc/trigon/robot/commands/commandclasses/IntakeAssistCommand.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class IntakeAssistCommand extends ParallelCommandGroup {
2828
new ProfiledPIDController(0.5, 0, 0, new TrapezoidProfile.Constraints(2.8, 5)) :
2929
new ProfiledPIDController(0.3, 0, 0.03, new TrapezoidProfile.Constraints(2.65, 5.5)),
3030
THETA_PID_CONTROLLER = RobotHardwareStats.isSimulation() ?
31-
new ProfiledPIDController(0.2, 0, 0, new TrapezoidProfile.Constraints(2.8, 5)) :
31+
new ProfiledPIDController(0.4, 0, 0, new TrapezoidProfile.Constraints(2.8, 5)) :
3232
new ProfiledPIDController(2.4, 0, 0, new TrapezoidProfile.Constraints(2.65, 5.5));
3333
private Translation2d distanceFromTrackedGamePiece;
3434

@@ -104,7 +104,15 @@ private static Translation2d calculateTranslationPower(AssistMode assistMode, Tr
104104
private static double calculateThetaPower(AssistMode assistMode, Translation2d distanceFromTrackedGamePiece, double intakeAssistScalar) {
105105
if (distanceFromTrackedGamePiece == null || !assistMode.shouldAssistTheta)
106106
return 0;
107-
return calculateThetaAssistPower(assistMode, distanceFromTrackedGamePiece.getAngle().plus(Rotation2d.k180deg), intakeAssistScalar);
107+
Rotation2d distanceAngle = distanceFromTrackedGamePiece.getAngle().plus(Rotation2d.k180deg).unaryMinus();
108+
Rotation2d robotAngle = RobotContainer.ROBOT_POSE_ESTIMATOR.getEstimatedRobotPose().getRotation();
109+
Rotation2d diff = robotAngle.minus(distanceAngle);
110+
Logger.recordOutput("IntakeAssist/difference", diff);
111+
Logger.recordOutput("IntakeAssist/robotAngle", robotAngle);
112+
Logger.recordOutput("IntakeAssist/distanceAngle", distanceAngle);
113+
var pow = calculateThetaAssistPower(assistMode, distanceAngle, intakeAssistScalar);
114+
Logger.recordOutput("IntakeAssist/pow", pow);
115+
return pow;
108116
}
109117

110118
private static Translation2d calculateAlternateAssistTranslationPower(Translation2d joystickValue, double xPIDOutput, double yPIDOutput) {
@@ -155,7 +163,7 @@ private static double calculateNormalAssistPower(double pidOutput, double joysti
155163
private static void resetPIDControllers(Translation2d distanceFromTrackedGamePiece) {
156164
X_PID_CONTROLLER.reset(distanceFromTrackedGamePiece.getX(), RobotContainer.SWERVE.getSelfRelativeVelocity().vxMetersPerSecond);
157165
Y_PID_CONTROLLER.reset(distanceFromTrackedGamePiece.getY(), RobotContainer.SWERVE.getSelfRelativeVelocity().vyMetersPerSecond);
158-
THETA_PID_CONTROLLER.reset(distanceFromTrackedGamePiece.getAngle().getRadians(), RobotContainer.SWERVE.getSelfRelativeVelocity().omegaRadiansPerSecond);
166+
THETA_PID_CONTROLLER.reset(distanceFromTrackedGamePiece.getAngle().plus(Rotation2d.k180deg).unaryMinus().getRadians(), RobotContainer.SWERVE.getSelfRelativeVelocity().omegaRadiansPerSecond);
159167
}
160168

161169
/**

src/main/java/frc/trigon/robot/commands/commandfactories/AlgaeManipulationCommands.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ public static Command getFloorAlgaeCollectionCommand() {
6363
public static Command getReefAlgaeCollectionCommand() {
6464
return new SequentialCommandGroup(
6565
GeneralCommands.getResetFlipArmOverrideCommand(),
66-
new InstantCommand(() -> IS_HOLDING_ALGAE = true),
6766
CoralCollectionCommands.getUnloadCoralCommand().onlyIf(RobotContainer.END_EFFECTOR::hasGamePiece),
67+
new InstantCommand(() -> IS_HOLDING_ALGAE = true),
6868
getInitiateReefAlgaeCollectionCommand().until(RobotContainer.END_EFFECTOR::hasGamePiece),
6969
GeneralCommands.getResetFlipArmOverrideCommand(),
7070
getScoreAlgaeCommand().alongWith(getAlgaeCollectionConfirmationCommand())
@@ -86,7 +86,7 @@ private static Command getAlignToReefCommand() {
8686
() -> calculateClosestAlgaeCollectionPose().getRotation()
8787
)
8888
).raceWith(
89-
new WaitUntilCommand(RobotContainer.END_EFFECTOR::hasGamePiece),
89+
new WaitUntilCommand(() -> RobotContainer.END_EFFECTOR.hasGamePiece() && IS_HOLDING_ALGAE),
9090
new WaitUntilCommand(OperatorConstants.STOP_REEF_ALGAE_ALIGN_TRIGGER)
9191
).onlyIf(() -> CoralPlacingCommands.SHOULD_SCORE_AUTONOMOUSLY).asProxy();
9292
}

src/main/java/frc/trigon/robot/commands/commandfactories/CoralCollectionCommands.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import edu.wpi.first.wpilibj2.command.ParallelCommandGroup;
66
import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
77
import frc.trigon.robot.RobotContainer;
8+
import frc.trigon.robot.commands.commandclasses.IntakeAssistCommand;
89
import frc.trigon.robot.constants.OperatorConstants;
910
import frc.trigon.robot.subsystems.armelevator.ArmElevatorCommands;
1011
import frc.trigon.robot.subsystems.armelevator.ArmElevatorConstants;
@@ -26,8 +27,7 @@ public static Command getCoralCollectionCommand() {
2627
getLoadCoralCommand().schedule();
2728
}
2829
)
29-
);
30-
// new IntakeAssistCommand(OperatorConstants.DEFAULT_INTAKE_ASSIST_MODE)
30+
).alongWith(new IntakeAssistCommand(OperatorConstants.DEFAULT_INTAKE_ASSIST_MODE));
3131
}
3232

3333
public static Command getLoadCoralCommand() {
@@ -40,8 +40,8 @@ public static Command getLoadCoralCommand() {
4040
public static Command getUnloadCoralCommand() {
4141
return new ParallelCommandGroup(
4242
ArmElevatorCommands.getSetTargetStateCommand(ArmElevatorConstants.ArmElevatorState.UNLOAD_CORAL),
43-
EndEffectorCommands.getSetTargetStateCommand(EndEffectorConstants.EndEffectorState.UNLOAD_CORAL)
44-
).until(() -> !RobotContainer.END_EFFECTOR.hasGamePiece() && RobotContainer.INTAKE.hasCoral());
43+
GeneralCommands.runWhen(EndEffectorCommands.getSetTargetStateCommand(EndEffectorConstants.EndEffectorState.UNLOAD_CORAL), () -> RobotContainer.ARM_ELEVATOR.atState(ArmElevatorConstants.ArmElevatorState.UNLOAD_CORAL))
44+
).until(() -> !RobotContainer.END_EFFECTOR.hasGamePiece());
4545
}
4646

4747
static Command getIntakeSequenceCommand() {

src/main/java/frc/trigon/robot/constants/OperatorConstants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public class OperatorConstants {
3636
ROTATION_STICK_SPEED_DIVIDER = 1;
3737

3838
public static final double INTAKE_ASSIST_SCALAR = 1;
39-
public static final IntakeAssistCommand.AssistMode DEFAULT_INTAKE_ASSIST_MODE = IntakeAssistCommand.AssistMode.ALTERNATE_ASSIST;
39+
public static final IntakeAssistCommand.AssistMode DEFAULT_INTAKE_ASSIST_MODE = IntakeAssistCommand.AssistMode.FULL_ASSIST;
4040

4141
public static final Trigger
4242
RESET_HEADING_TRIGGER = DRIVER_CONTROLLER.povUp(),

src/main/java/frc/trigon/robot/subsystems/armelevator/ArmElevatorConstants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ public enum ArmElevatorState {
336336
REST_WITH_ALGAE(Rotation2d.fromDegrees(90), 0.603, null, false, 0.7),
337337
REST_FOR_CLIMB(Rotation2d.fromDegrees(180), 0.603, null, false, 0.7),
338338
LOAD_CORAL(Rotation2d.fromDegrees(0), 0.5519, REST, true, 0.7),
339-
UNLOAD_CORAL(Rotation2d.fromDegrees(0), 0.5519, null, false, 0.7),
339+
UNLOAD_CORAL(Rotation2d.fromDegrees(0), 0.603, null, false, 0.7),
340340
EJECT(Rotation2d.fromDegrees(60), 0.603, null, false, 0.7),
341341
SCORE_L1(Rotation2d.fromDegrees(70), 0.4, null, false, 1),
342342
SCORE_L2(Rotation2d.fromDegrees(90), 0.3, PREPARE_SCORE_L2, false, 1),

0 commit comments

Comments
 (0)