Acessibilidade / Reportar erro

Modeling, optimizing and simulating robot calibration with accuracy improvement

Abstract

This work describes techniques for modeling, optimizing and simulating calibration processes of robots using off-line programming. The identification of geometric parameters of the nominal kinematic model is optimized using techniques of numerical optimization of the mathematical model. The simulation of the actual robot and the measurement system is achieved by introducing random errors representing their physical behavior and its statistical repeatability. An evaluation of the corrected nominal kinematic model brings about a clear perception of the influence of distinct variables involved in the process for a suitable planning, and indicates a considerable accuracy improvement when the optimized model is compared to the non-optimized one.

Kinematic Model; Robot Calibration; Absolute Accuracy; Numerical Optimization; Geometric Parameters


Modeling, Optimizing and Simulating Robot Calibration with Accuracy Improvement

José Maurício S. T. Motta

Universidade de Brasília

Departamento de Engenharia Mecânica

Grupo de Automação e Controle

70910-900 Brasília, DF Brazil

jmmotta@unb.br

R. S. Mcmaster

Cranfield University

School of Industrial and Manufacturing Science

MK43 OAL Cranfield, Bedford, UK

R.S.MCMASTER@cranfield.ac.uk

Abstract

This work describes techniques for modeling, optimizing and simulating calibration processes of robots using off-line programming. The identification of geometric parameters of the nominal kinematic model is optimized using techniques of numerical optimization of the mathematical model. The simulation of the actual robot and the measurement system is achieved by introducing random errors representing their physical behavior and its statistical repeatability. An evaluation of the corrected nominal kinematic model brings about a clear perception of the influence of distinct variables involved in the process for a suitable planning, and indicates a considerable accuracy improvement when the optimized model is compared to the non-optimized one.

Keywords:

Kinematic Model, Robot Calibration, Absolute Accuracy, Numerical Optimization, Geometric Parameters

Introduction

As well as a machine tool, industrial robots can be designed as off-line programmable devices. Nevertheless, currently this has not been utilized except in some few applications (Everett, 1993). This is because the effective use of off-line programming in industrial robots requires, additionally, a knowledge of tolerances of the manufacturing components in order to enable realistic planning, i.e. to reduce the gap between simulation and reality. In an actual robot system programming is still a relatively difficult task. Even with off-line programming systems available, the generated programs still require manual on-line modification at the shop-floor. A typical welding line with 30 robots and 40 welding spots per robot takes about 400 hours for robot teaching (Bernhardt, 1997). The difficulties are not only in the determination of how the robot can perform correctly its function, but also for it to be able to achieve accurately a desired location in the workspace. Robot pose errors are attributed to several sources, including the constant (or configuration-independent) errors in parameters (link lengths and joint off-sets), deviations which vary predictably with position (e.g., compliance, gear transmission errors) and random errors (e.g., due to the finite resolution of joint encoders). Constant errors are referred to as geometric errors and variable errors are referred to as non-geometric errors (Roth et al., 1987). According to Bernhardt (1997) and Schröer (1993), constant errors represent approximately 90% of the overall robot pose errors.

The methods used to approximate the model to the true system can be considered in two forms. The first would be constructing the robot more closely to the original design (and so to the model), requiring for that smaller manufacturing tolerances, or perhaps a redesign. The second form to approximate the model to the actual robot is improving the model, usually increasing its complexity. The latter process will be called calibration. Robot calibration plays an increasingly important role in robot production as well as in robot operation and integration within computer integrated manufacturing or assembly systems (Hidalgo and Brunn, 1998). The production, implementation and operation of robots are issues where robot calibration results can lead to significant accuracy improvement and/or cost-savings. Calibration can also minimize the risk of having to change application programs due to slight changes or drifts (wearing of parts, dimension drifts or tolerances, and component replacement effects) in the robot system. This is mostly important in applications that may involve a large number of task points (Everett, 1993).

Robot calibration is an integrated process of modeling, measurement, numeric identification of actual physical characteristics of a robot, and implementation of a new model. The calibration procedure first involves the development of a kinematic model whose parameters represent accurately the actual robot. Next, specifically selected robot characteristics are measured using measurement instruments with known accuracy. Then a parameter identification procedure is used to compute the set of parameter values which, when introduced in the robot nominal model, accurately represents the measured robot behaviour. Finally, the model in the position control software is corrected.

However, proper calibration is a time-consuming and expensive procedure due to the highly accurate measurement equipment required and due to the significant amount of data that must be collected (production line downtime). Previously during the calibration of a robot, several decisions must be made regarding the calibration procedure, such as: how, where, and how many measurements must be performed, and what accuracy measurement instruments should have. An optimization procedure based on a suitable objective function would usually be required for the determination of the most appropriate calibration set-up and measurement parameters. Since experimentation to determine objective function values for a problem like this is a costly and lengthy process, involving so many variables, the application of computer simulation techniques and a robot performance evaluation procedure in terms of the expected robot accuracy after calibration can be certainly advantageous. These techniques could be also used for comparison of alternative calibration procedures/set-ups (Zak et al., 1993).

Important to robot calibration methods is an accurate kinematic model which is complete, minimal and continuous, and has identifiable parameters. Researchers have used specific kinematic models which depend on a particular robot geometry and/or calibration method. Although the identifiability of model parameters has been addressed (e.g., Everett, 1988, Zhuang, 1992), methods to determine precisely which model can be used for a given relative joint configuration have to date not been available (Schröer, 1997). Because of the model function complexity, parameter dependencies leading to matrix rank deficiencies in the linearized model cannot always be predefined from inspection of the robot model. Rank deficiencies produce no unique solution of the numerical problem. At this stage of the state of the art there are no publications of either experimental or simulated results showing rationally the influence of rank deficiencies or numerical problems in robot calibration accuracy.

The objective of this work is to present a general robot calibration method by which the whole calibration procedure can be computer simulated, considering geometric errors in the nominal kinematic model, the finite robot repeatability, measurement system errors, and using techniques for the optimization of the calibration kinematic model to improve its identifiability. During the simulation procedure it is possible to observe the expected robot performance as a function of measurement area locations (and volumes) in the workspace, evaluation area locations, measurement system resolution (or repeatability), number of measurement points, number of measurement repeats, and number of kinematic parameters to be identified. Based on these outputs it is possible to predict the achievable accuracy for a class of robot/tool, choose robot configurations to collect data for calibration, find the minimum number of points to achieve desired accuracy, and define measurement volumes needed. It is also possible to evaluate the viability of global calibration aiming at operation in several different configurations, or the need for local calibration (switching between kinematic models) to perform a certain task. The accuracy/type of measurement equipment required and the suitability of the identification kinematic model topology can also be evaluated prior to the actual calibration procedure. A PUMA-560 was used here as an example, but the techniques presented can be applied to any open-kinematic-chain manipulator.

Kinematic Modeling for Parameter Identification

The conventions used here followed the requirements needed for parameter identification. Each joint was modeled such that there were no singularities in any robot configuration. Details about the concepts applied here is presented by Schröer (1993), and Schröer et al. (1997). Single minimal modeling convention that can be applied uniformly to all possible robot geometries cannot exist owing to fundamental topological reasons concerning mappings from Euclidean vectors to spheres (Gottlib,1986, Baker, 1990).

Each joint coordinate system here is orthogonal, and the axes obey the right-hand rule. In Figure 1 the base coordinate frame (b) (robot reference) is assigned with axes parallel to the world coordinate frame (w). The origin of the base frame is coincident with the origin of joint 1 (first joint). This assumes that the axis of the first joint is normal to the x-y plane.


For revolute joints the zero position is taken here as the one with all x axes of the link coordinate frames parallel or with the same direction. The z axes are coincident with the joint axes. Coordinate frames do not move relative to the link it is attached to, and the succeeding link moves relative to it. Coordinate frame i refers to joint i+1, that is, the joint that connects link i to link i+1.

The end-effector or tool frame location and orientation is defined according to the controller conventions. Geometric parameters of length are defined to have an index of joint and direction. The length pni is the distance between coordinate frames i - 1 andi , and n is the parallel axis in the coordinate system i - 1. Figure 1 shows the above rules applied to a PUMA 560 robot with all the coordinate frames and geometric features. The coordinate frames shown and the convention adopted were used to build the kinematic model of the Simulated Pose Model (SPM) described further in this paper.

Parameter Identification

The most important part of parameter identification procedures is concerned with numerical methods. Procedures in which model parameters are identified from several measured robot end-effector poses require numerical optimization methods (Schröer et al., 1997). These methods utilize local linearization of the non-linear robot model and then an iterative solution of the non-linear least-squares problem.

Parameter Identification Kinematic Model

The kinematic equation of the robot manipulator is obtained by consecutive homogeneous transformations from the base frame to the last frame. Thus,

(1)

where N is the number of joints (or coordinate frames), k = [p1T p2T . . . pnT ]T is the parameter vector for the manipulator, and pi is the link parameter vector for the joint i, including the joint errors. The exact link transformation Ai-1i is (Driels and Pathre, 1990):

Ai-1i = Ti-1i + dTi dTi=dTi(dpi) (2)

where d pi is the link parameter error vector for the joint i.

The exact manipulator transformation Â0N-1 is

(3)

Thus,

(4)

where d k = [ d p1Td p2Td pnT]T is the manipulator parameter error vector and q is the vector of joint variables [ q1T, q2TqNT ]T. It must be stated here that is a non-linear function of the manipulator parameter error d k.

Considering m the number of measurement positions it can be stated that

(5)

where Â:  n x  N is function of two vectors with n and N dimensions, n is the number of parameters and N is the number of joints (including the tool). It follows that

 = Â0N = Â(q,k) = (Â(q1,k), , Â(qm,k))T:  n x  mN (6)

and

:  n x  mN (7)

All matrices or vectors in bold are functions of m. The identification itself is the computation of those model parameter values k*=k+d k which result in an optimal fit between the actual measured positions and those computed by the model, i.e., the solution of the non-linear equation system

B(q,k*) = M(q) (8)

where B is a vector formed with position and orientation components of  and

M(q) = (M(q1), , M(qm))TÎ Â f m (9)

are all measured components and f is the number of measurement equations provided by each measured pose. If orientation measurement can be provided by the measurement system then 6 measurement equations can be formulated per each pose. If the measurement system can only measure position, each pose measurement can supply data for 3 measurement equations per pose and then B includes only the position components of Â.

When one is attempting to fit data to a non-linear model, the nonlinear least squares method arises most commonly, particularly in the case that m is much larger than n. In this case we have from eq.(2) and eq.(4)

B(q,k*)=M(q)=B(q,k)+C(q,dk) (10)

where C is the differential motion vector formed by the position and rotation components of . From the definition of the Jacobian matrix and ignoring second-order products

C(q,dk)=J.dk (11)

and so,

M(q) - B(q,k) = J.d k (12)

The following notation can be used

b = M(q) - B(q,k) Î Â f m (13)

J = J(q,d k) Î Â f m x n (14)

x = d k Î Â n (15)

r = J.x - b Î Â f m (16)

Equation (10) can be solved by a non-linear least square method in the form

J.x = b (17)

One method to solve non-linear square problems proved to be very successful in practice and then recommended for general solutions is the algorithm proposed by Levemberg-Marquardt (Dennis and Schnabel, 1983). This method combines the good properties of two other non-linear methods, that is, the Hessian method and the steep-descent method. The L.M. method comprises the properties of rapid convergence when far from the minimum (steep-descent) and turns to the Hessian method as the minimum is approached with fast local convergence. Another advantage of the L.M. method is that it is well defined even when J(xj) doesn’t have full column rank. Several algorithm versions of the L.M. algorithm have been proved to be successful (globally convergent). From eq. (17) the method can be formulated as

(18)

where, according to Marquardt suggestion, m j = 0.001 if xj is the initial guess, m j = l (0.001) if ï ç b(xj+1)ï ç ³ ï ç b(xj)ï ç , m j = 0.001/l if ï ç b(xj+1)ï ç £ ï ç b(xj)ï ç and l is a constant valid in the range of 2.5 < l < 10 (Press et al., 1994).

According to Driels et al. (1993), considering minimality in the identification model one can define a transform directly from the world frame to the base frame xb, yb, zb, as a frame to frame transform requiring six parameters, such as the Euler form:

P = (RZ(g b) . RY(b b) . RX(a b) . TX(pxb) . TY(pyb) . TZ(pzb)) (19)

where Rx is a pure rotation about x and Tx is a pure translation along x. The next transform from the base frame to the first frame would involve four parameters, but d q 1 may be resolved into g b, b b, a b, and d pz1 resolved into pxb, pyb, pzb, reducing the parameter count to two.

Schröer et al. (1997) presented a detailed general concept to find complete, minimal and model-continuous kinematic models. These model requirements have to be met to avoid singularities in the identification model Jacobian. The concept applied to a PUMA-560 allows the construction of its identification model, i.e. the geometric parameter error vector can be defined and used to model the particular link, joint and also to assign coordinate frames to links so that singularities in the robot model are avoided. The equations below are correspondent to the elements in Eq. (2), defined by the product of translation and rotation matrices for each homogeneous transformation between the robot coordinate frames shown in Fig. 1, where the transformation from the world frame to the base frame is included:

Awb = [TX(pxb+d pxb) . TY(pyb+d pyb) . TZ(pzb+d pzb) . RX(a b + d ab)

. RY(b b + d b b) . RZ(g b + d g b )] (20)

Ab1 = [RZ(q 1 + 90o) . TZ(pz1) . TX(px1+d px1) . RX(a 1 + d a 1)] (21)

A12 = [RZ(q 2+d q 2) . TX(px2+d px2) . RX(a 2 + d a 2) . RY(b 2 + d b 2)] (22)

A23 = [RZ(q 3+d q 3) . TZ(pz3+d pz3) . TX(px3+d px3) . RX(a 3 + d a 3)] (23)

A34 = [RZ(q 4+d q 4) . TZ(pz4+d pz4) . TX(px4+d px4) . RX(a 4 + d a 4)] (24)

A45 = [RZ(q 5+d q 5) . TY(pz5+d pz5) . TX(px5+d px5) . RX(a 5 + d a 5)] (25)

A56 = [RZ(q 6) . TX(px6+d px6) . TY(py6+d pyt) . TZ(pz6+d pzt)

. [RZ(g tool+ d g tool) . RY(b tool + d b tool) . RX(a tool + d a tool)]] (26)

where A is an homogeneous matrix represented as a set of elementary transformations. Parameters in the equations above not represented in Fig. 1 have null initial values. The set of tool orientation parameters in brackets cannot be identified without tool orientation measured data.

So, if the tool is not considered in the identification process (target point located on the flange in the measurement step) there are the maximum number of 24 parameters to be identified in the identification model. If only TCP (tool center position) measured data are available then there are at most 27 parameters to be identified, and if TCP position and orientation measured data are available then there are the maximum number of 30 parameters to be identified.

Model Optimization

Singular Value Decomposition

The most important tool for analyzing, evaluating and optimizing the kinematic model and the parameter identification process is recognized as the Singular Value Decomposition (SVD) (Lawson and Hanson, 1974, Schröer, 1993) of the linearized least-square matrix J. The SVD is a powerful set of techniques for dealing with sets of equations or matrices that are either singular or else numerically very close to singular.

The shapes of the matrices used for parameter identification and with the notation adopted here can be seen as (h=f .m)

J h x m = Uh x n . Sn x n . VTn x n (27)

where J is a matrix whose number of rows h is greater than or equal to its number of columns n, U is a h x n column-orthogonal matrix, S is a n x n diagonal matrix with positive or zero elements, and V is the transpose of an n x n orthogonal matrix.

This composition can always be done, no matter how ill-conditioned (or singular) the matrix is (Press et al., 1994).

If the matrix J has rank r, the diagonal entries of S (singular values) can be arranged to be non-increasing where all entries are non-negative and exactly r of them are strictly positive.

(28)

Condition Number

In matrix problems the condition number is an important indicator of the observability of the parameters to be identified. It is also an amplification factor in the error and perturbation analysis.

The Jacobian matrix condition number is defined as (Press et al., 1994, Lawson and Hanson, 1974)

k(J) = ç ç JT.Jç ç . ç ç (JT.J)-1ç ç (29)

with respect to the given norm.

If the matrix is derived from the Euclidean vector norm (second order norm), the condition number can be directly computed from the largest S1 and smallest Sr non-zero singular value:

(30)

Column scaling is added to the identification optimization procedure to improve the condition problem. Model-based scaling factors can be estimated from the anticipated error of the robot (@ 1mm) (Schröer, 1993). They are computed using model function Â(q,k) (eq. 5) since in first order approximation the following holds for parameter pi:

(31)

where k=[p1T, p2T, , pnT]T.

For robot pose q, the value

(32)

is the parameter change which when using a first order approximation causes a TCP-position deviation of 1mm. The term in the denominator is the norm of the column i of the identification Jacobian.

If the values s pi(q) are computed for a large pose set q = [q1, , qm] without positional or orientation restrictions, values

s pi = min{s pi(q)} @ min{ s pi(q) } (33)

{q1, , qm} qÎ Â N

are very closed to the minimum of all possible poses (Schröer, 1993). The values s pi are called extreme values and are used for column scaling of the linearized least-square problem J.x = b.

The central idea for model optimization is the reduction of the model eliminating dependencies or near-dependencies in parameters up to the point where pose accuracy improvement is not restrained, and far enough that the condition number of the scaled Jacobian is smaller than 100. Experience of research groups within the field of mathematics show that a condition number less than 100 is required for reliable results (Dennis and Schnabel, 1983).

The presented tool can be applied to define the model optimization procedure:

1 - Model-based scaling (eq. 33) which uses extreme scaling values must be used to reduce the numerical condition k(J) several hundred times.

2 - Near dependencies and non-identifiabilities are determined by investigating the column vector vr belonging to the smallest singular value Sr

J.V = U.S (34)

ç ç J.vi ç ç = Si (35)

The model optimization is then processed following the two steps above. The first step improves numerical condition in k(J). If k(J) is above 100 then the second step identifies which model parameter produces rank deficiencies. Thus, an optimal model is derived from the complete model by excluding a small number of model parameters from the identification procedure, until k(J) is below 100. In the practical viewpoint, however, most of the available measurement systems used in robot metrology (laser systems, ultrasound, contact, CCD cameras, theodolites, etc.) have an average accuracy which may vary from 0.05mm to 0.5mm (Hidalgo and Brunn, 1998 and Jiang et al., 1988), depending on their type or sophistication (price). The addition of larger measurement noises if less accurate measurement systems are used usually increases k(J), and the boundary of k(J)=100 will not be reached with the exclusion of only a small number of parameters. If that is the case, the optimization process stops if k(J) has little improvement with the exclusion of the subsequent parameter. It is important to notice that the optimization procedure presented so far aims at excluding the most redundant parameter from the identification model at a time. Thus, whatever the number of parameters is, there will be always some improvement in the condition number. Likewise, if a parameter is excluded from the model other than the one found by the optimization process there will be no reason to believe that the condition number will improve.

Robot Calibration Simulation

A computer simulation of a PUMA-560 robot was conducted using the techniques for elimination of parameter redundancies and ill-conditioning matrices presented previously, achieving a better numerical solution in the parameter identification process. The mathematical model for such task was built on the commercial mathematical computer package MathCad PLUS 6.0.

The computer simulation followed steps similar to a real calibration, that means, kinematic modeling, parameter identification from selected poses representing actual measurements, and calibration evaluation.

Two types of kinematic models were used. The first model was the model for the generation of simulated values of the end effector ’s measured poses (or error poses), analogous to experimentally measured poses, called Simulated Pose Model (SPM model). Constant parameters (geometric) and random joint variable errors are included in this model. Random deviations of joint variables can be seen as the main cause of robot deviations and can be experimentally measured and statistically calculated to determine the robot repeatability (Mooring and Park, 1986). The second model is the model for parameter identification called Estimated Pose Model (EPM model). The precision of the error estimation by this model is related to the assumption that there are no sources of geometric errors included in the first model not included in the second, unless for those geometric parameters eliminated for a better identifiability to be achieved by the model. The simulation of the calibration process was accomplished following the steps below:

Specification of measuring points

Each point in the workspace was specified by:

r = (r1, r2, , rm) Î Â f m (36)

where m is the number of measurement points and f = 6, that means, each vector ri is a 6-dimension vector with the first three components specifying position and the last three orientation of the end-effector. Eq.(36) is identical to eq.(9) but represents virtual measurement points instead of experimental ones (i.e., represents nominal points or points that are expected to be reached by the robot end-effector).

Because most of measurement systems provide only position data (van Albada et al., 1993), the simulation presented here used only position components, with f =3. In other words, each measurement point provided three measurement equations. As a rule of thumb, in order to suppress the influence of measurement noise, the number of measurement equations should be roughly two or three times larger than the number of parameters to be estimated (Zhuang, 1992). Considering the maximum number of geometric parameters in a PUMA-560 as 30 (eqs. 20-26) (Everett and Hsia, 1988), in this work m = 32 was considered the standard value for the simulation. Practically speaking, the smaller the number of measurement points during calibration the shorter is the machine downtime in a production line, reducing costs. It is known that each minute of interruption in a production line in a large automotive industry can cost over $20,000 (Owens, 1994). The evaluation of the effect of the number of measurement points in the robot overall accuracy improvement is shown further in the paper.

The regions for measurement and evaluation within the robot workspace were defined in a shape of rectangular parallelepipeds with points distributed in layers on their surfaces. Three main regions for measurement and evaluation were located on the left, front and right of the robot, having their reference axes parallel to the symmetry axis of the workspace and perpendicular to the ground. Three other smaller measurement volumes were still defined within the front region.

The measurement volumes can be seen in the Fig. 2 and 3, with S1, S2V1 and S3 with equal volumes, and S2V2, S2V3 and S2V4 with different volumes.



The evaluation regions are shown in Fig. 4 and 5, defined as E1, E2, and E3, with equal volumes and larger than the measurement volumes.



The constant geometric errors were assumed according to published values in the literature (Mooring and Pack, 1986, Zhuang, 1992, Everett and Whitney, 1987), considered as the common deviations found in this class of robots. The random errors for the joints were chosen with standard deviations of 0.007deg for joints 1-3 and 0.002deg for joints 4-6 (Roth, Mooring and Ravani, 1987, Zak, Fenton and Bernhabib, 1993). These values were found to simulate the robot repeatability in the same levels as those published by the manufacturer (0.1mm). The average end-effector initial error with the assumed errors was approximately 15.1 mm.

Errors Due to the Measurement System

The error portion related to the measurement system can be represented as (McKerrow, 1995, Paul, 1981):

ÂM = ÂR + ÂR.D D (37)

where D D is the differential motion transform matrix (measurement errors), ÂR is the exact manipulator transformation (eq. 3) with random deviations included as explained above, and ÂM is the same transformation with measurement errors included. The components of position and orientation errors which form D D are generated for each measurement point from a zero-mean normal probability distribution. The standard deviation of the errors in each direction can be related to the repeatability of the end-effector using the equation (Preising and Hsia, 1995):

(38)

where R represents the position repeatability, and s x, s y, s z, are the standard deviations for each element of the pose vectors. Considering s x=s y=s z=s , then

(39)

where R is an input to the simulation system. The differential motion transform matrix for the 3 components of position errors can be computed from

(40)

where each component D x, D y, D z has a normal probability distribution with zero-mean and standard deviation, s .

The virtual measurement device was supposed to be located on the bottom side of the measurement volumes, with the same x-y coordinates as the geometric centre of the area.

Estimation of the Kinematic Parameter Errors

Parameter identification is undertaken using Eq. (17). The identification model is composed with geometric parameters of link lengths and joint offsets, which are assumed to be zero-valued initially. The EPM model is built according to the optimization tools presented previously (eqs.(33) and (35)). As the measurement data do not include TCP orientations the transformation related to A56 in eqs.(26) must have 3 tool orientation parameters eliminated, that means, d q 6, d b tool and d a tool, remaining 27 parameters to be identified. The rank of matrix J eq.(27) is calculated to be 27, using any standard measurement data set (32 points, volume 1), and the application of eq.(29) to the scaled model by eq.(33) shows a large condition number (over 106). That means low observability and an ill-conditioning solution, which might mean either a larger number of iterations for the convergence by the Levemberg-Marquardt algorithm or the possibility of a local minimum to be reached even with a good convergence, or both of them. The solution thus can be degenerated to an applicability restricted to the workspace of data collection. The application of eq.(35) denotes redundancy on parameter pz3 (initial value null), identified by the larger entry in the 27th column of V. The elimination of pz3 from the model reduces the condition number to 60. Thus the optimized identification model for the PUMA-560 with only geometric parameters and position data has 26 parameters. This optimization process needs to be done only once for a robot class/model. This identification model is considered optimized for any end-effector position measurements if only geometric parameters of a PUMA-560 robot are to be identified.

Calibration Evaluation

The calibration evaluation is performed by calculating the end-effector position accuracy in each of the evaluation regions E1, E2, E3 (32 points). The kinematic model used for the evaluation is the same as the model for the simulation of the actual robot, but with geometric parameter values changed to those obtained in the identification step. The random simulated joint encoder errors are included to simulate a real evaluation.

Analysis of Results

For the different factors which influence a calibration process (end-effector accuracy) to be analyzed according to their sensitivity in the whole procedure the following variables were selected separately:

  • Measurement regions: S1, S2, S3.

  • Measurement volumes: V1, V2, V3 and V4. The influence of the volumes were analyzed only in the S2 measurement space. The volume for S1 and S3 was adopted as V1.

  • Number of measurement repeats: 01, 02, 03, 04, 05 and 06. The measures of each point were calculated by averaging each measure repeat.

  • Measurement system repeatability: repeatability was in a range from 0 (ideal measurement system) to 0.5 mm, with incremental steps of 0.05mm. The standard value for the repeatability was chosen to be 0.05mm.

  • Evaluation region: E1, E2, E3.

  • Number of measurement points: the number of measurement points adopted as a standard was 32 points. For the S2 measurement region with volume V2, the number of points varied in 10, 16, 24, 32, 40, 48 and 56 points. The points were distributed along the height of the parallelepiped, on its surface, in 4 equidistant layers, distributed as uniformly as possible.

Figure 6 shows the end-effector accuracy calculated as the average of the offset absolute values between the simulated end-effector position and the expected position (nominal), using the three measurement regions, S1, S2, S3, evaluated in each of the evaluation regions, E1, E2, E3. As it was expected the robot achieved a better accuracy on the evaluation region closer to the correspondent measurement region.


Figure 7 shows the variation of the end-effector accuracy in each evaluation region as a function of the measurement volume in the front region of the workspace. It is evident that a relatively small measurement volume can induce parameter dependencies hindering an effective calibration. This can be realized by observing the condition number of the Jacobian matrix (eq.29 ).


Volume 3 was adopted then as a standard for the measurement volume. This was due to the remnant margin for accuracy improvement showed in Fig. 7 for this volume, as a function of other variables (the condition number can be reduced) other than the measurement volume.

Figure 8 depicts the variation in accuracy as a function of the number of measurement points. It can be observed an insignificant variation in accuracy above 40 measurement points.


Figure 9 reveals the effect of the number of measurement repeats on the graphic of Fig. 8. It can be observed an expectancy of accuracy improvement until 24 points. The condition numbers observed after 5 measure repeats showed a negligible difference compared to the ones calculated from Fig. 8. The measurement repeatability influence on the end-effector accuracy can be observed in the graphic of Fig. 10.



For a verification of the influence of evaluation volumes on the end-effector accuracy with large measurement volumes, measurement and evaluation regions and volumes were changed in the graphic of Fig. 11. The results show that there is an expected accuracy improvement when the evaluation volume shrinks.


Finally, to demonstrate the improvement in parameter identification due to model optimization procedures the end-effector accuracy was compared to the accuracy predicted by a non-optimized model, that means, by a model with 27 parameters instead of 26. The graphics of Figs. 12, 13, 14 show the comparison between the accuracy predicted by both models. The condition number values for the non-optimized case were all in the magnitude of 105 or above.




Conclusions

Aiming at the feasibility and reliability of an optimum robot calibration design a systematic methodology was presented based on optimization of the mathematical model for parameter identification and on techniques for computer simulation of the actual calibration stages. An improvement on the robot end-effector accuracy was evident when the optimized model-parameter identification was used, eliminating numerical deficiencies caused by redundant parameters. The optimized model-parameter values proved to aid the identification towards a better actual kinematic model. The actual robot simulation was performed by introducing random errors into the nominal kinematic model to represent the actual joint encoder offsets. Joint random errors in the mathematical model were chosen to be a proper statistical representation of the actual robot joint errors and related to the measured repeatability. The measurement system was simulated using random errors similar to those obtained from specific experimentation or from the repeatability reported by the manufacturer. The proposed methodology allows the establishment of better measurement areas (or volumes) and planning of measurement procedures, with evident advantages on the calibration results.

Manuscript received: April 1998; revision received: March 1999. Technical Editor: Paulo Eigi Miyagi.

  • van Albada, G. D., Lagerberg, J. M. and Zhang, Z. W. "Portable calibration systems for robots" , Robot Calibration, edited by R. Bernhardt and S. L. Albright, Chapman & Hall, London.
  • Bazergui, A., Goldenberg, A. A. and Apkarian, J., 1984, "An Exact Kinematic Model of PUMA 600 Manipulator", IEEE Transactions on Systems, Man, and Cybernetics, SMC-14, No. 3, pp. 483-7.
  • Baker, D.R., 1990, "Some topological problems in robotics", The Mathematical Intelligencer,Vol.12, No.1, pp. 66-76.
  • Bernhardt, R., 1997, "Approaches for commissioning time reduction", Industrial Robot, Vol. 24, No. 1, pp. 62-71.
  • Dennis, J.E. and Schnabel, R.B., 1983, "Numerical Methods for Unconstrained Optimization and Nonlinear Equations", 1st ed. Prentice-Hall, New Jersey, USA.
  • Driels, M.R. and Pathre, U.S. (1990) "Significance of Observation Strategy on the Design of Robot Calibration Experiments", Journal of Robotic Systems, Vol. 7, No. 2, pp. 197-223.
  • Driels, M.R., Swayze, Lt W. USN and Potter, Lt S. USN, 1993, "Full-Pose Calibration of a Robot Manipulator Using a Coordinate-Measuring Machine", The International Journal of Advanced Manufacturing Technology, Vol. 8, pp. 34-41.
  • Everett, L.J. and Whitney. D.F., 1987, "A Method for Inverse Robot Calibration", Transactions of the ASME, No. 109, pp. 36-43.
  • Everett, L.J. and Hsu, T-W, 1988, "The Theory of Kinematic Parameter Identification for Industrial Robots", Transaction of ASME, No. 110, pp. 96-100.
  • Everett, L.J., (1993), "Research topics in robot calibration" , Robot Calibration, edited by R. Bernhardt and S. L. Albright, Chapman & Hall, London.
  • Gottlieb, D.H., 1986, "Robots and Topology", Proceedings of the IEEE International Conference on Robotics and Automation, pp. 1689-1691.
  • Hidalgo, F and Brunn, P, (1998), "Robot Metrology and Calibration Systems - a market review", Industrial Robot, Vol. 25, No. 1, pp. 42-47.
  • Jiang, B. C.; Black, J.T. and Duraisamy, R. "A Review of Recent Developments in Robot Metrology", Journal of Manufacturing Systems, Vol. 7, No. 4, (1988), 339-357.
  • Lawson, C. L. and Hanson, R.J., 1974, "Solving Least Squares Problems", Prentice-Hall, New Jersey, USA.
  • McKerrow, P. J., 1995, "Introduction to Robotics", 1st ed. Addison Wesley Printing Group.
  • Mooring, B.W. and Pack, T.J., 1986, "Determination and Specification of Robot Repeatability", Proceedings of 1986 IEEE International Conference on Robotics and Automation, pp. 1017-1023.
  • Motta, J. M. and McMaster, R. S. "Improving Robot Calibration Results Using Modeling Optimisation", Proceedings of the 1997 IEEE International Symposium of Industrial Electronics", Guimaraes, Portugal, pp. SS291-296.
  • Owens, J., 1994, "Robotrak: Calibration on a Shoestring", Industrial Robot, Vol. 21, No. 6, pp. 10-13.
  • Paul, R. P., 1981, "Robot Manipulators - Mathematics, Programming, and Control", MIT Press, Boston, USA.
  • Preising, B., Hsia, T.C., 1995, "Robot Performance Measurement and Calibration Using a 3D Computer Vision System", Robotica, Vol. 13, pp. 327-37.
  • Press, W.H., Teukolsky, S.A., Flannery, B. P. and Vetterling, W.T., 1994, "Numerical Recipes in Pascal-The Art of Scientific Computer", 1st ed. Cambridge University Press, New York, USA.
  • Roth, Z.S., Mooring, B.W. and Ravani, B., 1987, "An Overview of Robot Calibration", IEEE Journal of Robotics and Automation, RA-3, No. 3, pp. 377-85.
  • Schroer, K., 1993, "Theory of kinematic modeling and numerical procedures for robot calibration", Robot Calibration, edited by R. Bernhardt and S. L. Albright, Chapman & Hall, London.
  • Schroer, K., Albright, S. L. and Grethlein, M., 1997, "Complete, Minimal and Model-Continuous Kinematic Models for Robot Calibration", Robotics & Computer-Integrated Manufacturing, Vol. 13, No. 1, pp. 73-85.
  • Whitney, D. E., Lozinski, C.A. and Rourke, J.M., 1986, "Industrial Robot Forward Calibration Method and Results", Journal of Dynamic Systems, Measurement, and Control, No. 108, pp. 1-8.
  • Zak, G., Fenton, R.G. and Bernhabib, B., 1993, "A Simulation Technique for the Improvement of Robot Calibration", Transactions of the ASME, No. 115, pp. 674-9.
  • Zhuang, H., 1992, "A Complete and Parametrically Continuous Kinematic Model for Robot Manipulators", IEEE Transactions on Robotics and Automation, Vol. 8, no. 4, pp. 451-63.

Publication Dates

  • Publication in this collection
    20 Nov 2002
  • Date of issue
    Sept 1999

History

  • Reviewed
    Apr 1999
  • Received
    Apr 1998
The Brazilian Society of Mechanical Sciences Av. Rio Branco, 124 - 14. Andar, 20040-001 Rio de Janeiro RJ - Brazil, Tel. : (55 21) 2221-0438, Fax.: (55 21) 2509-7128 - Rio de Janeiro - RJ - Brazil
E-mail: abcm@domain.com.br