Biomech-Sim-Toolbox 1
Toolbox for movement simulation and analysis
Loading...
Searching...
No Matches
gait2d_osim.h
Go to the documentation of this file.
1// gait2d_osim.h
2// This file defines the data structure that holds model parameters for the gait2d_osim model
3
4#define MAXMUSDOF 4 // maximum number of DOFs spanned by one muscle
5#define MAXPOLTERMS 40 // maximum number of polynomial terms in a muscle path model
6#define NAMELENGTH 40 // number of characters in muscle name
7
9#include "../contact/gait2d_osim_contact.h"
10
11// M_PI is known in gcc but not in Visual C++ 2008
12#ifndef M_PI
13#define M_PI 3.1415926535897932384626433832795
14#endif
15
16// structure that holds muscle properties for one muscle
17typedef struct {
18 char name[NAMELENGTH]; // Name of muscle
19 double Lceopt; // Optimal length of CE (m)
20 double pennopt; // Pennation angle at optimal length of CE, in radians
21 double width; // Width of CE force-length relationship relative to Lceopt
22 double Fmax; // Maximal isometric force of CE (N)
23 double Vmax; // Max. contraction velocity in Lceopt/s
24 double Tact, Tdeact; // Activation and deactivation time constants
25 double gmax; // Maximum eccentric force
26 double SEEslack; // Slack length of the SEE (m)
27 double PEEslack; // Slack length of the PEE, relative to Lceopt
28 double umax; // Strain of SEE at Fmax load
29 double krel; // Stiffness of PEE, force/Fmax at elongation of Width*Lceopt
30 double HillA; // Normalized Hill parameter a/Fmax for F-v relationship (usually 0.25)
31 int nmusdof; // Number of DOFs between origin and insertion
32 int musdof[MAXMUSDOF]; // List of DOFs between origin and insertion
33 int npolterms; // Number of terms in polynomial
34 double polcoeff[MAXPOLTERMS]; // Polynomial coefficients
35 int expon[MAXPOLTERMS][MAXMUSDOF]; // Polynomial exponents
36 int spans[NDOF]; // true/false flags for all DOFs to indicate if the muscle spans it
37
38 // the following parameters are derived from other parameters during initialization
39 double c3; // Continuity parameter for eccentric force-velocity relationship
40 double kPEE; // Stiffness parameter of PEE, relative to Fmax/Lceopt^2
41 double kSEE; // Stiffness parameter of SEE, in Fmax/m^2
43
44// structure that holds parameters for one joint
45typedef struct {
46 double K1; // linear stiffness (small), in N/rad
47 double K2; // quadratic stiffness, outside range of motion, in N/rad^2
48 double B; // damping, in Ns/rad
49 double qneutral; // neutral position to compute passive joint moments
50 double qmin_muscleMoment, qmax_muscleMoment; // range of dof for computation of muscle moments
51 double qmin_passiveMoment, qmax_passiveMoment; // range of dof for computation of passive moments
52
53} jointprop;
#define NDOF
Definition: gait10dof18musc_multibody.h:4
#define MAXMUSDOF
Definition: gait2d_osim.h:4
#define MAXPOLTERMS
Definition: gait2d_osim.h:5
#define NAMELENGTH
Definition: gait2d_osim.h:6
Definition: gait10dof18musc.h:45
Definition: gait10dof18musc.h:17