Innovative optoelectronic encoders for measuring absolute, linear or angular position with super-high resolution have been invented. The new encoders rely on a combination of high-accuracy microlithography, optical projection, charge-coupled-device (CCD) array image detection, and image processing. Compared to conventional absolute encoders, the new encoders allow practically unlimited travel at exceptionally high resolution and are far less susceptible to scale damage or contamination.
Figure 1 is a block diagram of this type of encoder for measuring either linear position along an axis perpendicular to the page or rotary motion about a vertical axis in the page. The encoder includes a scale (as described below) that encodes linear or angular position and is attached to an object of interest which moves with respect to the remaining fixed parts of the encoder. The position encoding pattern on the scale comprises transparent marks on an opaque background such as clear areas in opaque chrome on a glass scale or a perforated metal tape. A printed pattern of light marks on a dark background could also be used in reflection.
A light source illuminates the scale from underneath in the figure, and a lens projects an image of the moving scale onto a CCD array in the camera head. The output of the CCD is processed though an analog-to-digital converter (ADC); the resulting digital image data are stored in an image memory. An image-data processing computer ("image processor" for short) analyzes the image data using pattern recognition algorithms, utilizing the known positions of the pixels in the image, to determine the absolute linear or rotary position of the scale pattern in the reference frame of the stationary parts of the encoder.
The upper part of Figure 2 shows an example of part of the pattern on a linear encoder scale (the pattern on a rotary scale is similar but fanned). In this case, the scale is for measuring position along a horizontal axis in the page. The pattern includes fiducials, smaller marks denoting code bits, and horizontal pattern registration marks. Together, a fiducial and its associated code bits and registration mark form a code group. The pattern of successive fiducials is strictly periodic in the direction of motion. The code bits in a code group uniquely identify each fiducial. The bit pattern could be chosen to represent any convenient binary code; in this example, three rows of four bits each define a 12-position grid, so that each code group identifies one of 212 or 4,096 fiducials.
The image processor utilizes the information in the image of the scale to determine the position of the scale along the axis of motion. For this purpose, one of the axes of the CCD array is aligned along the axis of motion so that the pixel pattern can readily be used as a reference frame. In effect, the binary codes themselves provide low-resolution, absolute position information by identifying which fiducial(s) is (are) imaged on the CCD at any particular time. The absolute position is determined to high resolution by finding the horizontal position of the image of each fiducial in the pixel coordinate frame. This could be done by any of such well-known image processing techniques as edge detection, peak detection, differentiation, or centroiding. However, because optically the centroid of each fiducial image moves linearly across the CCD with scale motion, the preferred technique is centroiding; that is, computing the one-dimensional centroid of the fiducial along the axis of motion in the pixel coordinate system.
For a given encoder geometry and CCD configuration, there is a scale pattern that is optimum in the sense that it yields the most reliable outcome with the highest sensitivity and accuracy with respect to true position. The use of a larger, more sophisticated CCD array enables the simultaneous acquisition of images of several code groups. Position data become more accurate if independent position determinations can be made for multiple code groups. It is desirable to select the scale pattern, optical magnification, and detector geometry to provide the images of at least two and sometimes three (depending on position) code groups on the CCD array. If more than one code group is in view at all times and if there are any variations in magnification, then those variations can easily be corrected because the true spacing of groups on the scale is known and the answer for each group must match as there is only one position being measured.
The arbitrary, multi-bit coding scheme makes it simple to extend the range of linear motion without sacrificing resolution. In a representative example, 12 code bits for fiducial bars spaced by 100 µm would make it possible to encode motion over a range of 409 mm with a sensitivity of 10 nm. A 15-bit pattern would, in principle, extend this range to nearly 3.3 m at the same resolution. A rotary version of the encoder with a 125-mm-diameter code disk using 12 code bits has a sensitivity of about 0.02 arcsecond. These parameters indicate both a sensitivity and a range considerably greater than prior encoders, even though the scale pattern is very much coarser. The coarser pattern can be manufactured at less cost with higher yield and makes the encoder less sensitive to damage of the scale. The fact that the encoder can produce a correct answer based on an image of a single fiducial also makes the encoder less sensitive to damage of the scale.
This work was done by Douglas B. Leviton of Goddard Space Flight Center.
This invention has been patented by NASA (U.S. Patent No. 5,965,879). Inquiries concerning nonexclusive or exclusive license for its commercial development should be addressed to
the Patent Counsel
Goddard Space Flight Center; (301) 286-7351
Refer to GSC-13703