Drake

The JointActuator class is mostly a simple bookkeeping structure to represent an actuator acting on a given Joint. More...
#include <drake/multibody/multibody_tree/joint_actuator.h>
Public Member Functions  
JointActuator (const std::string &name, const Joint< T > &joint)  
Creates an actuator for joint with the given name . More...  
const std::string &  name () const 
Returns the name of the actuator. More...  
const Joint< T > &  joint () const 
Returns a reference to the joint actuated by this JointActuator. More...  
void  AddInOneForce (const systems::Context< T > &context, int joint_dof, const T &tau, MultibodyForces< T > *forces) const 
Adds into forces a force along one of the degrees of freedom of the Joint actuated by this actuator. More...  
void  set_actuation_vector (const Eigen::Ref< const VectorX< T >> &u_a, EigenPtr< VectorX< T >> u) const 
Given the actuation values u for this actuator, this method sets the actuation vector u for the entire MultibodyTree model to which this actuator belongs to. More...  
Does not allow copy, move, or assignment  
JointActuator (const JointActuator &)=delete  
JointActuator &  operator= (const JointActuator &)=delete 
JointActuator (JointActuator &&)=delete  
JointActuator &  operator= (JointActuator &&)=delete 
Friends  
template<typename U >  
class  JointActuator 
The JointActuator class is mostly a simple bookkeeping structure to represent an actuator acting on a given Joint.
It helps to flag whether a given Joint is actuated or not so that MultibodyTree clients can apply forces on actuated joints through their actuators, see AddInOneForce().
T  The scalar type. Must be a valid Eigen scalar. 
Instantiated templates for the following kinds of T's are provided:
They are already available to link against in the containing library. No other values for T are currently supported.

delete 

delete 
JointActuator  (  const std::string &  name, 
const Joint< T > &  joint  
) 
Creates an actuator for joint
with the given name
.
The name must be unique within the given MultibodyTree model. This is enforced by MultibodyTree::AddJointActuator().
void AddInOneForce  (  const systems::Context< T > &  context, 
int  joint_dof,  
const T &  tau,  
MultibodyForces< T > *  forces  
)  const 
Adds into forces
a force along one of the degrees of freedom of the Joint actuated by this
actuator.
The meaning for this degree of freedom, sign conventions and even its dimensional units depend on the specific joint subclass being actuated. For a RevoluteJoint for instance, joint_dof
can only be 0 since revolute joints's motion subspace only has one degree of freedom, while the units of tau
are those of torque (N⋅m in the MKS system of units). For multidof joints please refer to the documentation provided by specific joint subclasses regarding the meaning of joint_dof
.
[in]  context  The context storing the state and parameters for the model to which this joint belongs. 
[in]  joint_dof  Index specifying one of the degress of freedom for this joint. The index must be in the range 0 <= joint_dof < num_dofs() or otherwise this method will throw an exception. 
[in]  joint_tau  Generalized force corresponding to the degree of freedom indicated by joint_dof to be added into forces . Refere to the specific Joint subclass documentation for details on the meaning and units for this degree of freedom. 
[out]  forces  On return, this method will add force tau for the degree of freedom joint_dof into the output forces . This method aborts if forces is nullptr or if forces doest not have the right sizes to accommodate a set of forces for the model to which this actuator belongs. 
const Joint< T > & joint  (  )  const 
Returns a reference to the joint actuated by this JointActuator.

inline 
Returns the name of the actuator.

delete 

delete 
void set_actuation_vector  (  const Eigen::Ref< const VectorX< T >> &  u_a, 
EigenPtr< VectorX< T >>  u  
)  const 
Given the actuation values u for this
actuator, this method sets the actuation vector u for the entire MultibodyTree model to which this actuator belongs to.
[in]  u_a  Actuation values for this actuator. It must be of size equal to the number of degrees of freedom of the actuated Joint, see Joint::num_dofs(). For units and sign conventions refer to the specific Joint subclass documentation. 
[out]  u  The vector containing the actuation values for the entire MultibodyTree model to which this actuator belongs to. 
if  u_a.size() != this>joint().num_dofs() . 
if  u is nullptr. 
if  u.size() != this>get_parent_tree().num_actuated_dofs() . 

friend 