a b/Application/Examples/StandingModelScalingDisplay/Model/LeftArmDrivers.any
1
2
3
  // ************************************
4
  // Drivers for the left arm
5
  // ************************************
6
  
7
  
8
  
9
  #if BM_ARM_LEFT & (BM_ARM_SHOULDER_RHYTHM == OFF)
10
  //Sterno clavicular joint driver
11
  AnyKinEqSimpleDriver SCDriverLeft ={
12
    AnyKinMeasure& ref1 =...BodyModel.Interface.Left.SternoClavicularProtraction;
13
    AnyKinMeasure& ref2 =...BodyModel.Interface.Left.SternoClavicularElevation;
14
    
15
    DriverPos = pi/180*{
16
      .JntPos.Left.SternoClavicularProtraction,
17
      .JntPos.Left.SternoClavicularElevation
18
    };
19
    
20
    DriverVel = pi/180*{
21
      .JntVel.Left.SternoClavicularProtraction,
22
      .JntVel.Left.SternoClavicularElevation
23
    };
24
25
    Reaction.Type={Off,Off};
26
  };
27
  #endif
28
  
29
  
30
  //Glenohumeral joint driver
31
  AnyKinEqSimpleDriver GHDriverLeft={
32
    AnyKinMeasure& ref1 =...BodyModel.Interface.Left.GlenohumeralAbduction;
33
    AnyKinMeasure& ref2 =...BodyModel.Interface.Left.GlenohumeralFlexion;
34
    AnyKinMeasure& ref3 =...BodyModel.Interface.Left.GlenohumeralExternalRotation;
35
    DriverPos=pi/180*{
36
      .JntPos.Left.GlenohumeralAbduction,  //GH joint
37
      .JntPos.Left.GlenohumeralFlexion,  //GH joint
38
      .JntPos.Left.GlenohumeralExternalRotation  //GH joint
39
    };    
40
    DriverVel = pi/180*{
41
      .JntVel.Left.GlenohumeralAbduction,  //GH joint
42
      .JntVel.Left.GlenohumeralFlexion,  //GH joint
43
      .JntVel.Left.GlenohumeralExternalRotation  //GH joint
44
    };    
45
    Reaction.Type={Off,Off,Off};
46
  };
47
  
48
  //Elbow flexion driver
49
  AnyKinEqSimpleDriver ElbowFEDriverLeft={
50
  AnyKinMeasure& Elbow =...BodyModel.Interface.Left.ElbowFlexion;
51
    DriverPos=pi/180*{.JntPos.Left.ElbowFlexion};  
52
    DriverVel = pi/180*{.JntVel.Left.ElbowFlexion};  
53
    Reaction.Type={Off};
54
  };
55
56
  //Elbow pronation driver 
57
  AnyKinEqSimpleDriver ElbowPSDriverLeft={
58
    AnyKinMeasure& Elbow =...BodyModel.Interface.Left.ElbowPronation;
59
    DriverPos= pi/180*{.JntPos.Left.ElbowPronation };  
60
    DriverVel = pi/180*{.JntVel.Left.ElbowPronation };  
61
    Reaction.Type={Off};
62
  };
63
  
64
  
65
  //Wrist driver
66
 //Wrist driver
67
  AnyKinEqSimpleDriver WristDriverLeft ={
68
    AnyKinMeasure& ref1 =...BodyModel.Interface.Left.WristFlexion;
69
    AnyKinMeasure& ref2 =...BodyModel.Interface.Left.WristAbduction;
70
    DriverPos = pi/180*{
71
      .JntPos.Left.WristFlexion,
72
      .JntPos.Left.WristAbduction};
73
    
74
    DriverVel = pi/180*{
75
      .JntVel.Left.WristFlexion,
76
      .JntVel.Left.WristAbduction};
77
    Reaction.Type={Off,Off};
78
  };
79
80
  
81
  
82
  MannequinLoads.Left = {
83
  
84
    AnyForce3D Shoulder = {
85
      AnyRefNode &ApplPoint = .lhm.ShoulderArm.Seg.Humerus.gh;
86
      F = .locmql.Shoulder;
87
    };
88
89
    AnyForce3D Elbow = {
90
      AnyRefNode &ApplPoint = .lhm.ShoulderArm.Seg.Humerus.fe;
91
      F = .locmql.Elbow;
92
    };
93
94
    AnyForce3D Hand = {
95
      AnyRefNode &ApplPoint = .lhm.ShoulderArm.Seg.Hand.HandRef.PalmJoint;
96
//      F = .locmql.Hand*t;
97
      F = .locmql.Hand;
98
    };
99
};