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

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)

Default constructor. Sets stuff to NULL

virtual scl::CActuatorSetBase::~CActuatorSetBase ( )

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

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

Member Data Documentation

sBool scl::SObject::has_been_init_

Whether the object is ready for use

std::string scl::SObject::name_

The object's name

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