Abstract
Freeform surfaces are widely used in advanced optical systems and the point-based metrology methods are often used for freeform surface measurement. In order to accurately process the measured data from point-based metrology system, the coordinate matching and surface fitting are essential. To ensure the matching efficiency and accuracy, we use a two-step coordinate matching method: pre-adjustment and accurate adjustment. We also develop an improved Newton iterative (INI) fitting algorithm to generate initial value and improve the fitting speed. The simulation and experiment verify the correctness and feasibility of the data processing.
© 2017 Optical Society of America
1. Introduction
Compared to traditional spherical and aspherical elements, optical freeform surface has more degrees of freeform for correcting optical aberrations and controlling ray directions [1], enabling simple and compact optical systems with high performance. While a number of fabrication techniques, such as single point diamond turning, have been developed to fabricate freeform optics, high precision metrology of optical surface, especially freeform surfaces, is still a challenge. Recently a number of contact and non-contact metrology methods have been developed [2–8]. For sensitive surfaces, especially high accurate optical surfaces, non-contact measurements are preferable because the contact measurement may scratch the surface. Interferometry is the industry standard metrology method for optical surfaces and has been used for freeform surface metrology [9–11]. To test the surface with large deviation from the spherical surface, a computer generated hologram (CGH) [12] or a null lens [13] is typically needed to generate the test wavefront matching the surface under test. While null testing is a commonly used method for optical testing, it is time-consuming and expensive since a custom CGH or null lens is needed for each surface under test. Another type of non-contact measurement method is point scanning methods using chromatic confocal or interferometric methods [14]. While it is relatively slow, point scanning method is able to measure the surface with large slope as well as discontinuous surface. The system is also much more compact than the standard interferometric system, suitable for in situ metrology.
Interferometry can directly obtain the difference between the measured surface and reference surface, while chromatic confocal metrology can only obtain the surface shape, but can’t compare with the design surface directly since the coordinates are not same. Therefore, a number of researches on coordinate matching have been carried out [15], the most common method is the least squares surface matching [16]. In order to obtain high matching efficiency and accuracy, two stage matching processes, namely pre-adjustment and accurate adjustment, are typically used [17]. The goal of pre-adjustment is to provide good initial value for the accurate adjustment, the accurate adjustment is to accurately adjust the coordinates of the measured surface.
After coordinate matching, the difference between the measured and design surface can be obtained. Typically the difference is not smooth due to the measurement noise, the surface fitting is necessary. A number of surface fitting algorithms, such as polynomials [18, 19], Zernike [20], least square [21], have been developed. Non-uniform rational basis spline (NURBS) and B-spline fitting [22, 23] are particularly suitable for arbitrary freeform surface even when the freeform surface is unknown.
To achieve the high accuracy in situ metrology using point-based method, in addition to the accurate data acquisition, the data process (coordinate matching and surface fitting) is critical as well. For in situ metrology, both accuracy and speed are very important. When the iterative fitting algorithm is adopted, the initial surface will directly affect the fitting accuracy, the fitting speed will be slow if the initial surface is not chosen correctly.
In this paper, we will discuss effective and accurate matching and fitting algorithms. Section 2 presents the theory and process of coordinate matching, then the improved Newton iterative (INI) fitting algorithm is introduced in Section 3. In Section 4 the simulation of coordinate matching and freeform surface fitting is discussed, Section 5 evaluates the coordinate matching and INI fitting algorithms with the experimental data. The conclusion is finally drawn in Section 6.
2. Coordinate matching
Coordinate matching includes two steps: pre-adjustment and accurate adjustment, the goal of pre-adjustment is providing a good initial value for the accurate adjustment to ensure the matching correctness and improve its efficiency.
2.1 Pre-adjustment
In order to determine the coordinate position of a surface, we need to compute the gravity center and surface normal vectors first.
The gravity center of the measured surface is
and the gravity center of the design surface iswhere is the point of the measured surface, is the point of the design surface, and are the weighting coefficients, and should satisfy , when the distribution of the measured points is uniform.After calculating the gravity center, we can compute the surface center which is close to the gravity center, the measured surface and design surface centers are denoted Mc and Dc separately. We will then calculate the four corner points of the design and measured surfaces. For the measured surface, M1 is the furthest point from the measured surface center, M3 is the furthest point from M1, M2 is the point where the sum of the distance between M2 and M1 and the distance between M2 and M3 is the biggest, and M4 is the furthest point from M2. For the design surface, D1,D2,D3 and D4 are the four corner points, the calculation is the same as the measured surface.
The normal vector [17] is the directional vector of the surface position, it can easily calculated using the diagonally vector product of the four corner points. For the measured surface, the normal vector can be expressed as:
For the design surface, the normal vector is:After computing the two normal vectors, the measured surface needs to be rotated to have the same normal vector as the design surface. Three unit vectors are defined to construct the orthonormal frames for the measured and design surfaces:Then the rotation matrix for aligning the two orthonormal frames is:Because there is a rotation angle between two normal vectors, the measured surface needs to be rotated about the normal vector with the rotation angle of. The rotation matrix is:
Then the new measured surface after the shift and rotation is:where represents the measured surface, represents the measured surface after the first pre-adjustment, is the measured surface center, and is the design surface center.Although the surface centers and normal vectors coincide, the above pre-alignment is still not sufficient if the measured and design surfaces have a rotation about the normal vector. We will optimize the rotation angle of the measured surface about the normal vector to improve the alignment of the measured surface and the design surface. The objective is to minimize the sum of the distances between the five special points of the measured surface and design surface:
The five special points are the center and four corner points discussed above. is the distance between the selected points of the measured surface and design surface.2.2 Accurate adjustment
We will first introduce the method for calculating the distance between an outside point and a B-spline surface which is used in this paper. This method can improve the computing speed since it doesn’t need to calculate the tangent plane of the iterative points, it only minimizes the distance between the outside point and iterative point by the Newton iteration and B-spline interpolation, improving the efficiency of the whole accurate adjustment.
We assume that point Q(x, y, z) is an arbitrary point on a B-spline surface and P(x0, y0, z0) is an outside point, as shown in Fig. 1. For a point on a B-spline surface, the coordinates x, y and z are nonlinear functions of u and v, which are the parameters of B-spline surface.
The distance l between the two points P and Q can be calculated as To minimize the distance l, the goal is to reduce the above equations to zero.Equation (13) is overdetermined, the least-squares method can be used to minimize the 2-norm of Eq. (13), therefore, minimizing the distance between the two points defined in Eq. (11).In this paper, we use the Newton iteration method to calculate parallel shifts and rotation angles in the translation matrix. The translation matrix of the measured surface is:
where ,, are the parallel shifts in the , and directions, , and are the rotation angles of the measured surface along the , and axes.where and are the measured surfaces before and after accurate adjustment.The coordinate of the measured surface after the pre-adjustment is used as the initial value for the accurate adjustment. The process of the accurate adjustment is as follows: 1) k = 0, set to be the initial position of the measured surface after pre-adjustment; 2) calculate the distance between and the design surface; 3) adopt the Newton iteration to find a feasible solution, (); 4) repeat steps 1-3 until the iteration converges.
Once the coordinates are matched, we can calculate the difference between the measured surface and the design surface. This difference consists of the fabricate errors and measurement errors. To understand the measurement performance, we will need to fit the measurement data to extract the fabrication errors.
3. Surface fitting
Although a number of surface fitting algorithms have been developed, not every algorithm is suitable for the freeform surface fitting. Zernike fitting is suitable for wavefront error fitting, and the least-square fitting is suitable for fitting the surface whose expression is known. The B-spline and NURBS fitting are usually used to fit the freeform surface. The fitting process is fast but they have a disadvantage that the coordinates will be changed during the fitting process in order to control the edge of the fitting surface. The data of the edge can’t participate in the calculation, hence, it will affect the fitting accuracy. The Newton iterative method [24] is often used in optimization problems that are not highly non-linear or complex, the initial value is very important to achieve the accurate fitting results in Newton iterative fitting algorithm. One limitation of Newton iterative method is that the iterative speed is relatively slow for the surface with a large number of points. In this section we will discuss an improved Newton iterative (INI) fitting algorithm to increase the fitting speed.
3.1 Initialization
As discussed in the introduction section, B-spline or NURBS surface is more powerful in representing the freeform optical surface. To obtain an optimal initial surface, we will choose a limited number of points uniformly from the unfitting surface data to generate an initial freeform surface using B-spline interpolation. To ensure correctness of the interpolation, the edge of the chosen points need to be wider than the boundary of the measuring points. Due to the measurement errors, the boundary of and coordinate may not be in order, so the boundary of and coordinates of chosen points needs to be reset using Eq. (16).
where and are the coordinates of left and right boundaries, and are coordinates of top and bottom boundaries.A B-spline surface [22] is obtained by taking bidirectional net of control points and two knot vectors, the surface with control points can be expressed as:
where and are base functions of B-spline surface, are the control points, and are degrees of B-spline surface.3.2 Iteration
In the following, a method for solving nonlinear equations using Newton iterative method will be introduced. We will approximate the Jacobian matrix using finite differences.
The Newton iterative algorithm is
where is the result after each iteration, is the original data, is the difference between the original data and the fitted data in each iteration, and is the partial derivative of .where is the number of the original data, is the number of the chosen points for initialization, and ;.Because the surface expression is unknown, we approximate the partial derivative in the Jacobian as
where is a small increment of the independent variable. Notice that represents the element in Jacobian .The process of the INI fitting algorithm is as follows: 1) use the initial value generated in Section 3.1 to compute the difference between the initial data and original data; 2) use the chosen points in Section 3.1 as the initial points. Using the first point as an example, we can increase the value very slightly, and then use and other chosen points to generate a B-spline surface. By subtracting the original data from the B-spline surface, we can obtain a series of . With the same method, we can calculate other to obtain by Eq. (20); 3) use , and to compute the iterative result by Eq. (18); and 4) repeat the same iterative process until , the final fitting surface can be obtained.
4. Simulation
To validate the coordinate matching algorithm and INI fitting algorithm, we simulate a freeform surface with manufacturing error and random noise as shown in Fig. 2.
4.1 Demonstration of coordinate matching algorithm
In order to verify the matching algorithm, we add 10 µm shifts in x, y and z directions and 1 radian rotations about x, y and z axes to the simulated surface in Fig. 2(d). Through the first pre-adjustment by matching the surface centers and normal vectors, the simulated surface Fig. 3(a) becomes Fig. 3(b), it is still quite different from the design surface. By optimizing the rotation angle of the simulated surface about the normal vector in the second pre-adjustment, the simulated surface in Fig. 3(c) is very close to the design surface. The final step is to accurately match the coordinates through Newton iteration, the final simulated surface is shown in Fig. 3(d). The difference between the simulated surface and the design surface is plotted in Fig. 3(e), the differences of the x, y coordinates are less than 10−9µm, and the RMS value of the distance between the measured surface and design surface is less than 10−11µm. The result demonstrates the coordinate matching algorithm introduced in this paper is better than other coordinate matching algorithms whose the differences of the x, y, z coordinates are larger than 10−5mm [17].
4.2 Demonstration of INI fitting algorithm
The difference (Fig. 3(e)) between the simulated surface and the design surface includes the manufacturing error and measurement noise. We will need to fit the data to eliminate the measurement noise, which is generated during the measurement, to obtain the manufacturing error.
In order to obtain the initial surface for INI fitting, 8x8 points are chosen from the original simulated surface (Fig. 4(a)). We compute the knot vectors and control points through B-spline interpolation, then use them to generate a B-spline surface. Using and coordinate of the design data to interpolate the B-spline surface, we can obtain the initial surface for the fitting iteration as shown in Fig. 4(b), the difference between the unfitted surface and the initial surface is shown in Fig. 4(c). As shown in Fig. 4(d), the INI fitting algorithm is very effective, the fitting process converges after 3 iterations. Figure 4(e) shows the fitting result, and the fitting error is in Fig. 4(f), we can see that the fitting result is similar to the manufacturing error, and the fitting error is similar to the simulated noise in Fig. 2(c). From Fig. 4(g), we can see that the difference between fitting result and manufacturing error is about 0.8 nm (RMS), demonstrating the effectiveness of the proposed INI fitting method.
The whole data processing procedure is illustrated in Fig. 5.
5. Demonstration with Experimental Data
To demonstrate the proposed matching and fitting algorithms, we measured the diamond turned spherical surface (radius = 300mm) with the chromatic confocal probe which has the lateral resolution of 2 µm and the axial resolution of 14 nm. The measured region is 5 mm x 5 mm and the step size is 15 µm.
Figures 6(a) and 6(b) are the measured surface and the design surface. As shown in Figs. 6(c)-(e), we match the coordinates of the measured surface with the design surface. Since the measured surface is a spherical surface, and the x, y coordinates are the same as the design surface, so the difference from Figs. 6(a)-(e) is hard to distinguish. After matching, the difference between two surfaces is unsmooth as shown in Fig. 6(f), it is mainly due to the manufacturing error with some measurement noise. After 2 INI fitting iterations, the final fitting result, which is the manufacturing error, is shown in Figs. 6(h) and 6(i).
6. Conclusion
In this paper, we present an effective data process method for the point-based measurement of the optical surface. The data process consists of coordinate matching and surface fitting. During the coordinate matching, pre-adjustment and accurate adjustment are used to improve the matching efficiency and accuracy. An improved Newton iterative fitting algorithm with good initial value and fast fitting speed has been developed to fit the measured data. We had demonstrated the proposed data processing method with the simulated data and experimental data of a diamond turned spherical surface. This method has the potential application for point-based in situ metrology in optical fabrication.
Funding
National Natural Science Foundation of China (NSFC) (11304034); Program of China Scholarships Council (201508220104); Program of Jilin Provincial Educational Department (2015241); Doctoral Research Foundation of Northeast Electric Power University (BSJXM-201218); Scientific Basic Research Foundation of Northeast Electric Power University.
References and links
1. D. Ma, Z. Feng, and R. Liang, “Freeform illumination lens design using composite ray mapping,” Appl. Opt. 54(3), 498–503 (2015). [CrossRef]
2. X. Hou, F. Wu, L. Yang, and Q. Chen, “Experimental study on measurement of aspheric surface shape with complementary annular subaperture interferometric method,” Opt. Express 15(20), 12890–12899 (2007). [CrossRef] [PubMed]
3. Y. Tang, X. Su, F. Wu, and Y. Liu, “A novel phase measuring deflectometry for aspheric mirror test,” Opt. Express 17(22), 19778–19784 (2009). [CrossRef] [PubMed]
4. M. C. Knauer, J. Kaminski, and G. Hausler, “Phase Measuring Deflectometry: a new approach to measure specular free-form surfaces,” Proc. SPIE 5457, 366–376 (2004). [CrossRef]
5. N. El-Hayek, N. Anwerc, H. Nouirab, O. Gibarua, M. Damaka, and P. Bourdet, “3D Measurement and Characterization of Ultra-precision Aspheric Surfaces,” in 13th CIRP Conference on Computer Aided Tolerancing, (Academic, 2014).
6. K. K. Pant, D. R. Burada, M. Bichra, M. P. Singh, A. Ghosh, G. S. Khan, S. Sinzinger, and C. Shakher, “Subaperture stitching for measurement of freeform wavefront,” Appl. Opt. 54(34), 10022–10028 (2015). [CrossRef] [PubMed]
7. N. El-Hayek, H. Nouira, N. Anwer, M. Damak, and O. Gibaru, “Reconstruction of freeform surfaces for metrology,” in 14th International Conference on Metrology and Properties of Engineering Surfaces, (Academic,2014), 483, pp. 012003.
8. S. DeFisher, M. Bechtold, and D. Mohring, “A Non-Contact Surface Measurement System for Freeform and Conformal Optics,” Proc. SPIE 8016, 80160W (2011). [CrossRef]
9. E. Garbusi, C. Pruss, and W. Osten, “Interferometer for precise and flexible asphere testing,” Opt. Lett. 33(24), 2973–2975 (2008). [CrossRef] [PubMed]
10. J. Schindler, G. Baer, C. Pruss, and W. Osten, “The tilted-wave-interferometer: freeform surface reconstruction in a non-null setup,” Proc. SPIE 9297, 92971R (2014). [CrossRef]
11. S. Chen, S. Li, Y. Dai, and Z. Zheng, “Testing of large optical surfaces with subaperture stitching,” Appl. Opt. 46(17), 3504–3509 (2007). [CrossRef] [PubMed]
12. S. Stuerwald, “Error compensation in computer generated hologram-based form testing of aspheres,” Appl. Opt. 53(35), 8249–8255 (2014). [CrossRef] [PubMed]
13. G. Baer, J. Schindler, C. Pruss, J. Siepmann, and W. Osten, “Calibration of a non-null test interferometer for the measurement of aspheres and free-form surfaces,” Opt. Express 22(25), 31200–31211 (2014). [CrossRef] [PubMed]
14. E. Nadim, N. Hichem, A. Nabil, D. Mohamed, and G. Olivier, “Comparison of Tactile and Chromatic Confocal Measurements of Aspherical Lenses for Form Metrology,” Int. J. Precis. Eng. Manuf. 15(5), 821–829 (2014). [CrossRef]
15. C. F. Cheung, H. F. Li, W. B. Lee, S. To, and L. B. Kong, “An integrated form characterization method for measuring ultra-precision freeform surfaces,” Int. J. Mach. Tools Manuf. 47(1), 81–91 (2007). [CrossRef]
16. A. Gruen and D. Akca, “Least squares 3D surface and curve matching,” ISPRS J. Photogramm. 59(3), 151–174 (2005). [CrossRef]
17. X. Jiang, X. Zhang, and P. J. Scott, “Template Matching of Freeform Surfaces Based on Orthogonal Distance Fitting for Precision Metrology,” Meas. Sci. Technol. 21(4), 045101 (2010). [CrossRef]
18. D. Hilbig, U. Ceyhan, T. Henning, F. Fleischmann, and D. Knipp, “Fitting discrete aspherical surface sag data using orthonormal polynomials,” Opt. Express 23(17), 22404–22413 (2015). [CrossRef] [PubMed]
19. R. Steinkopf, L. Dick, T. Kopf, A. Gebhardt, S. Risse, and R. Eberhardt, “Data handling and representation of freeform surfaces,” Proc. SPIE 8169, 81690X (2011). [CrossRef]
20. M. Ares and S. Royo, “Comparison of cubic B-spline and Zernike-fitting techniques in complex wavefront reconstruction,” Appl. Opt. 45(27), 6954–6964 (2006). [CrossRef] [PubMed]
21. B. Tatian, “Least-squares fitting of aspheric surfaces by a conicoid,” Appl. Opt. 28(21), 4687–4696 (1989). [CrossRef] [PubMed]
22. L. Piegl and W. Tiller, The NURBS BOOK (Springer, 1997), Chap. 9.
23. W. Zheng, P. Bo, Y. Liu, and W. Wang, “Fast B-spline curve fitting by L-BFGS,” Comput. Aided Geom. Des. 29(7), 448–462 (2012). [CrossRef]
24. A. Ben-Isreal, “A Newton-Raphson method for the solution of systems of equations,” J. Math. Anal. Appl. 15(2), 243–252 (1966). [CrossRef]