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