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::CActuatorSetBase Class Referenceabstract

#include <CActuatorSetBase.hpp>

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

Public Member Functions

virtual sBool computeJacobian (const Eigen::VectorXd arg_q, Eigen::MatrixXd &ret_J)=0
 
virtual sBool computeDynamics (const Eigen::VectorXd &arg_input, const Eigen::MatrixXd &arg_state, Eigen::VectorXd &ret_output_force)=0
 
 CActuatorSetBase (const std::string &arg_subclass_type_name)
 
virtual ~CActuatorSetBase ()
 
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_
 

Detailed Description

An actuator set combines a variety of potentially different actuators into a common interface that a controller can interact with. The number of actuators is not necessarily related to the degrees of freedom of the system (could be more, equal or less).

Subclasses of this class will simply organize actuators into a coherent interface, abstracting all physical details and exposing a mathematical interface for the controller.

Models: (a) Actuator Kinematics : Actuator inputs might require some functional transform to map on to the generalized coordinates (uses Jacobian). (b) Actuator Dynamics : Actuator forces might be a function of inputs, and present state.

NOTE for "Real Robots": While working with a real robot, subclass this base class and implement your driver in it.

Constructor & Destructor Documentation

scl::CActuatorSetBase::CActuatorSetBase ( const std::string &  arg_subclass_type_name)
inline

Default constructor. Sets stuff to NULL

virtual scl::CActuatorSetBase::~CActuatorSetBase ( )
inlinevirtual

Default destructor. Does nothing.

Member Function Documentation

virtual sBool scl::CActuatorSetBase::computeDynamics ( const Eigen::VectorXd &  arg_input,
const Eigen::MatrixXd &  arg_state,
Eigen::VectorXd &  ret_output_force 
)
pure virtual

Set the actuator commands. These will be translated into individual actuator commands. Gets the output of the actuator. Returned in the passed variable.

arg_input : The actuator input (possibly arbitrary coordinates) arg_state : Possibly actuator coordinates, velocities etc. Rows in matrix. ret_output_force : The actuator forces such that: Fgc = J' * ret_output_force;

Implemented in scl::CActuatorSetMuscle.

virtual sBool scl::CActuatorSetBase::computeJacobian ( const Eigen::VectorXd  arg_q,
Eigen::MatrixXd &  ret_J 
)
pure virtual

Some actuator sets don't directly actuate the generalized coordinates and require a Jacobian to compute their contribution to the generalized forces.

Each actuator instance must implement this.

Implemented in scl::CActuatorSetMuscle.

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

Member Data Documentation

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 file: