Using Simple Inverse Kinematics to Derive the Rotation Angle of

Shoulder and Elbow Joints

Problem Statement

A well known problem in robotics is the derivation of the rotation angle of two joints so as to produce a desired position. The solution to this problem is of
use in the case where the user's hands are tracked and mapped to a geometry but it is necessary for the hand to be connected to a 3D body via a shoulder
and elbow. Although complete and general solutions to this problem have been well documented, the following is a simpler alternative since it assumes
restricted movement of the hand (e.g. the user will not bring his/her hand behind the body).
 

Simplistic Solution

There are three rotation angles that need to be calculated: rotation of elbow, rotation of shoulder in z and y directions. First, the y-axis rotation of the shoulder
is derived as follows:

The elbow rotation is then calculated as follows:


In order to calculate the z-axis rotation of the shoulder, the projection of the elbow-shoulder segment on the y-z must first be calculated as follows.

The last step is to calculate the shoulder y-axis rotation angle.