42 double kp, ki, kd, kf;
50 bool first_run =
true;
52 std::chrono::high_resolution_clock::time_point pre_time =
53 std::chrono::high_resolution_clock::now();
88 double update(
double current,
double target,
double last_saturated);
112 double kp, ki, kd, kf;
117 double pre_error = 0;
123 bool first_run =
true;
125 std::chrono::high_resolution_clock::time_point pre_time =
126 std::chrono::high_resolution_clock::now();
154 double update(
double current,
double target);
Position Form PID Controller class.
Definition: pid.hpp:40
double update(double current, double target, double last_saturated)
Update PID cycle.
Definition: pid.cpp:23
std::array< double, 3 > get_each_term()
Get each term value of pid.
Definition: pid.cpp:63
void set_offset(double offset)
Set offset.
Definition: pid.cpp:69
void reset()
Reset pid.
Definition: pid.cpp:71
Velocity Form PID Controller class.
Definition: pid.hpp:110
void set_offset(double offset)
Set offset.
Definition: pid.cpp:126
double get_dt() const
Get dt.
Definition: pid.cpp:136
double update(double current, double target)
Update PID cycle.
Definition: pid.cpp:84
void reset()
Reset previous output.
Definition: pid.cpp:128
std::array< double, 3 > get_each_term()
Get each term value of pid.
Definition: pid.cpp:130
Hyperparameter for PositionPID.
Definition: pid.hpp:28
double kd
Integral gain.
Definition: pid.hpp:31
double offset
Low-pass filter coefficient.
Definition: pid.hpp:33
double ki
Proportional gain.
Definition: pid.hpp:30
double kp
Definition: pid.hpp:29
double kf
Derivative gain.
Definition: pid.hpp:32
Hyperparameter for VelocityPID.
Definition: pid.hpp:96
double hi
Minimal value.
Definition: pid.hpp:102
double ki
Proportional gain.
Definition: pid.hpp:98
double kf
Derivative gain.
Definition: pid.hpp:100
double offset
Maximun value.
Definition: pid.hpp:103
double kd
Integral gain.
Definition: pid.hpp:99
double kp
Definition: pid.hpp:97
double lo
Low-pass filter coefficient.
Definition: pid.hpp:101