Public Types | Public Member Functions | Private Attributes | List of all members
corbo::OpenLoopControlTask Class Reference

Perform open-loop control task. More...

#include <task_open_loop_control.h>

Inheritance diagram for corbo::OpenLoopControlTask:
Inheritance graph
[legend]

Public Types

using Ptr = std::shared_ptr< OpenLoopControlTask >
 
- Public Types inherited from corbo::TaskInterface
using Ptr = std::shared_ptr< TaskInterface >
 

Public Member Functions

void getAvailableSignals (const Environment &environment, SignalTargetInterface &signal_target, const std::string &ns="") const override
 Retrieve available signals from the task. More...
 
TaskInterface::Ptr getInstance () const override
 Return a newly created shared instance of the implemented class. More...
 
 OpenLoopControlTask ()
 Default constructor. More...
 
void performTask (Environment &environment, SignalTargetInterface *signal_target=nullptr, std::string *msg=nullptr, const std::string &ns="") override
 Perform task. More...
 
void reset () override
 Reset task state. More...
 
void setControlReference (ReferenceTrajectoryInterface::Ptr ureference)
 Set control input reference trajectory. More...
 
void setStateReference (ReferenceTrajectoryInterface::Ptr xreference)
 Set state reference trajectory. More...
 
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. More...
 
- Public Member Functions inherited from corbo::TaskInterface
virtual ~TaskInterface ()
 Virtuel destructor. More...
 

Private Attributes

double _dt = 0.1
 
bool _realtime_sync = false
 
ReferenceTrajectoryInterface::Ptr _ureference
 
ReferenceTrajectoryInterface::Ptr _xreference
 

Detailed Description

Perform open-loop control task.

This class performs an open-loop control task given a state and control input reference trajectory.

Remarks
The underlying controller must support open-loop control!
See also
TaskInterface Environment
Author
Christoph Rösmann (chris.nosp@m.toph.nosp@m..roes.nosp@m.mann.nosp@m.@tu-d.nosp@m.ortm.nosp@m.und.d.nosp@m.e)

Definition at line 49 of file task_open_loop_control.h.

Member Typedef Documentation

◆ Ptr

Definition at line 52 of file task_open_loop_control.h.

Constructor & Destructor Documentation

◆ OpenLoopControlTask()

corbo::OpenLoopControlTask::OpenLoopControlTask ( )

Default constructor.

Definition at line 34 of file task_open_loop_control.cpp.

Member Function Documentation

◆ getAvailableSignals()

void corbo::OpenLoopControlTask::getAvailableSignals ( const Environment environment,
SignalTargetInterface signal_target,
const std::string &  ns = "" 
) const
overridevirtual

Retrieve available signals from the task.

Register a-priori known signals at the signal target. Registration is optional. Note, during performTask() further signals might occur without registration (in case the they are not known in advance or the implementation lacks a proper registration).

Parameters
[in,out]signal_targetTarget for occuring signals [optional]

Reimplemented from corbo::TaskInterface.

Definition at line 41 of file task_open_loop_control.cpp.

◆ getInstance()

TaskInterface::Ptr corbo::OpenLoopControlTask::getInstance ( ) const
inlineoverridevirtual

Return a newly created shared instance of the implemented class.

Implements corbo::TaskInterface.

Definition at line 58 of file task_open_loop_control.h.

◆ performTask()

void corbo::OpenLoopControlTask::performTask ( Environment environment,
SignalTargetInterface signal_target = nullptr,
std::string *  msg = nullptr,
const std::string &  ns = "" 
)
overridevirtual

Perform task.

Parameters
[in]environmentStandard environment (plant, controller, observer)
[in,out]signal_targetTarget for occuring signals [optional]

Implements corbo::TaskInterface.

Definition at line 66 of file task_open_loop_control.cpp.

◆ reset()

void corbo::OpenLoopControlTask::reset ( )
inlineoverridevirtual

Reset task state.

Implements corbo::TaskInterface.

Definition at line 76 of file task_open_loop_control.h.

◆ setControlReference()

void corbo::OpenLoopControlTask::setControlReference ( ReferenceTrajectoryInterface::Ptr  ureference)
inline

Set control input reference trajectory.

Definition at line 67 of file task_open_loop_control.h.

◆ setStateReference()

void corbo::OpenLoopControlTask::setStateReference ( ReferenceTrajectoryInterface::Ptr  xreference)
inline

Set state reference trajectory.

Definition at line 65 of file task_open_loop_control.h.

◆ verify()

bool corbo::OpenLoopControlTask::verify ( const Environment environment,
std::string *  msg = nullptr 
) const
overridevirtual

Check if the environment and other settings satisfy all requirements for the given task.

This function can be called in order to check if all components and models are appropriate, e.g. if all input and output dimensions are chosen adequately.

Note, Environment::verify() might be invoked in order to check if controller, plant and observer are specified correctly and if they have matching dimensions.

Parameters
[in]environmentStandard environment (plant, controller, observer)
[out]msgThe string contains issue messages and hints if available [optional]
Returns
true if verification was successfull, false otherwise.

Implements corbo::TaskInterface.

Definition at line 172 of file task_open_loop_control.cpp.

Member Data Documentation

◆ _dt

double corbo::OpenLoopControlTask::_dt = 0.1
private

Definition at line 92 of file task_open_loop_control.h.

◆ _realtime_sync

bool corbo::OpenLoopControlTask::_realtime_sync = false
private

Definition at line 93 of file task_open_loop_control.h.

◆ _ureference

ReferenceTrajectoryInterface::Ptr corbo::OpenLoopControlTask::_ureference
private

Definition at line 95 of file task_open_loop_control.h.

◆ _xreference

ReferenceTrajectoryInterface::Ptr corbo::OpenLoopControlTask::_xreference
private

Definition at line 94 of file task_open_loop_control.h.


The documentation for this class was generated from the following files:


control_box_rst
Author(s): Christoph Rösmann
autogenerated on Mon Feb 28 2022 22:08:03