Package edu.wpi.first.math.system.plant
Class DCMotor
java.lang.Object
edu.wpi.first.math.system.plant.DCMotor
- All Implemented Interfaces:
ProtobufSerializable,StructSerializable,WPISerializable
Holds the constants for a DC motor.
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal doubleCurrent draw under no load in amps.final doubleAngular velocity under no load in radians per second.final doubleMotor torque constant in Newton-meters per amp.final doubleMotor velocity constant in (rad/s)/V.final doubleVoltage at which the motor constants were measured.static final DCMotorProtoDCMotor protobuf for serialization.final doubleMotor internal resistance in Ohms.final doubleCurrent draw when stalled in amps.final doubleTorque when stalled in Newton-meters.static final DCMotorStructDCMotor struct for serialization. -
Constructor Summary
ConstructorsConstructorDescriptionDCMotor(double nominalVoltage, double stallTorque, double stallCurrent, double freeCurrent, double freeSpeed, int numMotors) Constructs a DC motor. -
Method Summary
Modifier and TypeMethodDescriptionstatic DCMotorgetAndymark9015(int numMotors) Return a gearbox of Andymark 9015 motors.static DCMotorgetAndymarkRs775_125(int numMotors) Return a gearbox of Andymark RS775-125 motors.static DCMotorgetBag(int numMotors) Return a gearbox of Bag motors.static DCMotorgetBanebotsRs550(int numMotors) Return a gearbox of Banebots RS 550 motors.static DCMotorgetBanebotsRs775(int numMotors) Return a gearbox of Banebots RS775 motors.static DCMotorgetCIM(int numMotors) Return a gearbox of CIM motors.doublegetCurrent(double torque) Calculate current drawn by motor for a given torque.doublegetCurrent(double speed, double voltageInput) Calculate current drawn by motor with given speed and input voltage.static DCMotorgetFalcon500(int numMotors) Return a gearbox of Falcon 500 motors.static DCMotorgetFalcon500Foc(int numMotors) Return a gearbox of Falcon 500 motors with FOC (Field-Oriented Control) enabled.static DCMotorgetKrakenX60(int numMotors) Return a gearbox of Kraken X60 brushless motors.static DCMotorgetKrakenX60Foc(int numMotors) Return a gearbox of Kraken X60 brushless motors with FOC (Field-Oriented Control) enabled.static DCMotorgetMiniCIM(int numMotors) Return a gearbox of MiniCIM motors.static DCMotorgetNEO(int numMotors) Return a gearbox of NEO motors.static DCMotorgetNeo550(int numMotors) Return a gearbox of NEO 550 motors.static DCMotorgetNeoVortex(int numMotors) Return a gearbox of Neo Vortex brushless motors.static DCMotorgetRomiBuiltIn(int numMotors) Return a gearbox of Romi/TI_RSLK MAX motors.doublegetSpeed(double torque, double voltageInput) Calculates the angular speed produced by the motor at a given torque and input voltage.doublegetTorque(double current) Calculate torque produced by the motor with a given current.static DCMotorgetVex775Pro(int numMotors) Return a gearbox of 775Pro motors.doublegetVoltage(double torque, double speed) Calculate the voltage provided to the motor for a given torque and angular velocity.withReduction(double gearboxReduction) Returns a copy of this motor with the given gearbox reduction applied.
-
Field Details
-
nominalVoltage
Voltage at which the motor constants were measured. -
stallTorque
Torque when stalled in Newton-meters. -
stallCurrent
Current draw when stalled in amps. -
freeCurrent
Current draw under no load in amps. -
freeSpeed
Angular velocity under no load in radians per second. -
R
Motor internal resistance in Ohms. -
Kv
Motor velocity constant in (rad/s)/V. -
Kt
Motor torque constant in Newton-meters per amp. -
proto
DCMotor protobuf for serialization. -
struct
DCMotor struct for serialization.
-
-
Constructor Details
-
DCMotor
public DCMotor(double nominalVoltage, double stallTorque, double stallCurrent, double freeCurrent, double freeSpeed, int numMotors) Constructs a DC motor.- Parameters:
nominalVoltage- Voltage at which the motor constants were measured.stallTorque- Torque when stalled.stallCurrent- Current draw when stalled.freeCurrent- Current draw under no load.freeSpeed- 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:
speed- The current angular velocity of the motor.voltageInput- The voltage being applied to the motor.- Returns:
- The estimated current.
-
getCurrent
Calculate current drawn by motor for a given torque.- Parameters:
torque- The torque produced by the motor in Newton-meters.- Returns:
- The current drawn by the motor.
-
getTorque
Calculate torque produced by the motor with a given current.- Parameters:
current- The current drawn by the motor in amps.- Returns:
- The torque output in Newton-meters.
-
getVoltage
Calculate the voltage provided to the motor for a given torque and angular velocity.- Parameters:
torque- The torque produced by the motor in Newton-meters.speed- The current angular velocity of the motor in radians per second.- Returns:
- The voltage of the motor.
-
getSpeed
Calculates the angular speed produced by the motor at a given torque and input voltage.- Parameters:
torque- The torque produced by the motor in Newton-meters.voltageInput- 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.
-