1 #define BIORBD_API_EXPORTS
2 #include "Muscles/StateDynamicsDeGroote.h"
5 #include "Utils/Error.h"
6 #include "Utils/String.h"
7 #include "Muscles/Characteristics.h"
10 const biorbd::utils::Scalar& excitation,
11 const biorbd::utils::Scalar& activation) :
38 bool alreadyNormalized){
42 biorbd::utils::Scalar diff;
43 biorbd::utils::Scalar f;
46 diff = *m_excitation - *m_activation;
47 f = 0.5 * tanh(0.1*diff);
49 biorbd::utils::Scalar denom_activation = characteristics.
torqueActivation() * (0.5+1.5* *m_activation);
50 biorbd::utils::Scalar denom_deactivation = characteristics.
torqueDeactivation() / (0.5+1.5* *m_activation);
52 *m_activationDot = (((f+0.5)/denom_activation)+((-f + 0.5)/denom_deactivation))*diff;
53 return *m_activationDot;
58 *m_stateType = biorbd::muscles::STATE_TYPE::DE_GROOTE;
EMG with the capability to compute the time derivative.
biorbd::muscles::StateDynamics DeepCopy() const
Deep copy of state dynamics.
biorbd::muscles::StateDynamicsDeGroote DeepCopy() const
Deep copy of state dynamics.
StateDynamicsDeGroote(const biorbd::utils::Scalar &excitation=0, const biorbd::utils::Scalar &activation=0)
Construct the state dynamics.
const biorbd::utils::Scalar & torqueActivation() const
Return the time activation constant.
virtual void setType()
Set the type to simple_state.
const biorbd::utils::Scalar & torqueDeactivation() const
Return the time deactivation constant.
virtual const biorbd::utils::Scalar & timeDerivativeActivation()
Return the previously computed activation time derivative.
EMG with the capability to compute the time derivative.
Class Holds that muscle characteristics.