#include <gains.hpp>
|
FloatFieldType & | deadZone () |
|
const FloatFieldType & | deadZone () const |
|
BoolFieldType & | dOnError () |
|
const BoolFieldType & | dOnError () const |
|
FloatFieldType & | feedForward () |
| Feed forward term (this term is multiplied by the target and added to the output). More...
|
|
const FloatFieldType & | feedForward () const |
| Feed forward term (this term is multiplied by the target and added to the output). More...
|
|
| Gains (MessageRefType &internal, FloatEnumType kp_gain, BoolEnumType d_on_error_gain) |
|
| Gains (const MessageRefType &internal, FloatEnumType kp_gain, BoolEnumType d_on_error_gain) |
|
FloatFieldType & | iClamp () |
|
const FloatFieldType & | iClamp () const |
|
FloatFieldType & | kD () |
| Derivative PID gain. More...
|
|
const FloatFieldType & | kD () const |
| Derivative PID gain. More...
|
|
FloatFieldType & | kI () |
| Integral PID gain. More...
|
|
const FloatFieldType & | kI () const |
| Integral PID gain. More...
|
|
FloatFieldType & | kP () |
| Proportional PID gain. More...
|
|
const FloatFieldType & | kP () const |
| Proportional PID gain. More...
|
|
FloatFieldType & | maxOutput () |
| Output from the PID controller is limited to a maximum of this value. More...
|
|
const FloatFieldType & | maxOutput () const |
| Output from the PID controller is limited to a maximum of this value. More...
|
|
FloatFieldType & | maxTarget () |
| Maximum allowed value for input to the PID controller. More...
|
|
const FloatFieldType & | maxTarget () const |
| Maximum allowed value for input to the PID controller. More...
|
|
FloatFieldType & | minOutput () |
| Output from the PID controller is limited to a minimum of this value. More...
|
|
const FloatFieldType & | minOutput () const |
| Output from the PID controller is limited to a minimum of this value. More...
|
|
FloatFieldType & | minTarget () |
| Minimum allowed value for input to the PID controller. More...
|
|
const FloatFieldType & | minTarget () const |
| Minimum allowed value for input to the PID controller. More...
|
|
FloatFieldType & | outputLowpass () |
|
const FloatFieldType & | outputLowpass () const |
|
FloatFieldType & | punch () |
|
const FloatFieldType & | punch () const |
|
FloatFieldType & | targetLowpass () |
|
const FloatFieldType & | targetLowpass () const |
|
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
class hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >
Definition at line 9 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::Gains |
( |
MessageRefType & |
internal, |
|
|
FloatEnumType |
kp_gain, |
|
|
BoolEnumType |
d_on_error_gain |
|
) |
| |
|
inline |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::Gains |
( |
const MessageRefType & |
internal, |
|
|
FloatEnumType |
kp_gain, |
|
|
BoolEnumType |
d_on_error_gain |
|
) |
| |
|
inline |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::deadZone |
( |
| ) |
|
|
inline |
Error values within +/- this value from zero are treated as zero (in terms of computed proportional output, input to numerical derivative, and accumulated integral error).
Definition at line 67 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::deadZone |
( |
| ) |
const |
|
inline |
Error values within +/- this value from zero are treated as zero (in terms of computed proportional output, input to numerical derivative, and accumulated integral error).
Definition at line 70 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
BoolFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::dOnError |
( |
| ) |
|
|
inline |
Controls whether the Kd term uses the "derivative of error" or "derivative of measurement." When the setpoints have step inputs or are noisy, setting this to false
can eliminate corresponding spikes or noise in the output.
Definition at line 113 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const BoolFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::dOnError |
( |
| ) |
const |
|
inline |
Controls whether the Kd term uses the "derivative of error" or "derivative of measurement." When the setpoints have step inputs or are noisy, setting this to false
can eliminate corresponding spikes or noise in the output.
Definition at line 116 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::feedForward |
( |
| ) |
|
|
inline |
Feed forward term (this term is multiplied by the target and added to the output).
Definition at line 62 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::feedForward |
( |
| ) |
const |
|
inline |
Feed forward term (this term is multiplied by the target and added to the output).
Definition at line 64 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::iClamp |
( |
| ) |
|
|
inline |
Maximum allowed value for the output of the integral component of the PID loop; the integrated error is not allowed to exceed value that will generate this number.
Definition at line 73 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::iClamp |
( |
| ) |
const |
|
inline |
Maximum allowed value for the output of the integral component of the PID loop; the integrated error is not allowed to exceed value that will generate this number.
Definition at line 76 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::kD |
( |
| ) |
|
|
inline |
Derivative PID gain.
Definition at line 58 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::kD |
( |
| ) |
const |
|
inline |
Derivative PID gain.
Definition at line 60 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::kI |
( |
| ) |
|
|
inline |
Integral PID gain.
Definition at line 54 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::kI |
( |
| ) |
const |
|
inline |
Integral PID gain.
Definition at line 56 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::kP |
( |
| ) |
|
|
inline |
Proportional PID gain.
Definition at line 50 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::kP |
( |
| ) |
const |
|
inline |
Proportional PID gain.
Definition at line 52 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::maxOutput |
( |
| ) |
|
|
inline |
Output from the PID controller is limited to a maximum of this value.
Definition at line 102 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::maxOutput |
( |
| ) |
const |
|
inline |
Output from the PID controller is limited to a maximum of this value.
Definition at line 104 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::maxTarget |
( |
| ) |
|
|
inline |
Maximum allowed value for input to the PID controller.
Definition at line 88 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::maxTarget |
( |
| ) |
const |
|
inline |
Maximum allowed value for input to the PID controller.
Definition at line 90 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::minOutput |
( |
| ) |
|
|
inline |
Output from the PID controller is limited to a minimum of this value.
Definition at line 98 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::minOutput |
( |
| ) |
const |
|
inline |
Output from the PID controller is limited to a minimum of this value.
Definition at line 100 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::minTarget |
( |
| ) |
|
|
inline |
Minimum allowed value for input to the PID controller.
Definition at line 84 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::minTarget |
( |
| ) |
const |
|
inline |
Minimum allowed value for input to the PID controller.
Definition at line 86 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::outputLowpass |
( |
| ) |
|
|
inline |
A simple lowpass filter applied to the controller output; needs to be between 0 and 1. At each timestep: x_t = x_t * a + x_{t-1} * (1 - a).
Definition at line 107 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::outputLowpass |
( |
| ) |
const |
|
inline |
A simple lowpass filter applied to the controller output; needs to be between 0 and 1. At each timestep: x_t = x_t * a + x_{t-1} * (1 - a).
Definition at line 110 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::punch |
( |
| ) |
|
|
inline |
Constant offset to the PID output outside of the deadzone; it is added when the error is positive and subtracted when it is negative.
Definition at line 79 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::punch |
( |
| ) |
const |
|
inline |
Constant offset to the PID output outside of the deadzone; it is added when the error is positive and subtracted when it is negative.
Definition at line 82 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::targetLowpass |
( |
| ) |
|
|
inline |
A simple lowpass filter applied to the target set point; needs to be between 0 and 1. At each timestep: x_t = x_t
Definition at line 93 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
const FloatFieldType& hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::targetLowpass |
( |
| ) |
const |
|
inline |
A simple lowpass filter applied to the target set point; needs to be between 0 and 1. At each timestep: x_t = x_t
Definition at line 96 of file gains.hpp.
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
BoolFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::d_on_error_ |
|
private |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::dead_zone_ |
|
private |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::feed_forward_ |
|
private |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::i_clamp_ |
|
private |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::kd_ |
|
private |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::ki_ |
|
private |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::kp_ |
|
private |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::max_output_ |
|
private |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::max_target_ |
|
private |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::min_output_ |
|
private |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::min_target_ |
|
private |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::output_lowpass_ |
|
private |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::punch_ |
|
private |
template<typename MessageRefType, typename FloatFieldType, typename BoolFieldType, typename FloatEnumType, typename BoolEnumType>
FloatFieldType hebi::Gains< MessageRefType, FloatFieldType, BoolFieldType, FloatEnumType, BoolEnumType >::target_lowpass_ |
|
private |
The documentation for this class was generated from the following file: