librmb 1.0
Rambunction 4330 Utility Library
Loading...
Searching...
No Matches
rmb::ElevatorFeedforward< DistanceUnit > Class Template Reference

#include <rmb/motorcontrol/feedforward/ElevatorFeedforward.h>

Inheritance diagram for rmb::ElevatorFeedforward< DistanceUnit >:
rmb::Feedforward< DistanceUnit >

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>
 

Public Member Functions

 ElevatorFeedforward (Ks_t kS, Ks_t kG, Kv_t kV, Ka_t kA)
 
units::volt_t calculate (Velocity_t velocity, Distance_t distance=Distance_t(0.0), Acceleration_t acceleration=Acceleration_t(0.0)) const override
 
Velocity_t maxAchievableVelocity (units::volt_t maxVoltage, Acceleration_t acceleration, Distance_t position=Distance_t(0.0)) const override
 
Velocity_t minAchievableVelocity (units::volt_t maxVoltage, Acceleration_t acceleration, Distance_t position=Distance_t(0.0)) const override
 
Acceleration_t maxAchievableAcceleration (units::volt_t maxVoltage, Velocity_t velocity, Distance_t position=Distance_t(0.0)) const override
 
Acceleration_t minAchievableAcceleration (units::volt_t maxVoltage, Velocity_t velocity, Distance_t position=Distance_t(0.0)) const override
 
Kv_t getVelocityGain () const override
 
Ka_t getAcclerationGain () const override
 
units::volt_t calculateStatic (Velocity_t velocity, Distance_t position=Distance_t(0)) const override
 
- Public Member Functions inherited from rmb::Feedforward< DistanceUnit >
virtual units::volt_t calculate (Velocity_t velocity, Distance_t distance=Distance_t(0.0), Acceleration_t acceleration=Acceleration_t(0.0)) const =0
 
virtual Velocity_t maxAchievableVelocity (units::volt_t maxVoltage, Acceleration_t acceleration, Distance_t position) const =0
 
virtual Velocity_t minAchievableVelocity (units::volt_t maxVoltage, Acceleration_t acceleration, Distance_t position) const =0
 
virtual Acceleration_t maxAchievableAcceleration (units::volt_t maxVoltage, Velocity_t velocity, Distance_t position) const =0
 
virtual Acceleration_t minAchievableAcceleration (units::volt_t maxVoltage, Velocity_t velocity, Distance_t position) const =0
 
virtual units::volt_t calculateStatic (Velocity_t velocity, Distance_t position=Distance_t(0)) const =0
 

Detailed Description

template<typename DistanceUnit>
class rmb::ElevatorFeedforward< DistanceUnit >

Voltage feedforward for an elevator mechanism.

Member Typedef Documentation

◆ Acceleration_t

template<typename DistanceUnit >
using rmb::ElevatorFeedforward< DistanceUnit >::Acceleration_t
Initial value:
typename Feedforward<DistanceUnit>::
Acceleration_t
See also
Feedforward<DistanceUnit>::Acceleration_t

◆ AccelerationUnit

Initial value:
typename Feedforward<DistanceUnit>::
AccelerationUnit
See also
Feedforward<DistanceUnit>::AccelerationUnit

◆ Distance_t

Initial value:
typename Feedforward<DistanceUnit>::
Distance_t
See also
Feedforward<DistanceUnit>::Distance_t

◆ Ka_t

Initial value:
typename Feedforward<
DistanceUnit>::Ka_t
typename Feedforward< DistanceUnit >::Ka_t Ka_t
Definition ElevatorFeedforward.h:42
See also
Feedforward<DistanceUnit>::Ka_t

◆ KaUnit

Initial value:
typename Feedforward<
DistanceUnit>::KaUnit
typename Feedforward< DistanceUnit >::KaUnit KaUnit
Definition ElevatorFeedforward.h:40
See also
Feedforward<DistanceUnit>::KaUnit

◆ Ks_t

Initial value:
typename Feedforward<
DistanceUnit>::Ks_t
typename Feedforward< DistanceUnit >::Ks_t Ks_t
Definition ElevatorFeedforward.h:34
See also
Feedforward<DistanceUnit>::Ks_t

◆ KsUnit

Initial value:
typename Feedforward<
DistanceUnit>::KsUnit
typename Feedforward< DistanceUnit >::KsUnit KsUnit
Definition ElevatorFeedforward.h:32
See also
Feedforward<DistanceUnit>::KsUnit

◆ Kv_t

Initial value:
typename Feedforward<
DistanceUnit>::Kv_t
typename Feedforward< DistanceUnit >::Kv_t Kv_t
Definition ElevatorFeedforward.h:38
See also
Feedforward<DistanceUnit>::Kv_t

◆ KvUnit

Initial value:
typename Feedforward<
DistanceUnit>::KvUnit
typename Feedforward< DistanceUnit >::KvUnit KvUnit
Definition ElevatorFeedforward.h:36
See also
Feedforward<DistanceUnit>::KvUnit

◆ Velocity_t

Initial value:
typename Feedforward<DistanceUnit>::
Velocity_t
See also
Feedforward<DistanceUnit>::Velocity_t

◆ VelocityUnit

Initial value:
typename Feedforward<DistanceUnit>::
VelocityUnit
See also
Feedforward<DistanceUnit>::VelocityUnit

Constructor & Destructor Documentation

◆ ElevatorFeedforward()

template<typename DistanceUnit >
rmb::ElevatorFeedforward< DistanceUnit >::ElevatorFeedforward ( Ks_t kS,
Ks_t kG,
Kv_t kV,
Ka_t kA )
inline

Creates an ElevatorFeedforward

Parameters
kSStatic gain
kGGravity gain
kVVelocity gain
kAAcceleration gain

Member Function Documentation

◆ calculate()

template<typename DistanceUnit >
units::volt_t rmb::ElevatorFeedforward< DistanceUnit >::calculate ( Velocity_t velocity,
Distance_t distance = Distance_t(0.0),
Acceleration_t acceleration = Acceleration_t(0.0) ) const
inlineoverride

Calculates a feedforward voltage at a desired velocity, acceleration, and distance.

Parameters
velocityDesired Velocity
distancePosition of Motor (Not always useful).
accelerationDesired Acceleration

◆ calculateStatic()

template<typename DistanceUnit >
units::volt_t rmb::ElevatorFeedforward< DistanceUnit >::calculateStatic ( Velocity_t velocity,
Distance_t position = Distance_t(0) ) const
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.

Parameters
velocityterm only to determine the direction of movment (positive or negetive).
positionpositon at which the static gain is calculated.
Returns
Static gain.

◆ getAcclerationGain()

template<typename DistanceUnit >
Ka_t rmb::ElevatorFeedforward< DistanceUnit >::getAcclerationGain ( ) const
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.

Returns
Acceleration gain.

Implements rmb::Feedforward< DistanceUnit >.

◆ getVelocityGain()

template<typename DistanceUnit >
Kv_t rmb::ElevatorFeedforward< DistanceUnit >::getVelocityGain ( ) const
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.

Returns
Velocity gain.

Implements rmb::Feedforward< DistanceUnit >.

◆ maxAchievableAcceleration()

template<typename DistanceUnit >
Acceleration_t rmb::ElevatorFeedforward< DistanceUnit >::maxAchievableAcceleration ( units::volt_t maxVoltage,
Velocity_t velocity,
Distance_t position = Distance_t(0.0) ) const
inlineoverride

Calculates the maximum achievable accceleration of a component.

Parameters
maxVoltagemax voltage that can be applied
velocityvelocity that this acceleration is achived at
positionposition that this acceleration is achived at
Returns
Maximum achivable acceleration.

◆ maxAchievableVelocity()

template<typename DistanceUnit >
Velocity_t rmb::ElevatorFeedforward< DistanceUnit >::maxAchievableVelocity ( units::volt_t maxVoltage,
Acceleration_t acceleration,
Distance_t position = Distance_t(0.0) ) const
inlineoverride

Calculates the minimum achievable velocity of a component.

Parameters
maxVoltagemax voltage that can be applied
accelerationacceleration that this velocity is achived at
positionposition that this veloocity is achived at
Returns
Maximum achivable velocity.

◆ minAchievableAcceleration()

template<typename DistanceUnit >
Acceleration_t rmb::ElevatorFeedforward< DistanceUnit >::minAchievableAcceleration ( units::volt_t maxVoltage,
Velocity_t velocity,
Distance_t position = Distance_t(0.0) ) const
inlineoverride

Calculates the minimum achievable accceleration of a component.

Parameters
maxVoltagemax voltage that can be applied
velocityvelocity that this acceleration is achived at
positionposition that this acceleration is achived at
Returns
Minimum achivable acceleration.

◆ minAchievableVelocity()

template<typename DistanceUnit >
Velocity_t rmb::ElevatorFeedforward< DistanceUnit >::minAchievableVelocity ( units::volt_t maxVoltage,
Acceleration_t acceleration,
Distance_t position = Distance_t(0.0) ) const
inlineoverride

Calculates the minimum achievable velocity of a component.

Parameters
maxVoltagemax voltage that can be applied
accelerationacceleration that this velocity is achived at
positionposition that this veloocity is achived at
Returns
Minimum achivable velocity.

The documentation for this class was generated from the following file: