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
: Calculation of and
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,