Package swervelib.imu

Class SwerveIMU

java.lang.Object
swervelib.imu.SwerveIMU
Direct Known Subclasses:
ADIS16448Swerve, ADIS16470Swerve, ADXRS450Swerve, AnalogGyroSwerve, CanandgyroSwerve, NavXSwerve, Pigeon2Swerve, PigeonSwerve

public abstract class SwerveIMU extends Object
Swerve IMU abstraction to define a standard interface with a swerve drive.
  • Constructor Details

    • SwerveIMU

      public SwerveIMU()
  • Method Details

    • factoryDefault

      public abstract void factoryDefault()
      Reset IMU to factory default.
    • clearStickyFaults

      public abstract void clearStickyFaults()
      Clear sticky faults on IMU.
    • setOffset

      public abstract void setOffset(Rotation3d offset)
      Set the gyro offset.
      Parameters:
      offset - gyro offset as a Rotation3d.
    • setInverted

      public abstract void setInverted(boolean invertIMU)
      Set the gyro to invert its default direction.
      Parameters:
      invertIMU - gyro direction
    • getRawRotation3d

      public abstract Rotation3d getRawRotation3d()
      Fetch the Rotation3d from the IMU without any zeroing. Robot relative.
      Returns:
      Rotation3d from the IMU.
    • getRotation3d

      public abstract Rotation3d getRotation3d()
      Fetch the Rotation3d from the IMU. Robot relative.
      Returns:
      Rotation3d from the IMU.
    • getAccel

      public abstract Optional<Translation3d> getAccel()
      Fetch the acceleration [x, y, z] from the IMU in meters per second squared. If acceleration isn't supported returns empty.
      Returns:
      Translation3d of the acceleration as an Optional.
    • getRate

      public abstract double getRate()
      Fetch the rotation rate from the IMU in degrees per second. If rotation rate isn't supported returns empty.
      Returns:
      Double of the rotation rate as an Optional.
    • getIMU

      public abstract Object getIMU()
      Get the instantiated IMU object.
      Returns:
      IMU object.