Struct Pid::Gains

Nested Relationships

This struct is a nested type of Class Pid.

Struct Documentation

struct Gains

Store gains in a struct to allow easier realtime box usage.

Public Functions

inline Gains(double p, double i, double d, double u_max, double u_min, const AntiWindupStrategy &antiwindup_strat)

Constructor for passing in values.

Parameters:
  • p – The proportional gain.

  • i – The integral gain.

  • d – The derivative gain.

  • u_max – Upper output clamp.

  • u_min – Lower output clamp.

  • antiwindup_strat – Specifies the anti-windup strategy. Options: ‘back_calculation’, ‘conditional_integration’, or ‘none’. Note that the ‘back_calculation’ strategy use the tracking_time_constant parameter to tune the anti-windup behavior.

inline bool validate(std::string &error_msg) const
inline void print() const

Public Members

double p_gain_ = 0.0

Proportional gain.

double i_gain_ = 0.0

Integral gain.

double d_gain_ = 0.0

Derivative gain.

double i_max_ = std::numeric_limits<double>::infinity()

Maximum allowable integral term.

double i_min_ = -std::numeric_limits<double>::infinity()

Minimum allowable integral term.

double u_max_ = std::numeric_limits<double>::infinity()

Maximum allowable output.

double u_min_ = -std::numeric_limits<double>::infinity()

Minimum allowable output.

AntiWindupStrategy antiwindup_strat_

Anti-windup strategy.