244 lines (185 with data), 7.2 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.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;
};
};
};