SCL
1.0
Standard Control Library : Control, dynamics, physics, and simulation
|
#include <SServo.hpp>
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 SRobotParsed * | robot_ |
std::string | name_ |
sBool | has_been_init_ |
Protected Attributes | |
std::string | type_ |
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
scl::SServo::SServo | ( | ) |
The default constructor does nothing
|
inlinevirtualinherited |
Get the object's type
|
inlinevirtualinherited |
Get the object's type
|
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
Eigen::VectorXd scl::SServo::force_gc_ |
Servo forces to be sent to the robot directly. The purpose of a controller is to compute these
|
inherited |
Whether the object is ready for use
|
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
|
protectedinherited |
The object's type. Should only be set by the constructor