SimpleMotorFeedforwardMeters

class wpimath.controller.SimpleMotorFeedforwardMeters(kS: wpimath.units.volts, kV: wpimath.units.volt_seconds_per_meter, kA: wpimath.units.volt_seconds_squared_per_meter = 0.0)

Bases: pybind11_object

A helper class that computes feedforward voltages for a simple permanent-magnet DC motor.

Creates a new SimpleMotorFeedforward with the specified gains.

Parameters:
  • kS – The static gain, in volts.

  • kV – The velocity gain, in volt seconds per distance.

  • kA – The acceleration gain, in volt seconds² per distance.

calculate(*args, **kwargs)

Overloaded function.

  1. calculate(self: wpimath._controls._controls.controller.SimpleMotorFeedforwardMeters, velocity: wpimath.units.meters_per_second, acceleration: wpimath.units.meters_per_second_squared = 0.0) -> wpimath.units.volts

Calculates the feedforward from the gains and setpoints.

Parameters:
  • velocity – The velocity setpoint, in distance per second.

  • acceleration – The acceleration setpoint, in distance per second².

Returns:

The computed feedforward, in volts.

  1. calculate(self: wpimath._controls._controls.controller.SimpleMotorFeedforwardMeters, currentVelocity: wpimath.units.meters_per_second, nextVelocity: wpimath.units.meters_per_second, dt: wpimath.units.seconds) -> wpimath.units.volts

Calculates the feedforward from the gains and setpoints.

Parameters:
  • currentVelocity – The current velocity setpoint, in distance per second.

  • nextVelocity – The next velocity setpoint, in distance per second.

  • dt – Time between velocity setpoints in seconds.

Returns:

The computed feedforward, in volts.

property kA wpimath.units.volt_seconds_squared_per_meter

The acceleration gain.

property kS wpimath.units.volts

The static gain.

property kV wpimath.units.volt_seconds_per_meter

The velocity gain.

maxAchievableAcceleration(maxVoltage: wpimath.units.volts, velocity: wpimath.units.meters_per_second) wpimath.units.meters_per_second_squared

Calculates the maximum achievable acceleration given a maximum voltage supply and a velocity. Useful for ensuring that velocity and acceleration constraints for a trapezoidal profile are simultaneously achievable - enter the velocity constraint, and this will give you a simultaneously-achievable acceleration constraint.

Parameters:
  • maxVoltage – The maximum voltage that can be supplied to the motor.

  • velocity – The velocity of the motor.

Returns:

The maximum possible acceleration at the given velocity.

maxAchievableVelocity(maxVoltage: wpimath.units.volts, acceleration: wpimath.units.meters_per_second_squared) wpimath.units.meters_per_second

Calculates the maximum achievable velocity given a maximum voltage supply and an acceleration. Useful for ensuring that velocity and acceleration constraints for a trapezoidal profile are simultaneously achievable - enter the acceleration constraint, and this will give you a simultaneously-achievable velocity constraint.

Parameters:
  • maxVoltage – The maximum voltage that can be supplied to the motor.

  • acceleration – The acceleration of the motor.

Returns:

The maximum possible velocity at the given acceleration.

minAchievableAcceleration(maxVoltage: wpimath.units.volts, velocity: wpimath.units.meters_per_second) wpimath.units.meters_per_second_squared

Calculates the minimum achievable acceleration given a maximum voltage supply and a velocity. Useful for ensuring that velocity and acceleration constraints for a trapezoidal profile are simultaneously achievable - enter the velocity constraint, and this will give you a simultaneously-achievable acceleration constraint.

Parameters:
  • maxVoltage – The maximum voltage that can be supplied to the motor.

  • velocity – The velocity of the motor.

Returns:

The minimum possible acceleration at the given velocity.

minAchievableVelocity(maxVoltage: wpimath.units.volts, acceleration: wpimath.units.meters_per_second_squared) wpimath.units.meters_per_second

Calculates the minimum achievable velocity given a maximum voltage supply and an acceleration. Useful for ensuring that velocity and acceleration constraints for a trapezoidal profile are simultaneously achievable - enter the acceleration constraint, and this will give you a simultaneously-achievable velocity constraint.

Parameters:
  • maxVoltage – The maximum voltage that can be supplied to the motor.

  • acceleration – The acceleration of the motor.

Returns:

The minimum possible velocity at the given acceleration.