Biorbd
src
Muscles
IdealizedActuator.cpp
1
#define BIORBD_API_EXPORTS
2
#include "Muscles/IdealizedActuator.h"
3
4
#include "Utils/String.h"
5
#include "Muscles/Characteristics.h"
6
#include "Muscles/State.h"
7
8
biorbd::muscles::IdealizedActuator::IdealizedActuator
() :
9
biorbd::muscles::
Muscle
()
10
{
11
setType
();
12
}
13
14
biorbd::muscles::IdealizedActuator::IdealizedActuator
(
15
const
biorbd::utils::String
& name,
16
const
biorbd::muscles::Geometry
& geometry,
17
const
biorbd::muscles::Characteristics
& characteristics) :
18
biorbd::muscles::
Muscle
(name,geometry,characteristics)
19
{
20
setType
();
21
}
22
23
biorbd::muscles::IdealizedActuator::IdealizedActuator
(
24
const
biorbd::utils::String
&name,
25
const
biorbd::muscles::Geometry
&geometry,
26
const
biorbd::muscles::Characteristics
&characteristics,
27
const
biorbd::muscles::State
&emg) :
28
biorbd::muscles::
Muscle
(name,geometry,characteristics,emg)
29
{
30
setType
();
31
}
32
33
biorbd::muscles::IdealizedActuator::IdealizedActuator
(
34
const
biorbd::utils::String
&name,
35
const
biorbd::muscles::Geometry
&geometry,
36
const
biorbd::muscles::Characteristics
&characteristics,
37
const
biorbd::muscles::PathModifiers
&pathModifiers) :
38
biorbd::muscles::
Muscle
(name,geometry,characteristics, pathModifiers)
39
{
40
setType
();
41
}
42
43
biorbd::muscles::IdealizedActuator::IdealizedActuator
(
44
const
biorbd::utils::String
& name,
45
const
biorbd::muscles::Geometry
& geometry,
46
const
biorbd::muscles::Characteristics
& characteristics,
47
const
biorbd::muscles::PathModifiers
&pathModifiers,
48
const
biorbd::muscles::State
& emg) :
49
biorbd::muscles::
Muscle
(name,geometry,characteristics,pathModifiers,emg)
50
{
51
setType
();
52
}
53
54
biorbd::muscles::IdealizedActuator::IdealizedActuator
(
const
biorbd::muscles::Muscle
&other) :
55
biorbd::muscles::
Muscle
(other)
56
{
57
58
}
59
60
biorbd::muscles::IdealizedActuator::IdealizedActuator
(
const
std::shared_ptr<biorbd::muscles::Muscle> other) :
61
biorbd::muscles::
Muscle
(other)
62
{
63
64
}
65
66
biorbd::muscles::IdealizedActuator
biorbd::muscles::IdealizedActuator::DeepCopy
()
const
67
{
68
biorbd::muscles::IdealizedActuator
copy;
69
copy.
DeepCopy
(*
this
);
70
return
copy;
71
}
72
73
void
biorbd::muscles::IdealizedActuator::DeepCopy
(
const
biorbd::muscles::IdealizedActuator
&other)
74
{
75
biorbd::muscles::Muscle::DeepCopy
(other);
76
}
77
78
const
biorbd::utils::Scalar&
biorbd::muscles::IdealizedActuator::force
(
79
const
biorbd::muscles::State
&emg)
80
{
81
computeForce(emg);
82
return
*m_force;
83
}
84
85
const
biorbd::utils::Scalar&
biorbd::muscles::IdealizedActuator::force
(
86
biorbd::rigidbody::Joints
&,
87
const
biorbd::rigidbody::GeneralizedCoordinates
&,
88
const
biorbd::rigidbody::GeneralizedVelocity
&,
89
const
biorbd::muscles::State
&emg,
90
int
)
91
{
92
computeForce(emg);
93
return
*m_force;
94
}
95
96
const
biorbd::utils::Scalar&
biorbd::muscles::IdealizedActuator::force
(
97
biorbd::rigidbody::Joints
&,
98
const
biorbd::rigidbody::GeneralizedCoordinates
&,
99
const
biorbd::muscles::State
&emg,
100
int
)
101
{
102
computeForce(emg);
103
return
*m_force;
104
}
105
106
biorbd::utils::Scalar
biorbd::muscles::IdealizedActuator::getForceFromActivation
(
107
const
biorbd::muscles::State
&emg)
108
{
109
return
characteristics().forceIsoMax() * (emg.
activation
());
110
}
111
112
void
biorbd::muscles::IdealizedActuator::setType
()
113
{
114
*m_type = biorbd::muscles::MUSCLE_TYPE::IDEALIZED_ACTUATOR;
115
}
biorbd::muscles::State
EMG holder to interact with the muscle.
Definition:
State.h:16
biorbd::rigidbody::GeneralizedCoordinates
Class GeneralizedCoordinates.
Definition:
GeneralizedCoordinates.h:15
biorbd::muscles::State::activation
const biorbd::utils::Scalar & activation() const
Return the muscle activation.
Definition:
State.cpp:127
biorbd::muscles::Geometry
Class Geometry of the muscle.
Definition:
Geometry.h:30
biorbd::muscles::IdealizedActuator::IdealizedActuator
IdealizedActuator()
Contruct an idealized actuator.
Definition:
IdealizedActuator.cpp:8
biorbd::muscles::IdealizedActuator::getForceFromActivation
virtual biorbd::utils::Scalar getForceFromActivation(const biorbd::muscles::State &emg)
Function allowing modification of the way the multiplication is done in computeForce(EMG)
Definition:
IdealizedActuator.cpp:106
biorbd::muscles::Muscle::DeepCopy
void DeepCopy(const biorbd::muscles::Muscle &other)
Deep copy of a muscle in new muscle.
Definition:
Muscle.cpp:100
biorbd::rigidbody::Joints
This is the core of the musculoskeletal model in biorbd.
Definition:
Joints.h:40
biorbd::muscles::IdealizedActuator
Muscle that has a constant maximal force.
Definition:
IdealizedActuator.h:14
biorbd::muscles::PathModifiers
Holder of all the path modifiers of a muscle.
Definition:
PathModifiers.h:18
biorbd::utils::String
Wrapper around the std::string class with augmented functionality.
Definition:
String.h:17
biorbd::muscles::IdealizedActuator::setType
virtual void setType()
Set the type to Idealized_actuator.
Definition:
IdealizedActuator.cpp:112
biorbd::muscles::Characteristics
Class Holds that muscle characteristics.
Definition:
Characteristics.h:17
biorbd::muscles::Compound::force
virtual const biorbd::utils::Scalar & force()
Return the last computed muscle force norm.
Definition:
Compound.cpp:96
biorbd::rigidbody::GeneralizedVelocity
Class GeneralizedVelocity.
Definition:
GeneralizedVelocity.h:15
biorbd::muscles::Muscle
Base class of all muscle.
Definition:
Muscle.h:23
biorbd::muscles::IdealizedActuator::DeepCopy
biorbd::muscles::IdealizedActuator DeepCopy() const
Deep copy of an idealized actuator.
Definition:
IdealizedActuator.cpp:66
Generated by
1.8.18