Class SwerveUtils

java.lang.Object
frc.robot.utils.SwerveUtils

public class SwerveUtils extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static double
    AngleDifference(double angleA, double angleB)
    Finds the (unsigned) minimum difference between two angles including calculating across 0.
    static double
    StepTowards(double current, double target, double stepsize)
    Steps a value towards a target with a specified step size.
    static double
    StepTowardsCircular(double current, double target, double stepsize)
    Steps a value (angle) towards a target (angle) taking the shortest path with a specified step size.
    static double
    WrapAngle(double angle)
    Wraps an angle until it lies within the range from 0 to 2*PI (exclusive).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SwerveUtils

      public SwerveUtils()
  • Method Details

    • StepTowards

      public static double StepTowards(double current, double target, double stepsize)
      Steps a value towards a target with a specified step size.
      Parameters:
      current - The current or starting value. Can be positive or negative.
      target - The target value the algorithm will step towards. Can be positive or negative.
      stepsize - The maximum step size that can be taken.
      Returns:
      The new value for `current` after performing the specified step towards the specified target.
    • StepTowardsCircular

      public static double StepTowardsCircular(double current, double target, double stepsize)
      Steps a value (angle) towards a target (angle) taking the shortest path with a specified step size.
      Parameters:
      current - The current or starting angle (in radians). Can lie outside the 0 to 2*PI range.
      target - The target angle (in radians) the algorithm will step towards. Can lie outside the 0 to 2*PI range.
      stepsize - The maximum step size that can be taken (in radians).
      Returns:
      The new angle (in radians) for `current` after performing the specified step towards the specified target. This value will always lie in the range 0 to 2*PI (exclusive).
    • AngleDifference

      public static double AngleDifference(double angleA, double angleB)
      Finds the (unsigned) minimum difference between two angles including calculating across 0.
      Parameters:
      angleA - An angle (in radians).
      angleB - An angle (in radians).
      Returns:
      The (unsigned) minimum difference between the two angles (in radians).
    • WrapAngle

      public static double WrapAngle(double angle)
      Wraps an angle until it lies within the range from 0 to 2*PI (exclusive).
      Parameters:
      angle - The angle (in radians) to wrap. Can be positive or negative and can lie multiple wraps outside the output range.
      Returns:
      An angle (in radians) from 0 and 2*PI (exclusive).