4#include "../Control_block.h"
26 Controller(
const std::string& symbol,
const vector<double>& value,
int number_signals, std::vector<double> refs = { 0 })
40 virtual Eigen::VectorXd
define_equations(
const Eigen::VectorXd& x,
const Eigen::VectorXd& u,
const Eigen::VectorXd& c) {
41 return Eigen::VectorXd::Zero(2);
51 virtual Eigen::VectorXd
define_equations(
const double x,
const double u,
const double c) {
52 return Eigen::VectorXd::Zero(2);
58 std::cout << ref <<
" ";
60 std::cout << std::endl;
65 for (
size_t i = 0; i < ref.size(); ++i) {
91 return static_cast<int>(
reference.size());
Abstract base for filters, integrators, and controllers.
Definition Control_block.h:17
Abstract controller with per-channel reference values.
Definition Controller.h:17
std::string getControllerSymbol() const
Return the controller symbol/name.
Definition Controller.h:85
Controller(const std::string &symbol, const vector< double > &value, int number_signals, std::vector< double > refs={ 0 })
Construct a controller with reference setpoints.
Definition Controller.h:26
bool active
Definition Controller.h:104
std::vector< double > getReference() const
Return a copy of the current reference vector.
Definition Controller.h:80
virtual vector< double > getParameters() const
Return controller-specific parameters (implemented by subclasses).
Definition Controller.h:95
std::vector< double > reference
Definition Controller.h:105
virtual ~Controller()=default
virtual void setParameters(const vector< double > ¶ms)
Set controller-specific parameters (implemented by subclasses).
Definition Controller.h:98
void setReference(const std::vector< double > &ref)
Replace all reference setpoints.
Definition Controller.h:64
virtual Eigen::VectorXd define_equations(const double x, const double u, const double c)
Controller dynamics for scalar state and signals.
Definition Controller.h:51
virtual void printValues() override
Print reference values to standard output.
Definition Controller.h:56
int getNumberOfSignals() const
Return the number of control channels.
Definition Controller.h:90
void setReference(const double ref, int i)
Set one reference channel.
Definition Controller.h:75
virtual Eigen::VectorXd define_equations(const Eigen::VectorXd &x, const Eigen::VectorXd &u, const Eigen::VectorXd &c)
Controller dynamics for vector states and signals.
Definition Controller.h:40
std::string controller_symbol
Definition Controller.h:103