AAH is a musculoskeletal model of human upper limb (shoulder, arm and hand) for inverse kinematics. It is based on the ULB project, has 32 body segments (plus 3 phantom and 22 muscle-supporting), 29 moving DOFs and 10 fixed (weld) joints. We aim to maintain a model that could be easily used by any researcher in need of calculation of upper limb inverse kinematics or muscle lengths.
The model is an out-of-box solution for calculation of inverse kinematics and does not include dynamic properties (e.g. inertia or mass). In the current form it is not suited for dynamic simulations in OpenSim. The muscle paths were also unchanged and contain inconsistencies, however it is the best available model of the hand musculature to our knowledge (for purely arm model see MoBL-ARMS) . An example of the model's use can be found in the NCams project.
We welcome any contributions or suggestions. This model can be found on GitHub, OpenSim and (in part) in NCams repository.
As most researchers, we develop models when we need them. If you feel like developing a model for your own experiments, consider publishing these changes and the new, improved model here.
- Improve description of proximal movement and musculature by including MOBL.
- Improve wrist, thumb and index finger by including Wrist Model.
- Add movement of 4th and 5th carpometacarpal rays.
-
Update to OpenSim 4.3.
-
Split model into unimanual. The lower body as well as contralateral limb were removed. Left and right models are equivalent.
-
Renaming of the objects. To simplify and improve the joint and body naming distal to the shoulder, we adopted the following schema after Sobinov et al., 2020 and Boots et al., 2020. A full list of body, joint and DOF names can be found in the .csv files.
-
Limb bodies are named
<LIMB><DIST><BONE_LITERA><DIGIT_NUMBER>
, where:LIMB
corresponds to the limb where the body is located, i.e. ‘RA’ stands for ‘right arm’ (CSV files omit the R/L letters),DIST
- approximate number of segments separating this segment from the torso in the kinematic chain (humerus - 1, forearm - 2, wrist - 3, metacarpal - 4, etc.),BONE_LITERA
- a single letter based on the anatomical name of the bone,DIGIT_NUMBER
- 1 thumb; 2 index; 3 middle; 4 ring; and, 5 pinky. Phalanxes are marked as P: proximal, M: middle, D: distal. A few examples: RA1H - right arm humerus, LA3L - left arm lunate carpal bone, RA4M1 - first (thumb) metacarpal of the right hand, RA7d5 - distal pinky phalanx.
-
Joints are named based on the bodies they connect:
<PARENT BODY>_<CHILD_BODY>
, e.g., RA3T_RA4M1 - carpometacarpal joint of the right thumb, LA4M4_LA4P4 - metacarpophalangeal joint of the left hand. Weld (fixed) joints additionally get a_W
postfix. -
DOFs are named based on the anatomical name of the joint and the direction of movement:
<LIMB>_<JOINT>_<MIN>_<MAX>
, where:JOINT
is the anatomical name of the joint containing this DOF, e.g., ‘wr’ is ‘wrist’. Digit joints have their identifying number: 1 thumb; 2 index; 3 middle; 4 ring; and, 5 pinky.- The last two suffixes MIN and MAX indicate the anatomical direction of axis, e.g., ‘ra_wr_s_p’ indicates the range of the wrist pronation-supination DOF (negative values for the supinated postures and positive - for the pronated posture).
- Dependant coordinates are marked with
_d
.
-
-
Additional hand DOFs.
cmc1_opp
- opposition (rotation) around thumb carpometacarpal joint.- Digits 3-5 metacarpophalangeal flexion-extension and abduction-adduction. Middle finger abduction-adduction was named radioulnar deviation to avoid confusion. Were modelled after index finger joints
- Digits 3-5 proximal and distal interphalangeal joints' flexion and extension. Were modelled after index finger joints.
-
Changes to ranges of motion.
ip1_e_f
- from [-75° 25°] to [-75° 75°].mcp2_ad_ab
- from [-15° 15°] to [-15° 30°].dip2_e_f
- from [0° 90°] to [-30° 90°].mcp1_e_f
- from [-45° 40°] to [-30° 40°].
- RightArmAndHand - model of the right arm and hand.
- RightArmAndHand_NoMuscle - model of the right arm and hand. Currently, some muscles break OpenSim visualization when certain joints are moved (e.g. index finger DIP), even when the muscles are not displayed. Suggesting using this model until the problem is resolved.
- LeftArmAndHand - model of the left arm and hand. Also comes with a marker file, LeftArmAndHand_Markers, which contains a template of marker positions used for inverse kinematics.
- LeftArmAndHand_NoMuscle - model of the left arm and hand. Currently, some muscles break OpenSim visualization when certain joints are moved (e.g. index finger DIP), even when the muscles are not displayed. Suggesting using this model until the problem is resolved.