Merge branch 'main' of https://git.demerso.net/PLS5618/Reefscape-2025
This commit is contained in:
@@ -54,49 +54,51 @@ public class AprilTag3 extends Command {
|
||||
public void execute() {
|
||||
double[] BotPose = new double[6];
|
||||
Optional<DriverStation.Alliance> alliance = DriverStation.getAlliance();
|
||||
double y2 = 4;
|
||||
double x2 = 0;
|
||||
double angle = drivetrain.getPigeon2().getYaw().getValueAsDouble();
|
||||
if(angle >180){
|
||||
angle =- angle * 2;
|
||||
}
|
||||
if(alliance.get() == DriverStation.Alliance.Red){
|
||||
BotPose = limelight3.getBotPoseRed();
|
||||
x2 =11.9;
|
||||
}
|
||||
else{
|
||||
BotPose = limelight3.getBotPoseBlue();
|
||||
x2 = 4.1;
|
||||
}
|
||||
double botx = BotPose[0];
|
||||
System.out.println(botx);
|
||||
double boty = BotPose[1];
|
||||
double tx = limelight3.getTx();
|
||||
double tagId = limelight3.getTId();
|
||||
drivetrain.setControl(drive.
|
||||
withRotationalRate(tx/20).
|
||||
withVelocityX((botx-5.81)*2).
|
||||
withVelocityY((boty-4)*4));
|
||||
// if(limelight3.getV() == true){
|
||||
// if(tagId ==10){
|
||||
// drivetrain.setControl(drive.
|
||||
// withRotationalRate(tx/20).
|
||||
// withVelocityX((botx-5.81)*2).
|
||||
// withVelocityY((boty-4)*4));
|
||||
// }
|
||||
// else if(tagId ==7){
|
||||
// drivetrain.setControl(drive.
|
||||
// withRotationalRate(tx/20).
|
||||
// withVelocityX(2-botx).
|
||||
// withVelocityY(2-boty));
|
||||
if(limelight3.getV() == true){
|
||||
drivetrain.setControl(drive.
|
||||
withRotationalRate(limelight3.Calcule(botx,x2,boty,y2,angle)).
|
||||
withVelocityX(x.getAsDouble()).
|
||||
withVelocityY(y.getAsDouble()));
|
||||
// if(tagId ==10){
|
||||
// drivetrain.setControl(drive.
|
||||
// withRotationalRate(tx/20).
|
||||
// withVelocityX((botx-5.81)*2).
|
||||
// withVelocityY((boty-4)*4));
|
||||
// }
|
||||
// else if(tagId ==7){
|
||||
// drivetrain.setControl(drive.
|
||||
// withRotationalRate(tx/20).
|
||||
// withVelocityX(2-botx).
|
||||
// withVelocityY(2-boty));
|
||||
|
||||
// }
|
||||
// }
|
||||
// if(limelight3.getV()){
|
||||
// drivetrain.setControl(drive.
|
||||
// withRotationalRate(limelight3.getTx()/10).
|
||||
// withVelocityX(x.getAsDouble()).
|
||||
// withVelocityY(y.getAsDouble()));
|
||||
// }
|
||||
// else{
|
||||
// drivetrain.setControl(drive.
|
||||
// withRotationalRate(0).
|
||||
// withVelocityX(0).
|
||||
// withVelocityY(0));
|
||||
// }
|
||||
}
|
||||
// }
|
||||
}
|
||||
else{
|
||||
drivetrain.setControl(drive.
|
||||
withRotationalRate(0).
|
||||
withVelocityX(0).
|
||||
withVelocityY(0));
|
||||
}
|
||||
}
|
||||
|
||||
// Called once the command ends or is interrupted.
|
||||
@Override
|
||||
|
||||
@@ -54,7 +54,7 @@ public class Bougie extends SubsystemBase {
|
||||
if(led==15){
|
||||
x=true;
|
||||
System.out.println("false");
|
||||
}}
|
||||
}}
|
||||
// candle.setLEDs(255, 0, 0,0,24,8);
|
||||
// candle.setLEDs(255, 0, 0,0,40,8);
|
||||
// candle.setLEDs(255, 0, 0,0,56,8);
|
||||
|
||||
@@ -48,7 +48,7 @@ Translation2d backRightLocation = new Translation2d(-0.3, -0.3);
|
||||
/* SysId routine for characterizing translation. This is used to find PID gains for the drive motors. */
|
||||
private void configureAutoBuilder() {
|
||||
try {
|
||||
var config = RobotConfig.fromGUISettings();
|
||||
RobotConfig config = RobotConfig.fromGUISettings();
|
||||
AutoBuilder.configure(
|
||||
() -> getState().Pose, // Supplier of current robot pose
|
||||
this::resetPose, // Consumer for seeding pose against auto
|
||||
|
||||
@@ -69,6 +69,17 @@ public class Limelight3 extends SubsystemBase {
|
||||
public void Forme(){
|
||||
pipeline.setNumber(0);
|
||||
}
|
||||
public double Calcule(double x1, double x2, double y1, double y2, double angle)
|
||||
{
|
||||
if (x1 > 4)
|
||||
{
|
||||
return (Math.abs(Math.atan2(x2 - x1, y2 - y1)) * (180 / Math.PI) - angle)/90;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (Math.abs(Math.atan2(x2 - x1, y2 - y1)) * (180 / Math.PI) + angle) * -1/90;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void periodic() {
|
||||
// This method will be called once per scheduler run
|
||||
|
||||
Reference in New Issue
Block a user