25 #ifndef SRC_CONTROLLERS_INCLUDE_CORBO_CONTROLLERS_STEP_RESPONSE_GENERATOR_H_ 26 #define SRC_CONTROLLERS_INCLUDE_CORBO_CONTROLLERS_STEP_RESPONSE_GENERATOR_H_ 64 Ptr getInstance()
const override {
return std::make_shared<StepResponseGenerator>(); }
78 if (!u_sequence)
return false;
80 u_sequence->add(0.0,
_u);
87 #ifdef MESSAGE_SUPPORT 88 void toMessage(messages::StepResponseGenerator& message)
const 91 message.mutable_u_step()->Resize(
_u.size(), 0);
94 void fromMessage(
const messages::StepResponseGenerator& message, std::stringstream* issues =
nullptr)
97 if (message.u_step_size() > 0)
104 void toMessage(messages::Controller& message)
const override { toMessage(*message.mutable_step_response_generator()); }
106 void fromMessage(
const messages::Controller& message, std::stringstream* issues =
nullptr)
override 108 fromMessage(message.step_response_generator(), issues);
124 #endif // SRC_CONTROLLERS_INCLUDE_CORBO_CONTROLLERS_STEP_RESPONSE_GENERATOR_H_
static Ptr getInstanceStatic()
Return a newly created shared instance of the implemented class (static method)
void reset() override
Reset internal controller state and caches.
const Eigen::VectorXd & getControl() const
A matrix or vector expression mapping an existing array of data.
StepResponseGenerator()=default
int getControlInputDimension() const override
Return the control input dimension.
bool providesFutureControls() const override
Interface class for signal targets.
Representation of time stamps.
bool providesFutureStates() const override
int getStateDimension() const override
Return the dimension of the required plant state/output.
#define FACTORY_REGISTER_CONTROLLER(type)
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
Ptr getInstance() const override
Return a newly created shared instance of the implemented class.
void setStateDimension(int state_dim)
bool hasPiecewiseConstantControls() const override
Return true if the controller returns piecewise constant control pieces.
Interface class for reference trajectories.
Eigen::VectorXd StateVector
void getAvailableSignals(SignalTargetInterface &signal_target, const std::string &ns="") const override
Retrieve available signals from the controller.
void setControl(const Eigen::VectorXd &u_step)
Interface class for controllers.
std::shared_ptr< TimeSeries > Ptr
Representation of time durations.
std::shared_ptr< ControllerInterface > Ptr