Package edu.wpi.first.math.system.plant
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 Summary
Fields Modifier and Type Field Description double
freeCurrentAmps
double
freeSpeedRadPerSec
double
KtNMPerAmp
double
KvRadPerSecPerVolt
double
nominalVoltageVolts
static DCMotorProto
proto
double
rOhms
double
stallCurrentAmps
double
stallTorqueNewtonMeters
static DCMotorStruct
struct
-
Constructor Summary
Constructors Constructor Description DCMotor(double nominalVoltageVolts, double stallTorqueNewtonMeters, double stallCurrentAmps, double freeCurrentAmps, double freeSpeedRadPerSec, int numMotors)
Constructs a DC motor. -
Method Summary
Modifier and Type Method Description static DCMotor
getAndymark9015(int numMotors)
Return a gearbox of Andymark 9015 motors.static DCMotor
getAndymarkRs775_125(int numMotors)
Return a gearbox of Andymark RS775-125 motors.static DCMotor
getBag(int numMotors)
Return a gearbox of Bag motors.static DCMotor
getBanebotsRs550(int numMotors)
Return a gearbox of Banebots RS 550 motors.static DCMotor
getBanebotsRs775(int numMotors)
Return a gearbox of Banebots RS775 motors.static DCMotor
getCIM(int numMotors)
Return a gearbox of CIM motors.double
getCurrent(double speedRadiansPerSec, double voltageInputVolts)
Calculate current drawn by motor with given speed and input voltage.static DCMotor
getFalcon500(int numMotors)
Return a gearbox of Falcon 500 motors.static DCMotor
getFalcon500Foc(int numMotors)
Return a gearbox of Falcon 500 motors with FOC (Field-Oriented Control) enabled.static DCMotor
getKrakenX60(int numMotors)
Return a gearbox of Kraken X60 brushless motors.static DCMotor
getKrakenX60Foc(int numMotors)
Return a gearbox of Kraken X60 brushless motors with FOC (Field-Oriented Control) enabled.static DCMotor
getMiniCIM(int numMotors)
Return a gearbox of MiniCIM motors.static DCMotor
getNEO(int numMotors)
Return a gearbox of NEO motors.static DCMotor
getNeo550(int numMotors)
Return a gearbox of NEO 550 motors.static DCMotor
getNeoVortex(int numMotors)
Return a gearbox of Neo Vortex brushless motors.static DCMotor
getRomiBuiltIn(int numMotors)
Return a gearbox of Romi/TI_RSLK MAX motors.double
getSpeed(double torqueNm, double voltageInputVolts)
Calculates the angular speed produced by the motor at a given torque and input voltage.double
getTorque(double currentAmpere)
Calculate torque produced by the motor with a given current.static DCMotor
getVex775Pro(int numMotors)
Return a gearbox of 775Pro motors.double
getVoltage(double torqueNm, double speedRadiansPerSec)
Calculate the voltage provided to the motor for a given torque and angular velocity.DCMotor
withReduction(double gearboxReduction)
Returns a copy of this motor with the given gearbox reduction applied.
-
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
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
Calculate torque produced by the motor with a given current.- Parameters:
currentAmpere
- The current drawn by the motor.- Returns:
- The torque output.
-
getVoltage
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
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
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
Return a gearbox of CIM motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of CIM motors.
-
getVex775Pro
Return a gearbox of 775Pro motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of 775Pro motors.
-
getNEO
Return a gearbox of NEO motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of NEO motors.
-
getMiniCIM
Return a gearbox of MiniCIM motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of MiniCIM motors.
-
getBag
Return a gearbox of Bag motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of Bag motors.
-
getAndymarkRs775_125
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
Return a gearbox of Banebots RS775 motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of Banebots RS775 motors.
-
getAndymark9015
Return a gearbox of Andymark 9015 motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of Andymark 9015 motors.
-
getBanebotsRs550
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
Return a gearbox of NEO 550 motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of NEO 550 motors.
-
getFalcon500
Return a gearbox of Falcon 500 motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- A gearbox of Falcon 500 motors.
-
getFalcon500Foc
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
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
Return a gearbox of Kraken X60 brushless motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- a gearbox of Kraken X60 motors.
-
getKrakenX60Foc
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
Return a gearbox of Neo Vortex brushless motors.- Parameters:
numMotors
- Number of motors in the gearbox.- Returns:
- a gearbox of Neo Vortex motors.
-