|
|
|
|
@@ -111,8 +111,8 @@ public class Drivetrain extends SubsystemBase {
|
|
|
|
|
m_rearRight.getPosition()
|
|
|
|
|
},
|
|
|
|
|
new Pose2d(),
|
|
|
|
|
VecBuilder.fill(0.1, 0.1, Units.degreesToRadians(0.5)),
|
|
|
|
|
VecBuilder.fill(1, 1, Units.degreesToRadians(4000))
|
|
|
|
|
VecBuilder.fill(0.1, 0.1, Units.degreesToRadians(5)),
|
|
|
|
|
VecBuilder.fill(1, 1, Units.degreesToRadians(360))
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
pidHeading = new ProfiledPIDController(AutoConstants.kAlignPThetaController, 0, 0, AutoConstants.kAlignThetaControllerConstraints);
|
|
|
|
|
@@ -177,17 +177,17 @@ public class Drivetrain extends SubsystemBase {
|
|
|
|
|
|
|
|
|
|
gyroBuffer.addSample(Timer.getFPGATimestamp(), m_estimator.getEstimatedPosition().getRotation().getDegrees());
|
|
|
|
|
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.40, 0.40, Units.degreesToRadians(4000)));
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.40, 0.40, Units.degreesToRadians(360)));
|
|
|
|
|
|
|
|
|
|
if(vision.getOrangeTagDetected() && vision.getOrangeTagDetected()){
|
|
|
|
|
if(vision.getOrangeDist() < 60 && Math.abs(getVelocity()) < 3){
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.02, 0.02, Units.degreesToRadians(4000)));
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.03, 0.03, Units.degreesToRadians(360)));
|
|
|
|
|
}else if(vision.getOrangeDist() < 100 && Math.abs(getVelocity()) < 3){
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.05, 0.05, Units.degreesToRadians(4000)));
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.05, 0.05, Units.degreesToRadians(360)));
|
|
|
|
|
}else if(vision.getOrangeDist() < 60 && Math.abs(getVelocity()) > 3){
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.2, 0.2, Units.degreesToRadians(4000)));
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.2, 0.2, Units.degreesToRadians(360)));
|
|
|
|
|
}else if(vision.getOrangeDist() < 100 && Math.abs(getVelocity()) > 3){
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.3, 0.3, Units.degreesToRadians(4000)));
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.3, 0.3, Units.degreesToRadians(360)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// if the detected tags match your alliances reef tags use their pose estimates
|
|
|
|
|
@@ -209,13 +209,13 @@ public class Drivetrain extends SubsystemBase {
|
|
|
|
|
|
|
|
|
|
if(vision.getBlackTagDetected() && vision.getBlackTagDetected()){
|
|
|
|
|
if(vision.getBlackDist() < 60 && Math.abs(getVelocity()) < 3){
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.02, 0.02, Units.degreesToRadians(4000)));
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.03, 0.03, Units.degreesToRadians(360)));
|
|
|
|
|
}else if(vision.getBlackDist() < 100 && Math.abs(getVelocity()) < 3){
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.05, 0.05, Units.degreesToRadians(4000)));
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.05, 0.05, Units.degreesToRadians(360)));
|
|
|
|
|
}else if(vision.getBlackDist() < 60 && Math.abs(getVelocity()) > 3){
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.2, 0.2, Units.degreesToRadians(4000)));
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.2, 0.2, Units.degreesToRadians(360)));
|
|
|
|
|
}else if(vision.getBlackDist() < 100 && Math.abs(getVelocity()) > 3){
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.3, 0.3, Units.degreesToRadians(4000)));
|
|
|
|
|
m_estimator.setVisionMeasurementStdDevs(VecBuilder.fill(0.3, 0.3, Units.degreesToRadians(360)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(vision.getBlackClosestTag() >= 6 && vision.getBlackClosestTag() <= 11 && DriverStation.getAlliance().get().equals(Alliance.Red) && vision.getBlackTagDetected()){
|
|
|
|
|
|