-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathJointsAndDrivers.any
More file actions
97 lines (68 loc) · 2.49 KB
/
JointsAndDrivers.any
File metadata and controls
97 lines (68 loc) · 2.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/* ----------------------------------------------------------------
Drivers for a standing model:
- The two feet are constrained forward/backward and vertically (x & y)
- The pelvis is constrained laterally (z)
- The CoM is constrained forward/backward and laterally above the origin.
The remaining degrees of freedom (with the exception of a few shoulder
movements) are controlled by parameters in the mannequin.any file.
The forces defined in the mannequin.any file are attached to the body
locations at the bottom of this file.
John Rasmussen, March 5, 2004.
---------------------------------------------------------------- */
AnyFolder Drivers = {
//#include "<ANYBODY_PATH_BODY>/BodyModels/include/MannequinDrivers.any"
// Aliases for convenient referencing
AnyFolder &JntPos=..Mannequin.Posture;
AnyFolder &JntVel=..Mannequin.PostureVel;
AnyFolder &LegR = ..BodyModel.Right.Leg;
AnyFolder &LegL = ..BodyModel.Left.Leg;
AnyFolder &RefHM = Main.Model.BodyModel;
//Constraint the collective CoM to be right above the GlobalRef
AnyKinEqSimpleDriver CoMDriver = {
AnyKinCoM CoM = {
AnyFolder &Body = Main.Model.BodyModel;
};
MeasureOrganizer = {0,2}; // Only the x and z directions
DriverPos = {0,0};
DriverVel = {0,0};
Reaction.Type = {Off,Off};
};
#include "TrunkDrivers.any"
#if BM_ARM_RIGHT == ON
#include "RightArmDrivers.any"
#if BM_ARM_DETAILED_HAND == ON
#include "RightHandDrivers.any"
#endif
#endif
#if BM_ARM_LEFT == ON
#include "LeftArmDrivers.any"
#if BM_ARM_DETAILED_HAND == ON
#include "LeftHandDrivers.any"
#endif
#endif
#if BM_LEG_RIGHT & (BM_LEG_MODEL == _LEG_MODEL_LEG_)
#include "RightLegDrivers.any"
#endif
#if BM_LEG_LEFT & (BM_LEG_MODEL == _LEG_MODEL_LEG_)
#include "LeftLegDrivers.any"
#endif
#if BM_LEG_RIGHT & BM_LEG_MODEL_IS_TLEM
#include "RightLegTDDrivers.any"
#endif
#if BM_LEG_LEFT & BM_LEG_MODEL_IS_TLEM
#include "LeftLegTDDrivers.any"
#endif
//Loads from the Mannequin file.
AnyFolder MannequinLoads = {
AnyFolder &hm = Main.Model.BodyModel; // For easy reference
AnyFolder &mql = Main.Model.Mannequin.Load;
AnyFolder Right = {
AnyFolder &rhm = .hm.Right;
AnyFolder &locmql = .mql.Right;
}; // Right
AnyFolder Left = {
AnyFolder &lhm = .hm.Left;
AnyFolder &locmql = .mql.Left;
}; // Left
};
};//Drivers