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.
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.