25 #ifndef SRC_TASKS_INCLUDE_CORBO_TASKS_TASK_CLOSED_LOOP_CONTROL_H_ 26 #define SRC_TASKS_INCLUDE_CORBO_TASKS_TASK_CLOSED_LOOP_CONTROL_H_ 53 using Ptr = std::shared_ptr<ClosedLoopControlTask>;
63 const std::string& ns =
"")
override;
71 bool verify(
const Environment& environment, std::string* msg =
nullptr)
const override;
77 void reset()
override;
79 #ifdef MESSAGE_SUPPORT 80 void toMessage(messages::ClosedLoopControlTask& message)
const;
81 void fromMessage(
const messages::ClosedLoopControlTask& message, std::stringstream* issues =
nullptr);
84 void toMessage(messages::Task& message)
const override { toMessage(*message.mutable_closed_loop_control_task()); }
86 void fromMessage(
const messages::Task& message, std::stringstream* issues =
nullptr)
override 88 fromMessage(message.closed_loop_control_task(), issues);
116 #endif // SRC_TASKS_INCLUDE_CORBO_TASKS_TASK_CLOSED_LOOP_CONTROL_H_ TimeValueBuffer _time_value_buffer
Standard environment for control tasks.
ReferenceTrajectoryInterface::Ptr _xreference
FilterInterface::Ptr _computation_delay_filter
std::shared_ptr< FilterInterface > Ptr
std::shared_ptr< TaskInterface > Ptr
void setControlReference(ReferenceTrajectoryInterface::Ptr ureference)
Set control input reference trajectory.
Time Delay Object for Piecewise-Constant Signals.
Interface class for signal targets.
void performTask(Environment &environment, SignalTargetInterface *signal_target=nullptr, std::string *msg=nullptr, const std::string &ns="") override
Perform task.
void setStateReference(ReferenceTrajectoryInterface::Ptr xreference)
Set state reference trajectory.
void getAvailableSignals(const Environment &environment, SignalTargetInterface &signal_target, const std::string &ns="") const override
Retrieve available signals from the task.
constexpr const double CORBO_INF_DBL
Representation for infinity (double version)
bool verify(const Environment &environment, std::string *msg=nullptr) const override
Check if the environment and other settings satisfy all requirements for the given task...
OneStepPredictor _compensator
void reset() override
Reset task state.
double _computation_delay
bool _compensate_dead_time
std::shared_ptr< ClosedLoopControlTask > Ptr
std::shared_ptr< ReferenceTrajectoryInterface > Ptr
ReferenceTrajectoryInterface::Ptr _ureference
TaskInterface::Ptr getInstance() const override
Return a newly created shared instance of the implemented class.
ClosedLoopControlTask()
Default constructor.
#define FACTORY_REGISTER_TASK(type)
Perform closed-loop control task.
bool _compensate_cpu_time
Interface class for tasks.