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.
