librmb 1.0
Rambunction 4330 Utility Library
|
#include <rmb/motorcontrol/feedforward/SimpleFeedforward.h>
Public Types | |
using | Distance_t |
using | VelocityUnit |
using | Velocity_t |
using | AccelerationUnit |
using | Acceleration_t |
using | KsUnit |
using | Ks_t |
using | KvUnit |
using | Kv_t |
using | KaUnit |
using | Ka_t |
Public Types inherited from rmb::Feedforward< DistanceUnit > | |
using | Distance_t |
using | VelocityUnit |
using | Velocity_t |
using | AccelerationUnit |
using | Acceleration_t |
using | KsUnit = units::volts |
using | Ks_t = units::unit_t<KsUnit> |
using | KvUnit |
using | Kv_t = units::unit_t<KvUnit> |
using | KaUnit |
using | Ka_t = units::unit_t<KaUnit> |
Voltage feedforward for an simple motor.
DistanceUnit | Base unit of distance for feedforward inputs. |
using rmb::SimpleFeedforward< DistanceUnit >::Acceleration_t |
using rmb::SimpleFeedforward< DistanceUnit >::AccelerationUnit |
using rmb::SimpleFeedforward< DistanceUnit >::Distance_t |
using rmb::SimpleFeedforward< DistanceUnit >::Ka_t |
using rmb::SimpleFeedforward< DistanceUnit >::KaUnit |
using rmb::SimpleFeedforward< DistanceUnit >::Ks_t |
using rmb::SimpleFeedforward< DistanceUnit >::KsUnit |
using rmb::SimpleFeedforward< DistanceUnit >::Kv_t |
using rmb::SimpleFeedforward< DistanceUnit >::KvUnit |
using rmb::SimpleFeedforward< DistanceUnit >::Velocity_t |
using rmb::SimpleFeedforward< DistanceUnit >::VelocityUnit |
|
inline |
Create a simple motor feedforward
kS | Static gain |
kV | Velocity gain |
kA | Acceleration gain |
|
inlineoverride |
Calculates a feedforward voltage at a desired velocity, acceleration, and distance.
velocity | Desired Velocity |
distance | Position of Motor (Not always useful). |
acceleration | Desired Acceleration |
|
inlineoverride |
Calculates the static gain of the feedforward at a given position. This is the value added on tot he end of the feedforward calculation. A velocity term is included only to determine the direction of movment. This is useful when adding feedforwads to the PID loops of motor controllers.
velocity | term only to determine the direction of movment (positive or negetive). |
position | positon at which the static gain is calculated. |
|
inlineoverridevirtual |
Return the acceleration gain of feed forward. This is the value that acceleration is multiplied by when calculating voltage. This is useful when adding feedforwads to the PID loops of motor controllers.
Implements rmb::Feedforward< DistanceUnit >.
|
inlineoverridevirtual |
Return the velocity gain of feed forward. This is the value that velocity is multiplied by when calculating voltage. This is useful when adding feedforwads to the PID loops of motor controllers.
Implements rmb::Feedforward< DistanceUnit >.
|
inlineoverride |
Calculates the maximum achievable accceleration of a component.
maxVoltage | max voltage that can be applied |
velocity | velocity that this acceleration is achived at |
position | position that this acceleration is achived at |
|
inlineoverride |
Calculates the minimum achievable velocity of a component.
maxVoltage | max voltage that can be applied |
acceleration | acceleration that this velocity is achived at |
position | position that this veloocity is achived at |
|
inlineoverride |
Calculates the minimum achievable accceleration of a component.
maxVoltage | max voltage that can be applied |
velocity | velocity that this acceleration is achived at |
position | position that this acceleration is achived at |
|
inlineoverride |
Calculates the minimum achievable velocity of a component.
maxVoltage | max voltage that can be applied |
acceleration | acceleration that this velocity is achived at |
position | position that this veloocity is achived at |