The problem is to find a consistent set of elbow/fist/shoulder positions that interpolate the test data. The linear RBF is not very good at extrapolating, so the elbow/fist/shoulder positions should ideally lie on the line between the examples in interpolation space. The line is parameterized by the joint angles, and passes through the endpoints. However, this space is nonlinear, and it is not immediately obvious how to directly compute the point on the line nearest to a given user input. An approximate method follows. We believe it is possible to create a more exact parameterization, but we have not yet implemented it.
Our current synthesis method is specified by new shoulder position s'
and approximate fist/elbow positions (f',e'), which are used to derive
approximate joint angles (), as in Section
5.
A separate RBF is used to track
the relative position of the elbow based on joint angles: . (This is the same
as in
Section 5). This RBF only approximates the actual
rigid and non-rigid computation of the elbow position. Fortunately,
the elbow position undergoes little variation between the examples we
have tested. For a given set of approximate angles, we compute the
elbow position:
where . The new fist
is placed at
. (Note that the distance between f'' and
e'' is not important in the remaining synthesis, only the
direction.) Finally, joint angles (
) are
computed from the fist, elbow, and shoulder positions.
We have also tried computing all positions with an RBF:
. The motion is somewhat
plausible, but less convincing in comparison to the other approach.