ABSTRACT

In this way, the zero orientation is uniquely identified by the zero vector. This parameterization as a 3D vector is called the exponential-map parameterization [Grassia 98]. The exponential-map parameterization still has a singularity for angles of 2k , where k is an integer not equal to zero. However, for our purpose, we can steer clear of this singularity by imposing that the vector length (angle of rotation) lies in the range  0,2 . We still have a double covering of the space of orientations, since for an axis u and angle  we see that u and   2  u result in the same orientation. Further restriction of the maximum vector length to  clears us of the double covering except for rotations over an angle of  radians (180) itself. The exponential map offers a better parameterization for imposing rotational joint limits. It offers a singularity-free spherical subspace that encloses the range of all orientations generated by a ball-and-socket joint. The set of admissible orientations is defined by a volume inside the sphere. Identification of out-ofbounds orientations boils down to testing the exponential-map vector for containment inside that volume. Joint limits can be enforced by mapping out-ofbounds orientations to the closest admissible orientation in the volume. The Euclidean metric that we use for measuring the distance between points can also be used for measuring the distance between orientations. Using this metric to define the closest admissible orientation may not accurately give us the admissible orientation that requires the shortest angle of rotation to reach. However, in practical cases, the errors are small, and thus the Euclidean metric suffices to map an outof-bounds orientation back to the admissible volume in a plausible manner. What stops the exponential map from being our parameterization of choice when checking and enforcing joint limits is the fact that conversions between exponential-map vectors and matrices or quaternions is computationally expensive and susceptible to numerical error. Ideally, we would like to use the same parameterization for enforcing joint limits as we do for our other computations with rotations. The most promising candidate parameterization would be the space of unit quaternions.