Class DCMotor

java.lang.Object
edu.wpi.first.math.system.plant.DCMotor

public class DCMotor
extends Object
Holds the constants for a DC motor.
  • Field Details

  • Constructor Details

    • DCMotor

      public DCMotor​(double nominalVoltageVolts, double stallTorqueNewtonMeters, double stallCurrentAmps, double freeCurrentAmps, double freeSpeedRadPerSec, int numMotors)
      Constructs a DC motor.
      Parameters:
      nominalVoltageVolts - Voltage at which the motor constants were measured.
      stallTorqueNewtonMeters - Torque when stalled.
      stallCurrentAmps - Current draw when stalled.
      freeCurrentAmps - Current draw under no load.
      freeSpeedRadPerSec - Angular velocity under no load.
      numMotors - Number of motors in a gearbox.
  • Method Details

    • getCurrent

      public double getCurrent​(double speedRadiansPerSec, double voltageInputVolts)
      Calculate current drawn by motor with given speed and input voltage.
      Parameters:
      speedRadiansPerSec - The current angular velocity of the motor.
      voltageInputVolts - The voltage being applied to the motor.
      Returns:
      The estimated current.
    • getTorque

      public double getTorque​(double currentAmpere)
      Calculate torque produced by the motor with a given current.
      Parameters:
      currentAmpere - The current drawn by the motor.
      Returns:
      The torque output.
    • getVoltage

      public double getVoltage​(double torqueNm, double speedRadiansPerSec)
      Calculate the voltage provided to the motor for a given torque and angular velocity.
      Parameters:
      torqueNm - The torque produced by the motor.
      speedRadiansPerSec - The current angular velocity of the motor.
      Returns:
      The voltage of the motor.
    • getSpeed

      public double getSpeed​(double torqueNm, double voltageInputVolts)
      Calculates the angular speed produced by the motor at a given torque and input voltage.
      Parameters:
      torqueNm - The torque produced by the motor.
      voltageInputVolts - The voltage applied to the motor.
      Returns:
      The angular speed of the motor.
    • withReduction

      public DCMotor withReduction​(double gearboxReduction)
      Returns a copy of this motor with the given gearbox reduction applied.
      Parameters:
      gearboxReduction - The gearbox reduction.
      Returns:
      A motor with the gearbox reduction applied.
    • getCIM

      public static DCMotor getCIM​(int numMotors)
      Return a gearbox of CIM motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of CIM motors.
    • getVex775Pro

      public static DCMotor getVex775Pro​(int numMotors)
      Return a gearbox of 775Pro motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of 775Pro motors.
    • getNEO

      public static DCMotor getNEO​(int numMotors)
      Return a gearbox of NEO motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of NEO motors.
    • getMiniCIM

      public static DCMotor getMiniCIM​(int numMotors)
      Return a gearbox of MiniCIM motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of MiniCIM motors.
    • getBag

      public static DCMotor getBag​(int numMotors)
      Return a gearbox of Bag motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of Bag motors.
    • getAndymarkRs775_125

      public static DCMotor getAndymarkRs775_125​(int numMotors)
      Return a gearbox of Andymark RS775-125 motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of Andymark RS775-125 motors.
    • getBanebotsRs775

      public static DCMotor getBanebotsRs775​(int numMotors)
      Return a gearbox of Banebots RS775 motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of Banebots RS775 motors.
    • getAndymark9015

      public static DCMotor getAndymark9015​(int numMotors)
      Return a gearbox of Andymark 9015 motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of Andymark 9015 motors.
    • getBanebotsRs550

      public static DCMotor getBanebotsRs550​(int numMotors)
      Return a gearbox of Banebots RS 550 motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of Banebots RS 550 motors.
    • getNeo550

      public static DCMotor getNeo550​(int numMotors)
      Return a gearbox of NEO 550 motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of NEO 550 motors.
    • getFalcon500

      public static DCMotor getFalcon500​(int numMotors)
      Return a gearbox of Falcon 500 motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of Falcon 500 motors.
    • getFalcon500Foc

      public static DCMotor getFalcon500Foc​(int numMotors)
      Return a gearbox of Falcon 500 motors with FOC (Field-Oriented Control) enabled.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of Falcon 500 FOC enabled motors.
    • getRomiBuiltIn

      public static DCMotor getRomiBuiltIn​(int numMotors)
      Return a gearbox of Romi/TI_RSLK MAX motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of Romi/TI_RSLK MAX motors.
    • getKrakenX60

      public static DCMotor getKrakenX60​(int numMotors)
      Return a gearbox of Kraken X60 brushless motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      a gearbox of Kraken X60 motors.
    • getKrakenX60Foc

      public static DCMotor getKrakenX60Foc​(int numMotors)
      Return a gearbox of Kraken X60 brushless motors with FOC (Field-Oriented Control) enabled.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      A gearbox of Kraken X60 FOC enabled motors.
    • getNeoVortex

      public static DCMotor getNeoVortex​(int numMotors)
      Return a gearbox of Neo Vortex brushless motors.
      Parameters:
      numMotors - Number of motors in the gearbox.
      Returns:
      a gearbox of Neo Vortex motors.