# Understanding the Euler angle representation of shoulder rotations

### Background on our Euler angle representation for shoulder rotations

In order to describe the rotation of the shoulder joint from the starting point of the calibration position (position A) to an arbitrary position B, we use an Euler angle representation describing 3 rotations in this order: flexion/extension, abduction/adduction, and internal/external rotation. In order to arrive at position B, there is a unique sequence of these rotations. Note that the order is important, as you would arrive at a different position B' if you swapped the order of these rotations (e.g., applied the abduction/adduction rotation before the flexion/extension rotation). Further constraints on these rotations in order to ensure a unique set of rotations for each possible shoulder position include:

-180 < Flexion/Extension < 180

-180 < Internal/External Rotation < 180

### Why you may see a lot of flexion/extension and/or internal/external rotation in your shoulder joint angle estimates when you are primarily performing an abduction

In the case where the shoulder is perfectly abducted, such that the arm rises perfectly perpendicular to the sternum sensor and there is no rotation of the upper arm during this motion, the unique representation of this rotation would be pure abduction (up to 90 degrees, as explained below). If this movement deviates from perfect abduction to position C, however, the description of the sequences of rotations to get you from position A to position C can seem very unintuitive. For example, if the arm if lifted but slightly forward of the coronal plane of the subject, the unique series of rotations to arrive at position C may require a large flexion, followed by a large abduction, followed by a large internal rotation. Even though this position C is only slightly forward of the point B from the "perfect abduction" example, the Euler representation is very different, and the maximum abduction component may be much smaller.

### Why you may see a lot of flexion/extension and/or internal/external rotation in your shoulder joint angle estimates when your abduction angle goes above 90 degrees

As mentioned above, the abduction/adduction angle is constrained to +/- 90 degrees in order to enforce a unique sequence of rotations to arrive at an arbitrary shoulder rotation. In conjunction with the ordering of the Euler angle representation, shoulder rotations with abduction angles greater than 90 degrees are represented by incorporating flexion/extension and internal/external rotation. For example, consider a perfect abduction of 90 degrees, where the arm is parallel to the ground and in the coronal plane of the subject. If the arm is lifted an additional 1 degree, the representation of this new position must include flexion and external rotation. Additionally, near this singularity (90 degrees of abduction), a small amount of noise or movement can cause the flexion and rotation angles to change wildly, even though this represents very little actual change in the rotation of the shoulder. While this may seem unintuitive, it is a valid description of this new position provided the constraints of the Euler representation.

### Next Steps

From the perspective of correctly describing the compound rotation of free-form movement of the shoulder using Euler angles, the approach described above (ordering of the angles and constraints on these angles) is necessary. Different constraints could have been chosen to better handle the primarily abduction case, but the issue would then be present for the primarily flexion/extension case.

In some applications, however, it may be desirable to understand the maximum range of abduction of the shoulder that a subject can perform (perhaps for physical therapy). Using the compound Euler representation used in Moveo Explorer, this information is difficult to get at. To address this particular use case, we are planning on building a separate set of Range of Motion tasks that are designed for a specific motion (e.g., shoulder abduction) and will represent the joint angle in a more useful way (e.g., maximum abduction).

We are also working on providing a 3D skeletal model of the captured joint angles that can assist Moveo users in visualizing the compound rotations -- at least to see that they do indeed capture the motion that was performed, even if the Euler representation is non-intuitive.