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 | Private Attributes | List of all members
scl::CTaskGcSet Class Reference

#include <CTaskGcSet.hpp>

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

Public Member Functions

virtual bool computeServo (const SRobotSensors *arg_sensors)
 
virtual bool computeModel (const SRobotSensors *arg_sensors)
 
virtual STaskBasegetTaskData ()
 
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
 
 CTaskGcSet ()
 
virtual ~CTaskGcSet ()
 
virtual bool init (STaskBase *arg_task_data, CDynamicsBase *arg_dynamics)
 
virtual void reset ()
 
virtual bool getPos (Eigen::VectorXd &arg_pos) const
 
virtual bool getVel (Eigen::VectorXd &arg_vel) const
 
virtual bool getAcc (Eigen::VectorXd &arg_acc) const
 
virtual sBool hasBeenInit ()
 
virtual sBool setActivated (sBool arg_activate)
 
virtual sBool hasBeenActivated ()
 

Protected Attributes

sBool has_been_init_
 
CDynamicsBasedynamics_
 

Private Attributes

STaskGcSetdata_
 
Eigen::VectorXd selected_gcs_
 

Detailed Description

This task controls a set of generalized coordinates in Gc space. It uses up the range space corresponding to those set of Gcs.

It uses the general (TaskGc) data structure but only uses the portions specific to the given Gcs.

Possible uses:

  1. Set a posture at a specific set of Gcs
  2. For a complex robot, prevent a few Gcs from moving. Eg. Keep one arm/leg still for a humanoid.

Constructor & Destructor Documentation

scl::CTaskGcSet::CTaskGcSet ( )

Default constructor : Does nothing

virtual scl::CTaskGcSet::~CTaskGcSet ( )
inlinevirtual

Default destructor : Does nothing.

Member Function Documentation

bool scl::CTaskGcSet::computeModel ( const SRobotSensors arg_sensors)
virtual

Sets the null space for the next level to zero. Ie. any task below this one in the hierarchy is ignored.

Sets the null space for the next level. Ie. any task below this one in the hierarchy can't control the joints that this task controls.

Implements scl::CTaskBase.

bool scl::CTaskGcSet::computeServo ( const SRobotSensors arg_sensors)
virtual

Computes the gc forces that resist gc velocity

Implements scl::CTaskBase.

virtual bool scl::CTaskBase::getAcc ( Eigen::VectorXd &  arg_acc) const
inlinevirtualinherited

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

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

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

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

Reimplemented from scl::CTaskBase.

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

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

Reimplemented from scl::CTaskBase.

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

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

Reimplemented from scl::CTaskBase.

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

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

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

STaskBase * scl::CTaskGcSet::getTaskData ( )
virtual

Return this task controller's task data structure.

Implements scl::CTaskBase.

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

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 ( )
inlinevirtualinherited

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

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

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

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

Initializes the task object. Required to set output gc force dofs

Implements scl::CTaskBase.

void scl::CTaskGcSet::reset ( )
virtual

Resets the task by removing its data. NOTE : Does not deallocate its data structure

Implements scl::CTaskBase.

virtual sBool scl::CTaskBase::setActivated ( sBool  arg_activate)
inlinevirtualinherited

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

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

Sets the current goal acceleration

Reimplemented from scl::CTaskBase.

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

Sets the current goal position

Reimplemented from scl::CTaskBase.

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

Sets the current goal velocity

Reimplemented from scl::CTaskBase.

Member Data Documentation

CDynamicsBase* scl::CTaskBase::dynamics_
protectedinherited

A Dynamics model required to compute the task's dynamics

sBool scl::CTaskBase::has_been_init_
protectedinherited

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

Set to true in init()

Eigen::VectorXd scl::CTaskGcSet::selected_gcs_
private

These are the generalized coordinates selected on the basis of their name


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