- 3.0.2 rigid body dynamics module.
ct::rbd::ActuatorDynamics< ACT_STATE_DIMS, NJOINTS, SCALAR > Class Template Referenceabstract

#include <ActuatorDynamics.h>

Public Types

typedef ct::core::StateVector< ACT_STATE_DIMS, SCALARact_state_vector_t
 
typedef ct::core::ControlVector< NJOINTS, SCALARact_control_vector_t
 

Public Member Functions

 ActuatorDynamics ()
 
virtual ~ActuatorDynamics ()
 
virtual ActuatorDynamics< ACT_STATE_DIMS, NJOINTS, SCALAR > * clone () const =0
 
virtual void computeActuatorDynamics (const JointState< NJOINTS, SCALAR > &robotJointState, const ct::core::StateVector< ACT_STATE_DIMS, SCALAR > &actuatorState, const SCALAR &t, const ct::core::ControlVector< NJOINTS, SCALAR > &control, ct::core::StateVector< ACT_STATE_DIMS, SCALAR > &derivative)=0
 
virtual core::ControlVector< NJOINTS, SCALARcomputeControlOutput (const JointState< NJOINTS, SCALAR > &robotJointState, const act_state_vector_t &actState)=0
 output equation of the actuator More...
 
virtual ct::core::StateVector< ACT_STATE_DIMS, SCALARcomputeStateFromOutput (const JointState< NJOINTS, SCALAR > &refRobotJointState, const core::ControlVector< NJOINTS, SCALAR > &refControl)=0
 reconstruct actuator state from a desired control output and robot joint state (e.g. for initialization) More...
 

Static Public Attributes

static EIGEN_MAKE_ALIGNED_OPERATOR_NEW const size_t ACT_STATE_DIM = ACT_STATE_DIMS
 
static const size_t ACT_CONTROL_DIM = NJOINTS
 

Detailed Description

template<size_t ACT_STATE_DIMS, size_t NJOINTS, typename SCALAR = double>
class ct::rbd::ActuatorDynamics< ACT_STATE_DIMS, NJOINTS, SCALAR >

This class covers the actuator dynamics for a robot, i.e. not the dynamics of a single actuator, but the dynamics of the collection of all actuators in the system

Note
This class does on purpose not derive from ControlledSystem, as it requires the full robot state
Template Parameters
statedimensions of all actuators in the system together
numberof joints in the robot
primitivescalar type, eg. double

Member Typedef Documentation

◆ act_state_vector_t

template<size_t ACT_STATE_DIMS, size_t NJOINTS, typename SCALAR = double>
typedef ct::core::StateVector<ACT_STATE_DIMS, SCALAR> ct::rbd::ActuatorDynamics< ACT_STATE_DIMS, NJOINTS, SCALAR >::act_state_vector_t

◆ act_control_vector_t

template<size_t ACT_STATE_DIMS, size_t NJOINTS, typename SCALAR = double>
typedef ct::core::ControlVector<NJOINTS, SCALAR> ct::rbd::ActuatorDynamics< ACT_STATE_DIMS, NJOINTS, SCALAR >::act_control_vector_t

Constructor & Destructor Documentation

◆ ActuatorDynamics()

template<size_t ACT_STATE_DIMS, size_t NJOINTS, typename SCALAR = double>
ct::rbd::ActuatorDynamics< ACT_STATE_DIMS, NJOINTS, SCALAR >::ActuatorDynamics ( )
inline

◆ ~ActuatorDynamics()

template<size_t ACT_STATE_DIMS, size_t NJOINTS, typename SCALAR = double>
virtual ct::rbd::ActuatorDynamics< ACT_STATE_DIMS, NJOINTS, SCALAR >::~ActuatorDynamics ( )
inlinevirtual

Member Function Documentation

◆ clone()

template<size_t ACT_STATE_DIMS, size_t NJOINTS, typename SCALAR = double>
virtual ActuatorDynamics<ACT_STATE_DIMS, NJOINTS, SCALAR>* ct::rbd::ActuatorDynamics< ACT_STATE_DIMS, NJOINTS, SCALAR >::clone ( ) const
pure virtual

◆ computeActuatorDynamics()

template<size_t ACT_STATE_DIMS, size_t NJOINTS, typename SCALAR = double>
virtual void ct::rbd::ActuatorDynamics< ACT_STATE_DIMS, NJOINTS, SCALAR >::computeActuatorDynamics ( const JointState< NJOINTS, SCALAR > &  robotJointState,
const ct::core::StateVector< ACT_STATE_DIMS, SCALAR > &  actuatorState,
const SCALAR t,
const ct::core::ControlVector< NJOINTS, SCALAR > &  control,
ct::core::StateVector< ACT_STATE_DIMS, SCALAR > &  derivative 
)
pure virtual

◆ computeControlOutput()

template<size_t ACT_STATE_DIMS, size_t NJOINTS, typename SCALAR = double>
virtual core::ControlVector<NJOINTS, SCALAR> ct::rbd::ActuatorDynamics< ACT_STATE_DIMS, NJOINTS, SCALAR >::computeControlOutput ( const JointState< NJOINTS, SCALAR > &  robotJointState,
const act_state_vector_t actState 
)
pure virtual

output equation of the actuator

Algebraic output equation for the actuator system, translating the current actuator state and the current robot state into an output control vector. Example: in an RBD setting, the controlOutput may be the actual joint torques.

Parameters
robotStatecurrent RBD state of the robot
actStatecurrent state of the actuators
controlOutputcontrol output (output side of actuator)

Referenced by ct::rbd::ActuatorDynamics< 2 *NJOINTS, NJOINTS, SCALAR >::~ActuatorDynamics().

◆ computeStateFromOutput()

template<size_t ACT_STATE_DIMS, size_t NJOINTS, typename SCALAR = double>
virtual ct::core::StateVector<ACT_STATE_DIMS, SCALAR> ct::rbd::ActuatorDynamics< ACT_STATE_DIMS, NJOINTS, SCALAR >::computeStateFromOutput ( const JointState< NJOINTS, SCALAR > &  refRobotJointState,
const core::ControlVector< NJOINTS, SCALAR > &  refControl 
)
pure virtual

reconstruct actuator state from a desired control output and robot joint state (e.g. for initialization)

Returns
the actuator state resulting in the desired control output

Implemented in ct::rbd::SecondOrderActuatorDynamics< NJOINTS, SCALAR >, and ct::rbd::SEADynamicsFirstOrder< NJOINTS, SCALAR >.

Referenced by ct::rbd::ActuatorDynamics< 2 *NJOINTS, NJOINTS, SCALAR >::~ActuatorDynamics().

Member Data Documentation

◆ ACT_STATE_DIM

template<size_t ACT_STATE_DIMS, size_t NJOINTS, typename SCALAR = double>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW const size_t ct::rbd::ActuatorDynamics< ACT_STATE_DIMS, NJOINTS, SCALAR >::ACT_STATE_DIM = ACT_STATE_DIMS
static

◆ ACT_CONTROL_DIM

template<size_t ACT_STATE_DIMS, size_t NJOINTS, typename SCALAR = double>
const size_t ct::rbd::ActuatorDynamics< ACT_STATE_DIMS, NJOINTS, SCALAR >::ACT_CONTROL_DIM = NJOINTS
static

The documentation for this class was generated from the following file: