SCL
1.0
Standard Control Library : Control, dynamics, physics, and simulation
|
#include <CActuatorSetMuscle.hpp>
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 () |
SActuatorSetMuscle * | getData () |
const SActuatorSetMuscle * | getData () 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 | |
SActuatorSetMuscle * | data_ |
sutil::CMappedList < std::string, CActuatorMuscle > | muscles_ |
CDynamicsBase * | dynamics_ |
Eigen::VectorXd | row_J_ |
std::string | type_ |
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
scl::CActuatorSetMuscle::CActuatorSetMuscle | ( | ) |
Default constructor. Sets stuff to NULL.
|
inlinevirtual |
Default destructor. Does nothing
|
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.
|
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.
|
inline |
Access the data structure
|
inline |
Access the data structure for reads only
|
inlinevirtualinherited |
Get the object's type
|
inline |
To simplify the confusion between name idx and numeric idx
|
inlinevirtualinherited |
Get the object's type
|
inlinevirtualinherited |
Get the object's type
|
virtual |
Has this actuator been initialized
|
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.
|
protected |
The muscle set data
|
protected |
Dynamics specification (to compute robot Jacobians)
|
inherited |
Whether the object is ready for use
|
protected |
The muscles in this set
|
inherited |
The object's name
|
protected |
Temporary object used while computing the Jacobian
|
protectedinherited |
The object's type. Should only be set by the constructor