![]() |
ORCA: Optimization-based framework for Robotic Control Applications
|
The common base class for tasks and constraints. More...
#include <TaskBase.h>
Inheritance diagram for orca::common::TaskBase:
Collaboration diagram for orca::common::TaskBase:Public Types | |
| enum | State { Init = 0, Resized, Activating, Activated, Deactivating, Deactivated, Error } |
| Represents the internal state of the task. More... | |
| using | Ptr = std::shared_ptr< TaskBase > |
Public Types inherited from orca::common::ConfigurableOrcaObject | |
| using | Ptr = std::shared_ptr< ConfigurableOrcaObject > |
| using | ParamMap = std::map< std::string, ParameterBase * > |
Public Member Functions | |
| TaskBase (const std::string &name, optim::ControlVariable control_var) | |
| virtual | ~TaskBase () |
| bool | isActivated () const |
| bool | isComputing () const |
| bool | setRobotModel (robot::RobotModel::Ptr robot) |
| optim::ControlVariable | getControlVariable () const |
| virtual bool | activate () |
| virtual void | update (double current_time, double dt) |
| virtual bool | deactivate () |
| virtual void | print () const |
| virtual bool | setProblem (std::shared_ptr< const orca::optim::Problem > problem) |
| bool | hasProblem () const |
| bool | hasRobot () const |
| bool | dependsOnProblem () const |
| bool | dependsOnWrench () const |
| bool | dependsOnRobotJoints () const |
| bool | dependsOnFloatingBase () const |
| bool | hasWrench () const |
| bool | isRobotInitialized () const |
| State | getState () const |
| void | setRampDuration (double ramp_time) |
| double | getRampDuration () const |
| double | getCurrentRampValue () const |
| double | getStartTime () const |
| double | getStopTime () const |
| std::shared_ptr< const optim::Problem > | getProblem () const |
| std::shared_ptr< const common::Wrench > | getWrench () const |
| std::shared_ptr< const robot::RobotModel > | getRobot () const |
| void | addChild (TaskBase::Ptr e) |
| Add a child/slave task that will be updated BEFORE the parent task. More... | |
| bool | hasParent () const |
| Returns true if the task owned by a parent task. More... | |
| bool | hasChildren () const |
| Returns true if the task has children. More... | |
| const std::string & | getParentName () const |
| Returns the parent name if it exists, empty otherwise. More... | |
| const std::string & | getPrintableName () const |
| Returns the name that include parent name if present. More... | |
| void | onResizedCallback (std::function< void(void)> cb) |
| void | onActivationCallback (std::function< void(void)> cb) |
| void | onActivatedCallback (std::function< void(void)> cb) |
| void | onComputeBeginCallback (std::function< void(double, double)> cb) |
| void | onComputeEndCallback (std::function< void(double, double)> cb) |
| void | onDeactivationCallback (std::function< void(void)> cb) |
| void | onDeactivatedCallback (std::function< void(void)> cb) |
Public Member Functions inherited from orca::common::ConfigurableOrcaObject | |
| ConfigurableOrcaObject (const std::string &config_name) | |
| virtual | ~ConfigurableOrcaObject () |
| template<class T > | |
| void | addParameter (const std::string ¶m_name, Parameter< T > *param, ParamPolicy policy=ParamPolicy::Required, std::function< void()> on_loading_success=0) |
| Returns true if all params added with have been set. More... | |
| template<class T > | |
| void | addParameter (const std::string ¶m_name, T ¶m, ParamPolicy policy=ParamPolicy::Required, std::function< void()> on_loading_success=0) |
| ParameterBase * | getParameter (const std::string ¶m_name) |
| Returns a param via its name. More... | |
| void | printParameters () const |
| Print all parameters to std::cout. More... | |
| bool | configureFromFile (const std::string &yaml_url) |
| Configure the task from YAML/JSON file. It must contain all the required parameters. More... | |
| bool | configureFromString (const std::string &yaml_str) |
| Configure the task from YAML/JSON string. It must contain all the required parameters. More... | |
| bool | isConfigured () const |
| const ParamMap & | getParameters () const |
| void | onConfigureSuccess (std::function< void()> f) |
Public Member Functions inherited from orca::common::OrcaObject | |
| OrcaObject (const std::string &name) | |
| virtual | ~OrcaObject () |
| const std::string & | getName () const |
| void | setName (const std::string &name) |
Public Attributes | |
| orca::common::MutexRecursive | mutex |
| The recursive mutex that is locked during the update function. It is up to the external user to lock this mutex to protect the task attributes. More... | |
Protected Member Functions | |
| virtual void | resize () |
| robot::RobotModel::Ptr | robot () |
| std::shared_ptr< Wrench > | wrench () |
| virtual void | onResize ()=0 |
| virtual void | onResized () |
| virtual void | onActivation () |
| virtual void | onActivated () |
| virtual bool | rampUp (double time_since_start) |
| void | setRampValue (double new_val) |
| virtual void | onCompute (double current_time, double dt)=0 |
| virtual bool | rampDown (double time_since_stop) |
| virtual void | onDeactivation () |
| virtual void | onDeactivated () |
The common base class for tasks and constraints.
This class contains a model of the robot, the problem in which the tasks is currently being used, and a state machine. Although this class is called TaskBase, both tasks and constraints inherit from this.
| using orca::common::TaskBase::Ptr = std::shared_ptr<TaskBase> |
Represents the internal state of the task.
| TaskBase::TaskBase | ( | const std::string & | name, |
| optim::ControlVariable | control_var | ||
| ) |
|
virtual |
|
virtual |
| void TaskBase::addChild | ( | TaskBase::Ptr | e | ) |
Add a child/slave task that will be updated BEFORE the parent task.
|
virtual |
| bool TaskBase::dependsOnFloatingBase | ( | ) | const |
| bool TaskBase::dependsOnProblem | ( | ) | const |
| bool TaskBase::dependsOnRobotJoints | ( | ) | const |
| bool TaskBase::dependsOnWrench | ( | ) | const |
| ControlVariable TaskBase::getControlVariable | ( | ) | const |
| double TaskBase::getCurrentRampValue | ( | ) | const |
| const std::string & TaskBase::getParentName | ( | ) | const |
Returns the parent name if it exists, empty otherwise.
| const std::string & TaskBase::getPrintableName | ( | ) | const |
Returns the name that include parent name if present.
| std::shared_ptr< const Problem > TaskBase::getProblem | ( | ) | const |
| double TaskBase::getRampDuration | ( | ) | const |
| std::shared_ptr< const RobotModel > TaskBase::getRobot | ( | ) | const |
| double TaskBase::getStartTime | ( | ) | const |
| TaskBase::State TaskBase::getState | ( | ) | const |
| double TaskBase::getStopTime | ( | ) | const |
| std::shared_ptr< const Wrench > TaskBase::getWrench | ( | ) | const |
| bool TaskBase::hasChildren | ( | ) | const |
Returns true if the task has children.
| bool TaskBase::hasParent | ( | ) | const |
Returns true if the task owned by a parent task.
| bool TaskBase::hasProblem | ( | ) | const |
| bool TaskBase::hasRobot | ( | ) | const |
| bool TaskBase::hasWrench | ( | ) | const |
| bool TaskBase::isActivated | ( | ) | const |
| bool TaskBase::isComputing | ( | ) | const |
| bool TaskBase::isRobotInitialized | ( | ) | const |
|
inlineprotectedvirtual |
| void TaskBase::onActivatedCallback | ( | std::function< void(void)> | cb | ) |
|
inlineprotectedvirtual |
Reimplemented in orca::common::CartesianAccelerationPID, orca::common::Wrench, orca::task::WrenchTask, orca::task::JointTorqueTask, orca::task::CartesianTask, orca::task::JointAccelerationTask, orca::task::RegularisationTask< C >, orca::constraint::ContactExistenceConditionConstraint, and orca::constraint::JointPositionLimitConstraint.
| void TaskBase::onActivationCallback | ( | std::function< void(void)> | cb | ) |
|
protectedpure virtual |
| void TaskBase::onComputeBeginCallback | ( | std::function< void(double, double)> | cb | ) |
| void TaskBase::onComputeEndCallback | ( | std::function< void(double, double)> | cb | ) |
|
inlineprotectedvirtual |
Reimplemented in orca::common::Wrench.
| void TaskBase::onDeactivatedCallback | ( | std::function< void(void)> | cb | ) |
|
inlineprotectedvirtual |
Reimplemented in orca::task::GenericTask, and orca::task::RegularisationTask< C >.
| void TaskBase::onDeactivationCallback | ( | std::function< void(void)> | cb | ) |
|
protectedpure virtual |
Implemented in orca::common::CartesianAccelerationPID, orca::constraint::GenericConstraint, orca::constraint::Contact, orca::common::Wrench, orca::task::WrenchTask, orca::constraint::LinearizedCoulombConstraint, orca::task::RegularisationTask< C >, orca::task::CartesianTask, orca::task::JointTorqueTask, orca::task::JointAccelerationTask, orca::constraint::ContactExistenceConditionConstraint, orca::constraint::JointLimitConstraint, and orca::constraint::DynamicsEquationConstraint.
|
inlineprotectedvirtual |
| void TaskBase::onResizedCallback | ( | std::function< void(void)> | cb | ) |
|
virtual |
|
protectedvirtual |
Reimplemented in orca::task::GenericTask.
|
protectedvirtual |
Reimplemented in orca::task::GenericTask.
|
protectedvirtual |
|
protected |
|
virtual |
| void TaskBase::setRampDuration | ( | double | ramp_time | ) |
|
protected |
| bool TaskBase::setRobotModel | ( | robot::RobotModel::Ptr | robot | ) |
|
virtual |
|
protected |
|
mutable |
The recursive mutex that is locked during the update function. It is up to the external user to lock this mutex to protect the task attributes.
1.8.11