FlywheelSim

class wpilib.simulation.FlywheelSim(plant: wpimath._controls._controls.system.LinearSystem_1_1_1, gearbox: wpimath._controls._controls.plant.DCMotor, measurementStdDevs: Annotated[list[SupportsFloat], FixedSize(1)] = [0.0])

Bases: LinearSystemSim_1_1_1

Represents a simulated flywheel mechanism.

Creates a simulated flywheel mechanism.

Parameters:
  • plant – The linear system representing the flywheel. This system can be created with LinearSystemId::FlywheelSystem() or LinearSystemId::IdentifyVelocitySystem().

  • gearbox – The type of and number of motors in the flywheel gearbox.

  • measurementStdDevs – The standard deviation of the measurement noise.

J() wpimath.units.kilogram_square_meters

Returns the moment of inertia

gearbox() wpimath._controls._controls.plant.DCMotor

Returns the gearbox.

gearing() float

Returns the gearing;

getAngularAcceleration() wpimath.units.radians_per_second_squared

Returns the flywheel’s acceleration.

Returns:

The flywheel’s acceleration

getAngularVelocity() wpimath.units.radians_per_second

Returns the flywheel’s velocity.

Returns:

The flywheel’s velocity.

getCurrentDraw() wpimath.units.amperes

Returns the flywheel’s current draw.

Returns:

The flywheel’s current draw.

getInputVoltage() wpimath.units.volts

Gets the input voltage for the flywheel.

Returns:

The flywheel input voltage.

getTorque() wpimath.units.newton_meters

Returns the flywheel’s torque.

Returns:

The flywheel’s torque

setInputVoltage(voltage: wpimath.units.volts) None

Sets the input voltage for the flywheel.

Parameters:

voltage – The input voltage.

setVelocity(velocity: wpimath.units.radians_per_second) None

Sets the flywheel’s angular velocity.

Parameters:

velocity – The new velocity