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
