Package swervelib

Class SwerveDriveTest

java.lang.Object
swervelib.SwerveDriveTest

public class SwerveDriveTest extends Object
Class to perform tests on the swerve drive.
  • Constructor Details

    • SwerveDriveTest

      public SwerveDriveTest()
  • Method Details

    • angleModules

      public static void angleModules(SwerveDrive swerveDrive, edu.wpi.first.math.geometry.Rotation2d moduleAngle)
      Set the angle of the modules to a given Rotation2d
      Parameters:
      swerveDrive - SwerveDrive to use.
      moduleAngle - Rotation2d to set every module to.
    • powerDriveMotorsDutyCycle

      public static void powerDriveMotorsDutyCycle(SwerveDrive swerveDrive, double percentage)
      Power the drive motors for the swerve drive to a set duty cycle percentage.
      Parameters:
      swerveDrive - SwerveDrive to control.
      percentage - Duty cycle percentage of voltage to send to drive motors.
    • powerAngleMotors

      public static void powerAngleMotors(SwerveDrive swerveDrive, double percentage)
      Power the angle motors for the swerve drive to a set percentage.
      Parameters:
      swerveDrive - SwerveDrive to control.
      percentage - DutyCycle percentage to send to angle motors.
    • powerDriveMotorsVoltage

      public static void powerDriveMotorsVoltage(SwerveDrive swerveDrive, double volts)
      Power the drive motors for the swerve drive to a set voltage.
      Parameters:
      swerveDrive - SwerveDrive to control.
      volts - DutyCycle percentage of voltage to send to drive motors.
    • powerAngleMotorsVoltage

      public static void powerAngleMotorsVoltage(SwerveDrive swerveDrive, double volts)
      Power the angle motors for the swerve drive to a set voltage.
      Parameters:
      swerveDrive - SwerveDrive to control.
      volts - Voltage to send to angle motors.
    • centerModules

      public static void centerModules(SwerveDrive swerveDrive)
      Set the modules to center to 0.
      Parameters:
      swerveDrive - Swerve Drive to control.
    • findDriveMotorKV

      public static double findDriveMotorKV(SwerveDrive swerveDrive, double minMovement, double testDelaySeconds, double maxVolts)
      Find the minimum amount of power required to move the swerve drive motors.
      Parameters:
      swerveDrive - SwerveDrive to control.
      minMovement - Minimum amount of movement to drive motors.
      testDelaySeconds - Time in seconds for the motor to move.
      maxVolts - The maximum voltage to send to drive motors.
      Returns:
      minimum voltage required.
    • findCouplingRatio

      public static double findCouplingRatio(SwerveDrive swerveDrive, double volts, boolean automatic)
      Find the coupling ratio for all modules.
      Parameters:
      swerveDrive - SwerveDrive to operate with.
      volts - Voltage to send to angle motors to spin.
      automatic - Attempt to automatically spin the modules.
      Returns:
      Average coupling ratio.