ArmFeedforward

A helper class that computes feedforward outputs for a simple arm (modeled as a motor acting against the force of gravity on a beam suspended at an angle), adjusted to use WPIUnits for unit assertion. Source

Since

3.5.0

Constructors

Link copied to clipboard
constructor(kS: Double, kCos: Double, kV: Double, kA: Double, @NonNull position: Supplier<Measure<Angle>>, @NonNull velocity: Supplier<Measure<Velocity<Angle>>>, @NonNull acceleration: Supplier<Measure<Velocity<Velocity<Angle>>>>)
Creates a new ArmFeedforward with the specified gains and suppliers for the setpoints.

Properties

Link copied to clipboard
open var kA: Double
Acceleration gain.
Link copied to clipboard
open var kCos: Double
Cosine gain.
Link copied to clipboard
open var kS: Double
Static gain.
Link copied to clipboard
open var kV: Double
Velocity gain.

Inherited properties

Link copied to clipboard
A null controller that does nothing.

Functions

Link copied to clipboard
open fun calculate(): Double
open fun calculate(current: Double, target: Double): Double
Calculates the feedforward from the gains and setpoints.
Link copied to clipboard
open fun getA(): Double
Acceleration gain.
Link copied to clipboard
Gets the current coefficients for this controller.
Link copied to clipboard
open fun getCos(): Double
Gravity gain.
Link copied to clipboard
open fun getS(): Double
Static gain.
Link copied to clipboard
open fun getV(): Double
Velocity gain.
Link copied to clipboard
Calculates the maximum achievable acceleration given a maximum voltage supply, a position, and a velocity.
Link copied to clipboard
Calculates the maximum achievable velocity given a maximum voltage supply, a position, and an acceleration.
Link copied to clipboard
Calculates the minimum achievable acceleration given a maximum voltage supply, a position, and a velocity.
Link copied to clipboard
Calculates the minimum achievable velocity given a maximum voltage supply, a position, and an acceleration.
Link copied to clipboard
open fun setCoefficients(@NonNull coeffs: Array<Double>)
Sets the coefficients for this controller.

Inherited functions

Link copied to clipboard
Composes this controller with another controller, returning a new controller that is the composition of the two.
Link copied to clipboard
Get the PIDF controller associated with this controller, if applicable.
Link copied to clipboard
open fun reset()
Reset this controller back to an un-accumulated state, if applicable.
Link copied to clipboard
open fun setCoefficients(@NonNull coeffs: Array<Double>)
Sets the coefficients for this controller.