Patent Publication Number: US-9423281-B2

Title: Self-calibrating single track absolute rotary encoder

Description:
RELATED APPLICATION 
     This application is a Continuation-in-Part of a parent U.S. application Ser. No. 13/367,549, “Method for Estimating Positions Using Absolute Encoders,” filed by Agrawal on Feb. 7, 2012, incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     This invention relates to measuring devices and in particular to absolute rotary encoders for measuring absolute angle of rotation. 
     BACKGROUND OF THE INVENTION 
     Accurate estimation of linear positions and rotational angles is an important task in industrial automation, and similar applications. Devices, such as numerically controlled (CNC) machines, drill bits, robot arms or laser cutters, and assembly lines need precise measurements. Feedback control is often used for precision measurements. 
     Typical encoders include a scale and a read-head. Optical encoders are typically used to measure absolute or relative linear positions or rotational angles. Relative encoders measure the relative position or angle within a period of the scale, and require counting the number of scale periods traversed to determine the absolute position or angle. Absolute encoders do not require memory or power to store the current position or angle, and can obtain these at any time, particularly at start-up. 
     Optical encoders can be linear or rotary. A linear encoder measures a position, and a rotary encoder measuring an angle. Conventional absolute rotary encoders typically use multiple tracks and apply sine-cosine based interpolation method to achieve high resolution. 
     A single track absolute linear encoder that uses a single scale and a single CCD/CMOS sensor is described in the parent Application. That encoder does not use the conventional sine-cosine based interpolation method. Instead, that encoder detects edges, or zero-crossings, in a scan-line, and fits a model to the edge positions to obtain high resolution absolute position information. That encoder acquires a 1D image of the linear scale with a linear read-head. 
     High accuracy rotary encoders are required in precise, machining and manufacturing equipment. However, several errors can be introduced in the rotary encoder during manufacturing. These include errors in the scale pattern, installation of the scale on a rotary shaft, read-head alignment, and noise in electrical circuits. 
     For rotary encoders, the spacing between the scale lines varies due to the circular nature, of the scale. Another source of errors is eccentricity induced when the scale on a rotary disc is arranged on a rotary shaft. In addition, out-of-plane motion (wobble), and misalignment in installation can also lead to variation of the distance between the read-head and the scale. These factors affect the overall accuracy of rotary encoders. The encoder can correct manufacturing variations, errors in the scale pattern, installation of the scale on the rotary shaft, read-head alignment, and noise in electrical circuits. During operation, temperature variations and mechanical vibrations can cause further distortions, further reducing accuracy. 
     Due to the being closer to the light source, the center of the sensor receives more light compared to the sides. This results in vignetting, where the acquired 1D image is brighter in the center and darker on the sides. Vignetting leads to errors in detected zero-crossings (edges), thereby reducing the overall accuracy. 
     Several previous methods require multiple additional read-heads to cancel out errors due to eccentricity. For example, see U.S. Pat. No. 6,215,119, and U.S. Pat. No. 7,143,518. An equally divided average (EDA) method is described, by Masuda et al. in “High accuracy calibration system for angular encoders,” J. Robotics and Mechatronics, 5(5), 448-452, 1993. Rotary encoders that use multiple read-heads to reduce eccentricity errors increase the cost of the system and make the system design cumbersome. 
     Conventional methods also require precise motion of rotating parts for self-calibration. For example, U.S. Pat. No. 5,138,564 discloses a method that moves the encoder at slow speed and fast speed for calibration. U.S. Pat. No. 6,598,196 drives the servo system on a predetermined trajectory such that encoder errors occur at frequencies outside the servo feedback loops. Such requirements increase calibration effort and time. 
     U.S. Pat. No. 7,825,367 describes a self-calibrating rotary encoder where angular differences are determined as a Fourier series. Sine-cosine interpolation based rotary encoders can be calibrated as described in U.S. Pat. No. 8,250,901. The voltage data corresponding to sine and cosine of the rotation angle is fitted to an ellipse. Linear calibration parameters are obtained by transforming the ellipse into a circle. 
     U.S. Pat. No. 7,825,367 describes a rotary encoder capable self-calibration. The rotary encoder includes a rotary disk with an angle code, a light source, and a linear sensor (CCD) that reads the angle code. A processing unit acquires reading values f(θ) for predetermined angles. A difference between reading values f(θ+φ) and f(θ) within a reading range on the linear sensor is g(θ, φ). The difference is determined as a Fourier series. There, the rotation angle θ at a location is obtained by analyzing the CCD image. The self-calibration is based on finding the rotation angle at two different locations, and analyzing the difference for use in the self-calibration. 
     SUMMARY OF THE INVENTION 
     The embodiments of the invention provide a self-calibrating, single track, single read-head absolute rotary encoder. The encoder acquires measurements over one full rotation (360°) or part of a full rotation. Hence, the encoder compensates for any errors or distortions introduced during manufacturing and later use as environmental or mechanical conditions change. The encoder can also compensate for vignetting due to illumination variations. 
     The embodiments do not require multiple read-heads to cancel eccentricity errors. This significantly reduces the cost and complexity of the encoder. In addition, the embodiments do not require moving the motor at multiple speeds, or pre-determined trajectories for calibration. In addition, the invention also corrects for other installation errors, such as change of gap and shaft wobble. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         FIG. 1A  is a schematic of a rotary encoder according to embodiments of the invention; 
         FIG. 1B  is a schematic of a circular scale of sectors according to embodiments of the invention; 
         FIG. 1C  is a schematic of the circular scale and a linear read-bead according to embodiments of the invention; 
         FIG. 1D  is a block diagram for calibrating the encoder of  FIG. 1A  according to embodiments of the invention; 
         FIG. 2  is a graph of spatial frequency F(θ) with the rotation angle according to embodiments of the invention; 
         FIG. 3  is a graph of spatial frequency variations due to noise according, to embodiments of the invention; 
         FIG. 4  is a graph of variations in spatial distortion parameter α(θ) with the rotational angle according to embodiments of the invention; 
         FIG. 5  is a graph of variations in spatial distortion parameter β(θ with the rotation angle according to embodiments of the invention; 
         FIG. 6  is a graph of a fourth degree polynomial fitted to α(θ) according to embodiments of the invention; 
         FIG. 7  is a graph of scanline obtained by the 1D sensor and depicts the vignetting 
         FIG. 8  is a graph of a scaling factor according to embodiments of the invention; 
         FIG. 9  is a graph of an offset factor according to embodiments of the invention; and 
         FIG. 10  is a graph of corrected sensor values after applying vignetting correction according to embodiments of the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The embodiments of the invention provide a single track absolute rotary encoder. A read-head can be a linear charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) to acquire 1D images of a rotating circular scale. The 1D image includes a linear array of pixels. The scale includes reflecting and non-reflecting regions arranged according to a de Bruijn sequence. The de Bruijn sequence is well suited, because the pattern itself is circular in nature. 
     Absolute Circular Scale 
       FIG. 1  shows a small portion of a circular scale  100  of an absolute encoder for one embodiment of our invention. Details of the scale are described in U.S. application Ser. No. 13/100,092. The scale is used to determine a high-resolution phases P  120 . 
     The scale can include alternate light reflecting  101 , and non-reflecting  102  marks or bits. The marks can also alternate between opaque and transparent, depending on a relative position of the light source with respect to the read-head. Each mark is B microns wide, which the scale resolution. The width B of each mark is a half-pitch. In one embodiment, B is 20 microns. Because of the relative small size of the marks, the example marks shown, in the figures are not to scale. 
     A read-head  110  is mounted at some distance and parallel to the scale. The read-head includes a sensor  111 , a (LED) light source  112 , and an optional lens. The sensor can be a detector array of N sensors, e.g., N can be  512 . The array can be complementary metal-oxide-semiconductor (CMOS) or charge coupled device (CCD). The read-head also be associated with a digital signal processor  115  connected to sensor and a memory. It is understood that other types of processors can be used. 
     The marks or bits on the example scale  100  can be arranged on a rotatable disk  130  or shaft. The only requirement is that the marks are arranged sequentially for a particular code or non-periodic sequence. 
     As shown in  FIGS. 1B and 1C , the marks are arranged as sectors of a circle on the scale  130 . The read-head  111  includes a linear array of sensors  114 . Here, the read-head is centered tangentially at an offset  115  with respect to the center of rotation  116 . Therefore, it is noted that sensor pixels near either end of the linear read-head observe a wider part of the sectors than the sensors near the center of the read-head. This leads to a distortion of the signal on the 1D sensor. 
     Calibration 
     The DSP performs calibration of the encoder as shown in  FIG. 1D . The calibration can be performed offline, periodically or continuously during operation of the encoder. 
     During calibration, calibration samples  150  are acquired by the read-head  111  for rotational angles of the circular scale  101  for a full rotation of 360°, or some partial rotation. The partial rotation can be useful where the scale oscillates circularly instead of undergoing full rotations. Note that calibration samples can also be acquired for multiple rotations. 
     Frequency F, and distortion parameters α and β  161  are estimated  160  from the calibration samples. The frequency F, and distortion parameters α and β can be directly stored in a memory, e.g., as a look-up table, and are sufficient to accurately determine phases of the encoder during operation. The table look-up may be advantageous if the look-up is fast, or takes less time and memory than evaluating the parametric function. 
     For convenience, we model  170  variations in the frequency F and distortion parameters α and β using a parametric function  171 , and store the variations in the memory for use during the online real-time operation of the encoder. 
     Real-Time Operation 
     During real-time operation, a phase  195  of the encoder is determined  190  from test samples  151  and the modeled variations in the frequency F and distortion parameters α and β. It should be understood that the variations can be obtain from the raw parameters stored in the memory as a look-up table during operation. It is understood that the parameters can also be acquired during real-time operation of the encoder. 
     The details of the encoder structure and calibration are now described in greater detail. 
     De Bruijn Sequence 
     To achieve 100% information density on the scale, a bit sequence is used. Every subsequence has a finite length and is unique, e.g., a de Bruijn sequences  103 . Each unique sequence corresponds to a coarse phase angle. It is an object of the invention to self-calibrate the encoder so that a line or precise angle is obtained. 
     A k-ary de Bruijn sequence B(k, n) of order n is a cyclic sequence of a given alphabet (number of angles) with size k, for which every possible subsequence of length n in the alphabet appears as a sequence of consecutive characters exactly once. If each B(k, n) has a length k n , then there are (k! k(n-1) )/k n  distinct de Bruijn sequences B(k, n). When the sequence is truncated from front or back, the resulting sequence also has the uniqueness property with the same n. It should be noted that any non-periodic sequence with non-repeating subsequences can be used. 
     The detector array requires a field of view (FOV) of at least n bits for decoding to be possible. For the half-pitch B=20 microns and using the de Bruijn sequence of order 16 requires that the FOV is 16×20=320 microns on the scale. In one embodiment, the field of view is designed to be 1-2 mm to have the desired accuracy. 
     For Nyquist sampling, each bit of the sequence, i.e., each half-pitch of the scale, maps to at least two pixels in the linear detector array. This requires at least 16×2=32 pixels, which is well-below the number of pixels in conventional sensors. To handle optical aberrations, such as defocus blur or diffraction, the number of pixels per half-pitch can be increased. 
     Because the scale is circular, the reflecting and non-reflecting regions are equi-angular and not equi-distance when using a linear sensor, see  FIG. 1C . Due to the circular scale, the width of reflecting/non-reflecting regions increases at the both ends of the sensor. Thus, the spatial frequency F is not constant along the sensor, 
     Let z(i) be the detected zero-crossings (edge locations), P be the phase angle, and F be the frequency. Let k(i) be the number of bits between two successive zero-crossings z(i) and z(i+1). If we define 
                 c   ⁡     (   i   )       =       ∑     j   =   1       i   -   1       ⁢     k   ⁡     (   j   )           ,         
then the i th  zero-crossings of the rotary encoder can be written as a cubic model of c(i)
 
 z ( i )= P+Fc ( i )+α c ( i ) 2   +βc ( i ) 3 ,
 
wherein parameters of the cubic model include the phase P, the spatial frequency F, and spatial distortion parameters α and β. This model accounts for the error due to non-uniform spacing of scale lines on the circular disk  130 . Using N zero-crossings, N equations are obtained. For example, If there are N zero-crossings, z( 1 ), . . . , z( 20 ), then corresponding c( 1 ), . . . , c( 20 ) are known. These equations describe a linear system in unknowns P, F, α and β. We solve the linear system to obtain the values of P, F, α and β.
 
     The angle of rotation θ is obtained using θ=P/F*360/K+Coarse_Position, where K is the number of gradations in the scale and Coarse_Position is the phase angle based only on the underlying code subsequence al the image. For example, K can be 1024 
     Self-Calibration 
     The estimated parameters F, α and β  161  are expressed in terms of the actual rotary angle θ as F(θ), α(θ), and β(θ). The embodiments considers the variations in the three parameters F(θ), α(θ), β(θ). Due to imaging noise, there is a small variation (normal variation) in these parameters. 
     In the absence of any mechanical errors in mourning and any eccentricity error, the variation in these parameters should be normal variation over a one full rotation or part thereof, as θ varies from 0 to 360 degrees. However, due to eccentricity, wobble or gap change (the distance between the read-head and the scale), the spatial parameters F(θ), α(θ), β(θ) show a large variation than can be attributed to noise. 
       FIG. 2  shows an example  200  of estimated F(θ) with rotation angle over one full rotation. 
       FIG. 3  shows frequency variations  300  in more details. The high frequency variations  301  are due to noise. The low frequency variations  302  are due to eccentricity wobble and gap change. It is an object of the invention to correct for these variations. 
     During the self-calibration process, these variations are modeled using a parametric function. The shaft with the scale is rotated a full (360°) or partial rotation (&lt;360°), and the encoder scale is sampled at several locations. For example, the scale can be rotated every 2°, and sensor images corresponding to angles are stored in the memory. For all these angles, the estimated values of frequency and distortion parameters are stored along with estimated encoder phase P. 
     Curve Fitting 
     A suitable parametric function or spline is used for modeling the variations in frequency and distortion parameters using least squares fitting. 
       FIG. 4  shows the variation in α(θ)  400 , which can be modeled using a fourth degree polynomial model with respect to the rotational angle θ
 
α(θ)= t   1   +t   2   θ+t   3 θ 2   +t   4 θ 3   +t   5 θ 4 ,
 
where t 1 , t 2 , t 3 , t 4 , and t 5  are model parameters. The model parameters are estimated using, the least square fitting of estimated α(θ).  FIG. 5  shows the variation  500  for β(θ). Note that the model degree or form need not be same for all three parameters. For example, the frequency F(θ) can be modeled using a spline basis function, and α(θ) and β(θ) can be modeled using polynomial functions.  FIG. 6  shows the estimated α(θ) fitted to a fourth degree polynomial  600  for the full rotation. After curve fitting, the model parameters are stored in a memory of the DSP  115 .
 
     Operation 
     During encoder operation, the last encoder position can be used to determine the value of frequency and spatial distortion parameters for the current position. These values are used to determine the phase P. Alternatively, the frequency and distortion parameters can be iteratively determined along with the phase. This is useful at startup, where the last encoder phase is unknown or invalid. A first estimate of current rotation angle, frequency and distortion parameters can be obtained as described above. Using the estimated rotation angle θ, the parameters F, α and β for current position are re-determined using their respective models. Then the new value of these parameters is used to re-determine the phase P. 
     In U.S. Pat. No. 7,825,367 to Nakamura, the self-calibration is based on rotation angles at two different locations, and analyzing the difference for the self-calibration, and use it for calibration. Nakamura does not describe spatial frequency and distortion parameters. The encoder according to the invention is not based on the actual rotation angle as in Nakamura, but rather on the underlying frequency and distortion parameters that are used for modeling the zero-crossings at a particular rotation angle. 
     Vignetting Correction 
     As shown in  FIG. 7 , vignetting correction can also be performed by acquiring measurements  700  during the rotation of the scale. 
     As shown in  FIG. 8  for each pixel p in the sensor, a maximum pixel value m 1 (p) is a scaling factor  800 , and as shown in  FIG. 9 , a minimum pixel value m 2 (p) is an offset factor  900 . These are used for vignetting correction as follows. 
     As shown in  FIG. 10  for every position, the sensor values i(p) are modified  1000  as
 
 i ( p )←255*( i ( p )= m   2 ( p ))/( m   1 ( p )− m   2 ( p ))
 
     This modification ensures that the minimal intensity of each pixel is set to zero and the maximal intensity of each pixel is set to 255 as the encoder is rotated. This removes the vignetting effect. 
     The steps of the method to perform self-calibration and vignette correction can be performed in the DSP, or similar microprocessor connected to a memory and input/output interfaces as known in the art. 
     Although the invention has been described with reference to certain preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, it is the object of the append claims to cover all such variations and modifications as come within the true spirit and scope of the invention.