Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Regensburg-Ulm Hand Model #473

Draft
wants to merge 124 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
6bf2ab4
Raw copy from RUHM repo 1f97ea030f4fa45f31f2444
melund Apr 6, 2020
b3912f3
Fix a various formatting and naming
melund Apr 6, 2020
72ea100
Add standing model example with RUHM
melund Apr 6, 2020
810c9ec
Import from RUHM at ee13e173d
melund Apr 6, 2020
270ee70
Merge branch 'ruhm_import' into RUHM
melund Apr 6, 2020
5f016a5
Import from cf46c691f
melund Apr 7, 2020
27eed5b
revert changesto AnyMan.ClassTemplates.any and BodyModel.defaults.any
melund Apr 7, 2020
b3c1be0
Merge branch 'ruhm_import' into RUHM
melund Apr 7, 2020
667e454
Merge branch 'master' into RUHM
melund Apr 7, 2020
e33cc65
Back port recent changes to ArmData1.1 to ArmData1.2
melund Apr 8, 2020
321dd4d
Add new BM hand model paramters
melund Apr 8, 2020
1cbd398
Add new BM hand model statements to model
melund Apr 8, 2020
af4d2da
Remove Clavicula axial rotation driver in example.
melund Apr 9, 2020
afe2584
Fix non RUHM models loading
melund Apr 9, 2020
733e235
Rename CMCDeviation to CMCAbduction.
melund Apr 9, 2020
80ad53a
Rename MCPDeviation to MCPAbuction
melund Apr 9, 2020
d138b21
Get old detailed hand working
melund Apr 9, 2020
41d9d9d
Add RUHM support to default drivers
melund Apr 10, 2020
c0049af
Remove extra RUHM examples which are no longer needed.
melund Apr 10, 2020
2cf4f9c
Refactor DIP/PIP finger Rhythm
melund Apr 12, 2020
1b39d0e
Remove superflorus file
melund Apr 12, 2020
6d984b1
Refactor Finger STL filename specification
melund Apr 13, 2020
108130e
Enable model to load with no Arm muscles
melund Apr 13, 2020
fd10100
Refactor to make Thumb DIP measure name consistent
melund Apr 13, 2020
c8c4ab1
Enable FingerRhythm for both old and new detailed hand
melund Apr 13, 2020
097067d
Refactor Scaling Laws and AnyMan to be more consistent
melund Apr 13, 2020
1410fef
Update AnyMoCap joint angles input/output with Hand stuff
melund Apr 13, 2020
ed176e5
Add parameter optimization support for detailed hand model
melund Apr 14, 2020
744da92
Delete unused Hand Variables in ScalingClass,
loopluc Apr 17, 2020
8613640
included MoCap Handmodel Example with exemplary c3d file
loopluc Apr 17, 2020
dd2ad95
Merge remote-tracking branch 'remotes/github/master' into RUHM
melund Apr 23, 2020
7cec0e1
Merge branch 'RUHM' into MoCap-RuhmExample
melund Apr 23, 2020
1179671
Merge remote-tracking branch 'remotes/github/master' into MoCap-RuhmE…
melund Apr 28, 2020
7a5645e
Update RUHM mocap example
melund Apr 28, 2020
cec0e0c
Add initial draf for RUHM documentation
melund Apr 28, 2020
5e69a71
Import from: 0c8c3da732900f2f339810fb9c90092a29d7671f
melund Apr 28, 2020
e76e68b
Merge branch 'ruhm_import' into RUHM
melund Apr 28, 2020
5f09678
Rename hand example
melund Apr 29, 2020
719dc6a
RUHM: Fixed ref nodes picking up wrong scaling functions.
melund Apr 29, 2020
b907898
Update RUHM hand bone files with fixed geometry
melund Apr 30, 2020
71e0c1e
persist empty folder
melund May 1, 2020
a3a12eb
Merge remote-tracking branch 'remotes/github/master' into t
melund Jun 16, 2020
99f64b9
tmp commit
melund May 5, 2020
51aab79
Fix bone size and inverted vertices for some RUHM hand bones
melund Jun 17, 2020
82819a4
Make sure models run with new wrapping solver
melund Jun 26, 2020
cb33102
Merge branch 'master' into RUHM
melund Jun 29, 2020
2396316
Merge branch 'master' into RUHM
melund Jul 2, 2020
2dfd1ec
Merge branch 'master' into RUHM
melund Jul 27, 2020
969fd55
Update Arm1.2 muscle geometry with changes from master
melund Jul 27, 2020
98f301e
Move RUHM prototype scaling to model parameters section
melund Jul 30, 2020
b9e10fc
Merge branch 'master' into RUHM
melund Aug 28, 2020
cef4137
Merge branch 'master' into RUHM
melund Aug 28, 2020
b5268ec
Merge branch 'master' into RUHM
melund Nov 27, 2020
f34c94f
Merge remote-tracking branch 'remotes/origin/master' into RUHM
melund Dec 7, 2020
63b2413
Update bm tests to include RUHM hand
melund Dec 2, 2020
dbd64f8
Move changes to Humerus wrapping changes to ArmData1.2
melund Dec 2, 2020
1b2b0a9
Fix RUHM load problem with Scaling None
melund Dec 2, 2020
5db078f
Fix typo in class template merge
melund Dec 8, 2020
6bc559f
Move scapularis wrapping arm data 1.2
melund Dec 8, 2020
e49c163
tmp
melund Dec 9, 2020
e6713b2
Merge remote-tracking branch 'remotes/origin/master' into RUHM
melund Jan 11, 2021
7205fcb
Merge remote-tracking branch 'remotes/origin/master' into RUHM
melund Feb 1, 2021
ff8ccd7
Fix Extensor_Indicis via points inside the wrapping surface
melund Feb 3, 2021
8794c80
Fix wrapping for Extensor_Digitorum muscles
melund Feb 3, 2021
479bd51
Fix wrapping for Flexor_Digitorum_Profundus muscles
melund Feb 3, 2021
1ae1a44
Adjust width of wrapping cylinders
melund Feb 3, 2021
f6b21af
Make the whole in dorsal meta torus a litle wider
melund Feb 3, 2021
172fd2a
Update initwrap vectors for various muscle.
melund Feb 11, 2021
f818d48
Fix MoCap setup for the model
melund Mar 11, 2021
9be8ae6
Simplify muscle configuration.
melund Mar 11, 2021
1f23039
Reduce string mesh to avoid warning
melund Mar 11, 2021
a44cdaa
Reduce oversized joint wrapping sphere
melund Mar 11, 2021
4f97a5b
Merge remote-tracking branch 'remotes/origin/master' into RUHM
melund Mar 11, 2021
7d88093
Rename hand muscle file for HAND_OFF
melund Mar 12, 2021
cdbf88c
Rename file
melund Mar 12, 2021
8a872dd
Rename hand muscle file for old detailed hand
melund Mar 12, 2021
0449162
Rename RUHM hand muscles files
melund Mar 12, 2021
fcb1c9a
Remove unused backup file
melund Mar 12, 2021
0ffd271
Move HumerusMuscleGeometry out to main arm folder
melund Mar 12, 2021
be454f0
Add RUHM changes to common HumerusMuscleGeometry file
melund Mar 12, 2021
eae9899
Move Ulna and Radius MuscleGeometry files to main arm folder
melund Mar 12, 2021
eaa15df
Add RUHM specific code to common UlnaMuscleGeometry file
melund Mar 12, 2021
90f232c
Fix file reference in moved files
melund Mar 12, 2021
7b47600
Add RUHM specific code to shared RadiusMuscleParameters.any
melund Mar 12, 2021
7a4fab6
Remove unsused files, they are now shared between hand models
melund Mar 12, 2021
3b80e84
Move ArmModelParameter to be shared between hand models
melund Mar 12, 2021
e9eab06
Add RUHM arm model parameters to shared parameter file
melund Mar 12, 2021
51891a9
Remove the concept of different versions of the arm dataset
melund Mar 12, 2021
c3f1a05
Share definition of O_Palmaris_Longus between hand models
melund Mar 12, 2021
6f545be
fix typo causing test failures
melund Mar 17, 2021
17827b0
Restructure RUHM 3E muscle parameters files
melund Mar 23, 2021
0508704
Rename muscle parameter files in Regensburg-Ulm hand model
melund Mar 23, 2021
632c92e
Fix typos in Arm calibration
melund Mar 23, 2021
980d508
Fix latissimus dorsi 4 and 5 missing from calibration study.
melund Mar 23, 2021
a8ddf52
Update hand calibration studies
melund Mar 23, 2021
de61d49
Restructure with only one calibration study
melund Mar 23, 2021
85cbf33
Simplify naming in unified hand calibration file
melund Mar 23, 2021
07ace6c
Don't include joint muscles when real muscles are enabled
melund Mar 23, 2021
62bea1f
Update BM combination tests for hand model
melund Mar 23, 2021
fc2ae6d
Merge remote-tracking branch 'origin/HEAD' into RUHM
melund Mar 24, 2021
7fd7ee4
Remove unsused muscle parameters added to the toplevel file
melund Mar 24, 2021
4b0ebd2
Correct two ARels which were mirrored by accident
melund Mar 24, 2021
1710961
Fix wrong reference of O_Abductor_Pollicis_Longus in non-detailed model
melund Mar 24, 2021
be9a3f1
Only run part of the MoCap hand model trial
melund Mar 25, 2021
6f815c7
Increase length of wrapping surface
melund Mar 25, 2021
b43af45
Add option to enable joint muscles in RUHM had even when muscles present
melund Mar 25, 2021
992cb0a
Update muscles to use new AMS 7.3.3 specification of StringMesh and S…
melund Mar 25, 2021
b6940fc
Merge remote-tracking branch 'remotes/origin/master' into RUHM
melund Mar 31, 2021
2961a3a
Merge remote-tracking branch 'remotes/origin/master' into RUHM
melund Jun 1, 2021
9e71a88
Clean up stray debug code
melund Jun 1, 2021
220e804
Fix load problem with trunk only model
melund Jun 1, 2021
6283803
Fix missing mirror for left carpal bone visualization.
melund Jun 2, 2021
55b8b14
Fix default mannequin drivers mirror of hand CMC hand pos
melund Jun 2, 2021
d79e78b
Merge remote-tracking branch 'remotes/origin/robust_standing_list' in…
melund Jun 2, 2021
f195313
Merge remote-tracking branch 'remotes/origin/master' into RUHM
melund Jul 26, 2021
971cc89
Merge remote-tracking branch 'remotes/origin/master' into RUHM
melund Dec 10, 2021
a26129a
Fix wrong syntax for BM_HAND_MODEL
melund Dec 10, 2021
4d0060a
Only include hand calibration when arm muscles are on
melund Dec 10, 2021
c7a0e5d
Ensure free posture models loads with/without hands.
melund Dec 10, 2021
e6746f1
Update mannequin files MCPDeviation -> MCPAbduction
melund Dec 13, 2021
cd1c1f1
Fix misspelled BM_SCALING option in test
melund Dec 13, 2021
4c6d840
Typo in class template
melund Dec 13, 2021
9acfdce
Merge remote-tracking branch 'remotes/origin/master' into RUHM
melund Feb 15, 2022
537f0cf
Merge remote-tracking branch 'remotes/origin/master' into RUHM
melund Mar 2, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions Application/Examples/FemoralTorsion/Model/Mannequin.any
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@ HumanModel.Mannequin = {

//Detail Hand
Finger1 ={
CMCDeviation=20;
CMCAbduction=20;
CMCFlexion=20;
MCPFlexion= 10;
MCPDeviation=0;
MCPAbduction=0;
DIPFlexion=0;
};

Expand Down Expand Up @@ -115,10 +115,10 @@ HumanModel.Mannequin = {

//Detail Hand
Finger1 ={
CMCDeviation= ..Right.Finger1.CMCDeviation;
CMCAbduction= ..Right.Finger1.CMCAbduction;
CMCFlexion= ..Right.Finger1.CMCFlexion;
MCPFlexion= ..Right.Finger1.MCPFlexion;
MCPDeviation= ..Right.Finger1.MCPDeviation;
MCPAbduction= ..Right.Finger1.MCPAbduction;
DIPFlexion= ..Right.Finger1.DIPFlexion;
};

Expand Down Expand Up @@ -197,10 +197,10 @@ HumanModel.Mannequin = {

//Detail Hand
Finger1 ={
CMCDeviation=0;
CMCAbduction=0;
CMCFlexion=0;
MCPFlexion= 0;
MCPDeviation= 0;
MCPAbduction= 0;
DIPFlexion=0;
};

Expand Down Expand Up @@ -260,10 +260,10 @@ HumanModel.Mannequin = {

//Detail Hand
Finger1 ={
CMCDeviation=0;
CMCAbduction=0;
CMCFlexion=0;
MCPFlexion= 0;
MCPDeviation= 0;
MCPAbduction= 0;
DIPFlexion=0;
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
// ----------------------------------------------------------

//These statements enable detailed arms and kinematic shoulder rhythm
#define BM_ARM_DETAILED_HAND ON
#define BM_HAND_MODEL _HAND_MODEL_RUHM_
#define BM_ARM_SHOULDER_RHYTHM ON

// Use interpolation drivers to define motion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
// ----------------------------------------------------------

//These statements enable detailed arms and kinematic shoulder rhythm
#define BM_ARM_DETAILED_HAND ON
#define BM_HAND_MODEL _HAND_MODEL_ANYBODY_
#define BM_ARM_SHOULDER_RHYTHM ON

// No motion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

AnyKinEqSimpleDriver CMC1AbductionL={
AnyKinMeasure& ref =.RefHM.Interface.Left.CMCAbduction;
DriverPos={.JntPos.Right.Finger1.CMCDeviation}*pi/180;
DriverPos={.JntPos.Right.Finger1.CMCAbduction}*pi/180;
DriverVel={0};
};

Expand All @@ -26,7 +26,7 @@
};
AnyKinEqSimpleDriver MCP1AbductionL={
AnyKinMeasure&ref= .RefHM.Interface.Left.MCPAbduction;
DriverPos={.JntPos.Right.Finger1.MCPDeviation}*pi/180;
DriverPos={.JntPos.Right.Finger1.MCPAbduction}*pi/180;
DriverVel={0};
};

Expand All @@ -42,21 +42,28 @@
// DriverPos={0,0};
// DriverVel={0,0};
// };
AnyKinEqSimpleDriver MCP2L={
AnyRevoluteJoint &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger2.Jnt.MCP;
AnyKinEqSimpleDriver MCP2FlexionL={
MeasureOrganizer = {0};
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger2.Jnt.MCP;
DriverPos={.JntPos.Left.Finger2.MCPFlexion}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver MCP2AbductionL={
MeasureOrganizer = {1};
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger2.Jnt.MCP;
DriverPos={.JntPos.Left.Finger2.MCPAbduction}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver PIP2L={
AnyRevoluteJoint &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger2.Jnt.PIP;
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger2.Jnt.PIP;
DriverPos={.JntPos.Left.Finger2.PIPFlexion}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver DIP2L={
AnyRevoluteJoint &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger2.Jnt.DIP;
DriverPos={.JntPos.Left.Finger2.DIPFlexion}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver DIP2L={
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger2.Jnt.DIP;
DriverPos={.JntPos.Left.Finger2.DIPFlexion}*pi/180;
DriverVel={0};
};



Expand All @@ -66,21 +73,28 @@
// DriverPos={0,0};
// DriverVel={0,0};
// };
AnyKinEqSimpleDriver MCP3L={
AnyRevoluteJoint &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger3.Jnt.MCP;
AnyKinEqSimpleDriver MCP3FlexionL={
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger3.Jnt.MCP;
MeasureOrganizer = {0};
DriverPos={.JntPos.Left.Finger3.MCPFlexion}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver MCP3AbductionL={
MeasureOrganizer = {1};
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger3.Jnt.MCP;
DriverPos={.JntPos.Left.Finger3.MCPAbduction}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver PIP3L={
AnyRevoluteJoint &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger3.Jnt.PIP;
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger3.Jnt.PIP;
DriverPos={.JntPos.Left.Finger3.PIPFlexion}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver DIP3L={
AnyRevoluteJoint &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger3.Jnt.DIP;
DriverPos={.JntPos.Left.Finger3.DIPFlexion}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver DIP3L={
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger3.Jnt.DIP;
DriverPos={.JntPos.Left.Finger3.DIPFlexion}*pi/180;
DriverVel={0};
};


//finger4
Expand All @@ -89,21 +103,28 @@
// DriverPos={0,0}*pi/180;
// DriverVel={0,0};
// };
AnyKinEqSimpleDriver MCP4L={
AnyRevoluteJoint &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger4.Jnt.MCP;
AnyKinEqSimpleDriver MCP4FlexionL={
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger4.Jnt.MCP;
MeasureOrganizer = {0};
DriverPos={.JntPos.Left.Finger4.MCPFlexion}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver MCP4AbductionL={
MeasureOrganizer = {1};
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger4.Jnt.MCP;
DriverPos={.JntPos.Left.Finger4.MCPAbduction}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver PIP4L={
AnyRevoluteJoint &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger4.Jnt.PIP;
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger4.Jnt.PIP;
DriverPos={.JntPos.Left.Finger4.PIPFlexion}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver DIP4L={
AnyRevoluteJoint &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger4.Jnt.DIP;
DriverPos={.JntPos.Left.Finger4.DIPFlexion}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver DIP4L={
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger4.Jnt.DIP;
DriverPos={.JntPos.Left.Finger4.DIPFlexion}*pi/180;
DriverVel={0};
};


// finger5
Expand All @@ -112,21 +133,28 @@
// DriverPos={0,0};
// DriverVel={0,0};
// };
AnyKinEqSimpleDriver MCP5L={
AnyRevoluteJoint &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger5.Jnt.MCP;
AnyKinEqSimpleDriver MCP5FlexionL={
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger5.Jnt.MCP;
MeasureOrganizer = {0};
DriverPos={.JntPos.Left.Finger5.MCPFlexion}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver MCP5AbductionL={
MeasureOrganizer = {1};
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger5.Jnt.MCP;
DriverPos={.JntPos.Left.Finger5.MCPAbduction}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver PIP5L={
AnyRevoluteJoint &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger5.Jnt.PIP;
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger5.Jnt.PIP;
DriverPos={.JntPos.Left.Finger5.PIPFlexion}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver DIP5L={
AnyRevoluteJoint &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger5.Jnt.DIP;
DriverPos={.JntPos.Left.Finger5.DIPFlexion}*pi/180;
DriverVel={0};
};
AnyKinEqSimpleDriver DIP5L={
AnyKinMeasure &ref= .RefHM.Left.ShoulderArm.Seg.Hand.Finger5.Jnt.DIP;
DriverPos={.JntPos.Left.Finger5.DIPFlexion}*pi/180;
DriverVel={0};
};



Loading