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
Collaboration diagram for scl::SServo:
Collaboration graph

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_
< std::string, STaskBase * > * 
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):; 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

Get the object's type

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

Get the object's type

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

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_

Whether the object is ready for use

std::string scl::SObject::name_

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_

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

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