A11102 44534S

Reference

NBS

PUBLICATIONS

On Characterizing Measuring

Machine Geometry

R. J. Hocken

B. R. Borchardt

National Engineering Laboratory

National Bureau of Standards

Washington, D.C. 20234

Final

May 1 979

Issued June 1 979

h-QC- U.S. DEPARTMENT OF COMMERCE

100

*1156

79-1752

1979

NATIONAL BUREAU OF STANDARDS

NBS RESEARCH INFORMATION CENTER

NBSIR 79-1752

ON CHARACTERIZING MEASURING

MACHINE GEOMETRY

R. J. Hocken

B. R. Borchardt

National Engineering Laboratory

National Bureau of Standards

Washington, D.C. 20234

Final

May 1979

Issued June 1 979

U.S. DEPARTMENT OF COMMERCE, Juanita M. Kreps, Secretary

Jordan J. Baruch, Assistant Secretary for Science and Technology

NATIONAL BUREAU OF STANDARDS. Ernest Ambler. Director

ON CHARACTERIZING MEASURING MACHINE GEOMETRY

R. J. Hocken and B. R. Borchardt

ABSTRACT

We present a simple method for removing axis

nonorthogonality and checking for length dependent scale

errors in two-dimensional measurements. Use of this

method requires that a two-dimensional master gage (ball

or grid plate, for example) be measured in two positions

which differ by a rotation of the plate 90° with respect

to the measuring machine axes. The method is similar to

that proposed by Reeve [1] but requires only linear least

squares fitting on a small computer.

1. INTRODUCTION

Typically two-dimensional standards consist of a plate with either a

grid of lines deposited on the plate or an array of spheres attached to

the plate. The goal of a two-dimensional measurement is to obtain the

array of coordinates of either the line intersections or the ball centers.

This measurement is usually done on a coordinate measuring machine where

either the plate, some locating device (microscope or LVDT probe), or a

combination of the two, both gage and indicator, is moved. The coordinates

are read from scales attached to the axes of motion.

In a perfect system this process gives the true coordinates, but in

practice the motions are never truly rectilinear, the scales on the two axes

are not identical, and the axes of motion are not orthogonal. The purpose
of this paper is to describe a simple technique for checking for scale

errors and nonorthogonality errors and removing such systematics from

the measured coordinates. In this treatment it is assumed that the

motions (x and y) are linear; thus straightness errors and errors due to

yaw are assumed zero. [2] This measurement proceeds as follows. The

plate is placed on the machine table and oriented so that its axes are

aligned, as well as possible, with the machine axes. The coordinates

are measured and normalized so that the specified plate origin has

coordinates (0,0). The plate is then rotated 90°, either clockwise or

counterclockwise, and the coordinates remeasured. (This rotation must

be within about 10 sec of 90° for the algorithm to work. Ten seconds is

the equivalent of 0.0005 inch in 10 inches of travel, a figure well

within the capability of any good measuring machine.) Again, the results

are normalized so the plate origin has coordinates (0,0). The two sets

of coordinates are inputs to a linear least squares fit which estimates

the nonorthogonality, the scale error, the difference between the actual

rotation and 90°, and the average x and y offsets between the two sets

of coordinates. From these results the nonorthogonality can be removed

and the scale differences either averaged or removed, if there is some

pressing reason to trust one scale over the other. (For instance, one

might use a laser interferometer for one of the scales and the machine

lead screw for the other.)

2. CALCULATIONS

Suppose the gage points on the plate can be specified by a set of

vectors (X.) v, which are the "true" coordinates. Then call the measured —l N

2
set of N vectors in the first position (aligned with the machine axes)

(X, . )„. The first set of measured vectors are related to the true vectors —li N

hy a matrix transformation, A. That is

X'i=AXi ; i = 1, N ( 1 )

where A is a matrix which describes the machine geometry. We call A the

machine metric. For a two-dimensional measuring machine, there are

several possible and equally sensible choices for A. One choice is.

A* ( 2 )

\ / which describes a machine with scales which are equal but in which the

axes are nonorthogonal by an amount a. (a is in radians and is assumed

not to be more than a few microradians) . This is the metric chosen by

Reeve [1] in his original paper on "multiple redundancy", though he does

not use the same language to express his results. The machine metric in

(2) is written so that the x axes of the gage and machine are aligned

and the y axis of the machine is at an angle 90° -a. This choice is

arbitrary. A slightly more complicated metric one might sensibly choose

is:

A=x

/l + Y

V

0

( 3 )

Here y is a small error term that is included to take into account the

fact that the scale for the x axis may be different than that for the

y and that one trusts the y scale more. An equivalent representation,

trusting the x scale, would be

A J

1

=* \o 1-y)

( 4 )

3
Either of these forms can be built into the model described. Suppose,

however, one believes the scales are different, by an amount y, but one

has no idea which scale should be trusted most. In this case one should

choose a matrix that has symmetry in the scale error. A reasonable choice

is:

It is shown in Appendix B, that all three of these forms, eq. 3, 4, and 5,

yield identical relationships between the coordinates measured in positions

1 and 2, though not identical "best" values for the coordinates. The

reason for this is simply that the numbers themselves cannot ever contain

information about the true choice of scale since this is arbitrary and decided by law rather than nature. Thus, only the differences between scales

may be ascertained and which one is to be termed "correct" is entirely the

decision of the metrologist. Since the three more general forms for the

machine metric, eqs. 3, 4, and 5, yield the same observational equations,

we can work equally well with only one of them.

Beginning then with A^, we have, from equation 1, the set of vectors

(coordinates) measured in the first position. They are:

X' = A X. , i = 1, N —li —x —i

The set of vectors measured in the second position is given by

*i 2 m

2. h- 1 * l - N

where B is the finite rotation matrix,

cos0 sin0

-sin0 cos0

B =

( 1 )

( 6 )

(7)

where 0 - —

.
The order of A and B is important, because A and _B do not commute

(i.e. AB ^ BA). The logic behind (6) is straightforward. The true

coordinates after rotation are:

= B x., i = 1, N (8)

and when these coordinates are measured on the machine the numbers obtained

are:

X’ = A X._ = A B X., i = 1, N —2i =ac —lB =X = —l

Equations (1) and (6) may be combined to yield

(9)

X* = A B

-1

A

1 X' i =-l,N (10) —lx =x — =x —2i

which is the basic observational equation. Here the data, measured coordinates in the two positions, are related by an equation which involves

the machine parameters, a and y, and the rotation angle 9.

Equation (10) would be exactly true in the absence of error. In a

measuring machine, there are, however, many errors and equation (10) is

only true on the average. Also, because of the way we usually make measurements, there is probably some linear offset, independent of the machine

metric, between the origins in positions 1 and 2. The normalization procedure

commonly used, that of subtracting the readings at the reference coordinate,

systematically biases all measurements with the error in that one reference

point measurement. This bias can be assessed by including in equation (10)

an offset vector e_, which is assumed small, so that

X

’ = A B"

1 A

_1

X* + e, i = 1, N —li =x = =x —2x —

(ID

It is easy to show that since s is infinitesimal, A e=e, so that its introduction at what appears to be the last mifiute is mathematically sound.

5
We now simplify equation (11) by noting that the finite rotation

matrix ji(0), where 9 = ir/2 + g, reduces to an "infinitesimal” type of

matrix. That is

B = cos y

+ 6) sin (-| + 6)

^-sin + 8) cos + 8)

( 12 )

if one neglects terms in 8 • Also, to the same order, the inverse of B is

-1

and the inverse of A is

==x

A'

1 =x

-8 - 1

'

-6

1-y a

(13)

(14)

0 1

% With these first order approximations, the observational equations become:

X^. = -(g+cO X'2± - (1-y) Y'. + e x

(15a)

and

Y

li

= (1"

Y) X

2i + (a_6) Y2i + £ y

(15b)

where we have performed the matrix multiplications indicated .in equation

(11). (We emphasize here that equation (15) is exactly the same for any of

the three choices of A, equations (3), (4), and (5), mentioned previously.)

To obtain a best value for the parameters (a,8,y,e

x

, e ) we must choose

them such that, on the average, equations (15) are satisfied. To do this,

we introduce a modified form of the traditional chi-squared which we define

as follows:

*

2 -

2ST5 . £ (calc > > 2 +

” <Y

'li - Y

ii<

calc» 2 (16)

i=l,N

6
where (calc) and (calc) represent the right hand sides of equations

(15a) and (15b), respectively. A best value for the parameters will occur

when the quantity chi-squared is a minimum, and furthermore, chi-squared

at this minimum is just the rms standard deviation in the coordinates.

(We assume here that the random errors in the x and y measurements are

2 independent with mean 0 and variance a.)

We obtain the equations for the minimum in chi-squared by partial

differentiation of equation (16) with respect to each of the five parameters, setting these derivatives equal to zero. A resulting system of

linear equations is:

D P = C ,

- (17)

where D is a 5 x 5 matrix and _P and C_ are column vectors. Let us denote

the sums which form the matrix elements of D by dropping the i subscript,

the prime and the summation sign.

Then:

7
Similarly

and

(18b)

(18c)

The solution to equation (17) may be obtained by inversion of the

matrix I), or, because of the low order of the matrix, by Kramer's rule.

The latter method is that used in the computer programs given in the

appendices

Let us now suppose we have obtained the solution to equation (17),

i.e., we have the best fit values of a, 0, y, e and e as well as the x y

8
value for chi-squared. Using these parameters we can calculate a value

for the "true" coordinates. The equations are:

%

and

(19a)

Xi = B^A 1 *• + £ (19b)

A resulting "best" value for the coordinates may be obtained by a

simple average; that is:

A"

1 + B

-1

A

_1 X’^ (20)

where we have already subtracted a factor £ in order that the reference point have coordinates (0,0).^ In this calculation of the best

values for the coordinates the result is no longer independent of the choice

of A, unless y is zero. Here the metrologist must decide which of the three

forms to use and this decision can only be based upon prior information or

intuition. (The computer program given in the appendices has the option

for- using any of the three forms.) The set of coordinates, , are still

probably not in the desired system as they are in a coordinate system

aligned with the machine axes. They are put into the preferred gage system,

which usually has one point with a large X coordinate which is specified

to have a zero Y coordinate, by a simple rotation. If caiewas taken in

the initial alignment this rotation will be small, but this is not a

+Since the vector s_ does not appear in the final solution for the coordinates

its introduction may be unnecessary,

prove as the coefficients for c and

—“X other parameters

This, however, would be difficult to

£y do appear in the solutions for the

9
necessity for the algorithm to work. All that is required is that

positions 1 and 2 differ by a rotation that is within about 10 sec of 90°.

3. RESULTS

This algorithm was checked in two different ways. The first check

consisted of trying the program on data which was computer generated.

This data is shown in Table 1 which includes the "true" values, the

two sets of coordinates as seen in two positions nearly 90 degrees apart

fitting the data (using option 3, i.e., splitting the metric error). The

slight disagreements between the computed coordinates and parameters and

the "true” values are interpreted- as stemming from the truncation of the

data at the microinch level. Also shown are the results of Reeve’s program applied to the same data.

Some testing of this algorithm has also been done on real data obtained

from the NBS 2-D ball plate measured on our Moore 5-Z coordinate measuring

machine. If the scale error (y) is set equal to zero the values obtained

agree well with those obtained from using the full multiple redundancy of

Reeve. These numbers are presented in Table 2.

4. CONCLUSIONS

It appears that this algorithm can be a valuable and relatively simple

tool for uncovering and correcting for simple errors in machine geometry.

Its advantages when compared with the complete multiple redundancy of Reeve

are three-fold. First, it is simple enough to be programmed on a small

computer, if the machine has the capability o'f double precision

10
arithmetic.* Secondly, this algorithm includes a provision for assessing

scale errors and, thirdly, the measurement method required coincides

with techniques usually used by the operators of measuring machines. On

the negative side, this method is definitely less flexible in terms of

what kinds of measurements it requires; the desire to keep the program

small enough for a minicomputer leads to necessarily stringent requirements on alignment to keep our approximations valid. Also, this method

requires fewer measurements than the original algorithms which may

prevent the averaging of other errors that is inherent in full multiple

redundancy and the statistics used are certainly of an ad hoc nature.

The fact that it gives the same answers and standard deviations as the

more powerful method assures us somewhat on this latter point.

In order to make this technique more useful to a variety of measuring

machine users, a program using the simple metric, equation (2) , and a

program with the option of choosing one or all of the other three, are

provided in the appendices. They are in double precision Fortran of a

vintage suitable for most compilers. The program for the metric described

in the text is in Appendix D, while Appendix C contains a program for a

simpler metric and Appendix B the proof that the observational equations

are the same for any of the three matrices, equations (3), (4), and (5).

*Least square fitting of this type requires taking differences of

very large numbers which are often very similar in value. In coordinate

measurement so many significant figures are required and differences are

so small, it is doubtful that any of the programs described would work

in single precision.

11
* Table 1. Results of Programs Applied to Computer-generated Data.

True Values

Raw

Position 1 Data

Position 2

ALBE 3

Results

Option 3 Reeve

Results

*1 .000000 .000000 .000010 .000000 .000000

X

2

12.526471 12.526643 .001604 12.526471 12.526557

*3 3.141597 3.141647 2.674759 3.141597 3.141619

X

4

.132671 .132702 11.989814 .132671 .132674

*5 12.026450 12.026648 13.779498 12.026449 12.026532

X

6

6.936245 6.936358 7.217926 6.936245 6.936293

X

7

12.137425 12.137615 9.875151 12.137425 12.137508

X

8

1.110020 1.111044 3.762727 1.110020 1.110028

X

9

9.735164 9.735305 3.166073 9.735164 9.735231

Y

1

.000000 .000000 -.000014 .000000 .000000

Y

2

.000000 -.000091 -12.526485 -.000000 -.000000

Y

3

2.674327 2.674304 -3.141279 2.674327 2.674346

Y

4 11.989642 11.989641 -.131198 11.989642 11.989724

Y

5 13.777777 13.777683 -12.024755 13.777770 13.777864

Y

6

7.216943 7.216893 -6.935364 7.216943 7.216993

Y

7 9.873462 9.873374 -12.136215 9.873462 9.873530

Y

8

3.762542 3.762534 -1.110568 3.762542 3.762568

Y

9

3.164785 3.164715 -9.734786 3.164786 3.164807

Parameters (XI

O'6

)

Alpha 4.79 — — 4.81 4 . 66

Beta -131.26 — — -131.24 -133.98

Gamma 13.70 — — 13.69 —

X-of f set -14.20 — — -14.04 -13.67

Y-of f set 9.60 — — 9.45 10.01

Sigma — — — .5 57.5

*All dimensions are in inches and angles are in radians. Gamma is

dimensionless

12
Table 2. Results of Programs Applied to Real Data

Raw

Position 1

Data

Position 2

ALBE 3

Results

Option 3

Reeve

Results

h

.000000 .000000 -.000000 .000000

h

-3.000912 3.998718 -3.000864 -3.000868

h

-2.000640 10.999142 • -2.000515 -2.000517

h

-4.000689 13.998858 -4.000532 -4.000537

h

-.000163 14.999467 .000000 .000000

h

-8.001243 1.998189 -8.001196 -8.001207

h

-6.001024 . 5.998378 -6.000930 -6.000939

h

-9.001392 8.998041 -9.001258 -9.001270

*9 -7.000838 12.998368 -7.000682 -7.000692

X

10

-15.002162 .996753 -15.002107 -15.002129

X

11

-13.001803 . 4.997135 -13.001700 -13.001718

X

12

-12.001441 9.997590 -12.001292 -12.001309

X

13

-14.002280 14.996517 -14.002106 -14.002125

Y

1

.000000 .000000 .000000 .000000

Y

2

3.999098 3.001472 3.999145 3.999151

Y

3

10.999378 2.002176 10.999406 10.999422

Y

4

13.999388 4.002653 13.999428 13.999447

Y

5

14.999390 .002266 14.999408 14.999429

Y

6

1.999283 8.001495 1.999381 1.999384

Y

7 5.999186 6.001825 5.999259 5.999268

Y

8

8.999253 9.002606 8.999363 8.999376

Y

9

12.999295 7.002651 12.999380 12.999398

Y

10

.998845 15.002257 .999012 .999014

Y

11

4.998944 13.002443 4.999086 4.999092

Y

12

9.999228 12.002806 9.999367 9.999381

Y

13

14.998424 . 14.004399 14.998583 14.998604

Parameters (xio

-6

)

Alpha — — -.67 -.66

Beta — — -141.27 -141.50

Gamma — — 2.82 —

X-of f set — — -14.30 0

Y-offset — — -17.58 0

Sigma —— “ 16.9 17.0

13
APPENDIX A: A THREE PARAMETER FORM

A simple form for the machine metric is that described in the text, that

is

/l+y-a

A "^o i

(Al)

This metric can be used and a simpler computation (with a shorter program)

done by neglecting the offsets e and e . The observational equations are x y

then

X

li

= ~ (e +Ct) X

2i

* (1+Y) Y

2i (A2a)

* and

Y

li

= (1_Y) + (a_6) Y

2i

(A2b)

The linear equations at the minimum in chi-squared are:

2X

2Y2 Y

2

+X

2

X

\

-y:

x Y

2

X

2 A /X2"Y2'X

l

Y2"Y

l

X

2\

* X

1

X

2 (A3)

h J\7 V

X Y -Y Y

2 2 12

A Fortran program for the solution of A3 appears as Appendix C

Table Al shows the results of the program on the dummy data described in

the text.

Table Al also shows the results on the real ball plate data previously

described, and comparison of these results with those obtained using

Reeve’s full multiple redundancy. The large standard deviation in the Reeve

result on the dummy data is due to the inclusion of a length scale error, y, of 13.7 ppm when the data were generated.

14
Table Al. Results of Programs Applied to Computer-generated Data, with

Offsets E^ and Neglected.*

ALBE 2 Results

on Dummy Data

Reeve

Results

ALBE 2 Results

on Real Data

Reeve

Results

X

1

.000007 .000000 .000000 .000000

*2 12.526483 12.526557 -3.000862 -3.000868

X

3

3.141604 3.141619 -2.000514 -2.000517 x

4

.132673 .132672 -4.000530 -4.000537

X

5

12.026455 12.026532 -.000000 .000000

X

6

6.936251 6.936293 -8.001193 -8.001207

X

7

12.137433 12.137508 -6.000928 -6.000939

X

8

1.111026 1.111028 -9.001253 -9.001270

X

9

9.735171 9.735231 -7.000678 -7.000692

X

10

-15.002101 -15.002129

X

11

-13.001694 -13.001718

X

12

-12.001287 -12.001309

X

13

-14.002099 -14.002125

Y

1

-.000005 .000000 .000000 .000000

Y

2

-.000000 -.000000 3.999144 3.999151

Y

3

2.674324 2.674346 10.999401 10.999422

Y

4

11.989642 11.989724 13.999422 13.999447

Y

5

13.777775 13.777864 14.999401 14.999429

Y

6

7.216943 7.216993 1.999381 1.999384

Y

7 9.873466 9.873530 5.999257 5.999268

Y

8

3.762539 3.762568 8.999460 8.999376

Y

9

3.164785 3.164807 12.999374 12.999398

Y

10

.999012 .999014

Y

11

4.999084 4.999092

Y

12

9.999362 9.999381

Y

13

14.998577 14.998604

Parameters (10 ^ inches or radiams)

Alpha 5.03 4.66 -.81 -. 66

Beta -130.55 -133.98 -140.40 -141.50

Gamma 12:99 — 3.69 —

Sigma 7.0 57.5 17.6 17.0

k

All dimensions are in inches and angles are in radians.

15
Appendix B

EQUIVALENCE OF THE OBSERVATIONAL EQUATIONS FOR THE THREE FORMS OF METRIC

ERROR.

Three logical choices for a machine, metric with scale errors were given in

the text. They were

and

A = =x

A = -y

l+Y -1 ) (Bla)

/

;;)

(Bib)

(Blc)

HM

The basic observational equation is, in matrix notation,

X ' = A R

1

A

-1

X* + £ = C X„ ! + e —li = — = 2i — = —2i —

(B2)

To show that the three metrics above yield the same observational equations

we need only to show that

C = A B

1

A

_1

= A B

1

A = A B

_1

A

_1 = =x = = =^y — ( B 3

)

« ^

For the case where the metric is given by we have already shown in the

text that

''-(fr+a) - ( l+Y

)

C = (BA)

(1-y) ct-B /

when

-1 (-6 -1

1 -B

16
(B5a)

The inverse forms for A and A are =y

and

A'1 - A 01 \ % l 0 1+Y J

.-1 _ / l-y/2 a

= 1 0 l+y/2,

(B5b)

Substitution of either (B5a) or (B5b) into (B3) will yield, to first order

in the parameters, C, as given in equation (B4)

.

17
Appendix C

S JbRCLTI NE ALii?(X.Y.C,5IGV,A,NPT^ ) C

C X AND Y ARE THE ARRAYS FOR THE t A T«, THE FIRST SUBSCRIPT IN EACH

C IS J5ED TC CE T ERMINE THE POSITION Or THE GAGE (1 OF ?). POS 2

C IS ABOUT 9 0 DEGREES CLOCKWISE. VI t_«'ED FRCV T Hi TCP,- FR'JM

C PCSITICN I

C G(1 )=NCNORTI-CGUNALITY ANGLE. IN RADIANS

C GI 2 ) =KCTAT ICN DIFFERENCE FRO<l 9 “ DEGREE 3 . RADIANS

C G( 3 )= METRIC ERROR l ASSUMED ED J AL BETWEEN X AND Y)

C S I GMA=RMS Standard DEVIATION' IN COORDINATES . UNITS ARE THE SAM

C AS THCSE USED IN a - ND Y, muLTIPLJEC EY 1ET6.

c N °T S = N U M E E R QF GAGE POINTS MEASURED. DIMENSIONED TC-* S

C

C

IMPLICIT DCUSLE PRECISION (A-H, O-Z)

DIMENSION XC3.5J).Y{3.‘5U),A(j,3)«D(3.3».C(3),G(3)

C

C SET 5 JM5 TC ZERO

r Y22=C.DC

X22=0 .00

XY1 2=0 .DO

XY2 1=0.03

XY22=C.D0

XX 1 2 = C .0 0 YY i 2=3 . 0 3

00 100 1 = 1 . N'PT S Y22 = Y22-*- Y ( 2 . I >« =2

X3?-X 22-X ( 2 . I

)

4t 2

XY12=X v i2+X( 1 « I )-Yv2. I > XY2 i=XY2 1+XIZ. I ) K Y ( 1 i 1 )' XY22=XY2 24X(2.I ) *Y ( 2. I ) XX 1 2 = XX1 2 + X l 1 .1 )

*• X

(’ 2 . I ) ICO YY12 = YY12-cY<l,I)«Y(2.I)

C

C SET UP MATRIX

C

A ( 1 , 1 ) = C .03

* ( 1 .2 )=2.Dw*XY22

A ( I . 2 )=Y ^2+X22

A ( 2 . 1

) =X22

A ( 2 . 2 )=X^2

A ( 2 . 2 )=XY22

A ( 3 . 1 ) =- Y 2 2

A ( 3 , 2 ) =Y2?

A ( 3 . 3 ) = X Y 2 2

C(1 ) =— ( XY i 2 + XY2 1 +> 2 2— X 2 2 ) C ( 2 >=-X x i 2-XY22

C ( 3 ) =— YY 1 2 + XY22

C

C D3 CALCULATES uETERVInant CF a C

DD=03 ( A

)

C IF MhTRIX 15 i>I NuGLAh . PRINT MESSAGE

1 F [ J D . E D . 'I • 0 _ ) -a F 1 t E ( 6 , 2 - ) DO ISO 1=1.3

DO 12 0 J=1

DC 122 K= 1 .3

18
120 DC J ,K ) = A ( J * K. ) DC 130 L- 1 .3

130 D(L,1)=C(L)

150 3 ( 1 )=C3(D>/DD

C

C CALCULATE G( 1 ) THROUGH G(3) FOR RETURN TJ MAIN PROGRAM

C

c

C CCMPJTE CHI SOU ARE

c CHI SC=0. DO

DO 203 I=1,NPTS

XC=-(G( 1 )-* G ( 2 ) ) *X (2» I )-( 1 «3u + o( 3} ) * Y { 2 « I ) Y C = ( 1 • D 0— 3(3) I * X ( 2 » I > +

(

G ( 1 )-G( 2 ) ) * Y ( 2 * I ) CHISQ=CH ISQ+C X ( 1 , I )— XC )* *2+< Y { 1 , I )-YC > *»2

XC3,l) = (X(l,I>-fXC)*(l. 0J-G13 > )/2.D0+( Y(l, I )+YC > - G ( 1 >/2.DC

YCj,I)=(YC,I ) + YC J/^.DO

20^ CONTINUE

FREE=2«D

j

r N?T 5— 3 • D C SI GMA= 1 . D+Co* US 3RT (CHI SC/rRhc)

2 C FORMAT (IX,' MATRIX OF COE. IS SINGULAR')

RETURN

END

FUNCTION D2( A

)

IMPLICIT REAL«B (A-t-,0-Z)

DIMENSION A ( 3 . 3

)

D3= A ( 1,1 ) «A (2, 2 ) * A (2 . 3 > + A ( 1 , 2 ) -A (2« 5 > “A ( 5 , 1 > -*- A ( 1 , 3 ) - A ( 2 , 1

> " A (3 . 2

)

C-A ( 3, 1 )*A(2,2)*A11,3 ) ( 3 , 2 ) * A ( 2 , 3 ) * A ( I 1 )-A(3,3)-A(2.1)*A( 1,2)

RETURN

END

%

19
Appendix D

5 ‘J f C. ^ I N E ».Ln£3 ( X * Y . G . SIG^t, Nr' T S . NGP t ) C

C X Y iht THE if--Y s F£r THC CAT-. THE F I L ST SUBSCRIPT IK EACH

C IS USCD Tt; DE72A?-'INE THL PCSITiarx: CF THE SAGE (1 CA E). AGS 2

CIS A 3 G J T 90 DEG-'_ES CLCCK*ISE. VIEWED FKuM THE TOP. FkCM

C PCS IT IGN 1 C G(1 > = NCKLkTFCGuNAl 1TY ANGLE. P.AulANS

C j( E)=KCTAT1CK ~ IP FE.HENCE FFC;.: ?C JEGPEcS, RADIANS

C G(2 )=f,ETAI C EHF'-OH

C G ( A ) = X— OFFSET

C 3(r ) = Y-CFFS£T

C. r>IG.YA = SMS S T ANLiA.SC DcVlATiuN IN CGGF- D I K’A TES . UNITS AA E “HE SAME

C AS THOSE ~ SEE in X AND Y

L K-3T 5=NUM££P OF GaGE Pul NTS KF-ASJRtD. DIMENSIONED F CA 5C.

C NC7PT— CPTI CN TL CHCCSc. P Gr, M L'F SCALE EFMJP:

C 1 = ALL EArrGF IS IN X AXIS

C 2 = ALL EFrvCF IS IN Y AXIS

C 3=EPF.Gk IS SPLIT 3-TaFFim X AND Y AXIS

C — = THERE IE NL METR I C cRRCfC

I-lPi_ICIT CCJELE P-iSLlSICN (A-H.C-Z)

O I WE N si :n X C 2 . S J ) »Y < 3 * E D ) »A (E,E ) «D(So 1 iC(S )» G( 3)

cC SET SUMS “C ZZr.O

c ° N= NP T S IF (NC FT— E) t-J.oi.G2

o . OP i - I « D .• GG TJ cj

- 1 rjP“=J.DC

GO TU L 3

‘.'.2 OP'r =C.=JS

cE CONTINUE

X 1 = - • O D Y 1= : . DC

Y2-w .DO

X U — w « D v Y22=C.DC

X 22= C . C C X Y 1 2 = w .3 J XY2i=C.DD

XY?2=_.DD

XXI2=C.DJ

YY12=D.DC

C

C DO SJVS NEEDED

C

DO ICO 1 = 1 . NP~ S

A2=X2-*X(.i.i ) Y2=Y2*Y (2. I

xi=;i+x(i. 1

)

Y 1 -

1 + Y ( 1 . I ) Y 22= YCS-t Y ( I . I X 22 = XE x l 2. I )* * ? XYlE = XYI2-4xU,I)*Y<2,I)

V.Y 2 1 =XYZ 1 + X( Oi I ) ~ Y { I . I ) XYi^=XV^i-*xi2. I ) -*Y ( 2 , I ) 20
i c c

cc

c

o

c

: 20

1 30

C

ISO

XXI 2 = XX1 2 + X ( 1 . I ) * X ( 2 , I ) YY 1 2=YY12+ V ( 1 , I )*Y (2, I )

SET UP MATklX FGF SCLL'TICN

A ( 1 , i > = 0. DO

A ( 1 , 2) = £ • O 0 3

Ml, 3 ) =Y2 2+X

A ( 1 . 4 ) =- Y2

A { 1 , S) =— X 2

A ( 2. 1

)

= X 2 2

A [P. , 2 ) = X22

A ( 2, 3 ) = X Y £ 2

A ( 2, 4 ) =-X2

A (2, 5 ) = v • D

A (3, 1 ) =— Y 2 2

A (3, 2 ) = Y22

A (3, 3 ) = XY2 2

A ( 3, 4 ) — 0 « D w A ( 3, 5 ) —— Y P

A (4, 1 ) = X2

A (4, 2 ) = X2

A ( 4 « 3 ) = Y 2

A(4, 4 ) =- R N

A (4, 5 ) = 0.00,

A ( S « 1 ) h1 -f ro A (5, 2 ) = Y 2

A ( c i 3 ) = X2

A (5, 4)=:.DC

A ( 6 . S ) =- R N

C ( 1 )=-(XY12+XY21+Y22-X22^

C ( 2 >=-XX 1 2-XYZ2

C ( 3 >=-YY 12+XYZ?

C { 4 ) =- X 1 - Y 2

C ( 5 > = X2— Y 1 DD = DETEF.M (A,;)

ITd EFf-OS MESSAGE IF -lAT.-vlX I IFtDD.EC.O.OC) »RITE(t,2:j

DU 1 bo I = 1 .b

DC 120 J = 1 « 5

DO 1 2 o K= 1 , - D < J , K ) = A ( J ,K ) DC 130 L=1 ,S

D (L « I )=C (L ) CALCJLATE G ( 1 ) THKQJGri G(b) FCf<

G ( 1 l = DETcKf'i J» 5

SING JL A rK

r\ C T 1 J K N T G MAIN ^-’C'Gr^^

C CALCJLATE CMlSC

c

C HI S Q = 0 • D O DC 200 1 = 1 » NPT

5

x C = — ( G ( 1 > + G( 2 ) ) x ( _ , I )-I 1 .D 0+3 ( 3 ) ) T.Y ( 2 .1 )+3{4>

YC= ( 1 . D j—G (3) ) X( 2 , 1 ) i- l G { 1 )-G ( 2 ) )'-Y(2.1 )+ 3< b ) C HI SO=CHl SGt( x( 1, I ) — XC ) ~ -2+ ( Y ( 1 , I )— YC ) *’"2

XC = ( ( X ( 1 , I ) + XC ) /2.D0 )-G( * ) /2

YC= ( (V (1 « I ) + YC )/2»D0)— G(5)/2

IF 1 NC^T • cO < *- ) o ( J 1 - - • J *

21
X(3.I )=XC«( 1.0 0-CPT«J(3) )fYC*’3{ 1 ) y( 3, n= ( ;.c:+( i.j:-c ;:| T)uG(3n’'YC

200 CONTINUE

FR£l= 2*D J*NPTS-5* D.

S1GM4=1 .O+U^aQSORT < CHI SU/Fk££)

2

FORMAT! IX,* MATRIX CF CCS. IS SINGULAR')

RtTUhK

END

FUNCTION OETtRMt AA .NCkDEF

)

IMPLICIT DOUBLE PRECISION (A-n.G-Z)

DIMENSION ARRAY ( 5 , = ) , AA ( 5 ,5 ) 1C DETEkM=1«DC

DO a£ U=1«NChuER

DO 45 K= 1 . NGRDcn

A. 5 ARRAY ( JiK) =AA( J , K ) 11 DO 53 K= l.NOROER

I F{ ARRAY ( K ,K ) ) Al.21.Al

2 1 DG 25 J=K . NGr.DSP

1 F l ARR AY ( K i J M 31,25.31

23 CONTINUE

DETER w =o.J0

GO TO

31 DO 34 I=K,NCRDER

SAY £= ARRAY ( I, J ) ARRAY (I « J ) = A h A A Y ( I , K ) 34 ARRAY { I.K )=SAVE

DETERM=-OE TERM

4 1 DETER M= DETERM^ARR AY tK.K ) I F ( K— NCRDE-t ) 4 3,5 1,, 5 C 43 K1=K+1

Du 4fc I =K 1 , NCPDER

DO 46 J = K 1 , NCr.jE

4 6 ARA A Y ( I , J ) = Ahr.A Y ( 2 , J }- ARR A Y ( I .N ) - awR A Y (K , J > / Ah h A Y (K , 50 CONTINUE

60 RETURN

END

22
NBS-114A (REV. 7-731

U.S. DEPT. OF COMM.

bibliographic data

SHEET

4. TITLE AND SUBTITLE

1. PUBLICATION OR REPORT NO.

NBSIR 79-1752

2. Gov’t Accession

No.

ON CHARACTERIZING MEASURING MACHINE GEOMETRY

3. Re cipient’s Accession No.

5. Publication Date June 1979

6. Performing Organization Code

7. AUTHOR(S)

Robert J. Hocken and Bruce R. Borchardt

9. PERFORMING ORGANIZATION NAME AND ADDRESS

8. Performing Organ. Report No.

NATIONAL BUREAU OF STANDARDS

DEPARTMENT OF COMMERCE

WASHINGTON, D.C. 20234

10. Project/Task/Work Unit No. 231112 4

11. Contract/Grant No.

12. Sponsoring Organization Name and Complete Address (Street, City, State, ZIP) 13. Type of Report & Period

Covered

Same as above

14. Sponsoring Agency Code

15.

SUPPLEMENTARY NOTES

16.

ABSTRACT (A 200-word or less iactual summary of most significant information. If document includes a significant bibliography or literature survey, mention it here.)

We present a simple method for removing axis nonorthogonality and checking

for length dependent scale errors in two-dimensional measurements. Use of this

method requires that a two-dimensional master gage (ball or grid plate, for

example) be measured in two positions whf^h differ by a rotation of the plate 90°

with respect to the measuring machine axes. The method is similar to that proposed

by Reeve, but requires only linear least squares fitting on a small computer.

17.

KEY 'JORDS (six to twelve entries ; alphabetical order; capitalize only the first letter of the first key word unless a proper name; separated by semicolons

)

Ball plate; grid plate; machine geometry; measuring machine; 3-D metrology; redundance

18. AVAILABILITY |

y

; Unlimited

IZ2 For Official Distribution. Do Not Release to NTIS

1 ! Order From Sup. of Doc., U.S. Government Printing Office Washington, D.C. 20402, SD Cat. No. C 1 ^ Cj Order From National Technical Information Service (NTIS)

Springfield, Virginia 22151

19. SECURITY CLASS

(THIS REPORT)

UNCL ASSIFIED

20. SECURITY CLASS

(THIS PAGE)

UNCLASSIFIED

21. NO. OF PAGES

22

22. Price

$3.00

U5COMM.DC 20042-P74
..