-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathRightArmDrivers.any
More file actions
97 lines (78 loc) · 2.86 KB
/
RightArmDrivers.any
File metadata and controls
97 lines (78 loc) · 2.86 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 the right arm
// ************************************
#if BM_ARM_RIGHT & (BM_ARM_SHOULDER_RHYTHM == OFF)
//Sterno clavicular joint driver
AnyKinEqSimpleDriver SCDriverRight ={
AnyKinMeasure& ref1 =...BodyModel.Interface.Right.SternoClavicularProtraction;
AnyKinMeasure& ref2 =...BodyModel.Interface.Right.SternoClavicularElevation;
DriverPos = pi/180*{
.JntPos.Right.SternoClavicularProtraction,
.JntPos.Right.SternoClavicularElevation
};
DriverVel = {
.JntVel.Right.SternoClavicularProtraction,
.JntVel.Right.SternoClavicularElevation
};
Reaction.Type={Off,Off};
};
#endif
//Glenohumeral joint
AnyKinEqSimpleDriver GHDriverRight={
AnyKinMeasure& ref1 =...BodyModel.Interface.Right.GlenohumeralAbduction;
AnyKinMeasure& ref2 =...BodyModel.Interface.Right.GlenohumeralFlexion;
AnyKinMeasure& ref3 =...BodyModel.Interface.Right.GlenohumeralExternalRotation;
DriverPos=pi/180*{
.JntPos.Right.GlenohumeralAbduction, //GH joint
.JntPos.Right.GlenohumeralFlexion, //GH joint
.JntPos.Right.GlenohumeralExternalRotation //GH joint
};
DriverVel = pi/180*{
.JntVel.Right.GlenohumeralAbduction, //GH joint
.JntVel.Right.GlenohumeralFlexion, //GH joint
.JntVel.Right.GlenohumeralExternalRotation //GH joint
};
Reaction.Type={Off,Off,Off};
};
//Elbow flexion driver
AnyKinEqSimpleDriver ElbowFEDriverRight={
AnyKinMeasure& Elbow =...BodyModel.Interface.Right.ElbowFlexion;
DriverPos=pi/180*{.JntPos.Right.ElbowFlexion};
DriverVel = pi/180*{.JntVel.Right.ElbowFlexion};
Reaction.Type={Off};
};
//Elbow pronation driver
AnyKinEqSimpleDriver ElbowPSDriverRight={
AnyKinMeasure& Elbow =...BodyModel.Interface.Right.ElbowPronation;
DriverPos = pi/180*{.JntPos.Right.ElbowPronation };
DriverVel=pi/180*{.JntVel.Right.ElbowPronation };
Reaction.Type={Off};
};
//Wrist driver
AnyKinEqSimpleDriver WristDriverRight ={
AnyKinMeasure& ref1 =...BodyModel.Interface.Right.WristFlexion;
AnyKinMeasure& ref2 =...BodyModel.Interface.Right.WristAbduction;
DriverPos = pi/180*{
.JntPos.Right.WristFlexion,
.JntPos.Right.WristAbduction
};
DriverVel = pi/180*{
.JntVel.Right.WristFlexion,
.JntVel.Right.WristAbduction};
Reaction.Type={Off,Off};
};
MannequinLoads.Right = {
AnyForce3D Shoulder = {
AnyRefNode &ApplPoint = .rhm.ShoulderArm.Seg.Humerus.gh;
F = .locmql.Shoulder;
};
AnyForce3D Elbow = {
AnyRefNode &ApplPoint = .rhm.ShoulderArm.Seg.Humerus.fe;
F = .locmql.Elbow;
};
AnyForce3D Hand = {
AnyRefNode &ApplPoint = .rhm.ShoulderArm.Seg.Hand.HandRef.PalmJoint;
// F = .locmql.Hand*t;
F = .locmql.Hand;
};
};