libstp
Robotics library for Botball
Loading...
Searching...
No Matches
libstp::autotune::control::ControlElement Class Referenceabstract

Abstract base for every control element (P, I, D, PT1, ...). More...

#include <control_element.hpp>

Inheritance diagram for libstp::autotune::control::ControlElement:
[legend]

Public Member Functions

virtual ~ControlElement ()=default
virtual std::string getType () const =0
 Short type tag, e.g. "P", "PT1", "ControlLoop".
virtual double getLowestTimeConstant () const =0
 Lowest time constant of the element, or -1 if it has none.
virtual void initialize (double dt)=0
 Reset internal state for a simulation run at sample time dt.
virtual double calculate (double u, double dt)=0
 Advance one sample: feed input u, return output.
virtual int optimizeGetNumParameters () const =0
 Number of tunable parameters this element consumes.
virtual void optimizeSetParameters (const std::vector< double > &params, int startIdx)=0
 Load parameters from params starting at startIdx.

Detailed Description

Abstract base for every control element (P, I, D, PT1, ...).

Faithful port of ControlElement.ts. Implements the optimization interface (IControlOptimization) directly: every element exposes how many tunable parameters it has and how to write a flat parameter vector into its state.

Definition at line 25 of file control_element.hpp.

Constructor & Destructor Documentation

◆ ~ControlElement()

virtual libstp::autotune::control::ControlElement::~ControlElement ( )
virtualdefault

Member Function Documentation

◆ calculate()

◆ getLowestTimeConstant()

◆ getType()

◆ initialize()

◆ optimizeGetNumParameters()

◆ optimizeSetParameters()


The documentation for this class was generated from the following file:
  • /home/runner/work/raccoon-lib/raccoon-lib/modules/libstp-autotune/include/autotune/control/control_element.hpp