IEEE Control Systems 13 (5), October 1993 COMPLETE PARAMETER IDENTIFICATION OF A ROBOT FROM PARTIAL POSE INFORMATION Ambarish Goswami Arthur Quaid Michael Peshkin Mechanical Engineering, Northwestern Univ. ABSTRACT The absolute accuracy of a robot depends to a large extent on the accuracy with which its kinematic parameters are known. Many methods have been explored for inferring the kinematic parameters of a robot from measurements taken as it moves. Some require an external global positioning system, usually optical or sonic. We have used instead a simple radial-distance linear transducer (LVDT) which measures the distance from several fixed points in the workspace to the robot's endpoint. This incomplete pose information (one dimensional rather than six dimensional) is accumulated as the robot endpoint is moved within one or more hemispherical "shells" centered about the fixed points. Optimal values for all of the independent kinematic parameters of the robot can then be found. Here we discuss the motivation, theory, implementation, and performance of this particularly easy calibration and parameter identification method. We also address a recent disagreement in the literature about the type of measuring system (in particular, the dimensionality of the pose measurements) needed to fully identify a robot's kinematic parameters. TEXT Absolute Accuracy Vs. Repeatability It is important to distinguish between the absolute accuracy and the repeatability of a robotic manipulator. Repeatability of a robot is the precision with which its endpoint achieves a particular pose (endpoint position and orientation) under repeated commands to the same set of joint angles. Gear backlash, and sensor and servo precision are some of the factors affecting robot repeatability. Absolute accuracy is the closeness with which the robot's actual pose matches the pose predicted by its controller. A robot may have high repeatability while having low absolute accuracy. Given the joint angles, the controller of a robot computes its endpoint location and orientation. For this it needs an accurate description of the robot which involves many physical parameters such as link lengths and joint offset angles. These numerical parameters make up the kinematic model of the robot. The absolute accuracy of the robot depends on the accuracy of this model. A high repeatability is of prime importance for a variety of robot applications such as pick and place, spray painting, and welding. In these operations a robot is guided through the required endpoint motions (with the help of a teach-pendant) and the corresponding joint-angles are recorded. During actual operation, the robot "plays back" the recorded joint angles. Tasks involving off-line planning, on the other hand depend on the absolute accuracy of the robot. For us, accuracy issues arose in the context of employing a robotic system as a precision positioning device in a medical operating room [15, 27] . In this application, a robot may improve the quality of orthopedic surgery by accurately guiding a surgeon's saw. Cutting angles are selected on the basis of measured anatomical features (e.g. bone dimensions) obtained through preoperative CT scans. Robot accuracy is required so that the cuts performed are at the same location and angle as the ones planned. For various reasons, the numerical values of the kinematic parameters for a robot may not be correct. This may be due to manufacturing tolerances, deviations such as link and joint compliance, or time-dependent effects such as gear wear and component damage. Therefore, the nominal kinematic model which is programmed into the robot's controller does not accurately predict the endpoint pose from the joint angles. To address this problem we may re-evaluate the numerical parameters of a robot's kinematic model by using a calibration scheme. Robot calibration typically involves externally measuring the pose (position and orientation) of a robot's endpoint at different commanded locations in the robot's workspace. The measured coordinates are compared to those predicted by the robot's controller, which are based on the existing kinematic model and the measured robot joint angles. The difference between the actual (measured) coordinates and the predicted ones is the error. The existing kinematic model is then replaced by a new "optimal" model which minimizes the aggregate error. Many robot calibration techniques have been reported in the literature. These techniques differ in the hardware employed for external measurements, the type of collected data (position data, orientation data, etc.) and in the nature of the optimization algorithm that generates new kinematic parameters. Among the most popular measurement systems are theodolites, lasers, sonic digitizers, proximity sensors, and three-cable measuring systems. (See [16] for a description of common measurement devices.) The selection of a particular measurement system is based upon criteria such as cost, ease of use, set-up time, accuracy of measurements, and volume of calibrated workspace. Scope and Contribution Robot calibration, in its broadest scope, addresses static errors (such as those caused by changes in link dimensions, gear wear, elastic bending of links, etc.) as well as dynamic errors (such as those caused by vibration) [21] . The static errors of a manipulator may result from geometric errors as well as from non-geometric errors. Geometric errors are related to link dimensions and joint encoder characteristics. The non- geometric errors are caused by effects such as gear train compliance, motor bearing wobble, and gear backlash. The method described in this paper corrects the static geometrical errors of a robot by re-evaluating its kinematic parameters only. With a suitable model, our approach could also be extended to include non-geometric parameters. Since typically 90% of the RMS endpoint positioning error is caused by errors in the static geometric parameters [14] , the additional improvement in robot accuracy resulting from the compensation of non-geometric parameter errors will be smaller. The measuring device we used is a telescopic ball-bar system manufactured by Automated Precision Inc. It is relatively inexpensive, easy to use, and highly accurate [16, 26] . The heart of the system is a linear transducer (LVDT), with a maximum travel of 7.5 cm. The LVDT precisely measures the distance of the robot endpoint from a fixed location. The system set-up is shown in Fig. 1. The ball-bar has a magnetic chuck permanently mounted on one end, and a removable high precision steel sphere mounted at the opposite end. The removable sphere allows the insertion of extension rods, which permit the nominal length of the device to be increased to reach more of the robot's workspace if desired. Additional magnetic chucks and steel spheres mate with the ends of the device to form spherical joints. In our implementation, the sphere end of the ball-bar pivots around one of three stationary magnetic chucks mounted in the workspace, while the chuck end of the ball-bar mates with one of three steel spheres connected to the robot's moving endpoint. Figure 1. The calibration system with the ball-bar connected between one of three steel spheres attached to the robot endpoint and a magnetic chuck mounted on the table. The calibration system must read robot joint positions and LVDT lengths for various robot poses within the workspace of the robot and within the reach of the ball-bar. Simultaneously, using forward kinematics and the nominal robot kinematic model, the expected position of the robot endpoint can be calculated from the joint positions. This position gives us the expected location of the movable end of the ball-bar. The distance between the two ends is the expected ball-bar length. The difference between the expected ball-bar length and the actual length measured by the LVDT is the error due to incorrect robot kinematic parameters. We compute new parameters which minimize this error.