Problems with the Implementation

The solution provided by the pseudoinverse Jacobian method is very local in nature. That is, for large movements of the goal, the method produces incorrect joint velocities and sends the chain drifting away from the correct orientation. This requires some dynamic fine tuning of the acceptable distance from one iteration to the next. The current implementation is rather fragile in this respect with hard coded thresholds for acceptable tracking errors. Klein and Huang[20] describe how pseudoinverse control can lead to undesired arm configurations.

One of the problems not addressed by this implementation is the simultaneous input of both position and orientation goals for an iteration of the algorithm. Since the mouse is a 2D input device, true 3D orientation information cannot be provided to the inverse kinematics algorithm. The end effector orientation does not change during the manipulation of the chain. The algorithm must then work only with changes in position. The orientation of the end effector can only be changed in a later step by rotating about its axes using forward kinematics. Badler overcame this difficulty with a three-dimensional input device that simultaneously reported its Cartesian position and its orientation[ 8].

If the animator program were extended to include keyframe animation as originally intended, then the end effector rotational velocities could be determined by comparing the rotations in two successive key frames. That would mean that end effector rotations could be included in the inverse kinematics computation[5].

An addition to the implementation could be an emphasis function as outlined by Whitney[5]. Using this function, the relative contributions of each joint's rotations to the end effector position can be controlled. Such control could be provided to the user as a parameter associated with each degree of freedom which would allow finer control of the chain during manipulation.

The implementation suffers from instabilities around singularities in the joint configurations. The current implementation allows singular Jacobians to exist this causes the occasional very high joint velocity. A damped least squares approach as outlined in Watt [ 22]could reduce this problem.


Table of Contents < The Underlying Algorithm Future Work>

Michael Quinn
University of Minnesota
6/17/2000