![]() |
WPILibC++ 2027.0.0-alpha-4
|
Represents a simulated DC motor mechanism. More...
#include <wpi/simulation/DCMotorSim.hpp>
Public Member Functions | |
| DCMotorSim (const wpi::math::LinearSystem< 2, 1, 2 > &plant, const wpi::math::DCMotor &gearbox, const std::array< double, 2 > &measurementStdDevs={0.0, 0.0}) | |
| Creates a simulated DC motor mechanism. | |
| void | SetState (wpi::units::radian_t angularPosition, wpi::units::radians_per_second_t angularVelocity) |
| Sets the state of the DC motor. | |
| void | SetAngle (wpi::units::radian_t angularPosition) |
| Sets the DC motor's angular position. | |
| void | SetAngularVelocity (wpi::units::radians_per_second_t angularVelocity) |
| Sets the DC motor's angular velocity. | |
| wpi::units::radian_t | GetAngularPosition () const |
| Returns the DC motor position. | |
| wpi::units::radians_per_second_t | GetAngularVelocity () const |
| Returns the DC motor velocity. | |
| wpi::units::radians_per_second_squared_t | GetAngularAcceleration () const |
| Returns the DC motor acceleration. | |
| wpi::units::newton_meter_t | GetTorque () const |
| Returns the DC motor torque. | |
| wpi::units::ampere_t | GetCurrentDraw () const |
| Returns the DC motor current draw. | |
| wpi::units::volt_t | GetInputVoltage () const |
| Gets the input voltage for the DC motor. | |
| void | SetInputVoltage (wpi::units::volt_t voltage) |
| Sets the input voltage for the DC motor. | |
| const wpi::math::DCMotor & | GetGearbox () const |
| Returns the gearbox. | |
| double | GetGearing () const |
| Returns the gearing;. | |
| wpi::units::kilogram_square_meter_t | GetJ () const |
| Returns the moment of inertia. | |
| void | SetState (const wpi::math::Vectord< States > &state) |
| Sets the system state. | |
| Public Member Functions inherited from wpi::sim::LinearSystemSim< 2, 1, 2 > | |
| LinearSystemSim (const wpi::math::LinearSystem< States, Inputs, Outputs > &system, const std::array< double, Outputs > &measurementStdDevs={}) | |
| Creates a simulated generic linear system. | |
| virtual | ~LinearSystemSim ()=default |
| void | Update (wpi::units::second_t dt) |
| Updates the simulation. | |
| const wpi::math::Vectord< Outputs > & | GetOutput () const |
| Returns the current output of the plant. | |
| void | SetInput (const wpi::math::Vectord< Inputs > &u) |
| Sets the system inputs (usually voltages). | |
| const wpi::math::Vectord< Inputs > & | GetInput () const |
| Returns the current input of the plant. | |
| void | SetState (const wpi::math::Vectord< States > &state) |
| Sets the system state. | |
Additional Inherited Members | |
| Protected Member Functions inherited from wpi::sim::LinearSystemSim< 2, 1, 2 > | |
| virtual wpi::math::Vectord< States > | UpdateX (const wpi::math::Vectord< States > ¤tXhat, const wpi::math::Vectord< Inputs > &u, wpi::units::second_t dt) |
| Updates the state estimate of the system. | |
| void | ClampInput (double maxInput) |
| Clamp the input vector such that no element exceeds the given voltage. | |
| Protected Attributes inherited from wpi::sim::LinearSystemSim< 2, 1, 2 > | |
| wpi::math::LinearSystem< States, Inputs, Outputs > | m_plant |
| The plant that represents the linear system. | |
| wpi::math::Vectord< States > | m_x |
| State vector. | |
| wpi::math::Vectord< Inputs > | m_u |
| Input vector. | |
| wpi::math::Vectord< Outputs > | m_y |
| Output vector. | |
| std::array< double, Outputs > | m_measurementStdDevs |
| The standard deviations of measurements, used for adding noise to the measurements. | |
Represents a simulated DC motor mechanism.
| wpi::sim::DCMotorSim::DCMotorSim | ( | const wpi::math::LinearSystem< 2, 1, 2 > & | plant, |
| const wpi::math::DCMotor & | gearbox, | ||
| const std::array< double, 2 > & | measurementStdDevs = {0.0, 0.0} ) |
Creates a simulated DC motor mechanism.
| plant | The linear system representing the DC motor. This system can be created with wpi::math::Models::SingleJointedArmFromPhysicalConstants() or wpi::math::Models::SingleJointedArmFromSysId(). |
| gearbox | The type of and number of motors in the DC motor gearbox. |
| measurementStdDevs | The standard deviation of the measurement noise. |
| wpi::units::radians_per_second_squared_t wpi::sim::DCMotorSim::GetAngularAcceleration | ( | ) | const |
Returns the DC motor acceleration.
| wpi::units::radian_t wpi::sim::DCMotorSim::GetAngularPosition | ( | ) | const |
Returns the DC motor position.
| wpi::units::radians_per_second_t wpi::sim::DCMotorSim::GetAngularVelocity | ( | ) | const |
Returns the DC motor velocity.
| wpi::units::ampere_t wpi::sim::DCMotorSim::GetCurrentDraw | ( | ) | const |
Returns the DC motor current draw.
| const wpi::math::DCMotor & wpi::sim::DCMotorSim::GetGearbox | ( | ) | const |
Returns the gearbox.
| double wpi::sim::DCMotorSim::GetGearing | ( | ) | const |
Returns the gearing;.
| wpi::units::volt_t wpi::sim::DCMotorSim::GetInputVoltage | ( | ) | const |
Gets the input voltage for the DC motor.
| wpi::units::kilogram_square_meter_t wpi::sim::DCMotorSim::GetJ | ( | ) | const |
Returns the moment of inertia.
| wpi::units::newton_meter_t wpi::sim::DCMotorSim::GetTorque | ( | ) | const |
Returns the DC motor torque.
| void wpi::sim::DCMotorSim::SetAngle | ( | wpi::units::radian_t | angularPosition | ) |
Sets the DC motor's angular position.
| angularPosition | The new position in radians. |
| void wpi::sim::DCMotorSim::SetAngularVelocity | ( | wpi::units::radians_per_second_t | angularVelocity | ) |
Sets the DC motor's angular velocity.
| angularVelocity | The new velocity in radians per second. |
| void wpi::sim::DCMotorSim::SetInputVoltage | ( | wpi::units::volt_t | voltage | ) |
Sets the input voltage for the DC motor.
| voltage | The input voltage. |
|
inline |
Sets the system state.
| state | The new state. |
| void wpi::sim::DCMotorSim::SetState | ( | wpi::units::radian_t | angularPosition, |
| wpi::units::radians_per_second_t | angularVelocity ) |
Sets the state of the DC motor.
| angularPosition | The new position |
| angularVelocity | The new velocity |