This commit is contained in:
Antoine PerreaultE 2025-03-01 13:53:13 -05:00
parent 30b0ad39f0
commit d1f9d55c3a
19 changed files with 95 additions and 94 deletions

View File

@ -41,9 +41,17 @@ import frc.robot.commands.Pince.CorailAspir;
import frc.robot.commands.Pince.CoralAlgueInspire; import frc.robot.commands.Pince.CoralAlgueInspire;
import frc.robot.commands.Pince.CoralExpire; import frc.robot.commands.Pince.CoralExpire;
import frc.robot.commands.Pince.PinceManuel; import frc.robot.commands.Pince.PinceManuel;
import frc.robot.commands.grimpeur.GrimperHaut;
import frc.robot.commands.grimpeur.GrimpeurBas;
import frc.robot.commands.grimpeur.GrimpeurManuelhaut; import frc.robot.commands.grimpeur.GrimpeurManuelhaut;
import frc.robot.commands.grimpeur.ResetGrimpeur;
import frc.robot.commands.requin.BalayeuseAlgue;
import frc.robot.commands.requin.BalayeuseBas; import frc.robot.commands.requin.BalayeuseBas;
import frc.robot.commands.requin.BalayeuseCoral;
import frc.robot.commands.requin.BalayeuseHaut; import frc.robot.commands.requin.BalayeuseHaut;
import frc.robot.commands.requin.ExpireAlgue;
import frc.robot.commands.requin.L1Requin;
import frc.robot.commands.requin.aspire;
import frc.robot.commands.requin.exspire; import frc.robot.commands.requin.exspire;
import frc.robot.subsystems.Bougie; import frc.robot.subsystems.Bougie;
import frc.robot.subsystems.CommandSwerveDrivetrain; import frc.robot.subsystems.CommandSwerveDrivetrain;
@ -84,7 +92,7 @@ public class RobotContainer {
Pose2d pose = new Pose2d(); Pose2d pose = new Pose2d();
Grimpeur Grimpeur = new Grimpeur(); Grimpeur Grimpeur = new Grimpeur();
Requin requin = new Requin(); Requin requin = new Requin();
CorailAspir corailAspir = new CorailAspir(pince, bougie);
public RobotContainer() { public RobotContainer() {
autoChooser = AutoBuilder.buildAutoChooser("New Auto"); autoChooser = AutoBuilder.buildAutoChooser("New Auto");
SmartDashboard.putData("Auto Mode", autoChooser); SmartDashboard.putData("Auto Mode", autoChooser);
@ -117,7 +125,7 @@ public class RobotContainer {
manette1.rightBumper().whileTrue(new StationPince(pince, elevateur)); manette1.rightBumper().whileTrue(new StationPince(pince, elevateur));
manette1.leftTrigger().whileTrue(new CoralExpire(pince, bougie)); manette1.leftTrigger().whileTrue(new CoralExpire(pince, bougie));
manette1.leftBumper().whileTrue(new AprilTag3G(limelight3g,drivetrain,manette1::getLeftX,manette1::getLeftY)); manette1.leftBumper().whileTrue(new AprilTag3G(limelight3g,drivetrain,manette1::getLeftX,manette1::getLeftY));
manette1.povRight().whileTrue(new AlgueExpire(pince, bougie));
//elevateur //elevateur
manette1.a().whileTrue(new Depart(elevateur, pince)); manette1.a().whileTrue(new Depart(elevateur, pince));
manette1.b().whileTrue(new L2(elevateur,pince)); manette1.b().whileTrue(new L2(elevateur,pince));
@ -128,11 +136,12 @@ public class RobotContainer {
//requin //requin
manette2.a().whileTrue(new CorailAspir(pince,bougie)); manette2.a().whileTrue(new CorailAspir(pince,bougie));
manette2.b().whileTrue(new Algue_inspire(pince,bougie)); manette2.b().whileTrue(new Algue_inspire(pince,bougie));
manette2.y().whileTrue(new BalayeuseHaut(requin)); manette2.y().whileTrue(new BalayeuseAlgue(requin,bougie));
manette2.x().whileTrue(new BalayeuseBas(requin)); manette2.x().whileTrue(new BalayeuseHaut(requin));
manette2.rightTrigger().whileTrue(new exspire(requin,bougie)); manette2.rightTrigger().whileTrue(new ExpireAlgue(requin, bougie));
manette2.leftTrigger().whileTrue(new AlgueExpire(pince, bougie)); manette2.leftTrigger().whileTrue(new BalayeuseCoral(requin, bougie));
manette1.povUp().whileTrue(new L1Requin(requin, bougie));
manette2.povUp().whileTrue(new aspire(requin, bougie));
//Pince manuel //Pince manuel
pince.setDefaultCommand(new RunCommand(()->{ pince.setDefaultCommand(new RunCommand(()->{
pince.pivote(MathUtil.applyDeadband(manette2.getRightY()*manette2.getRightY()*manette2.getRightY(), 0.05)); pince.pivote(MathUtil.applyDeadband(manette2.getRightY()*manette2.getRightY()*manette2.getRightY(), 0.05));
@ -149,8 +158,10 @@ public class RobotContainer {
//Reset encodeur //Reset encodeur
manette2.start().whileTrue(new reset(elevateur, pince)); manette2.start().whileTrue(new reset(elevateur, pince));
//grimpeur manuel //grimpeur
manette2.povDown().whileTrue(new GrimpeurManuelhaut(Grimpeur, bougie)); manette2.povDown().whileTrue(new GrimpeurManuelhaut(Grimpeur, bougie));
manette2.povLeft().whileTrue(new GrimperHaut(Grimpeur, bougie));
manette2.povRight().whileTrue(new GrimpeurBas(Grimpeur));
} }
public Command getAutonomousCommand() { public Command getAutonomousCommand() {

View File

@ -30,7 +30,7 @@ public class Depart extends Command {
elevateur.reset(); elevateur.reset();
} }
else{ else{
elevateur.vitesse(.5); elevateur.vitesse(.3);
} }
} }

View File

@ -26,24 +26,15 @@ public class L2 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() {
if(elevateur.position()<=elevateur.encodeurelevateurL2bas() && elevateur.position()>=elevateur.encodeurelevateurL2haut()){ if(pince.encodeurpivot()>=15.6 && pince.encodeurpivot()<=16){
elevateur.vitesse(0); pince.pivote(0);
}
else if(elevateur.position()>=elevateur.encodeurelevateurL2bas()){
elevateur.vitesse(-0.2);
}
else{
elevateur.vitesse(.2);
// }
// if(pince.encodeurpivot()>=500 && pince.encodeurpivot()<=510){
// pince.pivote(0);
// } }
// else if(pince.encodeurpivot()>=510){ else if(pince.encodeurpivot()>=16){
// pince.pivote(0.2); pince.pivote(-0.1);
// } }
// else{ else{
// pince.pivote(-0.2); pince.pivote(0.1);
} }
} }

View File

@ -32,20 +32,20 @@ public class L3 extends Command {
elevateur.vitesse(0); elevateur.vitesse(0);
} }
else if(elevateur.position()>=elevateur.encodeurelevateurL3bas()){ else if(elevateur.position()>=elevateur.encodeurelevateurL3bas()){
elevateur.vitesse(-0.2); elevateur.vitesse(-0.5);
} }
else{ else{
elevateur.vitesse(.2); elevateur.vitesse(0.5);
} }
// if(pince.encodeurpivot()>=700 && pince.encodeurpivot()<=710){ if(pince.encodeurpivot()>=15.6 && pince.encodeurpivot()<=16){
// pince.pivote(0); pince.pivote(0);
// } }
// else if(pince.encodeurpivot()>=710){ else if(pince.encodeurpivot()>=16){
// pince.pivote(0.2); pince.pivote(-0.1);
// } }
// else{ else{
// pince.pivote(-0.2); pince.pivote(0.1);
// } }
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.

View File

@ -29,22 +29,23 @@ public class L4 extends Command {
public void execute() { public void execute() {
if(elevateur.position()<=elevateur.encodeurelevateurL4bas() && elevateur.position()>=elevateur.encodeurelevateurL4haut()){ if(elevateur.position()<=elevateur.encodeurelevateurL4bas() && elevateur.position()>=elevateur.encodeurelevateurL4haut()){
elevateur.vitesse(0); elevateur.vitesse(0);
} }
else if(elevateur.position()>=elevateur.encodeurelevateurL4bas()){ else if(elevateur.position()>=elevateur.encodeurelevateurL4bas()){
elevateur.vitesse(-0.2); elevateur.vitesse(-0.5);
} }
else{ else{
elevateur.vitesse(.2); elevateur.vitesse(.5);
} }
// if(pince.encodeurpivot()>=800 && pince.encodeurpivot()<=809){ if(pince.encodeurpivot()>=21.76 && pince.encodeurpivot()<=22.3){
// pince.pivote(0); pince.pivote(0);
// } }
// else if(pince.encodeurpivot()>=810){ else if(pince.encodeurpivot()>=22.3){
// pince.pivote(0.2); pince.pivote(-0.1);
// } }
// else{ else{
// pince.pivote(-0.2); pince.pivote(0.1);
// } }
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.

View File

@ -31,23 +31,14 @@ public class StationPince extends Command {
@Override @Override
public void execute() { public void execute() {
pince.aspirecoral(0.5); pince.aspirecoral(0.5);
if(pince.encodeurpivot()<=elevateur.encodeurelevateurstationbas() && pince.encodeurpivot()>=elevateur.encodeurelevateurstationhaut()){ if(pince.encodeurpivot()<=9.8 && pince.encodeurpivot()>=12){
pince.pivote(0); pince.pivote(0);
} }
else if(pince.encodeurpivot()>=elevateur.encodeurelevateurstationbas()){ else if(pince.encodeurpivot()>=9.8){
pince.pivote(0.2); pince.pivote(-0.1);
} }
else{ else{
pince.pivote(-0.2); pince.pivote(0.1);
}
if(elevateur.position()>=400 && elevateur.position()<=410){
elevateur.vitesse(0);
}
else if(elevateur.position()>=410){
elevateur.vitesse(0.3);
}
else{
elevateur.vitesse(-.3);
} }
} }

View File

@ -48,10 +48,10 @@ public class AprilTag3G extends Command {
double a = limelight3g.getX(); double a = limelight3g.getX();
if(limelight3g.getV() == true){ if(limelight3g.getV() == true){
drivetrain.setControl(drive. drivetrain.setControl(drive.
withRotationalRate(-a/5). withRotationalRate(-a/7).
withVelocityX(x.getAsDouble()). withVelocityX(x.getAsDouble()).
withVelocityY(y.getAsDouble())); withVelocityY(y.getAsDouble()));
System.out.println(a/5); System.out.println(a/7);
} }
else{ else{
drivetrain.setControl(drive. drivetrain.setControl(drive.

View File

@ -27,11 +27,14 @@ public class CorailAspir 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() {
if(pince.emperagecoral() > 60){ if(pince.emperagecoral() > 15){
pince.aspirecoral(0); pince.aspirecoral(0);
bougie.Bleu(); bougie.Bleu();
} }
pince.aspirecoral(0.5); else{
pince.aspirecoral(0.5);
}
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.
@ -43,6 +46,6 @@ public class CorailAspir extends Command {
// Returns true when the command should end. // Returns true when the command should end.
@Override @Override
public boolean isFinished() { public boolean isFinished() {
return false; return pince.emperagecoral()>13;
} }
} }

View File

@ -23,10 +23,10 @@ public class GrimpeurBas 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() {
if(grimpeur.encodeur()>=-38.5 && grimpeur.encodeur()<=-39.19){ if(grimpeur.encodeur()>=-43.3 && grimpeur.encodeur()<=-42.5){
grimpeur.grimpe(0); grimpeur.grimpe(0);
} }
else if(grimpeur.encodeur()>=-38.5){ else if(grimpeur.encodeur()>=-43.3){
grimpeur.grimpe(-0.5); grimpeur.grimpe(-0.5);
} }
else{grimpeur.grimpe(0.5); else{grimpeur.grimpe(0.5);

View File

@ -27,7 +27,7 @@ public class BalayeuseAlgue 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() {
if(requin.encodeur()>=500 && requin.encodeur()<=510) if(requin.encodeur()<=715 && requin.encodeur()>=700)
{ {
requin.rotationer(0); requin.rotationer(0);
if(requin.amp()> 60){ if(requin.amp()> 60){
@ -36,10 +36,10 @@ public class BalayeuseAlgue extends Command {
} }
else else
{ {
requin.balaye(0.5); requin.balaye(-0.5);
} }
} }
else if(requin.encodeur()>=510){ else if(requin.encodeur()>=700){
requin.rotationer(0.5); requin.rotationer(0.5);
} }
else{ else{

View File

@ -24,7 +24,7 @@ public class BalayeuseBas 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() {
requin.rotationer(-0.5); requin.rotationer(0.5);
} }
// Called once the command ends or is interrupted. // Called once the command ends or is interrupted.
@Override @Override

View File

@ -27,7 +27,7 @@ public class BalayeuseCoral 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() {
if(requin.encodeur()>=100 && requin.encodeur()<=110){ if(requin.encodeur()<=1200 && requin.encodeur()>=1050){
requin.rotationer(0); requin.rotationer(0);
if(requin.amp()>60){ if(requin.amp()>60){
requin.balaye(0); requin.balaye(0);
@ -36,18 +36,18 @@ public class BalayeuseCoral extends Command {
requin.rotationer(0); requin.rotationer(0);
} }
else{ else{
requin.rotationer(0.5); requin.rotationer(-0.5);
} }
} }
else{ else{
requin.balaye(0.5); requin.balaye(0.5);
} }
} }
else if(requin.encodeur()>=110){ else if(requin.encodeur()>=1200){
requin.rotationer(0.5); requin.rotationer(-0.5);
} }
else{ else{
requin.rotationer(-0.5); requin.rotationer(0.5);
} }
} }

View File

@ -28,7 +28,7 @@ public class L1Requin extends Command {
@Override @Override
public void execute() { public void execute() {
if(requin.encodeur()>=800 && requin.encodeur()<=810){ if(requin.encodeur()<=645 && requin.encodeur()>=600){
requin.rotationer(0); requin.rotationer(0);
if(requin.amp()>60){ if(requin.amp()>60){
requin.balaye(-0.5); requin.balaye(-0.5);
@ -38,11 +38,11 @@ public class L1Requin extends Command {
bougie.Rouge(); bougie.Rouge();
} }
} }
else if(requin.encodeur()>=810){ else if(requin.encodeur()>=645){
requin.rotationer(0.5); requin.rotationer(-0.5);
} }
else{ else{
requin.rotationer(-0.5); requin.rotationer(0.5);
} }

View File

@ -33,7 +33,7 @@ public class aspire extends Command {
} }
else else
{ {
requin.balaye(0.5); requin.balaye(-0.5);
} }
} }

View File

@ -30,12 +30,12 @@ public class exspire extends Command {
@Override @Override
public void execute() { public void execute() {
if(requin.amp()> 60){ if(requin.amp()> 60){
requin.balaye(-0.5); requin.balaye(0.5);
} }
else else
{ {
bougie.Rouge(); bougie.Rouge();
requin.balaye(-0.5); requin.balaye(0.5);
} }
} }

View File

@ -18,13 +18,13 @@ public class Elevateur extends SubsystemBase {
private GenericEntry encodeurelevateurL2haut = private GenericEntry encodeurelevateurL2haut =
teb.add("encodeurelevateurL2haut", -0.9).getEntry(); teb.add("encodeurelevateurL2haut", -0.9).getEntry();
private GenericEntry encodeurelevateurL3bas = private GenericEntry encodeurelevateurL3bas =
teb.add("encodeurelevateurL3bas", -2.9).getEntry(); teb.add("encodeurelevateurL3bas", -1.9).getEntry();
private GenericEntry encodeurelevateurL3haut = private GenericEntry encodeurelevateurL3haut =
teb.add("encodeurelevateurL3haut", -3).getEntry(); teb.add("encodeurelevateurL3haut", -2.11).getEntry();
private GenericEntry encodeurelevateurL4bas = private GenericEntry encodeurelevateurL4bas =
teb.add("encodeurelevateurL4bas", -6.4).getEntry(); teb.add("encodeurelevateurL4bas", -6.6).getEntry();
private GenericEntry encodeurelevateurL4haut = private GenericEntry encodeurelevateurL4haut =
teb.add("encodeurelevateurL4haut", -6.5).getEntry(); teb.add("encodeurelevateurL4haut", -6.3).getEntry();
private GenericEntry encodeurelevateurstationbas = private GenericEntry encodeurelevateurstationbas =
teb.add("encodeurelevateursationbas", -0.5).getEntry(); teb.add("encodeurelevateursationbas", -0.5).getEntry();
private GenericEntry encodeurelevateurstationhaut = private GenericEntry encodeurelevateurstationhaut =
@ -67,16 +67,16 @@ public class Elevateur extends SubsystemBase {
return encodeurelevateurL2haut.getDouble(-0.9); return encodeurelevateurL2haut.getDouble(-0.9);
} }
public double encodeurelevateurL3bas(){ public double encodeurelevateurL3bas(){
return encodeurelevateurL3bas.getDouble(-2.9); return encodeurelevateurL3bas.getDouble(-1.9);
} }
public double encodeurelevateurL3haut(){ public double encodeurelevateurL3haut(){
return encodeurelevateurL3haut.getDouble(-3); return encodeurelevateurL3haut.getDouble(-2.11);
} }
public double encodeurelevateurL4bas(){ public double encodeurelevateurL4bas(){
return encodeurelevateurL4bas.getDouble(-6.4); return encodeurelevateurL4bas.getDouble(-6.6);
} }
public double encodeurelevateurL4haut(){ public double encodeurelevateurL4haut(){
return encodeurelevateurL4haut.getDouble(-6.5); return encodeurelevateurL4haut.getDouble(-6.3);
} }
public double encodeurelevateurstationbas(){ public double encodeurelevateurstationbas(){
return encodeurelevateurstationbas.getDouble(-0.5); return encodeurelevateurstationbas.getDouble(-0.5);

View File

@ -31,7 +31,7 @@ public class Grimpeur extends SubsystemBase {
return grimpeur.getEncoder().getPosition(); return grimpeur.getEncoder().getPosition();
} }
public void reset(){ public void reset(){
grimpeur.getEncoder().setPosition(0); grimpeur.getEncoder().setPosition(135.11);
} }
@Override @Override
public void periodic() { public void periodic() {

View File

@ -17,6 +17,8 @@ public class Pince extends SubsystemBase {
public Pince() { public Pince() {
teb.addBoolean("limit pince",this::position); teb.addBoolean("limit pince",this::position);
teb.addDouble("encodeur pince", this::encodeurpivot); teb.addDouble("encodeur pince", this::encodeurpivot);
teb.addDouble("amperage corail", this::emperagecoral);
teb.addDouble("amperage algue", this::emperagealgue);
} }
final SparkMax coral = new SparkMax(20, MotorType.kBrushless); final SparkMax coral = new SparkMax(20, MotorType.kBrushless);
final SparkMax pivoti = new SparkMax(14, MotorType.kBrushless); final SparkMax pivoti = new SparkMax(14, MotorType.kBrushless);
@ -30,7 +32,7 @@ public void aspirecoral(double vitesse){
} }
public void pivote(double vitesse){ public void pivote(double vitesse){
if (position()) { if (position()) {
if (vitesse > 0) { if (vitesse < 0) {
pivoti.set(0); pivoti.set(0);
} }
else{ else{

View File

@ -17,6 +17,8 @@ public class Requin extends SubsystemBase {
ShuffleboardTab teb = Shuffleboard.getTab("teb"); ShuffleboardTab teb = Shuffleboard.getTab("teb");
public Requin() { public Requin() {
teb.addBoolean("limit requin", this::enHaut); teb.addBoolean("limit requin", this::enHaut);
teb.addDouble("amparge requin", this::amp);
teb.addDouble("encodeur requin", this::encodeur);
} }
final SparkFlex balaye = new SparkFlex(15, MotorType.kBrushless); final SparkFlex balaye = new SparkFlex(15, MotorType.kBrushless);