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

#include <SServo.hpp>

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

Public Member Functions

 SServo ()
 
sBool init (const SRobotParsed *arg_robot_ds, sutil::CMappedMultiLevelList< std::string, STaskBase * > *arg_task_ds)
 
virtual const std::string & getType () const
 
virtual const std::string & getName () const
 
virtual bool hasBeenInit () const
 

Public Attributes

Eigen::VectorXd force_gc_
 
sutil::CMappedMultiLevelList
< std::string, STaskBase * > * 
task_data_
 
const SRobotParsedrobot_
 
std::string name_
 
sBool has_been_init_
 

Protected Attributes

std::string type_
 

Detailed Description

A data structure to store the main servo loop's data. The main servo loop accesses the current torques to be applied from each task, computes the range spaces of the tasks and projects the torques through them to obtain the combined robot control force in generalized coordinates (usually joint torques).

Ie. Servo's job (pseudocode): force_gc_.zero(); for(all-task-data){ compute-range-space(task_data_); force_gc_+=task_data_->range_space * task_data_->force_gc_; }

See docs/ControllerDesign.eps for an overview of how the controller works

Constructor & Destructor Documentation

scl::SServo::SServo ( )

The default constructor does nothing

Member Function Documentation

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

sBool scl::SServo::init ( const SRobotParsed arg_robot_ds,
sutil::CMappedMultiLevelList< std::string, STaskBase * > *  arg_task_ds 
)

Initializes the servo and sets has_been_init_ to true

Member Data Documentation

Eigen::VectorXd scl::SServo::force_gc_

Servo forces to be sent to the robot directly. The purpose of a controller is to compute these

sBool scl::SObject::has_been_init_
inherited

Whether the object is ready for use

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

The object's name

const SRobotParsed* scl::SServo::robot_

The robot's branching structure

sutil::CMappedMultiLevelList<std::string, STaskBase*>* scl::SServo::task_data_

For the task torques and range spaces

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: