|
| SEADynamicsFirstOrder (double k_spring, double gear_ratio) |
| constructor assuming unit amplification More...
|
|
virtual | ~SEADynamicsFirstOrder () |
| destructor More...
|
|
virtual SEADynamicsFirstOrder< NJOINTS, SCALAR > * | clone () const override |
| deep cloning More...
|
|
virtual void | computeActuatorDynamics (const JointState< NJOINTS, SCALAR > &robotJointState, const ct::core::StateVector< NJOINTS, SCALAR > &state, const SCALAR &t, const ct::core::ControlVector< NJOINTS, SCALAR > &control, ct::core::StateVector< NJOINTS, SCALAR > &derivative) override |
|
virtual core::ControlVector< NJOINTS, SCALAR > | computeControlOutput (const JointState< NJOINTS, SCALAR > &robotJointState, const typename BASE::act_state_vector_t &actState) override |
|
virtual ct::core::StateVector< NJOINTS, SCALAR > | computeStateFromOutput (const JointState< NJOINTS, SCALAR > &refRobotJointState, const core::ControlVector< NJOINTS, SCALAR > &refControl) override |
| reconstruct actuator state from a desired control output and robot joint state (e.g. for initialization) More...
|
|
| ActuatorDynamics () |
|
virtual | ~ActuatorDynamics () |
|
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, SCALAR > | computeControlOutput (const JointState< NJOINTS, SCALAR > &robotJointState, const act_state_vector_t &actState)=0 |
| output equation of the actuator More...
|
|
template<size_t NJOINTS, typename SCALAR = double>
class ct::rbd::SEADynamicsFirstOrder< NJOINTS, SCALAR >
Series-elastic actuator dynamics modeled as a series of motor, gearbox and a spring.
Control Input: Motor Velocity Actuator State: Gear Position Actuator State Derivative: Gear Velocity
- Note
- The advantage of choosing the the gear position as state is that no calibration on the motor position is required. In a SEA, the gear position is typically known anyway.