ElevatorFeedforward
- class wpimath.controller.ElevatorFeedforward(*args, **kwargs)
Bases:
pybind11_object
A helper class that computes feedforward outputs for a simple elevator (modeled as a motor acting against the force of gravity).
Overloaded function.
__init__(self: wpimath._controls._controls.controller.ElevatorFeedforward) -> None
__init__(self: wpimath._controls._controls.controller.ElevatorFeedforward, kS: volts, kG: volts, kV: volt_seconds_per_meter, kA: volt_seconds_squared_per_meter = 0.0) -> None
Creates a new ElevatorFeedforward with the specified gains.
- Parameters:
kS – The static gain, in volts.
kG – The gravity gain, in volts.
kV – The velocity gain, in volt seconds per distance.
kA – The acceleration gain, in volt seconds² per distance.
- calculate(velocity: meters_per_second, acceleration: meters_per_second_squared = 0.0) 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.
- property kA
- property kG
- property kS
- property kV
- maxAchievableAcceleration(maxVoltage: volts, velocity: meters_per_second) 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 elevator.
velocity – The velocity of the elevator.
- Returns:
The maximum possible acceleration at the given velocity.
- maxAchievableVelocity(maxVoltage: volts, acceleration: meters_per_second_squared) 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 elevator.
acceleration – The acceleration of the elevator.
- Returns:
The maximum possible velocity at the given acceleration.
- minAchievableAcceleration(maxVoltage: volts, velocity: meters_per_second) 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 elevator.
velocity – The velocity of the elevator.
- Returns:
The minimum possible acceleration at the given velocity.
- minAchievableVelocity(maxVoltage: volts, acceleration: meters_per_second_squared) 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 elevator.
acceleration – The acceleration of the elevator.
- Returns:
The minimum possible velocity at the given acceleration.