25 #ifndef SRC_CONTROLLERS_INCLUDE_CORBO_CONTROLLERS_PID_CONTROLLER_H_ 26 #define SRC_CONTROLLERS_INCLUDE_CORBO_CONTROLLERS_PID_CONTROLLER_H_ 63 Ptr getInstance()
const override {
return std::make_shared<PidController>(); }
96 #ifdef MESSAGE_SUPPORT 98 void toMessage(corbo::messages::Controller& message)
const override;
100 void fromMessage(
const corbo::messages::Controller& message, std::stringstream* issues =
nullptr)
override;
104 void reset()
override;
130 #endif // SRC_CONTROLLERS_INCLUDE_CORBO_CONTROLLERS_PID_CONTROLLER_H_
std::vector< double > _i_error
void publishError(bool active)
Specify whether the control error should be published via signal.
bool step(const StateVector &x, ReferenceTrajectoryInterface &xref, ReferenceTrajectoryInterface &uref, const Duration &dt, const Time &t, TimeSeries::Ptr u_sequence, TimeSeries::Ptr x_sequence, SignalTargetInterface *signal_target=nullptr, ReferenceTrajectoryInterface *sref=nullptr, ReferenceTrajectoryInterface *xinit=nullptr, ReferenceTrajectoryInterface *uinit=nullptr, const std::string &ns="") override
void setGainP(double p_gain)
Set proportional gain.
void setGainD(double d_gain)
void setGainI(double i_gain)
bool providesFutureStates() const override
std::vector< double > _d_error
void setNumParallelPid(int num_parallel_pid)
std::shared_ptr< ControllerStatistics > Ptr
ControllerStatistics::Ptr getStatistics() const override
bool hasPiecewiseConstantControls() const override
Return true if the controller returns piecewise constant control pieces.
void getAvailableSignals(SignalTargetInterface &signal_target, const std::string &ns="") const override
Retrieve available signals from the controller.
Interface class for signal targets.
Representation of time stamps.
static Ptr getInstanceStatic()
Return a newly created shared instance of the implemented class (static method)
const double & getGainP() const
std::vector< double > _p_error
bool providesFutureControls() const override
int getControlInputDimension() const override
Return the control input dimension.
#define FACTORY_REGISTER_CONTROLLER(type)
Ptr getInstance() const override
Return a newly created shared instance of the implemented class.
void reset() override
Reset internal controller state and caches.
Interface class for reference trajectories.
Eigen::VectorXd StateVector
int getStateDimension() const override
Return the dimension of the required plant state/output.
Interface class for controllers.
std::shared_ptr< TimeSeries > Ptr
Representation of time durations.
const double & getGainI() const
Set integral gain.
std::shared_ptr< ControllerInterface > Ptr
const double & getGainD() const
Set differential gain.