|
libstp
Robotics library for Botball
|
#include <control_elements.hpp>
Public Member Functions | |
| ControlElementPID (double kp, double ki, double kd, double out_max=1e30, double i_max=1e30) | |
| std::string | getType () const override |
| Short type tag, e.g. "P", "PT1", "ControlLoop". | |
| double | getLowestTimeConstant () const override |
| Lowest time constant of the element, or -1 if it has none. | |
| void | initialize (double) override |
Reset internal state for a simulation run at sample time dt. | |
| double | calculate (double e, double dt) override |
Advance one sample: feed input u, return output. | |
| int | optimizeGetNumParameters () const override |
| Number of tunable parameters this element consumes. | |
| void | optimizeSetParameters (const std::vector< double > ¶ms, int startIdx) override |
Load parameters from params starting at startIdx. | |
| Public Member Functions inherited from libstp::autotune::control::ControlElement | |
| virtual | ~ControlElement ()=default |
Full dt-EXPLICIT PID controller.
Mirrors the dt-explicit STM32 firmware pid.c: iErr += e * dt; dErr = (e - prevErr) / dt; u = kP*e + kI*iErr + kD*dErr; so kI/kD are physical per-second gains and DE-optimized gains transfer directly to the firmware. This element is NOT part of Brischalle's TS toolkit — it intentionally diverges from the toolkit's separate ControlElementI/D (which use the toolkit's own discrete forms) to match the firmware exactly.
Definition at line 145 of file control_elements.hpp.
|
inline |
Definition at line 153 of file control_elements.hpp.
|
inlineoverridevirtual |
Advance one sample: feed input u, return output.
Implements libstp::autotune::control::ControlElement.
Definition at line 166 of file control_elements.hpp.
|
inlinenodiscardoverridevirtual |
Lowest time constant of the element, or -1 if it has none.
Implements libstp::autotune::control::ControlElement.
Definition at line 160 of file control_elements.hpp.
|
inlinenodiscardoverridevirtual |
Short type tag, e.g. "P", "PT1", "ControlLoop".
Implements libstp::autotune::control::ControlElement.
Definition at line 159 of file control_elements.hpp.
|
inlineoverridevirtual |
Reset internal state for a simulation run at sample time dt.
Implements libstp::autotune::control::ControlElement.
Definition at line 161 of file control_elements.hpp.
|
inlinenodiscardoverridevirtual |
Number of tunable parameters this element consumes.
Implements libstp::autotune::control::ControlElement.
Definition at line 200 of file control_elements.hpp.
|
inlineoverridevirtual |
Load parameters from params starting at startIdx.
Implements libstp::autotune::control::ControlElement.
Definition at line 201 of file control_elements.hpp.