User Tools

Site Tools


kinematic_model

Kinematic models

The Upperlimb Software is a full featured modelling software with the focus on upper extremity kinematic modelling. Lots of different models are implemented in the Heidelberg gaitlab and can be combined or adapted. A typically application has its specific needs and existing models have to be adapted. There are two main modelling approaches, which correspond to three different models, you can start with: 1. The HUX model, 2. an implementation of the recommendations of the ISB and 3. a combination of both.

HUX model

General

The Upperlimb Software Version 1 was developed to make a specific upper limb protocol available for clinical applications: The so called Heidelberg Upper extremity measurement procedure (HUX).

It is focussed on practicability. Thats why only a small set of markers is used and joint angles are defined a way that they correspond best with angles typically used by physiotherapists and orthopaedics.

The details of the original model are described here:

The angles to describe shoulder girdle movement are described here:

Shoulder internal/external rotation is described by a specific angle definition, called conjunct rotation as described here:

Conjunct rotation: Codman's paradox revisited.
Wolf SI, Fradet L, Rettig O
Med Biol Eng Comput47p551-6(2009 May)

Marker placement

Name Position Description Segment
CLAV upperbody
STRN upperbody
T10 This position is used for many years in the Heidelberg Gaitlab instead of T8. There is some literature about which of the two positions is better but in practice it looks like it makes not difference. upperbody
C7 upperbody
R/LSHO Left and right acromion head. Shoulder girdle
R/LHUMS Left and right humerus. Humerus
R/LELB, R/LELBW Left and right twin marker, placed distal to the elbow. R/LELBW is the marker near the lateral epicondyle; for the hanging arm it is the one in front. Typically the leverarm to the R/LELBW marker is longer than for the R/LELB marker (near medial epicondyle). Forearm
R/RAD Left and right radial epicondyle. Forearm
R/ULN Left and right ulnar epicondyle. Forearm

Plot Sheet example

The following sheet shows some repetitions of an arm abduction movement. You can see the gimbal-lock problem in the globe description of int/ext shoulder rotation and how this can be solved by the conjunct rotation definition in the plot above.

Segments and angles

The model includes four rigid segments represent the kinematic model of the upper limb:

  1. Trunk (represented by the thorax, default: thorax upright axis is defined from the static standing trial with the assumption of an upright thorax position during upright standing)
  2. Left and right upper arm (humerus)
  3. Left and right forearm (1. Radius, 2. Ulna)

Five joints are analyzed:

  1. Trunk movement (in the lab space)
  2. Humero-thoracic movement
  3. Shouldergirdle movement
  4. Elbow

The joint attitudes are described by the following angles:

  • shoulder ab-/adduction (default: projection angle, direction cosine angle)
  • shoulder ante-/retroversion (default: projection angle, direction cosine angle)
  • shoulder internal-/external rotation (adjunct and conjunct angles, globe system)
  • shoulder girdle elevation/depression (default: direction cosine angle)
  • shoulder girdle pro-/retraction (default: projection angle)
  • elbow flexion/extention (default: projection angle)
  • elbow pro-/supination (default: projection angle)

One specifity of the HUX model is to calculate these angles in serveral quatities. So you you can use the ones, which best fit to the application (face validity). Escpecially calculation of adjunct and conjunct rotation angles, to describe shoulder internal/external rotation, is very useful.

Trunk longitudinal axis

The extended HUX model defines the longitudinal axis of the trunk by including shoulder and pelvis markers:

CLAV - (RSHO + LSHO)*0.25 - C7*0.5

This makes the definition more robust against subject specific differences in the trunk shape, which often better fits to the view with our own eys.

Trunk orientation

The trunk orientation is determined as two projection angles, which describes the orientation of the trunks longitudinal axis with respect to its orientation in an static calibration trial.

Name Angle type Reference Description
R/LTrunkObliquityHDCal Projection Ant/post thorax axis in a static calibration trial The angle of the longitudinal axis with respect to its orientation in a static calibration trial.
R/LTrunkTiltHDCal Projection Med/Lat thorax axis in a static calibration trial The angle of the longitudinal axis with respect to its orientation in a static calibration trial.

ISB model

Scapula motion

The recommendations of the international shoulder group are based on marker clusters and the so called CAST method.

With a specific device (pointer) anatomical positions e.g prominences of the scalpula are tracked in a static positions only and determined in coordinates of a marker cluster. Details about the usage of a pointer you can find in the section "Working with a pointer device" in the Nimue Platform documentation.

Additional to the HUX measurement procedure this makes the scapula movement available. The joint attitudes are described by cardan angles:

  • Scapula medio/lateral rotation (upward rotation)
  • Scapula posterior tilting
  • Scapula pro-/retraction (internal rotation)

A detailed description of the angles (also several variants are available) is published here:

ISB recommendation on definitions of joint coordinate systems of various joints for the reporting of human joint motion--Part II: shoulder, elbow, wrist and hand.
Wu G, van der Helm FC, Veeger HE, Makhsous M, Van Roy P, Anglin C, Nagels J, Karduna AR, McQuade K, Wang X, Werner FW, Buchholz B
J Biomech38p981-992(2005 May)

Tip positions

The following table shows a list of the recommended tip positions to define anatomical coordinate systems for the thorax, scapulae, humeri and forearms.

Name Position Segment
T8 Thorax
C7 Thorax
PX Processus Xiphoideus (xiphoid process), most caudal point on the sternum Thorax
IJ Incisura Jugularis Thorax
TS Trigonum Spinae Scapulae (root of the spine), the midpoint of the triangular surface on the medial border of the scapula in line with the scapular spine Scapula
AI Angulus Inferior (inferior angle), most caudal point of the scapula Scapula
AA Angulus Acromialis (acromial angle), most laterodorsal point of the scapula Scapula
PC Most ventral point of processus coracoideus Scapula
SC Most ventral point on the sternoclavicular joint Clavicle
AC Most dorsal point on the acromioclavicular joint (shared with the scapula) Clavicle, Scapula
EL Most caudal point on lateral epicondyle Humerus
EM Most caudal point on medial epicondyle Humerus
RS Most caudal–lateral point on the radial styloid Forearm
US Most caudal–medial point on the ulnar styloid Forearm

The Tip position AC is typically not used. Note that because of the use of AA instead of AC to define the main plane in the definition of the anatomical coordinate system of the scapula, this plane is not the same as the visual plane of the scapula bone.

Example Sheets

As an example the following sheet describes the shoulder movement during arm abduction (in frontal plane). The third line shows the scapula angels as recommended by the ISB. The forth line show xy-plots: The scapula angles over the humerus/shoulder elevation.

It is commonly assumed that the scapula angles can be determined well up to 90° of humerus elevation. So better show the plots only up to 90 degrees of humerus elevation, like in the following sheet:

The first line shows time-normalized data, the second xy-plots and the third phase-plots.

Accuracy

For this RoM the maximum error should be less than 8 degrees in all cases. That is higher than for the other upper extremity joint angles but it sounds worse than it is because typical daily life arm movements have variabilities in the same order. There are several publication about accuracy, e.g.:

Validity and reliability of 3D marker based scapular motion analysis: a systematic review.
Lempereur M, Brochard S, Leboeuf F, Rémy-Néris O
J Biomech47p2219-30(2014 Jul 18)
Measuring scapular kinematics during arm lowering using the acromion marker cluster.
Warner MB, Chappell PH, Stokes MJ
Hum Mov Sci31p386-96(2012 Apr)
Recording scapular motion using an acromion marker cluster.
van Andel C, van Hutten K, Eversdijk M, Veeger D, Harlaar J
Gait Posture29p123-8(2009 Jan)

Angles

Name Angle type Reference Description
R/LShoulderElevationPlaneH2 Cardan thorax HD Plane of elevation of the humerus. Definition by ISB.
R/LShoulderElevationH2 Cardan thorax HD Humerus elevation. Definition by ISB.
R/LShoulderRotationH2 Cardan thorax HD Humerus axial rotation, endo- or internal- rotation (positive) and exo- or external-rotation (negative), defintion by ISB
R/LClavProRetraction Cardan thorax ISB Clavicula pro-/retraction angle
R/LClavDepressionElevation Cardan thorax ISB Clavicula depression/elevation angle
R/LScapProRetractionHDCal Cardan thorax HD Scapula pro-/retraction
R/LScapRotationHDCal Cardan thorax HD Scapula med-/lateral rotation
R/LScapTiltingHDCal Cardan thorax HD Scapula post-/ant tilt
R/LScapProRetraction Cardan thorax ISB Scapula pro-/retraction
R/LScapRotation Cardan thorax ISB Scapula med-/lateral rotation
R/LScapTilting Cardan thorax ISB Scapula post-/ant tilt

Projection Angles

If a movement is executed mainly in one plane, angles which are defined in this plane by projection into this plane are more intuitive. Angles defined by projection of the humerus and shoulder girdle into the frontal plane defined by the thorax are then addable: Scapula thoracal angle + scapula humeral angle = humero thoracal angle.

Name Angle type Reference Description
R/LGlenohumeralAbdAddProjAngle Projection thorax HD Scapulo humeral add/abd in the frontal plane
R/LScapRotationPRojAngle Projection thorax HD Thoraco scapula rotation in the frontal plane
R/LShoulderAbdAddHDCalProjAngle Projection thorax HD Thoraco humeral add/abd in the frontal plane

Upper body longitudinal axis

In the ISB recommendations the longitudinal axis of the upper body is defined without usage of the pelvis position:

(IJ + C7)*0.5 - (T8 + PX)*0.5

For many applications this axis does not fit well with the view with our own eys. This can be explained by the fact that the upper body shape can be very different. As an altnernative there is a definition of the upper body axis which is based on additionally pelvis markers in a static calibration trial.

(IJ + C7*3.0)*0.25 - (LASI + RASI + SACR)/3.0

In principle both methods allow to determine an orientation of the upper body with respect to the pelvis.

A combined HUX and ISB model

A combined markerset to run the HUX and the cluster and Tip pointer based model (ISB recommendations), especially to determine scapula movements, is available out of the box.

Markers

Name Position Description Segment
CLAV interclavicular ligament upperbody
STRN xiphoid process upperbody
T10 This position is used for many years in the Heidelberg Gaitlab instead of T8. There is some literature about which of the two positions is better but in practice it looks like it makes not difference. upperbody
C7 Prominent cervical vertrebra 7 upperbody
SACR Needed only for static calibration in a standing position pelvis
LASI left asis Needed only for static calibration in a standing position. pelvis
RASI right asis Needed only for static calibration in a standing position pelvis

Reduced model without R/LSHO

The single markers placed on the acromion head (R/LSHO) in the original HUX model

1. allow a fallback procedure, if the functional method to determine the glenohumeral joint centers fails. They can be substituted by pointing these positions in a static trial.

2. are used in the HUX specific definition of the thorax longitudinal axis, which is defined as

ThoraxC - PELC.

With R/LSHO tip positions or markers a point ThoraxC is determined as follow:

ThoraxC = (LSHO + RSHO)*0.25 + C7 * 0.5

Without RSHO/LSHO:

ThoraxC = (CLAV + C7*3.0) * 0.25

In practice there is no much difference. The definition with R/LSHO maybe is a bit more robust, because the distance of the markers is bigger and a misplacement of CLAV or C7 has less influence on the definition of the longitudinal axis. On the other side, it is easy to place these markers accurate enough.

3. The R/LSHO marker positions are used to determine an offset angle for the shoulder girdle elevation. If these position are not available the offset is estimated by an anthropometric mean value, scaled with shoulder width.

Tip positions

In the combined model you can use the complete set of tip positions as described for the ISB model or you can use the following subset to determine only the scapula antomical coordinate system based on the Tip positions.

Name Position Segment
TS Trigonum Spinae Scapulae (root of the spine), the midpoint of the triangular surface on the medial border of the scapula in line with the scapular spine Scapula
AI Angulus Inferior (inferior angle), most caudal point of the scapula Scapula
AA Angulus Acromialis (acromial angle), most laterodorsal point of the scapula Scapula

The functionalal calibration method is than used to determine the elbow joint axis and the glenohumeral joint centers. If there is not too much laxicity in the elbow, the elbow joint axis can be better estimated by functional calibration as described in the HUX model.

T10 instead of T8

In the ISB recommendation the Tip position T8 is used. If complete compatibility to the ISB recommendations is not needed you can resign on this position and use the marker position of T10 instead.

Clavicle versus shoulder girdle

The tip positions on the clavicle are only needed, if you want to follow the original ISB recommendations to determine the clavicle orientation. Keep in mind that this procedure allows to determine only two from the three degrees of freedom.

The HUX model calculates the orientation of the shoulder girdle as a whole, also only in two dimensions. Its our opinion that this is more useful, because you can follow these angles with your own eyes easier than for the clavicles and the difference between the two definitions of angles is mainly an offset angle.

Functional calibration

The elbow flexion joint axis and the glenohumeral joint center are determined by functional calibration in the default version of the “combined” model. There are no recommentations from the ISB about details of functional calibration. Serveral mathematical methods exist and can be used in different ways. Big influence has 1) the kind of used calibration movements, 2) which parts of these movements are used to estimate the joint parameters and 3) how the technical coordinate systems are defined, in which the joint parameters are defined.

All of these details can be changed easily in the Upperlimb model files. The default implementations have the following specifities:

1. Determination of the elbow joint centers:

  • The elbow joint axis is determined by the mathematics described by [Gamage 2002].
  • from the complete flexion-extention calibration movements only the parts, starting at the events RHS/LHS and ending at RTO/LTO, are used.
  • The axis is estimated based on a technical coordinate system of the forearm and the marker R/LHUMS placed on the upperarm and the assumption that this markers move on a circle around the elbow joint axis.

2. Determination of the shoulder joint centers:

  • The glenohumeral joint centers are determined also by the mathematics described by [Gamage 2002]
  • from the complete ab-/adduction and ante-/retroversion movements only parts are used; the parts are defined based on a first roughly estimation of the humerus elevation angle, based on the axis defined by the midpoint of the acromion marker cluster and the marker R/LHUMS and the longitudinal axis.

Keep in mind, that different to a simple predictional method a functional calibration can fail and you can get a totally wrong joint center. To recognize, that a functional calibration is failed, you have carefully to look into the log files.

The following log messages fragment shows you five iteration steps of the bias correction of a joint center estimation following [Gamage 2002]. You can see that this interative correction do not converge.

[INFO] (57) LGSGamge 2002 SVD: Rotation Center ohne Bias-Compensation: (60.76693325312189, -25.894798036334446, 60.423781556794616)
[INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 1 Iterationen: (-57.3980918658107, -91.1250314558144, -20.858904273414232)
[INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 2 Iterationen: (-72.5833864175126, -102.85950568583847, -33.44581338726128)
[INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 3 Iterationen: (-84.07771649140628, -109.7181035045771, -41.66369346685163)
[INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 4 Iterationen: (-92.95746570013212, -114.92644324606557, -47.96427069100709)
[INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 5 Iterationen: (-100.00711917673523, -119.05556050171771, -52.96368029919215)

Compare it with a working case:

[INFO] (57) LGSGamge 2002 SVD: Rotation Center ohne Bias-Compensation: (51.85421210044921, -32.47977057461504, 92.10082187401123)
[INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 1 Iterationen: (46.955873753377865, -39.268110807802714, 74.30109865228015)
[INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 2 Iterationen: (46.33405115922165, -40.138869668498536, 72.15844069072027)
[INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 3 Iterationen: (46.120939656264156, -40.435632487848665, 71.39881899028889)
[INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 4 Iterationen: (46.04002626088268, -40.548197183621696, 71.10984825987104)
[INFO] (57) LGSGamge 2002 SVD: Rotation Center nach 5 Iterationen: (46.008483182048586, -40.59207317192517, 70.99716045271347)

Not in all cases these logging information are sufficient to recognize problems with the joint center determination. Thatś why you should always look at the determined joint centers in a 3d view.

The default implementation to determine the shoulder joint centers is based on autodetection of the phases to use:

<DirectedCosinAngle name="RHumEle" 
                    includes="dynamic_calibrate_right_shoulder" 
                    SecondVector="-LongitudinalAxisHDCal" 
                    FirstVector="normalize(RHUMS-RSCAO)"/>
 
<TDP name="RHumEleAngleMin" 
     includes="dynamic_calibrate_right_shoulder" 
     process="post" 
     calibrateIncludes="dynamic_calibrate_right_shoulder" 
     method="min">RHumEleAngle</TDP>
 
<Phase name="REle" 
       includes="dummy" 
       process="post" 
       calibrateIncludes="dynamic_calibrate_right_shoulder">(RHumEleAngle < (FuncionalTrialAbdukROM + 10.0 + RHumEleAngleMin)) && (RHumEleAngle > (10.0 + RHumEleAngleMin))</Phase>

Sometimes this automatismus fails. If it fails in some cases you can use carfully set events by hand instead. If you want to do this you can commend-out the above declaration and use an event-based configuration instead:

<Phase name="REle" 
       startEvent="RHS" 
       endEvent="RTO" 
       process="post" 
       calibrateIncludes="dynamic_calibrate_right_shoulder" 
       includes="dummy"/>

For the left side there are equivalent xml-fragments available in the model.

Convergation of the functional method is no garantee to get a good estimation. Even if the method converges it is possible that you get bad estimations. In these cases typically the glenohumeral joint centers are shiftet to medial and anterior for one or both sides of a subject.

Trunk orientation ISB

In the original HUX model the trunk orientation is determined as two projection angles, which describes the orientation of the trunks longitudinal axis with respect to its orientation in an static calibration trial.

In the combined model as an alternative these projection angles are determined equivalent to the thorax longitudinal and medio/lateral axes of the ISB recommendations:

Name Angle type Reference Description
R/LTrunkObliquity Projection Ant/post thorax axis in a static calibration trial The angle of the longitudinal axis with respect to its orientation in a static calibration trial.
R/LTrunkTilt Projection Med/Lat thorax axis in a static calibration trial The angle of the longitudinal axis with respect to its orientation in a static calibration trial.

Project files

Here are the Nimue platform based project files for the combined model. How to clone a github repository is explained here.

Models

File name Default Description Latest version
UEGeneral2+Cluster_without-SHO-markers_reduced.xml X T10 instead of T8; No scapula SC, AC, PC markers; No humerus EL and EM markers; no R/LSHO (fallback method, upper body longitudinal axis, etc.); additional static locator trials V1.7
UEGeneral_without-pelvis-markers-HUMS-only.xml without Pelvis markers and HUMS only backported from V1.7 UEGeneral2+Cluster_without-SHO-markers_reduced.xml, not tested
UEGeneral2+Cluster_without_SHO-markers.xml without SHO markers backported from V1.7 UEGeneral2+Cluster_without-SHO-markers_reduced.xml, not tested

Labelsets

File name Calc group name Description
Output_reduced_static.xml static_calibrate_shoulder2 Output for static calibration trial, used for transform the shoulder joint center into the cluster coordinate systems.
Output_reduced_abduk.xml ShoulderAbdAdd Output for the shoulder abd/adduction (in frontal plane) movement trials.
Output_reduced_anteretro.xml ShoulderAnteRetro Output for shoulder ante/retroversion (in sagital plane) movement trials.
Output_reduced_Schuerzengriff.xml Schuerzengriff Output for “Schürzengriff” movement trials.

SheetDefs

File name Calc group name Description
Abduk_Hux+Cluster_Shoulder.xml ShoulderAbdAdd Used for bilateral shoulder abduction and additonal two static positions.
Abduk_Hux+Cluster_Shoulder2.xml ShoulderAbdAdd Used for bilateral shoulder abduction and only the second static positions. Use this def file instead the first one as a workaround for trials which include only the second static positions.
Abduk_Hux+Cluster_Shoulder_without_static.xml ShoulderAbdAdd Used for bilateral shoulder abduction without static positions. Use this def file instead the first one as a workaround for trials, which does not include any static positions.
Flexion_Hux+Cluster_Shoulder.xml ShoulderAnteRetro Used for bilateral shoulder ante/retroversion and additional two static positions.

Jobs

Eclipse entries

The default configuration of this project is made for usage with data collected by Vicon Workstation or Vicon Nexus. It assumes that the following “Eclipse”-entries are set as shown in the following table.

Name Used values Deprecated values Description
TYPE Static_Cal, Static, EllbowFlex/Ext, ShoulderAnte/Retro, ShoulderAbd/Add, Dynamic, Proprio, proprio
CLASS This property was originally used in the Heidelberg Motionlab. Please use TYPE instead.
ACTIVITY Scapula TS, Scapula AI, Scapula AA, Scapula PC, Humerus EL, Humerus EM, Forearm RS, Forearm US All of the values can haven an suffix “Pos1” or “Pos2” … (old deprecated: “Position 1” or “Position 2” …), if positions are tipped for humerus elevation angles > 90 degrees.
POSITION This property was originally used in the Heidelberg Motionlab. Please use ACTIVITY instead.
SIDE Side R, Side L, Both, bds rechts, links If a motion or position is side depenended in the meaning it can be done with the right side and the left or with both sides you can define the side.
DESCRIPTION Abduk, Ante-/Retro, Elevation/Depression, Protraktion/Retraktion ARO/IRO-0, ARO/IRO-90Abduk, ARO/IRO-90Ante Schuerzengriff, Kaemmen, Armkreisen, Buch, WaschenAchsel,
NOTES This property was originally used in the Heidelberg Motionlab. Please use DESCRIPTION instead.

For Vicon Nexus users these properties are available per default. No Vicon Nexus Eclipse-properties configuration is needed any more, for its usage. You only have to set the values for each trial as configured in the projects “job configuration”.

Vicon Nexus creates for each trial a file with the suffix “.enf” which includes the above properties. Have a look at the following example content of such an enf-file:

[Node Information]
TYPE=TRIAL
NAME=sitzen_16
[TRIAL_INFO]
DESCRIPTION=AA_semi_re
NOTES=
STAGES=
TYPE=Dynamic
GENDER=
SIDE=Side R
DIAGNOSIS=
INJURY=
PATHOLOGY=
ACTIVITY=Scapula AA Position 1
CREATIONDATEANDTIME=2017,3,1,16,12,49
FP4=Auto
FP3=Auto
FP2=Auto
FP1=Auto
SUBJECTS=Matteo
RAWDATALOADSTARTFRAME=0
RAWDATALOADENDFRAME=0
RAWDATAEXCLUDEFILES=

The deprecated values are formaly used in the Heidelberg Motionlab and should not be used any more. They are only listed to remember if you find these values in older sessions collected in the Heidelberg Motionlab.

You can change the usage of the properties as you want. All is defined in the “job configuration”. Have a look at the Nimue platform Process documentation to understand how to define groups of trials and how to process them.

Predefined phases and events

In general, for arbitrary movements the following cycles RCycle and LCycle are determined based on the events RTS/LTS defining the startposition of a movement and RTO/LTO defining the end position of the movement. These events must be set, e.g. for the humeral abduction trials, so that the model can determine left and right phases. Between the events one or more movement cycles can be included. If the phases R/LCycle are used the events should define a single cycle. If the autodetection of R/LElePhase is used than the events can define a movement part, which include more than one cycle

Name Internal use only Type Description
RCycle X Phase Starts at the position of the event RHS and ends at the position of the event RTO
LCycle X Phase Starts at the position of teh event LHS end ends at the position of the event LTO

Idependant from these events and phases the model determines the following phases for the dynamical calibration trials to estimate the shoulder joint centers:

Name Type Internal use only Description
RAbduk Phase X Used for functional glenohumeral joint center estimation for the right side.
LAbduk Phase X Used for functional glenohumeral joint center estimation for the left side.

The calculation is determined from a first estimation of the humeral elevation angle.

The following phases are based again on the events RTS/LTS and RTO/LTO.

Name Type Internal use only Description
REleStartPhase Phase X Used for determination of RElePhase
LEleStartPhase Phase X Used for determination of RElePhase
REleEndPhase Phase X Used for determination of RElePhase
LEleEndPhase Phase X Used for determination of RElePhase
RElePhase Phase Shoulder elevation to a maximum of 90 degree, for the right side.
LElePhase Phase Shoulder elevation to a maximum of 90 degree, for the leftside.

R/LEleStartPhase, R/LEleEndPhase are used only to determine R/LElePhase. To determine R/LElePhase additional events are defined:

Name Type Internal use only Description
REleStart Event X Used for determination of RElePhase
LEleStart Event X Used for determination of LElePhase
REleEnd Event X Used for determination of RElePhase
LEleEnd Event X Used for determination of LElePhase

R/LElePhase are used especially for plotting upper extremity data. Even if there is more than 90 degree of elevation available the phases ends at 90 degree. It can end before 90 degree, if there is less elevation available.

Based on the constants R/LCycleMaxElevation a minimum range of motion is defined, to detected an elevation phase. The default value for R/LCycleMaxElevation is 60 degree. This results in a minimum RoM of 60+10=70 degree needed to detect an elevation phase. So you can be sure that all detected phases have at minimum 60 degree RoM. Details are described here.

Scapula humeral rhythm (SHR)

The Scapulohumeral Rhythm (SHR), sometimes also referred to as glenohumeral rhythm is the kinematic interaction between the scapula and the humerus, first published by Codman in the 1930s. This interaction is important for the optimal function of the shoulder.

Classical SHR ratio

Typically the SHR is given as the ratio of the glenohumeral abduction angle and the scapula medio-lateral rotation angle during humeral abduction movements (movement mainly in frontal or scapula plane). In many publications, due to technical reasons, the glenohumeral abduction angle is determined from the thoracohumeral abduction angle by subtracting the scapula medio-lateral rotation angle. All of these angles can be defined by cardan sequences or by projection angles.

Three-Dimensional Scapular Kinematics in Patients with Reverse Total Shoulder Arthroplasty during Arm Motion.
Lee KW, Kim YI, Kim HY, Yang DS, Lee GS, Choy WS
Clin Orthop Surg8p316-24(2016 Sep)

Typically the SHR ratio is presented as a function of the humeral elevation.

In our models the conventional defined SHR ratio values are available based on projection angles.

Name Type Reference Description
R/LGlenohumeralAbdAddProjAngle Projection Scapula corresponding to the ISB recommendations. The abduction angle between humerus and scapula projected into the frontal plane.
R/LScapRotationProjAngle Projection Thorax coordinate system based on the longitudinal axis definition developed for the Heidelberg upper extremity model The scapula media-lateral rotation angle against the thorax as defined above.
R/LScapHumRhythmHDCalProj Ratio - The ratio between the above angles.

Alternativly, these observables are calculated based on cardan angles:

Name Type Reference Description
R/LGlenohumeralAbdukAdduk Cardan Scapula corresponding to the ISB recommendations. The abduction angle between humerus and scapula
R/LScapRotationHDCal Cardan Thorax coordinate system based on the longitudinal axis definition developed for the Heidelberg upper extremity model. The scapula media-lateral rotation angle against the thorax as defined above.
R/LSHRCardan Ratio - The ratio between the above angles.

The following sheet shows the SHR ratio values (based on projection angles) in the upper left corner based on the data shown in the diagrams in the third column in the second and third row. The x-axis show the humeral elevation and is determined as an direction cosine angle.

Pay attention: This definition is useful only, if both angles are always bigger than zero. Depending on the defintion of the thorax and due to measurement errors, in practice, it can happen that the scapula thoracal angle can start with negative angles and crosses the zero during the abduction phase. This results in strange SHR ratio value curves. Thisis no bug in the implementation! It is an inappropriate SHR value definition.

Have a look at the following sheet:

The peak in the SHR ratio value in the curve in the upper left corner of the sheet results from a division by zero, because the curve in the second column in the third row starts from negative values and increase up to positive values by crossing the zero value.

In the literature I have'nt seen such curves. The authors typically avoids to show these singularities by starting the curves from x-values after the singularity. That´s one reason for the fact that you never find SHR-curves in the literature starting at zero.

To avoid the singularities, e.g. Walker et. al. 2015 define the SHR as (deltaH - deltaS)/deltaS, where deltaH is the incremental humeral elevation and deltaS is the incremental scapular elevation.

Scapulohumeral rhythm in shoulders with reverse shoulder arthroplasty.
Walker D, Matsuki K, Struk AM, Wright TW, Banks SA
J Shoulder Elbow Surg24p1129-34(2015 Jul)

This is a different measure, which results in different numerical values, for the so called SHR ratio but it is robust against angle-offsets. A numerical feature of this definition is, that it can be implemented a way that the measure does not depend on the rotation order of the cardan angles.

Adjunct SHR ratio

An other way to define the SHR ratio is based on so called adjunct rotation angles with the idea to use differential rotations integrated over the real motion path.

The default configuration of the adjunct SHR ratio starts integration at beginning of R/LElePhase than all values are shifted by the minimum value of each timeserie to have only values > 0. After this all values of the angle timeseries in the denominator of the ratio which are smaller than a threshold of 2 degrees are set to NaN. This makes a numerical stable and comparable SHR ratio.

In the default configuration only elevations with range of motion bigger than 70 degree are detected as phase. You change this threshold value in the constants you find in projects constant folder “Constants” in the file constants.properties.

Details of this work are described soon. A publication is in preparation.

Presentation at ESMAC 2018

Name Type Reference Description
R/RHumAdjunctRotationAngles Adjunct rotation Scapula corresponding to the ISB recommendations. The abduction angle between humerus and scapula. Integration started with R/LElePhaseAdjunct
R/LScapAdjunctRotationAngles Adjunct rotation Thorax coordinate system based on the longitudinal axis definition developed for the Heidelberg upper extremity model The scapula media-lateral rotation angle against the thorax as defined above.
R/LSHRAdjunct Ratio - The ratio between the above angles.
FAQ
  • Why is adjunct SHR ration not shown for static positions? It is not defined, because the path length, to integrate along, is zero.

A simple model for measurement and analysis of inter-limb coupling during upperlimb diadochokinesis

The used markerset consisted of one skin-mounted marker placed on the proximal ulna and a three-armed rod with one marker at each end of the rod placed palmar in the closed first with one of the rods placed between the third and fourth finger in dorsal direction. With the assumption that the forearm is hold in horizontal position, the model determines a rotation angle, which corresponds to pro-/supination, if there is no motion in other degrees of freedom in the hand (e.g. ularduction).

Project files

Here are the Nimue platform based project files. How to clone a github repository is explained here.

This simple project/model can be used as a starting point to learn how to model with the “Upperlimb” software.

The model was developed in the Heidelberg Motionlab to analyse inter-limb coupling during diadochokinesis in children with bilateral spastic cerebral palsy.

Conference abstract

kinematic_model.txt · Last modified: 2018/12/13 09:26 by oliver