Class SwerveModuleState2

  • All Implemented Interfaces:
    java.lang.Comparable<edu.wpi.first.math.kinematics.SwerveModuleState>

    public class SwerveModuleState2
    extends edu.wpi.first.math.kinematics.SwerveModuleState
    • Field Summary

      Fields 
      Modifier and Type Field Description
      double angularVelocityRadPerSecond
      Angular velocity in radians per second.
      • Fields inherited from class edu.wpi.first.math.kinematics.SwerveModuleState

        angle, speedMetersPerSecond
    • Constructor Summary

      Constructors 
      Constructor Description
      SwerveModuleState2()
      Constructs a SwerveModuleState with zeros for speed and angle.
      SwerveModuleState2​(double speedMetersPerSecond, edu.wpi.first.math.geometry.Rotation2d angle)
      Constructs a SwerveModuleState.
      SwerveModuleState2​(double speedMetersPerSecond, edu.wpi.first.math.geometry.Rotation2d angle, double angularVelocityRadPerSecond)
      Constructs a SwerveModuleState.
      SwerveModuleState2​(edu.wpi.first.math.kinematics.SwerveModuleState self)
      Constructs a SwerveModuleState with zeros for speed and angle.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static SwerveModuleState2 optimize​(SwerveModuleState2 desiredState, edu.wpi.first.math.geometry.Rotation2d currentAngle)
      Minimize the change in heading the desired swerve module state would require by potentially reversing the direction the wheel spins.
      static double placeInAppropriate0To360Scope​(double scopeReference, double newAngle)  
      • Methods inherited from class edu.wpi.first.math.kinematics.SwerveModuleState

        compareTo, equals, hashCode, optimize, toString
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • angularVelocityRadPerSecond

        public double angularVelocityRadPerSecond
        Angular velocity in radians per second. Angular Velocity = omega.
    • Constructor Detail

      • SwerveModuleState2

        public SwerveModuleState2()
        Constructs a SwerveModuleState with zeros for speed and angle.
      • SwerveModuleState2

        public SwerveModuleState2​(edu.wpi.first.math.kinematics.SwerveModuleState self)
        Constructs a SwerveModuleState with zeros for speed and angle.
      • SwerveModuleState2

        public SwerveModuleState2​(double speedMetersPerSecond,
                                  edu.wpi.first.math.geometry.Rotation2d angle)
        Constructs a SwerveModuleState.
        Parameters:
        speedMetersPerSecond - The speed of the wheel of the module.
        angle - The angle of the module.
      • SwerveModuleState2

        public SwerveModuleState2​(double speedMetersPerSecond,
                                  edu.wpi.first.math.geometry.Rotation2d angle,
                                  double angularVelocityRadPerSecond)
        Constructs a SwerveModuleState.
        Parameters:
        speedMetersPerSecond - The speed of the wheel of the module.
        angle - The angle of the module.
        angularVelocityRadPerSecond - The angular velocity of the module.
    • Method Detail

      • optimize

        public static SwerveModuleState2 optimize​(SwerveModuleState2 desiredState,
                                                  edu.wpi.first.math.geometry.Rotation2d currentAngle)
        Minimize the change in heading the desired swerve module state would require by potentially reversing the direction the wheel spins. Customized from WPILib's version to include placing in appropriate scope for CTRE and REV onboard control as both controllers as of writing don't have support for continuous input.
        Parameters:
        desiredState - The desired state.
        currentAngle - The current module angle.
      • placeInAppropriate0To360Scope

        public static double placeInAppropriate0To360Scope​(double scopeReference,
                                                           double newAngle)
        Parameters:
        scopeReference - Current Angle
        newAngle - Target Angle
        Returns:
        Closest angle within scope