mode auto

This commit is contained in:
Antoine PerreaultE 2025-03-04 11:41:46 -05:00
parent 9ce0d79903
commit 8852d0a1b6
2 changed files with 12 additions and 3 deletions

View File

@ -180,7 +180,10 @@ public class RobotContainer {
public Command getAutonomousCommand() { public Command getAutonomousCommand() {
return new SequentialCommandGroup( return new SequentialCommandGroup(
new AvancerAuto(drive).withTimeout(2), drivetrain.applyRequest(()->
drive.withVelocityX(0.5*MaxSpeed)
.withVelocityY(0)
.withRotationalRate(0)).withTimeout(2),
new L1Requin(requin, bougie).withTimeout(2), new L1Requin(requin, bougie).withTimeout(2),
new ExpireCorail(requin, bougie).withTimeout(2), new ExpireCorail(requin, bougie).withTimeout(2),
new RainBow(bougie)); new RainBow(bougie));

View File

@ -11,16 +11,18 @@ import com.ctre.phoenix6.swerve.SwerveRequest;
import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Command;
import frc.robot.TunerConstants.TunerConstants; import frc.robot.TunerConstants.TunerConstants;
import frc.robot.subsystems.CommandSwerveDrivetrain;
/* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */ /* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */
public class AvancerAuto extends Command { public class AvancerAuto extends Command {
private CommandSwerveDrivetrain commandSwerveDrivetrain = TunerConstants.createDrivetrain();
private double MaxSpeed = TunerConstants.kSpeedAt12Volts.in(MetersPerSecond); // kSpeedAt12Volts desired top speed private double MaxSpeed = TunerConstants.kSpeedAt12Volts.in(MetersPerSecond); // kSpeedAt12Volts desired top speed
private double MaxAngularRate = RotationsPerSecond.of(0.75).in(RadiansPerSecond); // 3/4 of private double MaxAngularRate = RotationsPerSecond.of(0.75).in(RadiansPerSecond); // 3/4 of
private final SwerveRequest.RobotCentric drive = new SwerveRequest.RobotCentric() private final SwerveRequest.RobotCentric drive = new SwerveRequest.RobotCentric()
.withDeadband(MaxSpeed * 0.1).withRotationalDeadband(MaxAngularRate * 0.1) .withDeadband(MaxSpeed * 0.1).withRotationalDeadband(MaxAngularRate * 0.1)
.withDriveRequestType(DriveRequestType.OpenLoopVoltage); .withDriveRequestType(DriveRequestType.OpenLoopVoltage);
/** Creates a new AvancerAuto. */ /** Creates a new AvancerAuto. */
public AvancerAuto(SwerveRequest.RobotCentric drive) { public AvancerAuto(SwerveRequest.RobotCentric drive, CommandSwerveDrivetrain commandSwerveDrivetrain) {
// Use addRequirements() here to declare subsystem dependencies. // Use addRequirements() here to declare subsystem dependencies.
} }
@ -31,7 +33,11 @@ public class AvancerAuto extends Command {
// Called every time the scheduler runs while the command is scheduled. // Called every time the scheduler runs while the command is scheduled.
@Override @Override
public void execute() { public void execute() {
drive.withVelocityY(0.2*MaxSpeed); commandSwerveDrivetrain.applyRequest(()->
drive.withVelocityY(0.5*MaxSpeed)
.withVelocityX(0)
.withRotationalRate(0));
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.