On the RoboArm not all axes intersect at any single point. Therefore, a translation in necessary from the measured coordinates to those relative to the intersection of the shoulder axis with the forearm plane, . This point is not fixed in space relative to , but instead moves as the arm is rotated about its vertical base axis. The translation is needed because the forearm plane will define the plane in which the necessary angles for the shoulder and elbow are computed.

First, consider the vertical axis, the **z** coordinate.
The shoulder is raised above the table by some distance, .
giving

for the desired height of the hand above the shoulder axis.

Next, consider **r** and together.
Figure 2 represents the RoboArm viewed from above.
In it, the shoulder axis is offset behind that
for the base by a distance .
Similarly, the vertical plane which passes through the forearm is offset
to the right of the base axis by a distance .

**Figure 2:** Top View of the RoboArm

What is needed is an and relative to the intersection
of the shoulder axis and the forearm plane.
Figure 3 shows the situation.
The origin of the solid axes is the point from which
measurements are taken.
The origin (point **C**) of the dashed axes is the point of
intersection between the
shoulder axis and the forearm plane.
Point **A** is the desired position of the hand.
To avoid the risk of ambiguity and clutter in the figure, the
following dimensions are defined here:

Now, because is a right triangle,

and because of the definitions of the distances

The value of also comes from the fact that is right and from the relationship of to the sides in a right triangle. So,

and

Brian L. Stuart