[770c98]: / Application / Examples / FreePosture / Model / Mannequin.any

Download this file

312 lines (241 with data), 8.4 kB


// This is to switch On or Off the MannequinDrivers. It is a quick way to drive any joint of the body 
// with pre-existing drivers. They are based on the FreePosture drivers, 
// so they are driving directly the joint angles and are really independent from each other. Also
// all DOF can be driven separatly.
// 0 switch the driver Off and 1 switch it On.
// The input value for each driver is the joint angles and velocities defined below in the Mannequin folder.
// Notice that even if it is possible to drive fully the model with those drivers, we originaly thinked them
// as alternative or debug drivers.
// *********************************************************************************************************

// Those variable control the initial position of the body.
// They are also the input values for the MannequinDrivers if switched On above.
// ****************************************************************************


Main.HumanModel.Mannequin = {
  
  Posture = {
    //This controls the position of the pelvi wrt. to the global reference frame
    PelvisPosX=0;
    PelvisPosY=1.0;
    PelvisPosZ=0;
    
    //This controls the rotation of the pelvis wrt. to the global reference frame
    PelvisRotX=0;
    PelvisRotY=0;
    PelvisRotZ=0;
    
    // These variables control the rotation of the thorax wrt the
    // pelvis    
    PelvisThoraxExtension=0; 
    PelvisThoraxLateralBending=0;  
    PelvisThoraxRotation=0;        
    
    NeckExtension=0; 
    NeckLateralBending=0; 
    NeckRotation=0; 
    
    Right = {
      //Arm 
      SternoClavicularProtraction=-23;   //This value is not used for initial position
      SternoClavicularElevation=11.5;    //This value is not used for initial position
      
      GlenohumeralFlexion =45; 
      GlenohumeralAbduction = 90; 
      GlenohumeralExternalRotation = 00; 
      
      ElbowFlexion = 5; 
      ElbowPronation = -60.0;
      
      WristFlexion = 0;
      WristAbduction = 0;
      
      //Hand
      Finger1 ={
        CMCDeviation=-20;
        CMCFlexion=20;
        MCPFlexion= 20;
        MCPDeviation=0;
        DIPFlexion=20;
      };
      
      Finger2 ={
        MCPFlexion=20;
        PIPFlexion=20;
        DIPFlexion=20;
      };
      
      Finger3 ={
        MCPFlexion=20;
        PIPFlexion=20;
        DIPFlexion=20;
      };
      
      Finger4 ={
        MCPFlexion=20;
        PIPFlexion=20;
        DIPFlexion=20;
      };
      
      Finger5 ={
        MCPFlexion=20;
        PIPFlexion=20;
        DIPFlexion=20;
      };
      
      //Leg
      HipFlexion = 0.0; 
      HipAbduction = 10.0; 
      HipExternalRotation = 0.0;
      
      KneeFlexion = 0.0; 
      
      AnklePlantarFlexion =0.0; 
      
      SubTalarEversion = 0;
    };
    
    Left = {
      //all values are set to be equal to the right side values 
      //feel free to change this!
      
      //Arm
      SternoClavicularProtraction=.Right.SternoClavicularProtraction;
      SternoClavicularElevation=.Right.SternoClavicularElevation;
      
      GlenohumeralFlexion = .Right.GlenohumeralFlexion ; 
      GlenohumeralAbduction =.Right.GlenohumeralAbduction ;
      GlenohumeralExternalRotation =.Right.GlenohumeralExternalRotation ;

      ElbowFlexion = .Right.ElbowFlexion; 
      ElbowPronation = .Right.ElbowPronation;       
      WristFlexion =.Right.WristFlexion;
      WristAbduction =.Right.WristAbduction;
      
      //Hand
      Finger1 ={
        CMCDeviation= ..Right.Finger1.CMCDeviation;
        CMCFlexion= ..Right.Finger1.CMCFlexion;
        MCPFlexion= ..Right.Finger1.MCPFlexion;
        MCPDeviation= ..Right.Finger1.MCPDeviation;
        DIPFlexion= ..Right.Finger1.DIPFlexion;
      };
      
      Finger2 ={
        MCPFlexion= ..Right.Finger2.MCPFlexion;
        PIPFlexion= ..Right.Finger2.PIPFlexion;
        DIPFlexion= ..Right.Finger2.DIPFlexion;
      };
      
      Finger3 ={
        MCPFlexion= ..Right.Finger3.MCPFlexion;
        PIPFlexion= ..Right.Finger3.PIPFlexion;
        DIPFlexion= ..Right.Finger3.DIPFlexion;
      };
      
      Finger4 ={
        MCPFlexion= ..Right.Finger4.MCPFlexion;
        PIPFlexion= ..Right.Finger4.PIPFlexion;
        DIPFlexion= ..Right.Finger4.DIPFlexion;
      };
      
      Finger5 ={
        MCPFlexion= ..Right.Finger5.MCPFlexion;
        PIPFlexion= ..Right.Finger5.PIPFlexion;
        DIPFlexion= ..Right.Finger5.DIPFlexion;
      };
      
      //Leg     
      HipFlexion =.Right.HipFlexion;  
      HipAbduction =.Right.HipAbduction;
      HipExternalRotation = .Right.HipExternalRotation;
      KneeFlexion = .Right.KneeFlexion;       
      AnklePlantarFlexion = .Right.AnklePlantarFlexion ;
      
      SubTalarEversion = .Right.SubTalarEversion;
    };
  };
  
  
  
PostureVel={  
      //This controls the position of the pelvi wrt. to the global reference frame
    PelvisPosX=0;
    PelvisPosY=0;
    PelvisPosZ=0;
    
    //This controls the rotation of the pelvis wrt. to the global reference frame
    PelvisRotX=0;
    PelvisRotY=0;
    PelvisRotZ=0;
    
    // These variables control the rotation of the thorax wrt the
    // pelvis    
    PelvisThoraxExtension=0; 
    PelvisThoraxLateralBending=0;  
    PelvisThoraxRotation=0;        
    
    NeckExtension=0; 
    NeckLateralBending=0; 
    NeckRotation=0; 
    
    Right = {
      //Arm 
      SternoClavicularProtraction=0;   //This value is not used for initial position
      SternoClavicularElevation=0;    //This value is not used for initial position
      
      GlenohumeralFlexion =0; 
      GlenohumeralAbduction = 0; 
      GlenohumeralExternalRotation = 0; 
      
      ElbowFlexion = 0.0;
      ElbowPronation = 0.0;
      
      WristFlexion =0;
      WristAbduction =0;
      
      HipFlexion = 0.0; 
      HipAbduction = 0.0; 
      HipExternalRotation = 0.0;
      
      KneeFlexion = 0.0; 
      
      AnklePlantarFlexion =0.0; 
      
      SubTalarEversion = 0;

      //Detail Hand
      Finger1 ={
        CMCDeviation=0;
        CMCFlexion=0;
        MCPFlexion= 0;
        MCPDeviation= 0;
        DIPFlexion=0;
      };
      
      Finger2 ={
        MCPFlexion=0;
        PIPFlexion=0;
        DIPFlexion=0;
      };
      
      Finger3 ={
        MCPFlexion=0;
        PIPFlexion=0;
        DIPFlexion=0;
      };
      
      Finger4 ={
        MCPFlexion=0;
        PIPFlexion=0;
        DIPFlexion=0;
      };
      
      Finger5 ={
        MCPFlexion=0;
        PIPFlexion=0;
        DIPFlexion=0;
      };      
    };
    
    Left = {
      //all values are set to be equal to the right side values 
      //feel free to change this!
      
      //Arm
      SternoClavicularProtraction=.Right.SternoClavicularProtraction;
      SternoClavicularElevation=.Right.SternoClavicularElevation;
      
      GlenohumeralFlexion = .Right.GlenohumeralFlexion ; 
      GlenohumeralAbduction =.Right.GlenohumeralAbduction ;
      GlenohumeralExternalRotation =.Right.GlenohumeralExternalRotation ;

      ElbowFlexion = .Right.ElbowFlexion; 
      ElbowPronation = .Right.ElbowPronation;       
      WristFlexion =.Right.WristFlexion;
      WristAbduction =.Right.WristAbduction;
      
      
      
      //Leg     
      HipFlexion =.Right.HipFlexion;  
      HipAbduction =.Right.HipAbduction;
      HipExternalRotation = .Right.HipExternalRotation;
      KneeFlexion = .Right.KneeFlexion;       
      AnklePlantarFlexion = .Right.AnklePlantarFlexion ;
      
      SubTalarEversion = .Right.SubTalarEversion;

      //Detail Hand
      Finger1 ={
        CMCDeviation=0;
        CMCFlexion=0;
        MCPFlexion= 0;
        MCPDeviation= 0;
        DIPFlexion=0;
      };
      
      Finger2 ={
        MCPFlexion=0;
        PIPFlexion=0;
        DIPFlexion=0;
      };
      
      Finger3 ={
        MCPFlexion=0;
        PIPFlexion=0;
        DIPFlexion=0;
      };
      
      Finger4 ={
        MCPFlexion=0;
        PIPFlexion=0;
        DIPFlexion=0;
      };
      
      Finger5 ={
        MCPFlexion=0;
        PIPFlexion=0;
        DIPFlexion=0;
      };            
    };
  };

  
  
};