@@ -322,7 +322,7 @@ public void injectPresetPosition(ChassisSpeeds chassisSpeeds, boolean fieldRelat
322322 Logger .recordOutput ("Swerve/desiredPose" , desiredPose );
323323 Logger .recordOutput ("Swerve/errorPose" , errorPose );
324324 double vyReefRelative = presetPosController .calculate (errorPose .getY (), 0 );
325- if (vyReefRelative > 0.4 ) vyReefRelative *= elevatorSpeedFactor ;
325+ if (vyReefRelative > 0.4 ) vyReefRelative *= elevatorSpeedFactor ; // TODO double check when higher kP
326326 Logger .recordOutput ("Swerve/vyReefRelative" , vyReefRelative );
327327
328328 fieldRelativeSpeeds = fieldRelative ?
@@ -651,25 +651,44 @@ public void periodic() {
651651 if (fieldZone .equals (FieldZones .OPPOSITE )) {
652652 isAligned = false ;
653653 } else {
654- Pose2d leftErrorPose = new Pose2d (getPose ().getX () - fieldZone .leftReefPose .getX (), getPose ().getY () - fieldZone .leftReefPose .getY (), getPose ().getRotation ().minus (fieldZone .leftReefPose .getRotation ()));
655- Pose2d rightErrorPose = new Pose2d (getPose ().getX () - fieldZone .rightReefPose .getX (), getPose ().getY () - fieldZone .rightReefPose .getY (), getPose ().getRotation ().minus (fieldZone .rightReefPose .getRotation ()));
654+ Pose2d leftErrorPose = new Pose2d (
655+ getPose ().getX () - fieldZone .leftReefPose .getX (),
656+ getPose ().getY () - fieldZone .leftReefPose .getY (),
657+ getPose ().getRotation ().minus (fieldZone .leftReefPose .getRotation ())
658+ );
659+ Pose2d rightErrorPose = new Pose2d (
660+ getPose ().getX () - fieldZone .rightReefPose .getX (),
661+ getPose ().getY () - fieldZone .rightReefPose .getY (),
662+ getPose ().getRotation ().minus (fieldZone .rightReefPose .getRotation ())
663+ );
656664 if (desiredPresetPosition .equals (PresetPositionType .LEFTREEF ) || desiredPresetPosition .equals (PresetPositionType .RIGHTREEF )) {
657665 Pose2d desiredPose = desiredPresetPosition .equals (PresetPositionType .LEFTREEF ) ? fieldZone .leftReefPose : fieldZone .rightReefPose ;
658- Pose2d errorPose = new Pose2d (getPose ().getX () - desiredPose .getX (), getPose ().getY () - desiredPose .getY (), getPose ().getRotation ().minus (desiredPose .getRotation ()));
659- if (Math .abs (errorPose .getX ()) < 0.05 && Math .abs (errorPose .getY ()) < 0.02 ) isAligned = true ;
660- else isAligned = false ;
666+ Pose2d errorPose = new Pose2d (
667+ getPose ().getX () - desiredPose .getX (),
668+ getPose ().getY () - desiredPose .getY (),
669+ getPose ().getRotation ().minus (desiredPose .getRotation ())
670+ );
671+ isAligned =
672+ Math .abs (errorPose .getX ()) < SwerveConstants .kReefAlignXTolerance &&
673+ Math .abs (errorPose .getY ()) < SwerveConstants .kReefAlignYTolerance &&
674+ Math .abs (errorPose .getRotation ().getDegrees ()) < SwerveConstants .kReefAlignHeadingTolerance ;
661675 Logger .recordOutput ("Swerve/isAlignedErrorPose" , errorPose );
662676 errorX = errorPose .getX ();
663677 errorY = errorPose .getY ();
664678 errorHeading = errorPose .getRotation ().getDegrees ();
665679 reefAimed = true ;
666680 } else {
667- if ((Math .abs (leftErrorPose .getX ()) < 0.04 && Math .abs (leftErrorPose .getY ()) < 0.02 )
668- || Math .abs (rightErrorPose .getX ()) < 0.04 && Math .abs (rightErrorPose .getY ()) < 0.02 ) isAligned = true ;
669- else isAligned = false ;
670- errorX = Math .min (leftErrorPose .getX (), rightErrorPose .getX ());
671- errorY = Math .min (leftErrorPose .getY (), rightErrorPose .getY ());
681+ errorX = Math .abs (leftErrorPose .getX ()) < Math .abs (rightErrorPose .getX ()) ? leftErrorPose .getX () : rightErrorPose .getX ();
682+ errorY = Math .abs (leftErrorPose .getY ()) < Math .abs (rightErrorPose .getY ()) ? leftErrorPose .getY () : rightErrorPose .getY ();
672683 errorHeading = Math .min (leftErrorPose .getRotation ().getDegrees (), rightErrorPose .getRotation ().getDegrees ());
684+ isAligned =
685+ (Math .abs (leftErrorPose .getX ()) < SwerveConstants .kReefAlignXTolerance &&
686+ Math .abs (leftErrorPose .getY ()) < SwerveConstants .kReefAlignYTolerance &&
687+ Math .abs (leftErrorPose .getRotation ().getDegrees ()) < SwerveConstants .kReefAlignHeadingTolerance )
688+ ||
689+ (Math .abs (rightErrorPose .getX ()) < SwerveConstants .kReefAlignXTolerance &&
690+ Math .abs (rightErrorPose .getY ()) < SwerveConstants .kReefAlignYTolerance &&
691+ Math .abs (leftErrorPose .getRotation ().getDegrees ()) < SwerveConstants .kReefAlignHeadingTolerance );
673692 reefAimed = false ;
674693 }
675694 Logger .recordOutput ("Swerve/isAlignedErrorPoseLeft" , leftErrorPose );
0 commit comments