Abstract
Most motion capture measurements suffer from soft-tissue artifacts (STA). Especially affected are rotations about the long axis of a limb segment, such as humeral internal-external rotation (HIER) and forearm pronation-supination (FPS). Unfortunately, most existing methods to compensate for STA were designed for optoelectronic motion capture systems. We present and evaluate an STA compensation method that (1) compensates for STA in HIER and/or FPS, (2) is developed specifically for electromagnetic motion capture systems, and (3) does not require additional calibration or data. To compensate for STA, calculation of HIER angles relies on forearm orientation, and calculation of FPS angles rely on hand orientation. To test this approach, we recorded whole-arm movement data from eight subjects and compared their joint angle trajectories calculated according to progressive levels of STA compensation. Compensated HIER and FPS angles were significantly larger than uncompensated angles. Although the effect of STA compensation on other joint angles (besides HIER and FPS) was usually modest, significant effects were seen in certain degrees-of-freedom under some conditions. Overall, the method functioned as intended during most of the range of motion of the upper limb, but it becomes unstable in extreme elbow extension and extreme wrist flexion–extension. Specifically, this method is not recommended for movements within 20 deg of full elbow extension, full wrist flexion, or full wrist extension. Since this method does not require additional calibration of data, it can be applied retroactively to data collected without the intent to compensate for STA.
1 Introduction
Motion capture systems, which include optoelectronic and electromagnetic (EM) sensors, have been used extensively to record human movement for applications as diverse as animation, gaming, surgery, and biomechanics research [1–7]. Traditionally, optoelectronic motion capture systems, which involve multiple cameras and passive or active markers placed on the body, have been considered the gold standard [8]. However, EM motion capture systems, which track movement using an electromagnetic field emitted from a stationary transmitter and detected by sensors attached to the body, have also seen significant use in diverse applications [1,9–12]. Unlike optoelectronic systems, EM sensors measure all six rigid-body degrees-of-freedom (DOF) with a single sensor (instead of multiple markers), do not require a line of sight, and are generally less expensive; however, they also have a small range (of the order of one to several meters) and can be affected by ferromagnetic objects [13]. This constellation of characteristics makes them particularly well suited for recording movement of the upper limb.
All motion capture systems that use markers or sensors attached to the skin suffer from soft-tissue artifact (STA). The goal of most motion capture is to record the position and/or orientation of the skeletal structure over time. Because the skin is not rigidly attached to the skeletal structure, the skin—and therefore the markers or sensors attached to the skin—can move relative to the skeletal structure. The difference between the recorded movement of the markers or sensors and the actual movement of the underlying skeletal structure is STA. STA can lead to egregious errors [14–17] and can result from multiple causes. For example, STA can occur because of muscle activation or displaced soft tissue, such as when the deltoid muscle moves a sensor attached to the acromion during overhead reaching movements, or when a sensor placed on the lateral epicondyle is displaced when the elbow is fully flexed. This type of STA can often be reduced by well-chosen sensor placement as suggested by Refs. [18] and [19], especially for electromagnetic sensors, which do not require a line of sight. However, what is more, difficult to control is STA that occurs when most of the skin surrounding a DOF moves considerably less than the underlying skeletal structure. This can occur for DOF along the long axis of a body segment, such as humeral internal-external rotation (HIER) and forearm pronation-supination (FPS) [14,15,20,21]. For example, during humeral internal-external rotation, a sensor placed on the biceps rotates only about two-thirds as much as the humerus [14].
Multiple methods have been developed to compensate for STA using optoelectronic systems. These STA compensation methods include deriving HIER from forearm orientation [14,15] and using optimal weighting [16,19–22], which employ algorithms such as least squares, global optimization, and weighting matrices to correct erroneous data with a numerical model of the arm [16].
Unfortunately, most STA compensation algorithms were developed specifically for optoelectronic motion capture systems and cannot be directly applied to EM motion capture systems because the algorithms take advantage of the individual markers used in optoelectronic systems but not in EM systems. To our knowledge there is only one STA compensation method developed specifically for EM systems: Cao et al. used an optimal weighting method to compensate for STA in HIER [21]. More specifically, this method requires a calibration movement to train a regression equation that relates true shoulder angles (established using forearm orientation) to measured shoulder angles (from the sensor attached to the skin of the upper arm). This regression equation is then employed on subsequent movements to estimate true shoulder angles from the measured shoulder angles. Unlike methods that derive HIER directly from forearm orientation [15,20], the method by Cao et al. produced reliable estimates of HIER even as the elbow approached full extension. However, this method does not compensate for STA in FPS and requires additional data beyond the initial static calibration, so it cannot be applied retroactively to datasets collected without the additional calibrations.
The purpose of this paper is to present and evaluate a method that (1) is developed specifically for EM systems, (2) compensates for STA in HIER and FPS, and (3) does not require additional calibration or data. Although designed for EM systems, this method is based on the method developed by Schmidt et al. for optoelectronic systems [15]. To compensate for STA, calculation of the HIER angle relies on the orientation of the forearm, and calculation of the FPS angle relies on the orientation of the hand.
2 Methods
We first derive the STA compensation algorithms and then describe our evaluation experiment.
2.1 Soft-Tissue Artifact Compensation Algorithm.
The STA compensation method builds on conventional inverse kinematics algorithms (i.e., algorithms that do not compensate for a soft-tissue artifact) for determining global upper-limb motion. The global motion refers to the aggregate rotation of multiple bones; for example, instead of considering the complex articulations of individual carpal bones, we define wrist motion as the rotation of the hand relative to the forearm. These inverse kinematics algorithms are described in detail in Ref. [23]. In summary, the kinematic chain of the upper limb was divided into four segments: thorax, upper arm, distal forearm, and hand. Fixed in each segment was a body-segment coordinate system (BCS) that rotated with the body segment (Fig. 1(a)). Relative rotation between neighboring BCS constituted three joints: the thoracohumeral joint, humeroulnar and radio ulnar joint (grouped as a single joint), and wrist joint. Each of these three joints was defined by a joint coordinate system (JCS) with three rotational DOF, and each JCS was defined by three axes of rotation and the order of rotation about these axes, as listed in Table 1. The elbow and wrist joint definitions follow ISB recommendations [24], but the shoulder joint definition was modified to minimize the effects of gimbal lock (see Discussion). In addition, attached to each body segment was an EM sensor with its own sensor coordinate system (SCS) (Fig. 1(b)). EM motion capture systems record the position and orientation of each SCS relative to the universal frame of the stationary EM transmitter.

Body-segment coordinate systems (a) and sensor coordinate systems (b and c). In (c), Sensor I indicates the sensor used during calibration to determine the center of rotation of the glenohumeral joint and removed after calibration.
Joint angle definitions. In the Axis column, axes of rotation are given in terms of the axes of the body coordinate system of the distal segment
Joint | Angle | Description | Axis | Positive direction | Origin (0 deg) |
---|---|---|---|---|---|
Shoulder (humerus relative to the thorax) | Shoulder flexion–extension (SFE) | Flexion | (Anatomical position) | ||
Shoulder abduction–adduction (SAA) | Adduction | (Anatomical position) | |||
Humeral internal–external rotation (HIER) | Internal rotation | (Anatomical position) | |||
Elbow-forearm (forearm relative to humerus) | Elbow flexion–extension (EFE) | Flexion | Fully extended | ||
Elbow carrying angle (ECA) | (positive ) | in plane | |||
Forearm pronation–supination (FPS) | Pronation | Fully supinated | |||
Wrist (third metacarpal relative to the forearm) | Wrist flexion–extension (WFE) | Flexion | The third metacarpal parallel to line from ulnar styloid to the midpoint between medial and lateral epicondyles | ||
Wrist radial–ulnar deviation (RUD) | Ulnar deviation | ||||
Wrist axial rotation (WAR) | (positive ) | in plane |
Joint | Angle | Description | Axis | Positive direction | Origin (0 deg) |
---|---|---|---|---|---|
Shoulder (humerus relative to the thorax) | Shoulder flexion–extension (SFE) | Flexion | (Anatomical position) | ||
Shoulder abduction–adduction (SAA) | Adduction | (Anatomical position) | |||
Humeral internal–external rotation (HIER) | Internal rotation | (Anatomical position) | |||
Elbow-forearm (forearm relative to humerus) | Elbow flexion–extension (EFE) | Flexion | Fully extended | ||
Elbow carrying angle (ECA) | (positive ) | in plane | |||
Forearm pronation–supination (FPS) | Pronation | Fully supinated | |||
Wrist (third metacarpal relative to the forearm) | Wrist flexion–extension (WFE) | Flexion | The third metacarpal parallel to line from ulnar styloid to the midpoint between medial and lateral epicondyles | ||
Wrist radial–ulnar deviation (RUD) | Ulnar deviation | ||||
Wrist axial rotation (WAR) | (positive ) | in plane |
The conventional inverse kinematics process described in Ref. [23] takes as input the orientation of each SCS relative to the universal frame (recorded by the EM motion capture system as Euler angles or rotation matrices) and outputs the three joint angles of each JCS. This process involves four steps (Fig. 2): first, the orientation of each SCS relative to the universal frame is converted from Euler angles to a rotation matrix (if the orientation of the SCS is recorded as a rotation matrix, this step can be skipped). Second, assuming the relative orientation between each SCS and its corresponding BCS (i.e., the BCS of the body segment to which the sensor is attached) is constant over time, the relative orientation measured during calibration is used to calculate the orientation of each BCS relative to the universal frame. Third, the orientations of the BCS relative to the universal frame are combined to calculate the orientation of each BCS relative to its neighboring BCS. Fourth, the joint angles of each JCS are extracted from the relative orientation of neighboring BCS.
![Schematic of the soft-tissue artifact compensation algorithm. This algorithm is based on the traditional inverse kinematics process [23] shown in black, with changes in lighter print. Inputs include the measured sensor coordinate system (SCS) angles [a,e,r] representing azimuth, elevation, and roll of each sensor (E-H), and calibration rotation matrices between each sensor and its body coordinate system (BCS, labeled A-D). The output consists of the three joint angles ([α,β,γ]) for each of the three joints: shoulder, elbow, and wrist. The STA compensation algorithm includes four steps: (1) Sensor angles are converted into rotation matrices describing the orientation of each SCS in the universal frame, (2) Calibration matrices and SCS matrices are combined to yield BCS matrices in the universal frame (3) Adjacent BCS matrices are combined to yield joint coordinate system (JCS) matrices, and (4) Joint angles are extracted from JCS matrices. The two light boxes in step 2 indicate where STA compensation was added to the algorithm, using additional information indicated by the light arrows. The rotation matrices and angles in light print indicate the variables that are affected by the STA compensation.](https://asmedc.silverchair-cdn.com/asmedc/content_public/journal/biomechanical/144/7/10.1115_1.4053366/1/m_bio_144_07_071007_f002.png?Expires=1747830707&Signature=GwIG-2YcrtccnVuw2azx2da~28r9o-AjT1lJ2nm26HbC8-3bMIuTzTgx27RDc-I18R2hgBPNhMb046XvT2d4vAwdkjbEFoRqO31LINjX4on828nxmdfNzgmWvQ9Fi91JJ6hbtYM4I5l3vo1P4bDZ-Y34pUv81ZRhDfhusm4BhMWlDX2QYw6SdxKzTY17v-60NK~VvThbZWNwqVtnu9bTgCf7Sa1ZIb4txhioyOXWFpIukSgrhm3gwspwCbC8iUsIn69DthyNagclo4x1myYp0rhosr59nEsDERjcZpFpTC3zXqzAMRYihfAVZ9dEGqlB2r9y16u1fvBEtkryLW4pgw__&Key-Pair-Id=APKAIE5G5CRDK6RD3PGA)
Schematic of the soft-tissue artifact compensation algorithm. This algorithm is based on the traditional inverse kinematics process [23] shown in black, with changes in lighter print. Inputs include the measured sensor coordinate system (SCS) angles representing azimuth, elevation, and roll of each sensor (-), and calibration rotation matrices between each sensor and its body coordinate system (BCS, labeled -). The output consists of the three joint angles () for each of the three joints: shoulder, elbow, and wrist. The STA compensation algorithm includes four steps: (1) Sensor angles are converted into rotation matrices describing the orientation of each SCS in the universal frame, (2) Calibration matrices and SCS matrices are combined to yield BCS matrices in the universal frame (3) Adjacent BCS matrices are combined to yield joint coordinate system (JCS) matrices, and (4) Joint angles are extracted from JCS matrices. The two light boxes in step 2 indicate where STA compensation was added to the algorithm, using additional information indicated by the light arrows. The rotation matrices and angles in light print indicate the variables that are affected by the STA compensation.
![Schematic of the soft-tissue artifact compensation algorithm. This algorithm is based on the traditional inverse kinematics process [23] shown in black, with changes in lighter print. Inputs include the measured sensor coordinate system (SCS) angles [a,e,r] representing azimuth, elevation, and roll of each sensor (E-H), and calibration rotation matrices between each sensor and its body coordinate system (BCS, labeled A-D). The output consists of the three joint angles ([α,β,γ]) for each of the three joints: shoulder, elbow, and wrist. The STA compensation algorithm includes four steps: (1) Sensor angles are converted into rotation matrices describing the orientation of each SCS in the universal frame, (2) Calibration matrices and SCS matrices are combined to yield BCS matrices in the universal frame (3) Adjacent BCS matrices are combined to yield joint coordinate system (JCS) matrices, and (4) Joint angles are extracted from JCS matrices. The two light boxes in step 2 indicate where STA compensation was added to the algorithm, using additional information indicated by the light arrows. The rotation matrices and angles in light print indicate the variables that are affected by the STA compensation.](https://asmedc.silverchair-cdn.com/asmedc/content_public/journal/biomechanical/144/7/10.1115_1.4053366/1/m_bio_144_07_071007_f002.png?Expires=1747830707&Signature=GwIG-2YcrtccnVuw2azx2da~28r9o-AjT1lJ2nm26HbC8-3bMIuTzTgx27RDc-I18R2hgBPNhMb046XvT2d4vAwdkjbEFoRqO31LINjX4on828nxmdfNzgmWvQ9Fi91JJ6hbtYM4I5l3vo1P4bDZ-Y34pUv81ZRhDfhusm4BhMWlDX2QYw6SdxKzTY17v-60NK~VvThbZWNwqVtnu9bTgCf7Sa1ZIb4txhioyOXWFpIukSgrhm3gwspwCbC8iUsIn69DthyNagclo4x1myYp0rhosr59nEsDERjcZpFpTC3zXqzAMRYihfAVZ9dEGqlB2r9y16u1fvBEtkryLW4pgw__&Key-Pair-Id=APKAIE5G5CRDK6RD3PGA)
Schematic of the soft-tissue artifact compensation algorithm. This algorithm is based on the traditional inverse kinematics process [23] shown in black, with changes in lighter print. Inputs include the measured sensor coordinate system (SCS) angles representing azimuth, elevation, and roll of each sensor (-), and calibration rotation matrices between each sensor and its body coordinate system (BCS, labeled -). The output consists of the three joint angles () for each of the three joints: shoulder, elbow, and wrist. The STA compensation algorithm includes four steps: (1) Sensor angles are converted into rotation matrices describing the orientation of each SCS in the universal frame, (2) Calibration matrices and SCS matrices are combined to yield BCS matrices in the universal frame (3) Adjacent BCS matrices are combined to yield joint coordinate system (JCS) matrices, and (4) Joint angles are extracted from JCS matrices. The two light boxes in step 2 indicate where STA compensation was added to the algorithm, using additional information indicated by the light arrows. The rotation matrices and angles in light print indicate the variables that are affected by the STA compensation.
One of the key assumptions of the conventional inverse kinematics method is that the relationship between a sensor's SCS and the BCS of the body segment to which the sensor is attached is constant over time, allowing one to use the relationship established during calibration at later times during movement (Fig. 2). However, movement of the skin relative to the bone causes movement of the SCS relative to the BCS, invalidating this assumption and creating a false prediction of joint angles, i.e., soft-tissue artifact. DOF that rotate about the longitudinal axis of the limb segment is particularly susceptible to soft-tissue artifact [14,15,17,20,21]. This DOF include humeral internal-external rotation and forearm pronation-supination ( and ). Here we present detailed instructions for compensating for STA in these two DOF.
The mathematical notation used throughout this paper follows [25]. Specifically, unit vectors describing a frame are . Trailing subscripts denote the frame to which the unit vectors belong, i.e., are the unit vectors of frame . Leading superscripts denote the frame in which vectors are expressed, e.g., are the unit vectors of frame , expressed in frame . The rotation matrix describing the orientation of frame relative to frame is , i.e., . Rotation matrices are functions of time; the rotation matrix at time is , whereas the rotation matrix at calibration is .
2.1.1 STA Compensation in Humeral Internal-External Rotation.

Diagrams explaining the derivation of the algorithms compensating for soft-tissue artifacts in humeral internal–external rotation (a) and forearm pronation-supination (b). (a) The cross product lies in the plane; since is known and can be easily determined, the angle can be calculated using the dot product. (b) Relative to the black frame (representing the orientation of the forearm), the blue frame (representing the orientation of the hand) is rotated first about by (resulting in the intermediate frame), then about by (resulting in the intermediate frame), and finally about by . Therefore, rotating about by yields , which lies in the plane. Thus, can be obtained from the cross-product of and .

Diagrams explaining the derivation of the algorithms compensating for soft-tissue artifacts in humeral internal–external rotation (a) and forearm pronation-supination (b). (a) The cross product lies in the plane; since is known and can be easily determined, the angle can be calculated using the dot product. (b) Relative to the black frame (representing the orientation of the forearm), the blue frame (representing the orientation of the hand) is rotated first about by (resulting in the intermediate frame), then about by (resulting in the intermediate frame), and finally about by . Therefore, rotating about by yields , which lies in the plane. Thus, can be obtained from the cross-product of and .
As discussed in Ref. [21], this strategy of using to calculate the true orientations of and becomes unreliable as the elbow approaches full extension or flexion: as approaches 0 deg or 180 deg, and approach parallel orientation, so their cross-product goes to zero, leading to a singularity in the equations for (and therefore also ). One benefit of our algorithm over that proposed by Ref. [15] is that it allows a nonzero carrying angle (); this prevents the true angle between and from ever being smaller than the carrying angle, which is commonly around 5–15 deg for men and 10–25 deg for women [26], thus avoiding the severest effects of the singularity. Nevertheless, the instability has an effect (though decreasing) even beyond the range of the carrying angle (see Discussion).
2.1.2 STA Compensation in Forearm Pronation-Supination.
where is a rotation about by . The definition of follows the same form as (Eq. (3)), but with substituted for and substituted for .
where and can be obtained as follows.
Similar to the strategy for estimating HIER, this strategy of using a cross-product to estimate FPS becomes unreliable when the axes involved in the cross-product approach a parallel orientation, which occurs as the wrist approaches 90 deg of flexion or extension.
2.1.3 STA Compensation in Humeral Internal-External Rotation and Forearm Pronation-Supination.
To compensate for STA in both the upper arm and in the forearm, one can combine the two methods under the following two assumptions: (1) the elbow carrying angle () and the axial rotation of the wrist () are both constant and known, and (2) STA affects only HIER and FPS, i.e., it affects only the estimates of , , , and , not or . To combine the methods, one can follow the procedure outlined in “Deriving humeral internal-external rotation from forearm orientation” to obtain according to Eq. (11) and the procedure described in “Deriving forearm pronation-supination from hand orientation” to calculate according to Eq. (22).
2.2 Evaluation Experiment.
To implement and evaluate this STA compensation algorithm, we conducted the following experiment.
2.2.1 Subjects.
This study included eight healthy subjects (four male, four female). The subjects were 23.4±4.5 (mean±SD) years old (range 17–33 years), with an average height of 1.78 ± 0.16 m (range 1.52–1.96 m) and weight of 78.9 ± 11.9 kg (range 56–94 kg), resulting in a BMI of 25.4 ± 6.1 (range 20.2–39.1). Of the eight subjects, six were right-handed, one was left-handed, and one was ambidextrous. All subjects reported that they were free from injury or disorder that would affect upper-limb movement. Informed consent was obtained from all subjects following procedures approved by Brigham Young University's Institutional Review Board.
2.2.2 Experimental Setup.
Subjects were seated in an armless chair and instrumented with five EM motion tracking sensors (trakSTAR by Ascension Technology Corp, Shelburne, VT). These sensors can record their position and orientation in all 6DOF with static accuracy of the order of 1 mm and 1 deg [1,27–29]. Each sensor was placed in a small, custom-made plastic holder with a 3.2 cm-by-2.5 cm base to minimize rolling and taped in place in the following locations (Fig. 1(c)): on the sternum approximately 5 cm inferior to the incisura jugularis (sensor E), the dorsal aspect of the upper arm approximately 9 cm proximal to the olecranon (sensor F), the dorsal aspect of the forearm approximately 7 cm proximal to the wrist joint center (sensor G), and the back of the hand straddling the third and fourth metacarpals (sensor H). In addition, to determine the center of rotation of the glenohumeral joint [23], a fifth sensor was taped to the scapula over the acromion, straddling the two legs of the acromial angle, and removed after calibration (sensor I). These locations were chosen to minimize the effect of STA, as explained in [23]. Position and orientation data were recorded at 60 samples/sec.
To calibrate the sensor setup, we used the landmark calibration described in detail in Ref. [23]. This method uses the landmarks suggested in Ref. [24] except for the landmarks on the hand, which were modified for in vivo use. Following this method, landmark locations were marked and their locations were recorded using a stylus instrumented with an EM sensor (also trakSTAR), providing the position of each landmark with respect to both the transmitter and the sensors attached to the subject.
2.2.3 Experimental Protocol.
Subjects performed 12 simple tasks involving the upper limb. The first seven tasks explored the range of motion (ROM) in each of the major DOF from the shoulder to the wrist: shoulder adduction-abduction, shoulder flexion–extension, humeral internal–external rotation, elbow extension–flexion, forearm pronation–supination, wrist flexion–extension, and wrist radial–ulnar deviation. For each DOF, subjects started in neutral posture, moved to the limit of the ROM in the direction listed first (e.g., elbow extension), then to the limit of the ROM in the other direction (e.g., elbow flexion), and then back to the neutral position. Full shoulder adduction was considered the same as neutral posture. At the limit of the ROM in each direction, the subject paused briefly. The eighth task (wiggle fingers) was performed so we could determine whether the STA compensation algorithm for estimating FPS was sensitive to small perturbations of sensor H (on the hand) during the movement of the fingers. The last four tasks represented a range of functional activities [30]. Starting in neutral posture, subjects moved their right hand to their left shoulder and paused briefly. From there they moved their hand to the mouth and paused again, then touched the back of their head and paused, and finally moved their hand to their back right pocket. Since the purpose of data collection was to characterize algorithm performance across a variety of movements, and not to establish differences between movements, there was no repetition or randomization of movements.
2.2.4 Data Processing.
We have presented three STA compensation algorithms (HIER, FPS, and HIER+FPS). To test the effect of these algorithms, we calculated joint angles using the following progression:
Approximation 0 (A0): No STA compensation, inverse kinematics with all 9DOF
Approximation 1 (A1): No STA compensation, inverse kinematics with only 7DOF ( and assumed constant)
Approximation 2 (A2): STA compensation in HIER only
Approximation 3 (A4): STA compensation in FPS only
Approximation 4 (A4): STA compensation in HIER and FPS
Estimating elbow carrying angle () and wrist axial rotation angle (): As mentioned above, our STA compensation method requires known, constant angles for and . Although the carrying angle has been shown to vary, its variation is relatively small [21]. These angles could be obtained by direct measurement, but one of our goals was to develop a STA compensation method that did not require extra measurements and could therefore be applied retroactively to data collected without the intention to compensate for STA. Therefore, instead of measuring and directly, we estimated them from the movement data using a two-step approach. First, the conventional inverse-kinematics algorithm without STA compensation (A0) was used to calculate all nine joint angles, including and , as functions of time. We then calculated mean values of and , averaged across all movements for each subject, resulting in a subject-specific, constant value for each angle. Second, these values were then used in approximations A1–A4.
2.2.5 Data Analysis.
The actual orientation of the skeletal structure is unknown, so we evaluated the effect of the algorithms (A1–A4) by comparing them to the conventional inverse kinematics algorithm (A0) and each other.
To visualize the effect of various STA compensation approximations, we created a mean joint angle trajectory for each STA compensation approximation by averaging across subjects as follows. After calculating the joint angles of all subjects according to a given STA compensation approximation, we segmented the joint angle trajectories into the individual tasks that were performed, synchronized all subjects' movements at the beginning of each task, and stretched them in time to have the same duration. For each task, subjects' joint angle trajectories were resampled to have the same number of samples (the average number of samples for each task), and joint angles were averaged using the circular mean across all eight subjects at each time point [31]. This process was implemented for all five approximations of all DOF for all eight subjects.
Since no gold standard is available, it is difficult to quantify the degree of instability associated with extreme EFE and WFE angles. Nevertheless, we provide a rough estimate, calculated as follows. During movements involving only EFE, a significant change in HIER angle calculated according to approximation A2 or A4 is likely caused by algorithm instability. In contrast, approximation A0 does not suffer from this instability. Therefore, we estimated the instability in HIER angle as a change in approximation A2 of HIER (relative to approximation A0 of HIER) during movements involving only EFE. Similarly, during movements involving only WFE, significant change in FPS angle calculated according to approximation A3 or A4 is likely caused by algorithm instability, whereas approximation A0 of FPS does not suffer from instability. Therefore, we estimated the instability in FPS as a change in approximation A3 of FPS (relative to approximation A0 of FPS) during movements involving only WFE.
To quantify the effect of the various STA compensation approximations on all DOF (not just HIER and FPS), approximations A1–A4 were compared to the original approximation (A0) in two ways. First, after calculating a subject's joint angles according to a given STA compensation approximation, we calculated the difference between this approximation and A0 as a function of time, computed the mean of the absolute difference in a given DOF and subject by averaging across the duration of each task, and finally averaged the mean differences across all subjects, resulting in a mean absolute difference for each DOF and task. Second, the DOF and task for which the various STA compensation approximations (A1–A4) were statistically different from A0 were determined as follows. After computing a mean joint angle approximation across the duration of each task in a given DOF and subject, we performed for each DOF and task a paired t-test across subjects, compensating for multiple comparisons using a pseudo-Bonferroni correction, with a significance level at 0.001. All means and paired t-tests of angle data were performed using circular statistics to account for the circular nature of angle data [31].
3 Results
Raw sensor data from individual subjects were converted to joint angles according to each of the five approximations outlined above (Fig. 4).

Progression from raw sensor data (row 1) to joint angles calculated according to all five approximations (row 2) for a representative subject during a subset of movements
3.1 Effects of Soft-Tissue Artifact Compensation on HIER and Forearm Pronation-Supination During Specific Tasks.
Overall, the five approximations produced similar joint angles for most tasks (Fig. 5). The angles of two DOF (shoulder flexion–extension and abduction–adduction) showed no change across all five approximations, as expected. In contrast (but also as expected), we found large differences between certain approximations for HIER and FPS, especially for some tasks. These differences can be divided into main effects and secondary effects.

Mean joint angle trajectories of all joint angles calculated according to all five approximations. The vertical white strips indicate when the postures (listed on top) were held, and the vertical gray strips indicate movement between postures. Enlarged versions of the most salient features are shown in Fig. 6.

Mean joint angle trajectories of all joint angles calculated according to all five approximations. The vertical white strips indicate when the postures (listed on top) were held, and the vertical gray strips indicate movement between postures. Enlarged versions of the most salient features are shown in Fig. 6.
3.1.1 Main Effects.
Approximations A2 and A4, which were designed to compensate for STA in HIER, had significant effects on the HIER angle during movements involving substantial HIER (Fig. 6(a)). During HIER, the upper-arm skin rotates less than the humerus, so traditional (noncompensating) inverse-kinematics algorithms (such as A0 and A1) underestimate HIER angles during HIER movements. As expected, A2 and A4 estimated greater excursions in HIER than the other approximations. In full internal rotation, HIER angles calculated according to A2 was 18.1 deg beyond those calculated according to A0. Similarly, in full external rotation, HIER angles calculated according to A2 was 25.2 deg beyond those calculated according to A0. Since none of the approximations affected the DOF proximal to HIER (SFE and SAA), there were no differences in HIER angle between approximations A0, A1, and A3, or between approximations A2 and A4.

Enlarged subsets of Fig. 5 for closer examination HIER and FPS angles. (a) In full humeral internal rotation and external rotation, the HIER angles calculated according to approximations 2 and 4 show greater excursions than those calculated according to A0, as expected. (b) Similarly, in full forearm pronation and supination, the FPS angles calculated according to approximations 2–4 show greater excursions than those calculated according to approximation 0, as expected. (c) As the elbow approaches full flexion or extension, the HIER angles calculated according to approximations 2 and 4 falsely indicates significant movement in HIER. (d) Similarly, as the wrist approaches full flexion or extension, the FPS angles calculated according to approximations 3 or 4 falsely indicate significant movement in FPS.

Enlarged subsets of Fig. 5 for closer examination HIER and FPS angles. (a) In full humeral internal rotation and external rotation, the HIER angles calculated according to approximations 2 and 4 show greater excursions than those calculated according to A0, as expected. (b) Similarly, in full forearm pronation and supination, the FPS angles calculated according to approximations 2–4 show greater excursions than those calculated according to approximation 0, as expected. (c) As the elbow approaches full flexion or extension, the HIER angles calculated according to approximations 2 and 4 falsely indicates significant movement in HIER. (d) Similarly, as the wrist approaches full flexion or extension, the FPS angles calculated according to approximations 3 or 4 falsely indicate significant movement in FPS.
Similarly, A3 and A4, which were designed to compensate for STA in FPS, estimated greater excursions in FPS during movements involving substantial FPS (Fig. 6(b)). During full pronation, FPS angles calculated according to A3 and A4 were 3.6 and 6.8 deg greater, respectively, than those calculated using A0. The effect in supination was greater: in full supination, FPS angles calculated according to A3 and A4 were 18.3 deg and 23.6 deg, respectively, beyond those calculated using A0. Because FPS is distal to (and depends on the calculation of) HIER, the FPS angle was affected by changes in HIER angle, so A2, A3, and A4 were different from each other and from A0 to A1. In full pronation and supination, the calculated excursion in FPS angle increased with each approximation: .
3.1.2 Secondary Effects.
The STA compensation algorithms also exhibited two instabilities as anticipated (see Methods). First, extreme angles in EFE compromised the accuracy of HIER angles. During the measurement shown in Fig. 6(c), subjects were instructed to hold the humerus in a neutral position while flexing and extending the elbow. Nevertheless, the HIER angle calculated according to approximations A2 and A4 exhibited significant change; this is especially noticeable when compared to the relatively stable HIER angles calculated according to A0, A1, and A3, which do not suffer from instability in HIER. We used this change to provide a rough estimate of the degree of instability as EFE approached 0 deg or 180 deg. Plotting individual subjects' HIER angles calculated according to A2 (relative to HIER calculated according to A0) during movements involving only EFE did indeed reveal an effect of EFE, but there were also erratic changes in HIER that were not simply related to EFE (Fig. 7(a)). Nevertheless, to obtain a rough estimate of the degree of instability, we attributed mean changes in approximation A2 of HIER (relative to approximation A0 of HIER) to the instability. Averaged across subjects, this change increased as EFE approached the limits of its range of motion, as expected. In particular, as the elbow extended, the mean change increased roughly linearly with decreasing EFE angle until 20 deg from full extension, where the change in HIER was 10.9 deg (Fig. 7(a)). As the elbow extended further, the change increased super-linearly, reaching 18.9 deg at full elbow extension. On the other side, as the elbow flexed beyond 90 deg, the mean change in HIER progressed nonlinearly, reaching 10.1 deg at full elbow flexion.

Instability in humeral internal-external rotation (HIER) increases as elbow flexion–extension (EFE) approaches the limits of its range of motion (a), and instability in forearm pronation-supination (FPS) increases as wrist flexion–extension (WFE) approaches the limits of its range of motion (b). (a) The absolute difference in HIER between approximations 2 and 0 (|HIER2-HIER0|) during movements involving only EFE is plotted against approximation 0 of EFE (EFE0) on the outside axes (black) for individual subjects (thin data curves) and averaged across subjects (thick dark gray line and surrounding gray shading show mean and 95% confidence interval). The change in this difference (|HIER2-HIER0|) is attributed to algorithm instability. To illustrate the magnitude of this instability as EFE approaches full extension and flexion (averaged across subjects), the inset axes (gray) are centered (white dot) at EFE0 = 90 deg (where the instability is theoretically minimal) and |HIER2-HIER0| = 0. (b) Similarly, the absolute difference in FPS between approximations 3 and 0 (|FPS3-FPS0|) during movements involving only WFE is plotted against approximation 0 of WFE (WFE0) on the outside axes (black). The change in |FPS3-FPS0| is attributed to algorithm instability. To illustrate the magnitude of this instability as WFE approaches full extension and flexion (averaged across subjects), the inset axes (gray) are centered (white dot) at WFE0 = 0 deg (where the instability is theoretically minimal) and |FPS3-FPS0| = 0.

Instability in humeral internal-external rotation (HIER) increases as elbow flexion–extension (EFE) approaches the limits of its range of motion (a), and instability in forearm pronation-supination (FPS) increases as wrist flexion–extension (WFE) approaches the limits of its range of motion (b). (a) The absolute difference in HIER between approximations 2 and 0 (|HIER2-HIER0|) during movements involving only EFE is plotted against approximation 0 of EFE (EFE0) on the outside axes (black) for individual subjects (thin data curves) and averaged across subjects (thick dark gray line and surrounding gray shading show mean and 95% confidence interval). The change in this difference (|HIER2-HIER0|) is attributed to algorithm instability. To illustrate the magnitude of this instability as EFE approaches full extension and flexion (averaged across subjects), the inset axes (gray) are centered (white dot) at EFE0 = 90 deg (where the instability is theoretically minimal) and |HIER2-HIER0| = 0. (b) Similarly, the absolute difference in FPS between approximations 3 and 0 (|FPS3-FPS0|) during movements involving only WFE is plotted against approximation 0 of WFE (WFE0) on the outside axes (black). The change in |FPS3-FPS0| is attributed to algorithm instability. To illustrate the magnitude of this instability as WFE approaches full extension and flexion (averaged across subjects), the inset axes (gray) are centered (white dot) at WFE0 = 0 deg (where the instability is theoretically minimal) and |FPS3-FPS0| = 0.
The second instability occurs for a similar reason, but in FPS during WFE. During the measurement shown in Fig. 6(d), subjects were instructed to maintain FPS midway between pronation and supination (i.e., FPS angle around 90 deg) while flexing and extending the wrist. Nevertheless, the FPS angle calculated according to approximations A3 and A4 exhibited significant change compared to FPS angles calculated according to A0, A1, and A2, which do not suffer from instability in FPS. As for HIER, we took advantage of this phenomenon to obtain a rough estimate of the degree of instability in FPS as WFE approaches −90 deg or 90 deg. Although individual subjects' changes in FPS included some erratic elements not simply related to WFE, we attributed mean changes in approximation A3 of FPS (relative to approximation A0 of FPS) to the instability (Fig. 7(b)). Averaged across subjects, the change in FPS increased super-linearly as WFE approached the limits of its range of motion, reaching 9.8 deg and 10.4 deg when the wrist was 20 deg from full wrist flexion or full wrist extension, respectively. In full wrist flexion and extension, the change in FPS was 40 deg and 20 deg, respectively. Both instabilities are further explained in the Discussion.
3.2 Effects of Soft-Tissue Artifact Compensation on All Degrees-of-Freedom During All Tasks.
We also examined the effects of STA compensation on all DOF during all tasks and found several patterns (Fig. 8). First, A1 affected only ECA and WAR. It may seem surprising that constraining these two angles to be constant had no effect on the other seven joint angles. However, the particular Euler angle sequences recommended by the International Society of Biomechanics [24] and adopted here caused the other angles to be unaffected in A1 (for details, see Appendix C.4.2 in Ref. [23]). Second, as expected, increasing levels of STA compensation algorithms resulted in greater effects across all DOF and tasks: on average, the difference between A0 and the other approximations was 2.2 deg for A1, 4.9 deg for A2, 4.3 deg for A3, and 6.7 deg for A4. Third, although the average effect across all DOF was modest, significant effects were seen in certain DOF. As above, these trends can be categorized as main and secondary effects.

Effect of approximations 1–4 (compared to approximation 0) for each degree-of-freedom and posture. The color scale represents the absolute difference between each approximation and approximation 0. Cells outlined in the white solid line indicate the intended effects of the soft-tissue artifact compensation algorithm, and cells outlined in the white dashed line indicate the instability of the algorithm that occurs during extreme flexion or extension of the wrist or elbow. White asterisks indicate signed differences (i.e., not absolute differences) that were statistically significant across subjects.

Effect of approximations 1–4 (compared to approximation 0) for each degree-of-freedom and posture. The color scale represents the absolute difference between each approximation and approximation 0. Cells outlined in the white solid line indicate the intended effects of the soft-tissue artifact compensation algorithm, and cells outlined in the white dashed line indicate the instability of the algorithm that occurs during extreme flexion or extension of the wrist or elbow. White asterisks indicate signed differences (i.e., not absolute differences) that were statistically significant across subjects.
3.2.1 Main Effects.
Approximations A2 and A4 had significant effects on the estimation of HIER angles in many movements, not just movements involving substantial HIER (see asterisks in Fig. 8). In fact, HIER angles showed the largest average difference across all movements for a single DOF (15.2 deg). Similarly, A3 and A4 had significant effects on the estimation of FPS angle in many movements, not just movements involving substantial FPS (Fig. 8). FPS angles showed the second largest average difference across all movements (15.0 deg). Since our algorithms specifically targeted this DOF, it was expected that this DOF would show the most change; however, it also confirms that there were no unintended effects in other DOF that outweighed the intended effect on the targeted DOF.
3.2.2 Secondary Effects.
While the primary effect of our algorithm appears to be the intended STA compensation, several instability-prone movements are clearly evident. The four movements with the largest average effect across all DOF were full wrist flexion (17 deg), full elbow extension (13 deg), full elbow flexion (12 deg), and full wrist extension (11 deg). These errors were at times very large; the maximum difference for any DOF during any movement was 65 deg (averaged across all subjects), which occurred in FPS during full wrist flexion (see Weaknesses below for a detailed explanation). However, these instabilities can be avoided if extreme flexion–extension of the elbow and wrist are avoided: differences of more than 25 deg occurred exclusively during full flexion–extension of the elbow and wrist.
4 Discussion
Most motion capture systems utilize markers or sensors that are attached in some way to the surface of the skin. Because the skin moves relative to the underlying skeleton, the joint angles calculated from motion-capture markers or sensors include errors due to STA. The main goals of this research were to present and evaluate a method that (1) is developed specifically for EM systems, (2) compensates for STA in HIER and FPS, and (3) does not require additional calibration or data.
4.1 Soft-Tissue Artifact Compensation Algorithm.
4.1.1 Strengths.
Our compensation algorithm is based on conventional inverse kinematics methods for determining global upper-limb joint angles. The approach follows ISB recommendations for joint angle definitions of the wrist and elbow. For the shoulder joint, we chose to extract joint angles using a ZXY Euler angle sequence instead of the ISB-recommended YXY sequence. This choice was made to minimize gimbal lock close to neutral shoulder position (Figs. 1(a) and 1(b)), where many of the tasks in this study occurred. Nevertheless, the proposed method is easily adapted to the YXY sequence, and the accompanying code (see below) includes the option to switch to the YXY sequence.
The compensation algorithm targets STA in axial rotation of the shoulder and forearm (i.e., HIER and FPS) by using the orientation of distal limb segments to recalculate rotation. This approach necessitates the assumption that the elbow carrying angle and wrist axial rotation angle be constant, thus reducing the kinematics to a 7DOF system. An enhancement of our method compared to that of Schmidt et al. [15] is that the elbow carrying angle and wrist axial rotation angle need not be zero. Another key benefit of our method over some other methods is that it does not require any nonstandard measurements or calibrations before recording motion data; therefore, it can be used retroactively by investigators who did not intend to compensate for STA.
4.1.2 Weaknesses.
As mentioned above, our algorithm suffers from non-negligible instability in certain configurations of the upper limb. These errors stem primarily from either cross-product instability or gimbal lock. In some cases, they create a coupled effect, and the error is compounded.

Effect of cross-product instability. (a) When calculating the cross-product of vectors and , measurement error in the orientation of results in error in the orientation of the cross-product. (b) Error as a function of separation angle . As decreases, increases dramatically, even for small values of . Consequently, error can be large, even when the two vectors involved in the cross-product are relatively far from parallel.

Effect of cross-product instability. (a) When calculating the cross-product of vectors and , measurement error in the orientation of results in error in the orientation of the cross-product. (b) Error as a function of separation angle . As decreases, increases dramatically, even for small values of . Consequently, error can be large, even when the two vectors involved in the cross-product are relatively far from parallel.
As approaches zero, approaches 90 deg for any nonzero value of (Fig. 9(b)). This simple analysis yields two important insights. First, although the error in the cross-product is largest when the two vectors are parallel (), it can be non-negligible even when the two vectors are relatively far from parallel. Second, increasing misestimation of either vector involved in the cross-product increases the error in the cross-product, even when the vectors are not parallel.
As mentioned above, this instability caused errors at the extreme elbow or wrist angles (Fig. 7). However, by allowing for nonzero elbow carrying and wrist axial rotation angles, our algorithm mitigates the full impact of this instability on HIER and FPS, respectively. For example, in compensating for STA in HIER, the angle between the two true vectors involved in the cross-product () cannot be smaller than the elbow carrying angle (commonly 5 deg–25 deg [26]), thus avoiding the largest errors (Fig. 9(b)). Utilizing a well-chosen constant elbow carrying angle also reduces the magnitude of , further decreasing the error .
We also found irregularities in calculated joint angles as the shoulder joint approached the gimbal lock (Fig. 5). As shoulder abduction approached 90 deg during the shoulder-abduction movement, shoulder flexion–extension and internal–external humeral rotation angles increased significantly even though this movement included minimal movement in those directions. The problem of gimbal lock is well-known and is often avoided or minimized by selecting an Euler angle sequence with a gimbal lock outside of the range of motion of the intended tasks. However, in this study, we wanted to explore the effect of our algorithm throughout the range of motion of the upper limb, so we could not avoid gimbal lock entirely.
In some cases, cross-product instability and gimbal lock can combine to produce egregious errors. In the data collected for this study, this combination occurred for one subject. In full wrist flexion, the cross-product instability at the wrist yielded unrealistically high radial-ulnar deviation angles near 90 deg, which resulted in a gimbal lock in the wrist joint. Because approximations A3 and A4 calculate forearm pronation-supination from the orientation of the wrist, a gimbal lock of the wrist resulted in large errors in forearm pronation–supination calculated via these approximations. Although the combined effect only occurred for one subject, the other subjects' data also exhibited considerable error due to the cross-product instability in full wrist flexion. This is the cause of the largest differences (yellow cells in Fig. 8).
4.2 Evaluation Experiment.
Although our study did not include a comparison to a gold standard, we designed the testing protocol to facilitate the verification of the functionality of the algorithm during certain critical movements. Before implementing the various approximations of our algorithm, we anticipated that for most movements, calculated joint angles would be similar across different approximations. Processing the data has proven this to be true (Fig. 5). Averaged across the seven DOF (i.e., excluding elbow carrying and wrist axial rotation angles), approximations A2, A3, and A4 yielded angles within a few degrees of approximations A0/A1 for a large percentage of the movements performed in this study (Fig. 8). Based on this observation and those that follow, the algorithm appears to work well for most of the range of motion of the upper limb, but it does have weaknesses in certain regions of the workspace.
4.2.1 STA Compensation in Humeral Internal–External Rotation.
Previous studies have shown that STA commonly results in the underestimation of humeral axial rotation angles. Therefore, we expected to observe a significant difference in HIER angle between A0 and A2/A4 (A2 and A4 have an identical effect on HIER). During humeral internal and external rotation, respectively, the average differences between A0 and A2/A4 in HIER were 18 deg and 25 deg (Fig. 8). For each subject, and thus also for the average trajectory, approximations A2/A4 exhibited a substantially larger joint angle magnitude than for A0. This is consistent with prior studies and suggests that our algorithm functions as intended in the targeted movement of humeral rotation.
The only movements observed to cause large, undesired differences between approximations of HIER were extreme amounts of elbow flexion and extension (Fig. 6(c)). This instability is present in A2/A4 and is rooted in the cross-product instability discussed above. As expected, the degree of instability in A2 increased as the elbow approached full flexion or extension. In full flexion or about 20 deg away from full extension, the mean error in HIER due to instability was about 10 deg. At this elbow angle, the upper bound of the 95% confidence interval of the mean error was about 20 deg (Fig. 7(a)), which is roughly equal to the benefit gained from applying A2 during full HIER (Table 2). In other words, applying approximation A2 to movements involving the full range of HIER and EFE runs a greater than 5% risk of errors caused by A2 becoming greater than the benefits gained from A2. At that point, the benefit of STA compensation is questionable (in our opinion), especially considering the additional complexity of STA compensation compared to conventional inverse kinematics. Therefore, we recommend our approximation A2 for movements involving HIER and EFE as long as EFE avoids the final 20 deg before full elbow extension.
Comparison of benefit (intended effect on calculated HIER angle during HIER movements) and cost (estimated error in HIER during EFE movements caused by algorithm instability) of approximation A2
Limb configuration | Intended effect on HIER (deg) | Estimated error in HIER (deg) |
---|---|---|
Full humeral internal rotation | 18.1 | — |
Full humeral external rotation | 25.2 | — |
Full elbow flexion | — | 10.1 (0.3–19.8) |
20 deg from full elbow extension | — | 10.9 (2.4–19.4) |
Full elbow extension | — | 18.9 (2.5–35.2) |
Limb configuration | Intended effect on HIER (deg) | Estimated error in HIER (deg) |
---|---|---|
Full humeral internal rotation | 18.1 | — |
Full humeral external rotation | 25.2 | — |
Full elbow flexion | — | 10.1 (0.3–19.8) |
20 deg from full elbow extension | — | 10.9 (2.4–19.4) |
Full elbow extension | — | 18.9 (2.5–35.2) |
Values in parentheses indicate a 95% confidence interval.
4.2.2 STA Compensation in Forearm Pronation–Supination.
As with axial rotation about the humerus, we expected that A3/A4 would yield larger magnitudes of joint angles in forearm pronation–supination when compared to A0. The intended effect of this part of the algorithm is observed during full forearm pronation and supination movements (Fig. 6(b)), where the difference between A3/A4 and A0 increases with distance from a neutral position. In full pronation, FPS angles calculated according to A3 and A4 were 4 deg and 7 deg beyond those calculated with A0, and in full supination, FPS angles calculated according to A3 and A4 were 18 deg and 24 deg beyond those calculated with A0. That the algorithm calculates angles that are further from the neutral position than the uncompensated angles is consistent with the intended role of the algorithm.
Extreme amounts of wrist flexion–extension caused large instabilities in FPS (Fig. 6(d)). We found that approximations A3 and A4 of FPS became unstable in wrist flexion–extension in the same way that approximations A2 and A4 of HIER became unstable in elbow flexion–extension (Fig. 6(d)). As expected, the degree of instability in A3 increased as the wrist approached full flexion or extension. About 20 deg away from full flexion or extension, the mean error in FPS due to instability was about 10 deg and the upper bound of the 95% confidence interval was about 15 deg (Fig. 7(a)), which is of the same order of magnitude as the benefit gained from applying A3 during full FPS (Table 3). In other words, applying approximation A3 to movements involving the full range of FPS and WFE runs the risk of errors caused by A3 becoming greater than the benefits gained from A3. Therefore, approximation A3 is not recommended for movements within 20 deg of full wrist flexion or extension.
Comparison of benefit (intended effect on calculated FPS angle during FPS movements) and cost (estimated error in FPS during WFE movements caused by algorithm instability) of approximation A3
Limb configuration | Intended effect on FPS (deg) | Estimated error in FPS (deg) |
---|---|---|
Full forearm pronation | 3.6 | — |
Full forearm supination | 18.3 | — |
20 deg from full wrist flexion | — | 9.8 ( 2.0–17.7) |
20 deg from full wrist extension | — | 10.4 ( 6.2–14.6) |
Full wrist flexion | — | 39.8 (21.4–58.2) |
Full wrist extension | — | 20.6 ( 8.1–33.1) |
Limb configuration | Intended effect on FPS (deg) | Estimated error in FPS (deg) |
---|---|---|
Full forearm pronation | 3.6 | — |
Full forearm supination | 18.3 | — |
20 deg from full wrist flexion | — | 9.8 ( 2.0–17.7) |
20 deg from full wrist extension | — | 10.4 ( 6.2–14.6) |
Full wrist flexion | — | 39.8 (21.4–58.2) |
Full wrist extension | — | 20.6 ( 8.1–33.1) |
Values in parentheses indicate a 95% confidence interval.
In addition, the instability in A2 and A4 caused by extreme elbow flexion–extension was observed to affect FPS as well, as seen in Fig. 5 (focus on differences between approximations of FPS during full elbow extension or flexion) and Fig. 8. The recommendation given for A2 and A4 above (to avoid movements in EFE within 20 deg of full extension) is expected to mitigate the effect of A2 and A4 on FPS as well.
4.2.3 Constant and Assumption.
One of the key assumptions of our STA compensation algorithm was that the carrying angle and wrist axial rotation angle were constant. In reality, these angles are known to vary slightly depending on posture [26]. Thus, the ideal solution would be to obtain an accurate estimate of these angles at every time-step, but as an approximation, we can use a constant value to represent the average angle. In this study, the only available time-varying approximation of and was the output of A0. The implementation of this approximation has no effect on the other joint angles calculated according to approximation A1, but since these constant angles are inputs to the STA compensation, their exact value does have a small effect on the other joint angles calculated according to approximations A2, A3, and A4.
4.3 Comparison to Other Methods.
The algorithm presented here was based on the method developed by Schmidt et al. [15] but includes the following enhancements. First, the Schmidt method was designed for optoelectronic motion capture systems and relies on markers placed on bony landmarks. In contrast, our algorithms were designed specifically for motion capture systems that return the orientation of limb segments but not the position of landmarks. Since the orientation of limb segments can be obtained from bony landmarks [23], our algorithm can also be applied to optoelectronic motion capture systems by including a preprocessing step to calculate orientation matrices from marker locations. Second, our algorithm allows for nonzero ECA and WAR angles, whereas the Schmidt method required that ECA and WAR angles be zero.
The Schmidt method included a weighting algorithm to moderate the effect of instabilities that arise from cross-product instability during extreme elbow flexion and extension movements. We chose to omit this weighting algorithm because (1) the weighting algorithm may cause discontinuities when switching into and out of it, and (2) our inclusion of a nonzero elbow carrying angle lessens the effect of cross-product instability by limiting the minimum angle between the true cross-product vectors to the value of the carrying angle (generally 5 deg–15 deg).
The only other EM-specific STA compensation algorithm of which we are aware was developed by Cao et al. [21]. The major benefit of the Cao method is its inherent robustness against instabilities. Indeed, the authors demonstrated effective STA compensation in HIER, even during extreme EFE. This is a significant benefit of the Cao method. However, this approach requires specific calibration movements that are not standard protocol for motion capture. In addition to the increased setup time, this means that motion capture studies in which the calibration movements were not recorded are not retroactively compatible with the algorithm. In addition, the Cao approach lacked explicit equations for automated implementation. In contrast, the method presented herein does not require additional calibrations or data and includes explicit equations.
4.4 Limitations.
Our STA compensation algorithm requires several limiting assumptions. First, we assumed that STA only occurs in pure axial rotation of the upper arm and forearm. This implies that there is no error in the measured vector corresponding to the axial direction of each body segment. While it is true that the most substantial STA occurs in the axial direction, it is likely that other artifacts introduce small amounts of error into the measurement of the axial direction of these body segments. Second, we assumed that and are constant and known angles. This was necessary to constrain the number of DOF so that HIER and FPS angles could be calculated from the orientation of distal DOF. Although the carrying angle is not constant [21], its variation has been shown to be small [26].
Our study did not include a gold standard, making it difficult to definitively assess the validity and accuracy of our compensation method. This is especially limiting for STA compensation in FPS because the benefits of the algorithms are not as visually obvious as they are for HIER. Including a gold standard would have required markers affixed to bone pins or fluoroscopy, both of which were beyond the scope of this study.
4.5 Conclusion.
This paper presents a method to compensate for soft-tissue artifact during motion capture of upper-limb movements. Unlike other methods, this method (1) was developed specifically for electromagnetic motion capture systems, (2) compensates for STA in HIER and/or FPS, and (3) does not require additional calibration or data. We also present a detailed investigation of the effect of STA on all DOF during a large variety of movements. The method functioned as intended during most of the range of motion of the upper limb, except in extreme flexion–extension movements of the elbow and/or wrist, where the method became unstable, leading to large errors. Therefore, we do not recommend using this method for movements within 20 deg of full elbow extension or 20 deg of full wrist flexion or extension. Full equations and code are included to facilitate the adoption and adaptation of this approach.
Funding Data
NSF CBET (Grant No. 1806056; Funder ID: 10.13039/100000001).
NIH NINDS (Grant No. 1R15NS087447; Funder ID: 10.13039/100000002).
Data Availability Statement
Accompanying code and instructions can be found online at link in the following note.2
Disclosures
None.