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

#include <CServo.hpp>

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

Public Member Functions

bool computeControlForces ()
 
 CServo ()
 
virtual ~CServo ()
 
bool init (const std::string &arg_ctrl_name, SServo *arg_data)
 
void reset ()
 
virtual const std::string & getType () const
 
virtual const std::string & getName () const
 
virtual bool hasBeenInit () const
 

Public Attributes

std::string name_
 
sBool has_been_init_
 

Protected Attributes

std::string type_
 

Private Attributes

SServodata_
 

Detailed Description

Computes the main servo loop's data:

Main servo loop:

  1. Accesses the current torques from each task
  2. Projects the torques through the range spaces
  3. Sums them up to obtain the combined robot torque

NOTE: The servo DOES NOT update each individual task's torques. The controller (above) does that.

Constructor & Destructor Documentation

scl::CServo::CServo ( )
inline

Default constructor. Does nothing.

virtual scl::CServo::~CServo ( )
inlinevirtual

Default destructor. Does nothing.

Member Function Documentation

bool scl::CServo::computeControlForces ( )

Computes the command forces (in generalized coordinate; usually joint torques) by accepting the latest forces from the task servos and filtering them through their range spaces.

Assumes that the range spaces are computed by a controller implementation (orthogonal task-levels or any other style)

virtual const std::string& scl::SObject::getName ( ) const
inlinevirtualinherited

Get the object's type

virtual const std::string& scl::SObject::getType ( ) const
inlinevirtualinherited

Get the object's type

virtual bool scl::SObject::hasBeenInit ( ) const
inlinevirtualinherited

Get the object's type

bool scl::CServo::init ( const std::string &  arg_ctrl_name,
SServo arg_data 
)

Initializes a servo. NOTE : The arg_data pointer should point to a parent controller's SControllerMultiTask object

void scl::CServo::reset ( )

Resets the servo to its default state (so that an new controller may be attached to it).

Member Data Documentation

SServo* scl::CServo::data_
private

All the data a servo loop should ever need see doc/ControllerDesign.eps for more details.

This a pointer because the actual data structure is stored in the SControllerMultiTask (so that the graphics, for instance, can access control torques).

sBool scl::SObject::has_been_init_
inherited

Whether the object is ready for use

std::string scl::SObject::name_
inherited

The object's name

std::string scl::SObject::type_
protectedinherited

The object's type. Should only be set by the constructor


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