diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index 13b0abe..692915c 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -11,8 +11,8 @@ public class Constants { //moteur - public static int GratteD = 7; - public static int GratteG = 8; + public static int GratteD = 8; + public static int GratteG = 7; // pneumatique diff --git a/src/main/java/frc/robot/commands/ActiverLimeLight.java b/src/main/java/frc/robot/commands/ActiverLimeLight.java index 79e7fe9..3458798 100644 --- a/src/main/java/frc/robot/commands/ActiverLimeLight.java +++ b/src/main/java/frc/robot/commands/ActiverLimeLight.java @@ -28,7 +28,9 @@ public class ActiverLimeLight extends CommandBase { // Called once the command ends or is interrupted. @Override - public void end(boolean interrupted) {} + public void end(boolean interrupted) { + limelight.joueurhumain1(); + } // Returns true when the command should end. @Override diff --git a/src/main/java/frc/robot/commands/Apriltag.java b/src/main/java/frc/robot/commands/Apriltag.java index 9ef54b3..3e83057 100644 --- a/src/main/java/frc/robot/commands/Apriltag.java +++ b/src/main/java/frc/robot/commands/Apriltag.java @@ -32,7 +32,7 @@ public class Apriltag extends CommandBase { // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - basePilotable.drive(doubleSupplier.getAsDouble(), limelight.getYaw()); + basePilotable.drive(doubleSupplier.getAsDouble(), limelight.getYaw(),false); } // Called once the command ends or is interrupted. diff --git a/src/main/java/frc/robot/commands/Avancer.java b/src/main/java/frc/robot/commands/Avancer.java index 0b94017..f7d37a1 100644 --- a/src/main/java/frc/robot/commands/Avancer.java +++ b/src/main/java/frc/robot/commands/Avancer.java @@ -7,9 +7,6 @@ package frc.robot.commands; import java.util.function.DoubleSupplier; -import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; -import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardLayout; -import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.CommandBase; import frc.robot.subsystems.BasePilotable; @@ -33,12 +30,14 @@ public class Avancer extends CommandBase { // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - basePilotable.drive(0.3,0); + basePilotable.drive(0.4,0); } // Called once the command ends or is interrupted. @Override - public void end(boolean interrupted) {} + public void end(boolean interrupted) { + basePilotable.drive(0,0); + } // Returns true when the command should end. @Override diff --git a/src/main/java/frc/robot/commands/GratteBaisser.java b/src/main/java/frc/robot/commands/GratteBaisser.java index 9d1292f..b1fc1cd 100644 --- a/src/main/java/frc/robot/commands/GratteBaisser.java +++ b/src/main/java/frc/robot/commands/GratteBaisser.java @@ -3,7 +3,7 @@ // the WPILib BSD license file in the root directory of this project. package frc.robot.commands; -import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; + import edu.wpi.first.wpilibj2.command.CommandBase; import frc.robot.subsystems.Gratte; @@ -20,23 +20,23 @@ public class GratteBaisser extends CommandBase { // Called when the command is initially scheduled. @Override public void initialize() { - gratte.setenHaut(false); + } // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { if(gratte.basd()){ - gratte.baiserd(0); + gratte.bougerd(0); } else{ - gratte.baiserd(0.5); + gratte.bougerd(0.3); } if(gratte.basg()){ - gratte.baiserg(0); + gratte.bougerg(0); } else{ - gratte.baiserg(0.5); + gratte.bougerg(0.3); } @@ -45,8 +45,8 @@ public class GratteBaisser extends CommandBase { // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { - gratte.baiserd(0); - gratte.baiserg(0); + gratte.bougerd(0); + gratte.bougerg(0); } // Returns true when the command should end. diff --git a/src/main/java/frc/robot/commands/GratteMonte.java b/src/main/java/frc/robot/commands/GratteMonte.java index 0fd83fa..5dce6f8 100644 --- a/src/main/java/frc/robot/commands/GratteMonte.java +++ b/src/main/java/frc/robot/commands/GratteMonte.java @@ -20,31 +20,30 @@ public class GratteMonte extends CommandBase { // Called when the command is initially scheduled. @Override public void initialize() { - gratte.setenHaut(true); } // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { if(gratte.hautd()){ - gratte.Leverd(0); + gratte.bougerd(0); } else{ - gratte.Leverd(0.5); + gratte.bougerd(-0.3); } if(gratte.hautg()) { - gratte.Leverg(0); + gratte.bougerg(0); } else{ - gratte.Leverg(0.5); + gratte.bougerg(-0.3); } } // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { - gratte.Leverd(0); - gratte.Leverg(0); + gratte.bougerd(0); + gratte.bougerg(0); } // Returns true when the command should end. diff --git a/src/main/java/frc/robot/commands/Gyro.java b/src/main/java/frc/robot/commands/Gyro.java index 0917326..5d6b948 100644 --- a/src/main/java/frc/robot/commands/Gyro.java +++ b/src/main/java/frc/robot/commands/Gyro.java @@ -4,8 +4,6 @@ package frc.robot.commands; -import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; -import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab; import edu.wpi.first.wpilibj2.command.CommandBase; import frc.robot.subsystems.BasePilotable; @@ -27,11 +25,11 @@ public class Gyro extends CommandBase { public void execute() { if(basePilotable.getpitch()>6) { - basePilotable.drive(0.3*basePilotable.getpitch()/12, 0); + basePilotable.drive(0.4*basePilotable.getpitch()/12, 0); } else if(basePilotable.getpitch()<-6) { - basePilotable.drive(0.3*basePilotable.getpitch()/12, 0); + basePilotable.drive(0.4*basePilotable.getpitch()/12, 0); } else { diff --git a/src/main/java/frc/robot/commands/Reculer.java b/src/main/java/frc/robot/commands/Reculer.java index ecc904f..903b216 100644 --- a/src/main/java/frc/robot/commands/Reculer.java +++ b/src/main/java/frc/robot/commands/Reculer.java @@ -35,7 +35,9 @@ public class Reculer extends CommandBase { // Called once the command ends or is interrupted. @Override - public void end(boolean interrupted) {} + public void end(boolean interrupted) { + basePilotable.drive(0,0); + } // Returns true when the command should end. @Override diff --git a/src/main/java/frc/robot/commands/Tape.java b/src/main/java/frc/robot/commands/Tape.java index e1346f0..02a9a81 100644 --- a/src/main/java/frc/robot/commands/Tape.java +++ b/src/main/java/frc/robot/commands/Tape.java @@ -32,7 +32,7 @@ public class Tape extends CommandBase { // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - basePilotable.drive(doubleSupplier.getAsDouble(), limelight.getYaw()); + basePilotable.drive(doubleSupplier.getAsDouble(), limelight.getYaw(),false); } // Called once the command ends or is interrupted. diff --git a/src/main/java/frc/robot/commands/bras/DescendrePivotBras.java b/src/main/java/frc/robot/commands/bras/DescendrePivotBras.java index 83cecb7..8b4a615 100644 --- a/src/main/java/frc/robot/commands/bras/DescendrePivotBras.java +++ b/src/main/java/frc/robot/commands/bras/DescendrePivotBras.java @@ -18,8 +18,10 @@ public class DescendrePivotBras extends SequentialCommandGroup { // Add your commands in the addCommands() call, e.g. // addCommands(new FooCommand(), new BarCommand()); addCommands( + new Bougerbras(brasTelescopique, distanceBras), new Bougerpivot(pivot, distancePivot) + ); } } diff --git a/src/main/java/frc/robot/commands/bras/MonterPivotBras.java b/src/main/java/frc/robot/commands/bras/MonterPivotBras.java index a7d8153..b0e6441 100644 --- a/src/main/java/frc/robot/commands/bras/MonterPivotBras.java +++ b/src/main/java/frc/robot/commands/bras/MonterPivotBras.java @@ -4,7 +4,7 @@ package frc.robot.commands.bras; -import edu.wpi.first.wpilibj2.command.Commands; + import edu.wpi.first.wpilibj2.command.ParallelCommandGroup; import edu.wpi.first.wpilibj2.command.SequentialCommandGroup; import frc.robot.subsystems.bras.BrasTelescopique; @@ -13,15 +13,17 @@ import frc.robot.subsystems.bras.Pivot; // NOTE: Consider using this command inline, rather than writing a subclass. For more // information, see: // https://docs.wpilib.org/en/stable/docs/software/commandbased/convenience-features.html -public class MonterPivotBras extends ParallelCommandGroup { +public class MonterPivotBras extends SequentialCommandGroup { /** Creates a new Sequancepivotbras. */ public MonterPivotBras(BrasTelescopique brasTelescopique, Pivot pivot, double distanceBras, double distancePivot) { // Add your commands in the addCommands() call, e.g. // addCommands(new FooCommand(), new BarCommand()); addCommands( - new SequentialCommandGroup(Commands.waitUntil(()->pivot.distance()>8),new Bougerbras(brasTelescopique, distanceBras)), - new Bougerpivot(pivot, distancePivot) + new Bougerpivot(pivot, 10).unless(()->pivot.distance()>10), + new ParallelCommandGroup(new Bougerpivot(pivot, distancePivot)), + new ParallelCommandGroup(new Bougerbras(brasTelescopique, distanceBras)) + ); } diff --git a/src/main/java/frc/robot/commands/bras/PivoteBrasMilieux.java b/src/main/java/frc/robot/commands/bras/PivoteBrasMilieux.java index 4494a33..8d10a66 100644 --- a/src/main/java/frc/robot/commands/bras/PivoteBrasMilieux.java +++ b/src/main/java/frc/robot/commands/bras/PivoteBrasMilieux.java @@ -29,11 +29,11 @@ public class PivoteBrasMilieux extends CommandBase { // Called every time the scheduler runs while the command is scheduled. @Override public void execute() { - if(brasTelescopique.distance()>-12.5){ + if(brasTelescopique.distance()>-11){ brasTelescopique.AvanceRecule(-0.15); brasTelescopique.fermer(); } - else if(brasTelescopique.distance()<-13.5) { + else if(brasTelescopique.distance()<-13) { brasTelescopique.AvanceRecule(0.15); } else { diff --git a/src/main/java/frc/robot/subsystems/BasePilotable.java b/src/main/java/frc/robot/subsystems/BasePilotable.java index 8d0a0f1..a1e4c68 100644 --- a/src/main/java/frc/robot/subsystems/BasePilotable.java +++ b/src/main/java/frc/robot/subsystems/BasePilotable.java @@ -17,6 +17,7 @@ import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard; import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab; import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc.robot.Constants; +import frc.robot.commands.bras.Bougerbras; public class BasePilotable extends SubsystemBase { final CANSparkMax avantdroit = new CANSparkMax(Constants.avantdroit, MotorType.kBrushless); @@ -42,6 +43,9 @@ public class BasePilotable extends SubsystemBase { public void drive(double xSpeed, double zRotation){ drive.arcadeDrive(xSpeed, zRotation); } + public void drive(double xSpeed, double zRotation, boolean square){ + drive.arcadeDrive(xSpeed, zRotation, square); + } public double distance(){ return (-avantdroit.getEncoder().getPosition() +avantgauche.getEncoder().getPosition() diff --git a/src/main/java/frc/robot/subsystems/Gratte.java b/src/main/java/frc/robot/subsystems/Gratte.java index d5920cf..b78edad 100644 --- a/src/main/java/frc/robot/subsystems/Gratte.java +++ b/src/main/java/frc/robot/subsystems/Gratte.java @@ -24,15 +24,6 @@ ShuffleboardLayout limitswitchgratte = Shuffleboard.getTab("teb") private DigitalInput limithg = new DigitalInput(Constants.limithg); private DigitalInput limitbd = new DigitalInput(Constants.limitbd); private DigitalInput limitbg = new DigitalInput(Constants.limitbg); - public boolean baiser; - boolean enHaut = true; - public void setenHaut(boolean enHaut){ - this.enHaut = enHaut; - } - public boolean getenHaut(){ - return enHaut; - - } public boolean hautd(){ return limithd.get(); @@ -55,17 +46,11 @@ ShuffleboardLayout limitswitchgratte = Shuffleboard.getTab("teb") limitswitchgratte.addBoolean ("limithd", this::hautd); limitswitchgratte.addBoolean ("limitbg", this::basg); } - public void Leverd(double vitesse){ - Gratted.set(-vitesse); + public void bougerd(double vitesse){ + Gratted.set(vitesse); } - public void Leverg(double vitesse){ - Gratteg.set(-vitesse); - } - public void baiserd(double vitesse){ - Gratted.set(vitesse); - } - public void baiserg(double vitesse){ + public void bougerg(double vitesse){ Gratteg.set(vitesse); } diff --git a/src/main/java/frc/robot/subsystems/Limelight.java b/src/main/java/frc/robot/subsystems/Limelight.java index 4663c1b..eae8e0f 100644 --- a/src/main/java/frc/robot/subsystems/Limelight.java +++ b/src/main/java/frc/robot/subsystems/Limelight.java @@ -4,7 +4,6 @@ package frc.robot.subsystems; -import edu.wpi.first.cameraserver.CameraServer; import org.photonvision.PhotonCamera; @@ -20,7 +19,7 @@ public class Limelight extends SubsystemBase { PhotonCamera limelight = new PhotonCamera("limelight"); /** Creates a new Limelight. */ public Limelight() { - CameraServer.startAutomaticCapture(); + PortForwarder.add(5800, "photonvision.local", 5800); } @@ -42,12 +41,13 @@ public class Limelight extends SubsystemBase { public void tape() { limelight.setLED(VisionLEDMode.kOn); limelight.setPipelineIndex(1); + } public double getYaw() { var result = limelight.getLatestResult(); if(result.hasTargets()){ - return -result.getBestTarget().getYaw()/60; + return -result.getBestTarget().getYaw()/45; } return 0; @@ -57,6 +57,9 @@ public class Limelight extends SubsystemBase { limelight.setDriverMode(true); } public void joueurhumain(){ + limelight.setLED(VisionLEDMode.kOn); + } + public void joueurhumain1(){ limelight.setLED(VisionLEDMode.kOff); } @Override