Biorbd
ActuatorGauss3p.h
1 #ifndef BIORBD_ACTUATORS_ACTUATOR_GAUSS_3P_H
2 #define BIORBD_ACTUATORS_ACTUATOR_GAUSS_3P_H
3 
4 #include "biorbdConfig.h"
5 #include "Actuators/Actuator.h"
6 
7 namespace biorbd {
8 namespace rigidbody {
9 class GeneralizedCoordinates;
10 class GeneralizedVelocity;
11 }
12 
13 namespace actuator {
14 
19 class BIORBD_API ActuatorGauss3p : public Actuator
20 {
21 public:
26 
33 
49  int direction,
50  const biorbd::utils::Scalar& Tmax,
51  const biorbd::utils::Scalar& T0,
52  const biorbd::utils::Scalar& wmax,
53  const biorbd::utils::Scalar& wc,
54  const biorbd::utils::Scalar& amin,
55  const biorbd::utils::Scalar& wr,
56  const biorbd::utils::Scalar& w1,
57  const biorbd::utils::Scalar& r,
58  const biorbd::utils::Scalar& qopt,
59  unsigned int dofIdx);
60 
77  int direction,
78  const biorbd::utils::Scalar& Tmax,
79  const biorbd::utils::Scalar& T0,
80  const biorbd::utils::Scalar& wmax,
81  const biorbd::utils::Scalar& wc,
82  const biorbd::utils::Scalar& amin,
83  const biorbd::utils::Scalar& wr,
84  const biorbd::utils::Scalar& w1,
85  const biorbd::utils::Scalar& r,
86  const biorbd::utils::Scalar& qopt,
87  unsigned int dofIdx,
88  const biorbd::utils::String &jointName);
89 
93  virtual ~ActuatorGauss3p();
94 
99  biorbd::actuator::ActuatorGauss3p DeepCopy() const;
100 
105  void DeepCopy(
106  const biorbd::actuator::ActuatorGauss3p& other);
107 
113  virtual biorbd::utils::Scalar torqueMax();
114 
121  virtual biorbd::utils::Scalar torqueMax(
124 
125 protected:
129  virtual void setType();
130 
131  // For informations on these parameters, see Monique Iris Jackson's these from page 54
132  // Angular/velocity relationship
133  std::shared_ptr<biorbd::utils::Scalar> m_k;
134  std::shared_ptr<biorbd::utils::Scalar> m_Tmax;
135  std::shared_ptr<biorbd::utils::Scalar> m_T0;
136  std::shared_ptr<biorbd::utils::Scalar> m_wmax;
137  std::shared_ptr<biorbd::utils::Scalar> m_wc;
138 
139  // Activation/velocity relationship
140  std::shared_ptr<biorbd::utils::Scalar> m_amax;
141  std::shared_ptr<biorbd::utils::Scalar> m_amin;
142  std::shared_ptr<biorbd::utils::Scalar> m_wr;
143  std::shared_ptr<biorbd::utils::Scalar> m_w1;
144 
145  // Torque/angle relationship
146  std::shared_ptr<biorbd::utils::Scalar> m_r;
147  std::shared_ptr<biorbd::utils::Scalar> m_qopt;
148 
149 };
150 
151 }}
152 
153 #endif // BIORBD_ACTUATORS_ACTUATOR_GAUSS_3P_H
biorbd::actuator::ActuatorGauss3p::m_r
std::shared_ptr< biorbd::utils::Scalar > m_r
Width of the gaussian curve.
Definition: ActuatorGauss3p.h:146
biorbd::actuator::ActuatorGauss3p::m_amin
std::shared_ptr< biorbd::utils::Scalar > m_amin
Low plateau level.
Definition: ActuatorGauss3p.h:141
biorbd::actuator::Actuator
Class Actuator.
Definition: Actuator.h:20
biorbd::actuator::ActuatorGauss3p::m_wc
std::shared_ptr< biorbd::utils::Scalar > m_wc
Angular velocity of the vertical asymptote of the concentric hyperbola.
Definition: ActuatorGauss3p.h:137
biorbd::rigidbody::GeneralizedCoordinates
Class GeneralizedCoordinates.
Definition: GeneralizedCoordinates.h:15
biorbd::actuator::ActuatorGauss3p::m_T0
std::shared_ptr< biorbd::utils::Scalar > m_T0
Maximum torque isometric.
Definition: ActuatorGauss3p.h:135
biorbd::actuator::ActuatorGauss3p
Class ActuatorGauss3p is a joint actuator type which maximum is 3 parameter gaussian (Gauss3p)
Definition: ActuatorGauss3p.h:20
biorbd::actuator::ActuatorGauss3p::m_qopt
std::shared_ptr< biorbd::utils::Scalar > m_qopt
Optimal position.
Definition: ActuatorGauss3p.h:147
biorbd::actuator::ActuatorGauss3p::m_wr
std::shared_ptr< biorbd::utils::Scalar > m_wr
1/10 de la distance amax/amin
Definition: ActuatorGauss3p.h:142
biorbd::actuator::ActuatorGauss3p::m_amax
std::shared_ptr< biorbd::utils::Scalar > m_amax
Maximum activation level (set to 1)
Definition: ActuatorGauss3p.h:140
biorbd::actuator::ActuatorGauss3p::m_Tmax
std::shared_ptr< biorbd::utils::Scalar > m_Tmax
Maximum torque in the eccentric phase.
Definition: ActuatorGauss3p.h:134
biorbd::utils::String
Wrapper around the std::string class with augmented functionality.
Definition: String.h:17
biorbd::actuator::ActuatorGauss3p::m_w1
std::shared_ptr< biorbd::utils::Scalar > m_w1
Mid point plateau.
Definition: ActuatorGauss3p.h:143
biorbd::actuator::ActuatorGauss3p::m_wmax
std::shared_ptr< biorbd::utils::Scalar > m_wmax
Maximum angular velocity above which torque cannot be produced.
Definition: ActuatorGauss3p.h:136
biorbd::rigidbody::GeneralizedVelocity
Class GeneralizedVelocity.
Definition: GeneralizedVelocity.h:15
biorbd::actuator::ActuatorGauss3p::m_k
std::shared_ptr< biorbd::utils::Scalar > m_k
Ratio of slope of the eccentric and concentric phases.
Definition: ActuatorGauss3p.h:133