+ +
+
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.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +