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::CActuatorSetMuscle Class Reference

#include <CActuatorSetMuscle.hpp>

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

Public Member Functions

virtual sBool computeJacobian (const Eigen::VectorXd arg_q, Eigen::MatrixXd &ret_J)
 
virtual sBool computeDynamics (const Eigen::VectorXd &arg_input, const Eigen::MatrixXd &arg_state, Eigen::VectorXd &ret_output_force)
 
int getNumberOfMuscles ()
 
SActuatorSetMusclegetData ()
 
const SActuatorSetMusclegetData () const
 
virtual sBool init (const std::string &arg_name, const SRobotParsed *arg_robot, const sutil::CMappedList< std::string, SRigidBodyDyn > &arg_rbdtree, SActuatorSetMuscle *arg_mset, CDynamicsBase *arg_dynamics)
 
virtual sBool hasBeenInit ()
 
 CActuatorSetMuscle ()
 
virtual ~CActuatorSetMuscle ()
 
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

SActuatorSetMuscledata_
 
sutil::CMappedList
< std::string, CActuatorMuscle
muscles_
 
CDynamicsBasedynamics_
 
Eigen::VectorXd row_J_
 
std::string type_
 

Detailed Description

Models a muscle as a linear actuator with zero force generation delay and a stiff tendon, which eliminates slack.

This class combines a set of muscles into

Constructor & Destructor Documentation

scl::CActuatorSetMuscle::CActuatorSetMuscle ( )

Default constructor. Sets stuff to NULL.

virtual scl::CActuatorSetMuscle::~CActuatorSetMuscle ( )
inlinevirtual

Default destructor. Does nothing

Member Function Documentation

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

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;

TODO : Implement hill-type muscles

Implements scl::CActuatorSetBase.

sBool scl::CActuatorSetMuscle::computeJacobian ( const Eigen::VectorXd  arg_q,
Eigen::MatrixXd &  ret_J 
)
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 implements a row in the Jacobian. The actuator set merely collates them.

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.

Implements scl::CActuatorSetBase.

SActuatorSetMuscle* scl::CActuatorSetMuscle::getData ( )
inline

Access the data structure

const SActuatorSetMuscle* scl::CActuatorSetMuscle::getData ( ) const
inline

Access the data structure for reads only

virtual const std::string& scl::SObject::getName ( ) const
inlinevirtualinherited

Get the object's type

int scl::CActuatorSetMuscle::getNumberOfMuscles ( )
inline

To simplify the confusion between name idx and numeric idx

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::CActuatorSetMuscle::hasBeenInit ( )
virtual

Has this actuator been initialized

sBool scl::CActuatorSetMuscle::init ( const std::string &  arg_name,
const SRobotParsed arg_robot,
const sutil::CMappedList< std::string, SRigidBodyDyn > &  arg_rbdtree,
SActuatorSetMuscle arg_mset,
CDynamicsBase arg_dynamics 
)
virtual

Initializes the actuators. This involves determining whether the muscle matches the robot etc. It also sets up the Jacobians to be computed etc.

Initializes the actuator. This involves determining whether the muscle matches the robot etc. It also sets up the Jacobians to be computed etc.

Member Data Documentation

SActuatorSetMuscle* scl::CActuatorSetMuscle::data_
protected

The muscle set data

CDynamicsBase* scl::CActuatorSetMuscle::dynamics_
protected

Dynamics specification (to compute robot Jacobians)

sBool scl::SObject::has_been_init_
inherited

Whether the object is ready for use

sutil::CMappedList<std::string,CActuatorMuscle> scl::CActuatorSetMuscle::muscles_
protected

The muscles in this set

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

The object's name

Eigen::VectorXd scl::CActuatorSetMuscle::row_J_
protected

Temporary object used while computing the Jacobian

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: