33#ifndef CONTROL_TOOLBOX__PID_HPP_
34#define CONTROL_TOOLBOX__PID_HPP_
41#include "realtime_tools/realtime_buffer.hpp"
122 Gains(
double p,
double i,
double d,
double i_max,
double i_min)
139 Gains(
double p,
double i,
double d,
double i_max,
double i_min,
bool antiwindup)
170 double p = 0.0,
double i = 0.0,
double d = 0.0,
double i_max = 0.0,
double i_min = -0.0,
171 bool antiwindup =
false);
197 void initPid(
double p,
double i,
double d,
double i_max,
double i_min,
bool antiwindup =
false);
212 void getGains(
double & p,
double & i,
double & d,
double & i_max,
double & i_min);
223 double & p,
double & i,
double & d,
double & i_max,
double & i_min,
bool & antiwindup);
242 void setGains(
double p,
double i,
double d,
double i_max,
double i_min,
bool antiwindup =
false);
275 [[nodiscard]]
double computeCommand(
double error,
double error_dot, uint64_t dt);
306 if (
this == &source) {
311 gains_buffer_ = source.gains_buffer_;