SCL  1.0
Standard Control Library : Control, dynamics, physics, and simulation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
scl::CTaskBase Class Referenceabstract

#include <CTaskBase.hpp>

Inheritance diagram for scl::CTaskBase:
Inheritance graph
[legend]
Collaboration diagram for scl::CTaskBase:
Collaboration graph
[legend]

Public Member Functions

virtual bool computeServo (const SRobotSensors *arg_sensors)=0
 
virtual bool computeModel (const SRobotSensors *arg_sensors)=0
 
virtual STaskBasegetTaskData ()=0
 
virtual bool setGoalPos (const Eigen::VectorXd &arg_goal)
 
virtual bool setGoalVel (const Eigen::VectorXd &arg_goal)
 
virtual bool setGoalAcc (const Eigen::VectorXd &arg_goal)
 
virtual bool getGoalPos (Eigen::VectorXd &arg_goal) const
 
virtual bool getGoalVel (Eigen::VectorXd &arg_goal) const
 
virtual bool getGoalAcc (Eigen::VectorXd &arg_goal) const
 
virtual bool getPos (Eigen::VectorXd &arg_pos) const
 
virtual bool getVel (Eigen::VectorXd &arg_vel) const
 
virtual bool getAcc (Eigen::VectorXd &arg_acc) const
 
 CTaskBase ()
 
virtual ~CTaskBase ()
 
virtual bool init (STaskBase *arg_task_data, CDynamicsBase *arg_dynamics)=0
 
virtual void reset ()=0
 
virtual sBool hasBeenInit ()
 
virtual sBool setActivated (sBool arg_activate)
 
virtual sBool hasBeenActivated ()
 

Protected Attributes

sBool has_been_init_
 
CDynamicsBasedynamics_
 

Detailed Description

Container class to encapsulate a task model and a task servo.

NOTE : Virtual class. Subclass and implement functions that compute the task forces.

Constructor & Destructor Documentation

scl::CTaskBase::CTaskBase ( )
inline

Constructor does nothing

virtual scl::CTaskBase::~CTaskBase ( )
inlinevirtual

Destructor does nothing

Member Function Documentation

virtual bool scl::CTaskBase::computeModel ( const SRobotSensors arg_sensors)
pure virtual
virtual bool scl::CTaskBase::computeServo ( const SRobotSensors arg_sensors)
pure virtual
virtual bool scl::CTaskBase::getAcc ( Eigen::VectorXd &  arg_acc) const
inlinevirtual

Gets the current acceleration. Returns false if not supported by task.

Reimplemented in scl::CTaskOpPosPIDA1OrderInfTime, scl::CTaskOpPos, and scl::CTaskComPos.

virtual bool scl::CTaskBase::getGoalAcc ( Eigen::VectorXd &  arg_goal) const
inlinevirtual

Gets the current goal acceleration. Returns false if not supported by task.

Reimplemented in scl::CTaskOpPosPIDA1OrderInfTime, scl::CTaskOpPos, scl::CTaskGcSet, scl::CTaskComPos, and scl::CTaskGc.

virtual bool scl::CTaskBase::getGoalPos ( Eigen::VectorXd &  arg_goal) const
inlinevirtual

Gets the current goal position. Returns false if not supported by task.

Reimplemented in scl::CTaskOpPosPIDA1OrderInfTime, scl::CTaskOpPos, scl::CTaskGcSet, scl::CTaskComPos, scl::CTaskGcLimitCentering, and scl::CTaskGc.

virtual bool scl::CTaskBase::getGoalVel ( Eigen::VectorXd &  arg_goal) const
inlinevirtual

Gets the current goal velocity. Returns false if not supported by task.

Reimplemented in scl::CTaskOpPosPIDA1OrderInfTime, scl::CTaskOpPos, scl::CTaskGcSet, scl::CTaskComPos, and scl::CTaskGc.

virtual bool scl::CTaskBase::getPos ( Eigen::VectorXd &  arg_pos) const
inlinevirtual

Gets the current position. Returns false if not supported by task.

Reimplemented in scl::CTaskOpPosPIDA1OrderInfTime, scl::CTaskOpPos, scl::CTaskComPos, and scl::CTaskGcLimitCentering.

virtual STaskBase* scl::CTaskBase::getTaskData ( )
pure virtual

Return this task controller's task data structure. Use it responsibly! NOTE : Use dynamic casts whenever you downcast the data. And try not to downcast very often. Perf hit.

Implemented in scl::CTaskOpPosPIDA1OrderInfTime, scl::CTaskOpPos, scl::CTaskGcSet, scl::CTaskOpPosNoGravity, scl::CTaskComPos, scl::CTaskOpPosContactForce, scl::CTaskNULL, scl::CTaskNullSpaceDamping, scl::CTaskGc, and scl::CTaskGcLimitCentering.

virtual bool scl::CTaskBase::getVel ( Eigen::VectorXd &  arg_vel) const
inlinevirtual

Gets the current velocity. Returns false if not supported by task.

Reimplemented in scl::CTaskOpPosPIDA1OrderInfTime, scl::CTaskOpPos, and scl::CTaskComPos.

virtual sBool scl::CTaskBase::hasBeenActivated ( )
inlinevirtual

Activated = All dynamic parameters and data structures are up to date and task is actively contributing to a controller.

virtual sBool scl::CTaskBase::hasBeenInit ( )
inlinevirtual

Initialized = All static parameters are set and data structures are up to date. Ready to contribute to a controller.

virtual bool scl::CTaskBase::init ( STaskBase arg_task_data,
CDynamicsBase arg_dynamics 
)
pure virtual

Initializes the task object. Create a subclass of STaskBase if your task requires more data than the defaults in STaskBase provide. This function should set has_been_init_ to true

Implemented in scl::CTaskOpPosPIDA1OrderInfTime, scl::CTaskOpPos, scl::CTaskComPos, scl::CTaskGcSet, scl::CTaskGc, scl::CTaskNullSpaceDamping, scl::CTaskOpPosContactForce, scl::CTaskOpPosNoGravity, scl::CTaskNULL, and scl::CTaskGcLimitCentering.

virtual void scl::CTaskBase::reset ( )
pure virtual
virtual sBool scl::CTaskBase::setActivated ( sBool  arg_activate)
inlinevirtual

Activated = All dynamic parameters and data structures are up to date and task is actively contributing to a controller.

Set to true/false during runtime to activate/deactivate task.

Returns : success/failure

virtual bool scl::CTaskBase::setGoalAcc ( const Eigen::VectorXd &  arg_goal)
inlinevirtual

Sets the current goal acceleration. Returns false if not supported by task.

Reimplemented in scl::CTaskOpPosContactForce, scl::CTaskOpPosPIDA1OrderInfTime, scl::CTaskOpPos, scl::CTaskGcSet, scl::CTaskComPos, and scl::CTaskGc.

virtual bool scl::CTaskBase::setGoalPos ( const Eigen::VectorXd &  arg_goal)
inlinevirtual

Sets the current goal position. Returns false if not supported by task.

Reimplemented in scl::CTaskOpPosPIDA1OrderInfTime, scl::CTaskOpPos, scl::CTaskGcSet, scl::CTaskComPos, scl::CTaskGcLimitCentering, and scl::CTaskGc.

virtual bool scl::CTaskBase::setGoalVel ( const Eigen::VectorXd &  arg_goal)
inlinevirtual

Sets the current goal velocity. Returns false if not supported by task.

Reimplemented in scl::CTaskOpPosContactForce, scl::CTaskOpPosPIDA1OrderInfTime, scl::CTaskOpPos, scl::CTaskGcSet, scl::CTaskComPos, and scl::CTaskGc.

Member Data Documentation

CDynamicsBase* scl::CTaskBase::dynamics_
protected

A Dynamics model required to compute the task's dynamics

sBool scl::CTaskBase::has_been_init_
protected

Initialized = All static parameters are set and data structures are up to date.

Set to true in init()


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