A Trajectory Planning Method for Polishing Optical Elements Based on a Non-Uniform Rational B-Spline Curve
A Trajectory Planning Method for Polishing Optical Elements Based on a Non-Uniform Rational...
Zhao, Dong;Guo, Hao
2018-08-12 00:00:00
applied sciences Article A Trajectory Planning Method for Polishing Optical Elements Based on a Non-Uniform Rational B-Spline Curve Dong Zhao and Hao Guo * Key Laboratory of Mechanism Theory and Equipment Design of The State Ministry of Education, Tianjin University, Tianjin 300072, China; dongzhao@tju.edu.cn * Correspondence: guohaohalo@163.com; Tel.: +86-156-2090-9866 Received: 10 July 2018; Accepted: 10 August 2018; Published: 12 August 2018 Abstract: Optical polishing can accurately correct the surface error through controlling the dwell time of the polishing tool on the element surface. Thus, the precision of the trajectory and the dwell time (the runtime of the trajectory) are important factors affecting the polishing quality. This study introduces a systematic interpolation method for optical polishing using a non-uniform rational B-spline (NURBS). A numerical method for solving all the control points of NURBS was proposed with the help of a successive over relaxation (SOR) iterative theory, to overcome the problem of large computation. Then, an optimisation algorithm was applied to smooth the NURBS by taking the shear jerk as the evaluation index. Finally, a trajectory interpolation scheme was investigated for guaranteeing the precision of the trajectory runtime. The experiments on a prototype showed that, compared to the linear interpolation method, there was an order of magnitude improvement in interpolation, and runtime, errors. Correspondingly, the convergence rate of the surface error of elements improved from 37.59% to 44.44%. Keywords: hybrid robot; curve fitting; fair optimisation; trajectory interpolation 1. Introduction With the rapid development of astronomy, space exploration, and advanced optical instruments, optical elements are being increasingly widely used. The application demands for high-quality and high-efficiency elements present distinct higher requirements for the process technology used in such elements [1]. Computer-controlled optical surfacing (CCOS) has been successfully applied in industrial production, as it can precisely correct the surface error by converting the dwell time of the polishing tool into the feed-rate along the polishing trajectory. Therefore, a trajectory planning method is the key factor affecting high-quality, high-efficiency polishing. Despite the extent of research on path planning in some fields [2–4], investigation of optical polishing has been rather limited. Although the problem of discontinuous surfaces between the adjacent mm-sized short line segments has attracted wide concern when using parametric curve theory [5–7], frequent acceleration and deceleration result in poor realisation precision of dwell time, i.e., the runtime of trajectory (hereafter referred to as runtime), which further influences the polishing quality of elements and the convergence rate of surfaces [8]. The main focus of this paper is to investigate an interpolation scheme to overcome the above problem, which has two main progressive aspects: fitting and interpolation of parametric curves. The fitting of parametric curves is a process of converting discrete short line segments into parametric curves. At present, many scholars have carried out research based on the dominant points using a non-uniform rational B-spline (NURBS). Park [9,10] proposed a method for determining the Appl. Sci. 2018, 8, 1355; doi:10.3390/app8081355 www.mdpi.com/journal/applsci Appl. Sci. 2018, 8, 1355 2 of 14 dominant points according to the discrete curvature. Zhou [11] and Xu [12] improved this method by taking concave-convex turning points and extreme points on the curvature curve as dominant points. To improve the fitting precision, Zhao [13] proposed curve fitting taking squared distance minimisation (SDM) as the evaluation index. Although the dominant points based method is easy with regard to calculation and interpolation, it may result in the loss of runtime at non-dominant points. Thus, only the global fitting method is suitable to the optical polishing. To do so, Yang [14] proposed an optimisation algorithm by establishing the evaluation function for deviation of the fitted distance. Li [15] and Lin [16] classified the trajectory into the different forms of NURBS and then employed a piecewise fitting method for real-time implementation. Based on Gaussian elimination and the continuous short block (CSB) look-ahead algorithm, Tsai [17] and Wang [18] realised the on-line transformation from short line segments to NURBS: however, for the global fitting method, the simplified strategy that setting all the weight factors as 1 eliminates the regulating effect on the fairness of curves and easily causes curvature saltation on the trajectory. Therefore, generating a fair trajectory based on NURBS is the first problem facing the polishing trajectory planning technique. The interpolation of parametric curves is a process that discretises the NURBS into numerical control (NC) commands. Speed planning, as the critical step in the interpolation process, has been an area of research for numerous scholars: this can be classified into the time-optimal approach and the non-time-optimal approach. The time-optimal approach deals with the planning problem by taking the minimisation of the motion time as the objective to promote manufacturing efficiency [19,20]. For example, Timar [21] proposed a speed planning scheme for NC interpolation by the use of the optimal control theory. On this basis, Sencer [22] and Lu [23] considered the driving capacity constraint and trajectory precision constraint in the interpolation, respectively. The non-time-optimal approach usually deals with the planning problem by taking the minimisation of speed fluctuations as the objective [24]. Various methods, such as the feed-rate evolutionary algorithm [25], the equidistance quaternion method [26], and the improved Adams-Malton algorithm [27] are employed to decrease speed fluctuations and guarantee steady, continuous-trajectory operation. Although the effectiveness of the method has been validated experimentally, is cannot be applied directly to optical polishing because the effect of acceleration and deceleration on the realisation precision of runtime is not considered. Driven by the practical needs to improve the quality of optical polishing, this paper presents a systematic trajectory planning method that particularly enhances the realisation precision of runtime. Following this introduction, Section 2 calculates all the control points of NURBS through numerical solution to overcome the problem of calculation efficiency. In Section 3, an optimisation algorithm of fairing NURBS is established by taking the shear jerk of trajectory as an evaluation index. Section 4 then proposes an interpolation scheme with which to minimise the realisation error of runtime by planning the feed-rate of trajectory according to the given runtime between adjacent NC codes. Section 5 reports experiments on a prototype machine which shows that the proposed trajectory planning method is more accurate than the linear interpolation method. Conclusions are drawn in Section 6. 2. Trajectory Fitting Based on the NURBS Curve In this section, according to the given NC codes, all the control points of NURBS are solved, which provides the necessary mathematical model for the interpolation of parametric curves. The basic settings are as follows: (1) Considering the stability, ease of use and calculation efficiency, cubic NURBS is employed as the fitting tool. (2) The uniform parametric method is used for trajectory fitting, because the polishing elements have a large radius of curvature and the chord lengths between NC codes are distributed uniformly. (3) All weight factors are set to 1. In this case, the NURBS can be treated as a cubic B-spline to simplify the calculation process. According to the basic theory of the NURBS, a segment of NURBS C(u)(0 u 1) can be determined based on the four adjacent control points d (k = 0, 1, 2, 3). As shown in Figure 1, C(0) k Appl. Sci. 2018, 8, 1355 3 of 14 and C 1 separately refer to the start point and the end point of the NURBS segment. Based on the ( ) aforementioned setting, the NURBS segment can be directly written as: 2 32 3 1 3 3 1 d h i6 76 7 1 3 6 3 0 d 6 76 7 3 2 C(u) = u u u 1 6 76 7 (1) 6 4 54 5 3 0 3 0 d 1 4 1 0 d Appl. Sci. 2018, 8, x FOR PEER REVIEW 3 of 16 C (1) C 0 ( ) Figure 1. Schematic diagram of the parametric curve. Figure 1. Schematic diagram of the parametric curve. Thus, point C can be expressed as: According to the basic theory of the NURBS, a segment of NURBS C u 0 ≤ u ≤ 1 can be i ( )( ) determined based on the four adjacent control points d k = 0,1, 2, 3 . As shown in Figure 1, C 0 ( ) ( ) C = (d + 4d + d ) (2) i i 1 i i+1 and C 1 separately refer to the start point and the end point of the NURBS segment. Based on the ( ) where C denotes the ith NC code in the n + 1 lines of NC codes and also is taken as the start point aforemen i tioned setting, the NURBS segment can be directly written as: of the ith NURBS segment. d , d , d respectively denote the three control points corresponding i 1 i i+1 −1 3 −3 1 d to C . To calculate C and C , it is defined that on the condition that i < 1, then d = d and on the i 1 n+1 i 1 1 3 −6 3 0 3 2 condition that i > n + 1, then d = d . Equations (3) and (4) can thus1be obtained: i n+1 C u = u u u 1 ( ) (1) 6 −3 0 3 0 d 1 5 1 1 4 1 0 d C = (d + 4d + d ) = d + d (3) 2 2 3 1 1 1 1 6 6 6 Thus, point can be expressed as: 1 1 5 C = (d + 4d + d ) = d + d (4) n+1 n n+1 n+1 n n+1 6 6 6 C = d + 4d + d ( ) (2) i i−1 i i+1 Rewriting Equations (2)–(4) in matrix notation yields: where C denotes the ith NC code in the n + 1 lines of NC codes and also is taken as the start point Ad = C 2 3 2 3 2 3 5 1 0 0 0 . . . 0 d 6C 1 1 of the ith NURBS segment. d ,d ,d respectively denote the three control points corresponding to i−1 i i+1 6 7 6 7 6 7 1 4 1 0 0 . . . 0 d 6C 2 2 6 7 6 7 6 7 C . To calculate C and C , it is defined that on the condition that , then d = d and on the i < 1 6 7 6 7 6 7 i 1 n+1 i 1 6 0 1 4 1 0 . . . 0 7 6 d 7 6 6C 7 3 3 (5) 6 7 6 7 6 7 A = , d = , C = condition that i > n+1 , th .en . d .= d . . .Equation . s (3) and (4) c.an thus be obtain . ed: 6 7 6 7 6 7 i n+1 . . . . . . . . 6 7 6 7 6 7 . . . . . . . . . . . 6 7 6 7 6 7 4 5 4 5 4 5 0 0 0 0 1 4 1 d 6C 1 5 n 1 n C = d + 4d + d = d + d ( ) (3) 1 1 1 2 1 2 0 0 0 0 0 1 5 d 6C 6 6 6 n+1 n+1 1 1 5 If the traditional solution methods such as Gauss elimination method and LU decomposition are C = d + 4d + d = d + d ( ) (4) n + 1 n n + 1 n +1 n n + 1 6 6 6 directly applied to the Equation (5), it may lead to some undesirable phenomena (such as excessive calculation time) due to the large quantity of NC codes for polishing. Hence, the SOR iterative Rewriting Equations (2)–(4) in matrix notation yields: algorithm [28] is used to find stable numerical solutions of Equation (5) as described below. Ad = C The coefficient matrix A can be divided into: 5 1 0 0 0 K 0 d 6C 1 1 A = D L U (6) 1 4 1 0 0 K 0 d 6C 2 2 (5) 0 1 4 1 0 K 0 d 6C 3 3 A = , d = , C = M M M M M K M M M d 6C 0 0 0 0 1 4 1 n n d 6C 0 0 0 0 0 1 5 n +1 n +1 If the traditional solution methods such as Gauss elimination method and LU decomposition are directly applied to the Equation (5), it may lead to some undesirable phenomena (such as excessive calculation time) due to the large quantity of NC codes for polishing. Hence, the SOR iterative algorithm [28] is used to find stable numerical solutions of Equation (5) as described below. The coefficient matrix A can be divided into: Appl. Sci. 2018, 8, 1355 4 of 14 where A = diag a , a , . . . , a , L denotes a strictly lower triangular matrix, whose elements ( ) 11 22 n+1n+1 below the principal diagonal are corresponding elements of A. U denotes a strictly upper triangular matrix, whose elements above the principal diagonal are corresponding elements of A. Owing to the matrix D being invertible, Equation (5) can be modified to: 1 1 d = D (L + U)d + D C (7) In this case, corner marks (k) and (k + 1) are added in Equation (7) to identify the number of iterations. Then, the elementary iterative scheme of d can be written as: (k+1) (k) 1 d = M d + D C (8) where M = D (L + U). The component form of Equation (8) can be expressed as: 0 1 B C B C n+1 B C (k+1) (k) B C d = a d + C , i = 1, 2, . . . , n + 1 (9) å ij i B C i j iiB C j = 1 @ A j 6= i (k+1) which is also known as the Jacobi iteration scheme, noting that, before calculating d , the iterative (k+1) values of the first i 1 components in d have been generated, which are more approximate (k) (k) (k) to the true value than the results obtained by the previous iteration. Therefore, d , d , . . . , d 1 2 i 1 (k+1) (k+1) (k+1) (k+1) can be replaced by d , d , . . . , d to make d closer to the true value. To improve the 1 2 i 1 i convergence rate of the iteration further, a proper parameter m is selected to conduct the weighted averaging on the aforementioned iterative scheme: (k+1) (k+1) (k) d = md + (1 m)d , i = 1, 2, . . . n + 1 (10) i i with: i 1 n+1 (k+1) 1 (k+1) (k) d = a d a d + C (11) å ij å ij i j j ii j=1 j=i+1 Substituting Equation (11) into Equation (10) leads to the SOR iteration scheme: i 1 n+1 (k+1) (k+1) (k) (k) a d + m a d = a d m a d + mC , i = 1, 2, . . . , n + 1 (12) ii å ij ii å ij i i j i j j=1 j=i Note that A is a tridiagonal positive definite matrix, so the optimal value m of the relaxation opt factor can be expressed as [29]: m = (13) opt 1 + 1 [r(M )] where r(M ) denotes the spectral radius of M . 1 1 It is worth noting that, for a flat element, the aforementioned method can be directly applied to calculate the NURBS trajectory, but for a curved element, the polishing shaft should always lie along the normal direction of the element. In this case, it is necessary to solve two trajectories of end-point and reference-point on the polishing shaft to determine the polishing attitude (for more details, please see [21]). Appl. Sci. 2018, 8, 1355 5 of 14 3. Fairing of the NURBS Although the constructed cubic NURBS by the above method satisfies the G2 continuity characteristics, i.e., the second-order derivative functions of the trajectory is continuous, the motion stability of the trajectory is still influenced by curvature saltation. In this section, a fairing optimisation method is proposed by adjusting the weight factors of NURBS. The fairing optimisation can be classified into two categories, i.e., global and local fairing according to the number of the adjusted point on NURBS. Considering the significant computational burden of global fairing caused by the large quantity of NC codes for polishing, it is more reasonable to modify the outlier points with curvature saltation by the use of local fairing, which are selected from all NC codes [30]. A filtering process is needed to eliminate the influence of curvature fluctuations caused by discrete calculation. In the fairing optimisation, the shear jerk of the outlier point is taken as the evaluation index: k k k k next1 j j last1 D = (14) kC C k kC C k next1 j j last1 where k denotes the curvature at the jth outlier point C , k and k denote the curvature of the j j next1 last1 C and C , which are on two adjacent sides of the outlier point. The index indicates the curvature next1 last1 changes of the adjacent outlier points. To generate the weight factors of the various outlier points, the objective function is defined as: L = D + C C (15) å j j,0 j=1 where C denotes the jth outlier point before optimisation. It can be seen from Equation (15) that the j,0 objective function is composed of two parts: part one is the curvature changes of the outlier point after optimisation, and part two is the adjustment amplitude of outlier points before, and after, optimisation. Thus, the objective function means that fairing optimisation is performed on the premise of modifying the NURBS as little as possible. According to affine invariant principle of NURBS [31], the four-dimensional (4D) space constructed by the control points and weight factors can be expressed as: " # n+1 n+1 w d w i i w C (u) = N (u) = N (u)d (16) å i,3 å i,3 i=1 i=1 Then, the NURBS defined by Equation (1) can be regarded as the projection of the curve C (u) in 4D space on the centre of the hyperplane w = 1. Based on Equation (2), it can be seen that: 1 2 1 w w w w C = d + d + d (17) j j,last1 j j,next1 6 3 6 1 2 1 w w w w C = d + d + d (18) j,last1 j,last2 j,last1 j 6 3 6 1 2 1 w w w w C = d + d + d (19) j,next1 j next1 next2 6 3 6 w w w where d denotes the control point corresponding to the jth outlier point and d , d and j next1 next2 w w w d , d denote the control points on the two adjacent sides of the control point d , respectively. last1 last2 j Furthermore, Equation (15) can be written in 4D space as: 2 2 w w w w L = D + C C (20) j j j,0 j=1 Appl. Sci. 2018, 8, 1355 6 of 14 w w w w where C C can be equivalently simplified as d d and D can be approximately expressed j j,0 j j,0 as [32]: 00 00 00 00 w w w w C C C C j,next1 j j j,last1 D (21) j w w l l j,next1 j,last1 w w w w where C denotes the second derivative of the NURBS at C , l = kC C k and j j j,next1,0 j,0 j,next1 w w l = kC C k. Substituting Equation (21) into Equation (20) yields: j,last1 j,0 j,last1,0 0 1 00 00 00 00 w w w w C C C C j,next1 j j j,last1 B C w w w L = + d d (22) @ A w w j j,0 l l j,next1 j,last1 j=1 To calculate the minimum value of L , the partial derivative of Equation (22) about d is set to 0: w w w w w w w w w d 3d +3d d d 3d +3d d j,next2 j,next1 j j,last1 j,next1 j j,last1 j,last2 ¶L = 2 w å w w ¶d l l j j,next1 j,last1 j=1 (23) 3 3 w w + + 2 d d = 0 w w l l j j,0 j,next1 j,last1 w w w Then, the equations for d , d , . . . , d can be expressed as: 1 2 k w w w A d = C w 3 3 A = diag + + 1 w w l l j,next1 j,last1 w w w w (24) d = (d , d , . . . , d ) 1 2 k w w w w C = (C , C , . . . , C ) 1 2 k w w w w w w d 3d d d +3d d j,next2 j,next1 j,last1 j,next1 j,last1 j,last2 w w 3 3 C = d + w w w w j j,0 l l l l j,next1 j,last1 j,next1 j,last1 According to Equation (24), the optimised control points and weight factors corresponding to the outlier points can then be generated. 4. NURBS Interpolation The NURBS interpolation is used to discretise the parametric curve to the NC commands based on the planned feed-rate. In this section, an interpolation method for optical polishing is proposed aiming to minimise the realisation error of the trajectory runtime. 4.1. Feed-Rate Planning Feed-rate planning is the main influencing factor in interpolating the NC commands along the trajectory. For the optical polishing, to guarantee the desired runtime of trajectory, the specific method is displayed as follows: Step 1: considering that now there is no analytical solution to calculate the length of NURBS, the Simpson formula is used to obtain the estimation of the length through numerical iteration: up low p = ( f (low) + 4 f (mid) + f (up)) (25) with: ds 0 0 0 f (u) = = x (u) + y (u) + z (u) (26) du Appl. Sci. 2018, 8, 1355 7 of 14 0 0 0 where x u , y u , z u respectively denote the first-order derivatives of x u , y u , z u , which are the ( ) ( ) ( ) ( ) ( ) ( ) one-dimensional curves of C(u) along x, y, z axes. up and low denote the upper and lower boundaries of u, mid = up + low /2. ( ) Step 2: the length between the two points corresponding to the parameters up and low is calculated: l = kC(up) C(low)k (27) Step 3: the error between the aforementioned two lengths is calculated: e = jp lj (28) The convergence threshold [e] is given. If e > [e], let up = mid and repeat Steps 1 and 2. If e < [e], turn to Step 4. Step 4: the parameter interval (0, 1) was sectioned by the equivalent distance up low to generate the knot vector (u , u , . . . , u ). Thus, the length of the NURBS is: 0 1 n s kC(u ) C(u )k (29) å i i 1 i=1 Equipped with the length at hand, the S-curve motion law is invoked to guarantee that the feed-rates of the adjacent NURBS segments are changed smoothly. Moreover, the initial sections of the trajectory segments are defined as the feed-rate transition zone. Then, the feed-rates remain constant until the end of the trajectory segments. In this case [33]: s = 2v t + Jt + v t (30) a up v low a v = v + Jt (31) up low where v and v denote the initial and final feed-rates of the trajectory segment. J, 2t and t denote up a v low the jerk, acceleration (deceleration) time and the uniform motion time, respectively. Thus, the runtime of the trajectory segment is t = 2t + t . a v It is worth noting that previous studies have shown that the feed-rates, when limited by the runtime of the trajectory segments, are much lower than the maximum value which is constrained by the chord error and the driving capacity. Therefore, there is no need to check the feed-rate again. 4.2. NURBS Interpolation The essence of interpolation is to generate the NC command along the trajectory according to the period t . As each interpolation point of the NURBS corresponds to one curve parameter, only the curve parameters need to be solved. Taking u as the function of t, the second-order Taylor expansion can be expressed as: du 1 d u u = u + t + t (32) i+1 i s dt 2 dt t=t t=t i i The feed-rate v(u) can be written as: dC(u) dC(u) du v(u) = k k = k k (33) du du dt Furthermore: du v(u) = (34) dt kC (u)k Appl. Sci. 2018, 8, 1355 8 of 14 Calculating the derivative of Equation (34): dv(u) d(kC (u)k) du du d u du dt du dt = v u (35) ( ) 2 2 dt kC (u)k 0 kC (u)k where: 0 0 d(kC (u)k) C (u) C (u) du kC (u)k Substituting Equations (33)–(35) into Equation (32) gives: " # 0 0 v (u ) 1 v (u ) C (u) C (u) C i C i 2 2 u = u + t + v u v u t (36) ( ) ( ) i+1 i s C i i C s 2 4 kC (u )k 2 0 0 i kC u k ( ) kC (u)k Substituting u into the curve equation obtained through the fairing optimisation described in i+1 Section 3, the next interpolation point can be acquired. Repeating this process until: t = ceil t (37) i s where ceil() denotes an integer that is rounded up. In this way, interpolation of all trajectory segment can be completed. 5. Experiments Both simulation and experiments were carried out to validate the effectiveness of the presented method on the prototype of the hybrid polishing robot. As shown in Figure 2, it is mainly composed of a 6-DOF (degrees of freedom) hybrid robot, a polishing effector, a magnetic worktable, a column, and a CNC system. The hybrid robot is composed of a 3-DOF (3UPS and UP) parallel mechanism and a 3-DOF wrist. The UP limb and the wrist form a UPS or UPRRR limb. Here, R, U, S, and P represent, respectively, revolute, universal, spherical, and prismatic joints, and the underlined P, S, and R denote the actuated prismatic, spherical, and revolute joints, respectively. The CNC system is built upon an IPC+PMAC open architecture, consisting of a host control computer responsible for reconstruction of the parametric curves, trajectory interpolation, and NC command generation, and a PMAC motion Appl. Sci. 2018, 8, x FOR PEER REVIEW 9 of 16 controller for servo-control of the actuated joints. Figure 2. The prototype of the polishing robot. Figure 2. The prototype of the polishing robot. Without loss of generality, a segment of NC codes was taken from the polishing trajectory to validate the effectiveness of the proposed interpolation method. According to the SOR iterative scheme mentioned in Section 2, Figure 3 shows the two fitted trajectories. Then, the optimisation algorithm described in Section 3 is used to smooth the curvature of the trajectory. The change threshold of curvature for judging outlier points is given as 0.01. As shown in Table 1, the fairness of the two trajectories is both significantly improved. The maximum curvatures of the two trajectories are reduced by as much as 79.7% and 63.3% and the maximum absolute values of shear jerks are decreased by 91.2% and 90.2%, correspondingly. Considering the optimisation and interpolation methods for the two trajectories are same, experimental results of the end-point trajectory are just shown in the following discussion for the sake of simplicity. Based on the optimisation trajectory shown in Figure 4, the discrete NC command sequences were generated and sent to the PMAC motion controller, which were mapped into the servo- command of actuated joints through an inverse kinematic model. The PMAC motion controller synchronously gathered the positions and velocities fed back from the servo-motors. The interpolation and sampling periods are 10 and 20 ms, respectively. To validate the effectiveness of the method, a comparison experiment was carried out utilizing the linear interpolation method. Figure 5 shows the experimental result, which is computed by the feedback positions of all the actuated joints. It can be seen from the partial enlarged view that the NC commands generated by the proposed method are closer to the NC codes than those found using linear interpolation, which means that the removal position of polishing process can be reached more accurately. Figure 6 and Figure 7 show the runtime between the adjacent NC nodes. Compared with the desired value, the proposed method is able to realise the runtime more precisely, which indicates that the removal quantity during the polishing process can be more precisely controlled, correspondingly. To evaluate the effect of the interpolation method, the indices are defined as the interpolation error ( e ) and the runtime error of the trajectory ( e ): Appl. Sci. 2018, 8, 1355 9 of 14 Without loss of generality, a segment of NC codes was taken from the polishing trajectory to validate the effectiveness of the proposed interpolation method. According to the SOR iterative scheme mentioned in Section 2, Figure 3 shows the two fitted trajectories. Then, the optimisation algorithm described in Section 3 is used to smooth the curvature of the trajectory. The change threshold of curvature for judging outlier points is given as 0.01. As shown in Table 1, the fairness of the two trajectories is both significantly improved. The maximum curvatures of the two trajectories are reduced by as much as 79.7% and 63.3% and the maximum absolute values of shear jerks are decreased by 91.2% and 90.2%, correspondingly. Considering the optimisation and interpolation methods for the two trajectories are same, experimental results of the end-point trajectory are just shown in the following discussion Appl. Scfor i. 201the 8, 8, sake x FOR of PEEsimplicity R REVIEW . 10 of 16 Figure 3. The initial fitted polishing trajectory for fairing optimisation and interpolation (a) the fitted Figure 3. The initial fitted polishing trajectory for fairing optimisation and interpolation (a) the fitted polishing polistrajectory hing traject(o b r) y the (b) tpartial he partienlar al enlged arged view view . . Table 1. Changes in the two trajectories before, and after, fairing optimisation. Based on the optimisation trajectory shown in Figure 4, the discrete NC command sequences Before After were generated and sent to the PMAC motion controller, which were mapped into the servo-command Trajectory Maximum Maximum Maximum Maximum of actuated joints through an inverse kinematic model. The PMAC motion controller synchronously Curvature Shear Jerk Curvature Shear Jerk gathered the positions and velocities fed back from the servo-motors. The interpolation and sampling End-point 1.249 0.285 0.253 0.025 periods are 10 and 20 ms, respectively. To validate the effectiveness of the method, a comparison Reference-point 1.380 0.325 0.506 0.032 experiment was carried out utilizing the linear interpolation method. Figure 5 shows the experimental result, which is computed by the feedback positions of all the actuated joints. It can be seen from the partial enlarged view that the NC commands generated by the proposed method are closer to the NC codes than those found using linear interpolation, which means that the removal position of polishing process can be reached more accurately. Figures 6 and 7 show the runtime between the adjacent NC nodes. Compared with the desired value, the proposed method is able to realise the runtime more precisely, which indicates that the removal quantity during the polishing process can be more precisely controlled, correspondingly. To evaluate the effect of the interpolation method, the indices are defined as the interpolation error (e ) and the runtime error of the trajectory (e ): i t e = kC C k , i = 1, 2, . . . , n (38) i i0 i e = jt t j, i = 1, 2, . . . , n (39) ti i0 i where C and C denote the ith desired NC code and actual NC code after interpolation, t and t i0 i i0 i denote the Fidesir gure 4ed . Thr euntime end-poinand t trajethe ctory actual before,r a untime nd after, between fairing optim the izai ti on:1th (a) th and e endith -poNC int trcodes. ajectory; It can be and (b) the partial enlarged view seen from Table 2 that, compared to the linear interpolation method, the interpolation error and the runtime error generated through the proposed method are an order of magnitude smaller. These data further imply that the proposed interpolation method has more precision than the linear interpolation method in the polishing process. Appl. Sci. 2018, 8, x FOR PEER REVIEW 10 of 16 Appl. Sci. 2018, 8, 1355 10 of 14 Figure 3. The initial fitted polishing trajectory for fairing optimisation and interpolation (a) the fitted polishing trajectory (b) the partial enlarged view. Table 1. Changes in the two trajectories before, and after, fairing optimisation. Table 1. Changes in the two trajectories before, and after, fairing optimisation. Before After Before After Trajectory Maximum Trajectory Curvature MaximMaximum um M Shear aximu Jerk m Maximum MaximumCurvature Maximu Maximum m Shear Jerk Curvature Shear Jerk Curvature Shear Jerk End-point 1.249 0.285 0.253 0.025 End-point 1.249 0.285 0.253 0.025 Reference-point 1.380 0.325 0.506 0.032 Reference-point 1.380 0.325 0.506 0.032 Figure 4. The end-point trajectory before, and after, fairing optimization: (a) the end-point trajectory; Figure 4. The end-point trajectory before, and after, fairing optimization: (a) the end-point trajectory; Appl. Sci. 2018, 8, x FOR PEER REVIEW 11 of 16 andA(p b p) l. the Sci. 2partial 018, 8, x Fenlar OR PEged ER RE view VIEW 11 of 16 and (b) the partial enlarged view Figure 5. The end-point trajectory interpolated by different methods: (a) the end-point trajectory; and Figure 5. The end-point trajectory interpolated by different methods: (a) the end-point trajectory; and Figure 5. The end-point trajectory interpolated by different methods: (a) the end-point trajectory; and (b) the partial enlarged view. (b) the partial enlarged view. (b) the partial enlarged view. Figure 6. Runtime of the trajectory interpolated by the proposed method: (a) runtime of the trajectory; Figure 6. Runtime of the trajectory interpolated by the proposed method: (a) runtime of the trajectory; Figure 6. Runtime of the trajectory interpolated by the proposed method: (a) runtime of the trajectory; and (b) the partial enlarged view. and (b) the partial enlarged view. and (b) the partial enlarged view. Figure 7. Runtime of the trajectory interpolated by the linear method: (a) runtime of the trajectory; Figure 7. Runtime of the trajectory interpolated by the linear method: (a) runtime of the trajectory; and (b) the partial enlarged view. and (b) the partial enlarged view. Appl. Sci. 2018, 8, x FOR PEER REVIEW 11 of 16 Figure 5. The end-point trajectory interpolated by different methods: (a) the end-point trajectory; and (b) the partial enlarged view. Figure 6. Runtime of the trajectory interpolated by the proposed method: (a) runtime of the trajectory; Appl. Sci. 2018, 8, 1355 11 of 14 and (b) the partial enlarged view. Appl. Sci. 2018, 8, x FOR PEER REVIEW 12 of 16 e = C −C , i = 1, 2,..., n (38) i i 0 i e = t − t , i = 1, 2,..., n (39) ti i 0 i where C and C denote the ith desired NC code and actual NC code after interpolation, t and i 0 i i 0 t denote the desired runtime and the actual runtime between the i–1th and ith NC codes. It can be seen from Table 2 that, compared to the linear interpolation method, the interpolation error and the runtime error generated through the proposed method are an order of magnitude smaller. These data Figure 7. Runtime of the trajectory interpolated by the linear method: (a) runtime of the trajectory; and Figure 7. Runtime of the trajectory interpolated by the linear method: (a) runtime of the trajectory; further imply that the proposed interpolation method has more precision than the linear interpolation (b) the partial enlarged view. and (b) the partial enlarged view. method in the polishing process. Table 2. Comparison of the effect of the two interpolation methods. Table 2. Comparison of the effect of the two interpolation methods. Interpolation Error (mm) Runtime Error (s) Interpolation Error (mm) Runtime Error (s) Method Method Maximum Mean Maximum Mean Maximum Mean Maximum Mean Proposed 0.005 0.002 0.010 0.005 Proposed 0.005 0.002 0.010 0.005 Linear 0.091 0.076 0.130 0.076 Linear 0.091 0.076 0.130 0.076 To validate the modification effect of the interpolation method on the surface error of optical To validate the modification effect of the interpolation method on the surface error of optical elements, polishing experiments were carried out on fused silica elements by, respectively, using the elements, polishing experiments were carried out on fused silica elements by, respectively, using the linear interpolation method and the proposed interpolation method, as shown in Figure 8. Using the linear interpolation method and the proposed interpolation method, as shown in Figure 8. Using Nanovea contour graph, the polished zone (70 mm × 70 mm) of the elements was detected. The the Nanovea contour graph, the polished zone (70 mm 70 mm) of the elements was detected. The experimental results obtained using the two interpolation methods are displayed in Figure 9 and experimental results obtained using the two interpolation methods are displayed in Figures 9 and 10, Figure 10, respectively. It can be seen, from the figures, that, after conducting linear interpolation- respectively. It can be seen, from the figures, that, after conducting linear interpolation-based polishing, based polishing, the surface error (PV) decreases from 11.894λ λ =633nm to 7.422λ . In contrast, ( ) the surface error (PV) decreases from 11.894l(l = 633nm) to 7.422l. In contrast, using the proposed u interpolation sing the prop method, osed inte the rpo surface lation me errtor ho(PV) d, the is su reduced rface erfr room r (P11.282 V) is reldto uc6.267 ed frolm . The 11.conver 282λ tgence o 6.26 rate 7λ .of Th the e csurface onverge err ncor e ra iste incr of eased the sur fr fa om ce e 37.59% rror is to inc44.44%, reased fwhich rom 37further .59% toverifies 44.44%,the whef icfectiveness h further ve of rifthe ies pr the oposed effectiv method. eness of the proposed method. Figure 8. Polishing experiment on fused silica elements. Figure 8. Polishing experiment on fused silica elements. Appl. Sci. 2018, 8, 1355 12 of 14 Appl. Sci. 2018, 8, x FOR PEER REVIEW 13 of 16 Appl. Sci. 2018, 8, x FOR PEER REVIEW 13 of 16 Figure 9. Changes in surface errors (a) before and (b) after conducting the linear interpolation-based Figure 9. Changes in surface errors (a) before and (b) after conducting the linear Figure 9. Changes in surface errors (a) before and (b) after conducting the linear interpolation-based p interpolation-based olishing. polishing. polishing. Figure 10. Changes in surface errors (a) before and (b) after conducting the proposed interpolation- Figure 10. Changes in surface errors (a) before and (b) after conducting the proposed interpolation- Figure 10. Changes in surface errors (a) before and (b) after conducting the proposed based polishing. based polishing. interpolation-based polishing. 6. Conclusions 6. Conclusions 6. Conclusions A new trajectory planning method for optical polishing is proposed in this paper. It is developed A new trajectory planning method for optical polishing is proposed in this paper. It is developed A new trajectory planning method for optical polishing is proposed in this paper. It is developed to generate NC commands that can decrease the interpolation error and the runtime error. First, to to generate NC commands that can decrease the interpolation error and the runtime error. First, to to generate NC commands that can decrease the interpolation error and the runtime error. First, to obtain the NURBS trajectory without loss of the information about the runtime, a global fitting obtain the NURBS trajectory without loss of the information about the runtime, a global fitting obtain the NURBS trajectory without loss of the information about the runtime, a global fitting method method is presented based on SOR iteration theory to deal with the problem of the computational method is presented based on SOR iteration theory to deal with the problem of the computational is presented based on SOR iteration theory to deal with the problem of the computational burden burden arising from the large quantity of NC codes for polishing. Then, taking the shear jerk of the burden arising from the large quantity of NC codes for polishing. Then, taking the shear jerk of the arising from the large quantity of NC codes for polishing. Then, taking the shear jerk of the NURBS as NURBS as the evaluation index, a fairing optimisation method is carried out to smooth the curvature NURBS as the evaluation index, a fairing optimisation method is carried out to smooth the curvature the evaluation index, a fairing optimisation method is carried out to smooth the curvature saltation of saltation of the trajectory. Finally, the feed-rate planning method and the path interpolation scheme saltation of the trajectory. Finally, the feed-rate planning method and the path interpolation scheme the trajectory. Finally, the feed-rate planning method and the path interpolation scheme are proposed are proposed to reduce the realisation error of the trajectory runtime. are proposed to reduce the realisation error of the trajectory runtime. to reduce the realisation error of the trajectory runtime. Simulation results verify that the fairing optimisation proposed in this research can modify the Simulation results verify that the fairing optimisation proposed in this research can modify the Simulation results verify that the fairing optimisation proposed in this research can modify the curvature saltation at the expense of trajectory accuracy compared to the given NC codes; however, curvature saltation at the expense of trajectory accuracy compared to the given NC codes; however, curvature saltation at the expense of trajectory accuracy compared to the given NC codes; however, the the curvature saltation only occurs at the turning point of the trajectory and the trajectory error the curvature saltation only occurs at the turning point of the trajectory and the trajectory error curvature saltation only occurs at the turning point of the trajectory and the trajectory error magnitude magnitude generated by the optimisation algorithm is consistent with the linear interpolation. magnitude generated by the optimisation algorithm is consistent with the linear interpolation. generated by the optimisation algorithm is consistent with the linear interpolation. Therefore, the Therefore, the trajectory accuracy is not treated as the index with which to evaluate the smoothing Therefore, the trajectory accuracy is not treated as the index with which to evaluate the smoothing trajectory accuracy is not treated as the index with which to evaluate the smoothing effect in Section 5. effect in Section 5. The effect of the optimisation algorithm on the optical polishing will be effect in Section 5. The effect of the optimisation algorithm on the optical polishing will be The effect of the optimisation algorithm on the optical polishing will be investigated in future work. investigated in future work. investigated in future work. It can be seen from Figures 5–7, and Table 2, that the runtime error of the proposed interpolation It can be seen from Figures 5–7, and Table 2, that the runtime error of the proposed interpolation It can be seen from Figures 5–7, and Table 2, that the runtime error of the proposed interpolation method arises because the trajectory runtime cannot be divided exactly by the interpolation period and method arises because the trajectory runtime cannot be divided exactly by the interpolation period method arises because the trajectory runtime cannot be divided exactly by the interpolation period and is rounded up to an integer. In contrast, the runtime error of the linear interpolation method and is rounded up to an integer. In contrast, the runtime error of the linear interpolation method Appl. Sci. 2018, 8, 1355 13 of 14 is rounded up to an integer. In contrast, the runtime error of the linear interpolation method arises as a result of the acceleration and deceleration that occurs frequently between adjacent short line segments. Similar to the runtime error, the interpolation error of the proposed interpolation method is a result of the numerical calculation error of the trajectory length and that of the linear interpolation method is due to the transition for the discontinuity of the adjacent short line segments. Then the convergence rate of the surface error is increased with the help of the improvement in the interpolation, and runtime, errors, validating the effectiveness of the proposed interpolation process. For the aforementioned error, their individual effects on the optical polishing need to be further indicated in future work. Author Contributions: D.Z. wrote the manuscript and performed the experiments, H.G. analysed the data and revised the manuscript. All authors discussed the results and commented on the manuscript. Funding: This research was partially funded by the National Science and Technology Major Project of China (grant no. 2017ZX04022001-206), the National Natural Science Foundation of China (grant no. 51420105007), and EU H2020-MSCA-RISE 2016 (grant no. 734272). Conflicts of Interest: The authors declare no conflict of interest. References 1. Rupp, W. Conventional optical polishing techniques. Int. J. Opt. 1971, 18, 1–16. [CrossRef] 2. Kaltsoukalas, K.; Makris, S.; Chryssolouris, G. On generating the motion of industrial robot manipulators. Rob. Comput. Integr. Manuf. 2015, 32, 65–71. [CrossRef] 3. Makris, S.; Tsarouchi, P.; Matthaiakis, A. Dual arm robot in cooperation with humans for flexible assembly. CIRP Ann. 2017, 66, 13–16. [CrossRef] 4. Lei, W.; Wang, S. Robust real-time NURBS path interpolators. Int. J. Mach. Tools Manuf. 2009, 49, 625–633. [CrossRef] 5. Jahanpour, J.; Alizadeh, M. A novel acc-jerk-limited NURBS interpolation enhanced with an optimized S-shaped quintic feedrate scheduling scheme. Int. J. Adv. Manuf. Technol. 2015, 77, 1889–1905. [CrossRef] 6. Liu, X.; Peng, J.; Si, L. A novel approach for NURBS interpolation through the integration of acc-jerk-continuous-based control method and look-ahead algorithm. Int. J. Adv. Manuf. Technol. 2017, 88, 961–969. 7. Zhao, J.; Li, L.; Wang, G. Research of NURBS Curve Real-time Interpolation Feed Speed Planning. Tool Eng. 2015, 49, 7–11. 8. Lin, M.; Tsai, M.; Yau, H. Development of a dynamics-based NURBS interpolator with real-time look-ahead algorithm. Int. J. Mach. Tools Manuf. 2007, 47, 2246–2262. [CrossRef] 9. Park, H.; Lee, J. B-spline curve fitting based on adaptive curve refinement using dominant points. Comput.-Aided Des. 2007, 39, 439–451. [CrossRef] 10. Park, H. B-spline surface fitting based on adaptive knot placement using dominant columns. Comput.-Aided Des. 2011, 43, 258–264. [CrossRef] 11. Zhou, H.; Wang, Y.; Liu, Z. On non-uniform rational B-splines curve fitting based on the least control points. J. Xian Jiaotong Univ. 2008, 42, 73–77. 12. Xu, J. B-spline Curve Approximation Based on Feature Points Automatic Recognition. J. Mech. Eng. 2009, 45, 212–217. [CrossRef] 13. Zhao, H.; Lu, Y.; Zhu, L. Look-ahead interpolation of short line segments using B-spline curve fitting of dominant points. P. I. Mech. Eng. B-J. Eng. 2014, 229, 1–13. [CrossRef] 14. Yang, X.; Hu, Z.; Zhong, Z. Research on the NURBS Curve Fitting for Tool Path Generation. China Mech. Eng. 2009, 20, 983–984. 15. Li, W.; Liu, Y.; Yamazaki, K. The design of a NURBS pre-interpolator for five-axis machining. Int. J. Adv. Manuf. Technol. 2008, 36, 927–935. [CrossRef] 16. Lin, K.; Ueng, W.; Lai, J. CNC codes conversion from linear and circular paths to NURBS curves. Int. J. Adv. Manuf. Technol. 2008, 39, 760–773. [CrossRef] 17. Tsai, M.; Nien, H. Development of a real-time look-ahead interpolation methodology with spline-fitting technique for high-speed machining. Int. J. Adv. Manuf. Technol. 2010, 47, 621–638. [CrossRef] Appl. Sci. 2018, 8, 1355 14 of 14 18. Wang, J.; Yau, H. Real-time NURBS interpolator: application to short linear segments. Int. J. Adv. Manuf. Technol. 2009, 41, 1169–1185. [CrossRef] 19. Timar, S.; Farouki, R. Time-optimal traversal of curved paths by Cartesian CNC machines under both constant and speed-dependent axis acceleration bounds. Rob. Comput. Integr. Manuf. 2007, 23, 563–579. [CrossRef] 20. Sencer, B. Smooth Trajectory Generation and Precision Control of 5-Axis CNC Machine Tools. Ph.D. Thesis, The University of British Columbia, Vancouver, BC, Canada, October 2009. 21. Boyadjieff, C.; Farouki, R.; Timar, S. Smoothing of Time-Optimal Feed rates for Cartesian CNC Machines; Springer: Berlin, Germany, 2005; pp. 84–101. 22. Sencer, B.; Altintas, Y.; Croft, E. Feed optimization for five-axis CNC machine tools with drive constraints. Int. J. Mach. Tools Manuf. 2008, 48, 733–745. [CrossRef] 23. Lu, L.; Zhang, L.; Ji, S. An offline predictive feedrate scheduling method for parametric interpolation considering the constraints in trajectory and drive systems. Int. J. Adv. Manuf. Technol. 2016, 83, 2143–2157. [CrossRef] 24. Zhao, H.; Zhu, L.; Ding, H. A parametric interpolator with minimal feed fluctuation for CNC machine tools using arc-length compensation and feedback correction. Int. J. Mach. Tools Manuf. 2013, 75, 1–8. [CrossRef] 25. Sun, Y.; Zhao, Y.; Bao, Y. A novel adaptive-feedrate interpolation method for NURBS tool path with drive constraints. Int. J. Mach. Tools Manuf. 2013, 77, 74–81. [CrossRef] 26. Zhang, J.; Zhang, L.; Zhang, K. Double NURBS trajectory generation and synchronous interpolation for five-axis machining based on dual quaternion algorithm. Int. J. Adv. Manuf. Technol. 2016, 83, 2015–2025. [CrossRef] 27. Peng, J.; Liu, X.; Si, L. A Novel Approach for NURBS Interpolation with Minimal Feed Rate Fluctuation Based on Improved Adams-Moulton Method. Math. Probl. Eng. 2017, 2017, 1–10. [CrossRef] 28. Bai, Z.; Parlett, B.; Wang, Z. On generalized successive over relaxation methods for augmented linear systems. Numer. Math. 2005, 102, 1–38. [CrossRef] 29. Huang, J. Another Version of SOR Iteration and Its Generalization. Master ’s Thesis, Dalian University of Technology, Dalian, China, June 2013. 30. Li, Y. Study and Realization on Construction, Fairing and Smooth Joining Between Adjacent of the NURBS Surface. Master ’s Thesis, Xi’an University of Technology, Xi’an, China, March 2010. 31. Surhone, L.; Timpledon, M.; Marseken, S. Non-Uniform Rational B-Spline; Betascript Publishing: Montana, MT, USA, 2010. 32. Zhang, H.; Jiang, D.; Ding, Y. A weight-based optimal faring algorithm for planar cubic NURBS curves. J. Southwest Minzu Univ. 2005, 31, 351–355. 33. Li, X.; Wu, Y.; Leng, H. Research on a New S-curve Acceleration and Deceleration Control Method. Modul. Mach. Tool. Autom. Manuf. Technol. 2007, 50–53. © 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png
Applied Sciences
Multidisciplinary Digital Publishing Institute
http://www.deepdyve.com/lp/multidisciplinary-digital-publishing-institute/a-trajectory-planning-method-for-polishing-optical-elements-based-on-a-sS0zPHWkXk