WPILibC++ 2024.3.2
|
A helper class that computes feedforward outputs for a simple elevator (modeled as a motor acting against the force of gravity). More...
#include <frc/controller/ElevatorFeedforward.h>
Public Types | |
using | Distance = units::meters |
using | Velocity = units::compound_unit< Distance, units::inverse< units::seconds > > |
using | Acceleration = units::compound_unit< Velocity, units::inverse< units::seconds > > |
using | kv_unit = units::compound_unit< units::volts, units::inverse< Velocity > > |
using | ka_unit = units::compound_unit< units::volts, units::inverse< Acceleration > > |
Public Member Functions | |
constexpr | ElevatorFeedforward (units::volt_t kS, units::volt_t kG, units::unit_t< kv_unit > kV, units::unit_t< ka_unit > kA=units::unit_t< ka_unit >(0)) |
Creates a new ElevatorFeedforward with the specified gains. More... | |
constexpr units::volt_t | Calculate (units::unit_t< Velocity > velocity, units::unit_t< Acceleration > acceleration=units::unit_t< Acceleration >(0)) |
Calculates the feedforward from the gains and setpoints. More... | |
units::volt_t | Calculate (units::unit_t< Velocity > currentVelocity, units::unit_t< Velocity > nextVelocity, units::second_t dt) const |
Calculates the feedforward from the gains and setpoints. More... | |
constexpr units::unit_t< Velocity > | MaxAchievableVelocity (units::volt_t maxVoltage, units::unit_t< Acceleration > acceleration) |
Calculates the maximum achievable velocity given a maximum voltage supply and an acceleration. More... | |
constexpr units::unit_t< Velocity > | MinAchievableVelocity (units::volt_t maxVoltage, units::unit_t< Acceleration > acceleration) |
Calculates the minimum achievable velocity given a maximum voltage supply and an acceleration. More... | |
constexpr units::unit_t< Acceleration > | MaxAchievableAcceleration (units::volt_t maxVoltage, units::unit_t< Velocity > velocity) |
Calculates the maximum achievable acceleration given a maximum voltage supply and a velocity. More... | |
constexpr units::unit_t< Acceleration > | MinAchievableAcceleration (units::volt_t maxVoltage, units::unit_t< Velocity > velocity) |
Calculates the minimum achievable acceleration given a maximum voltage supply and a velocity. More... | |
Public Attributes | |
const units::volt_t | kS |
The static gain. More... | |
const units::volt_t | kG |
The gravity gain. More... | |
const units::unit_t< kv_unit > | kV |
The velocity gain. More... | |
const units::unit_t< ka_unit > | kA |
The acceleration gain. More... | |
A helper class that computes feedforward outputs for a simple elevator (modeled as a motor acting against the force of gravity).
using frc::ElevatorFeedforward::Acceleration = units::compound_unit<Velocity, units::inverse<units::seconds> > |
using frc::ElevatorFeedforward::Distance = units::meters |
using frc::ElevatorFeedforward::ka_unit = units::compound_unit<units::volts, units::inverse<Acceleration> > |
using frc::ElevatorFeedforward::kv_unit = units::compound_unit<units::volts, units::inverse<Velocity> > |
using frc::ElevatorFeedforward::Velocity = units::compound_unit<Distance, units::inverse<units::seconds> > |
|
inlineconstexpr |
Creates a new ElevatorFeedforward with the specified gains.
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. |
|
inline |
Calculates the feedforward from the gains and setpoints.
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. |
|
inlineconstexpr |
Calculates the feedforward from the gains and setpoints.
velocity | The velocity setpoint, in distance per second. |
acceleration | The acceleration setpoint, in distance per secondĀ². |
|
inlineconstexpr |
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.
maxVoltage | The maximum voltage that can be supplied to the elevator. |
velocity | The velocity of the elevator. |
|
inlineconstexpr |
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.
maxVoltage | The maximum voltage that can be supplied to the elevator. |
acceleration | The acceleration of the elevator. |
|
inlineconstexpr |
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.
maxVoltage | The maximum voltage that can be supplied to the elevator. |
velocity | The velocity of the elevator. |
|
inlineconstexpr |
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.
maxVoltage | The maximum voltage that can be supplied to the elevator. |
acceleration | The acceleration of the elevator. |
const units::unit_t<ka_unit> frc::ElevatorFeedforward::kA |
The acceleration gain.
const units::volt_t frc::ElevatorFeedforward::kG |
The gravity gain.
const units::volt_t frc::ElevatorFeedforward::kS |
The static gain.
const units::unit_t<kv_unit> frc::ElevatorFeedforward::kV |
The velocity gain.