Next Article in Journal
Efficiency of Cassava Production in China: Empirical Analysis of Field Surveys from Six Provinces
Next Article in Special Issue
A Dual Stage Low Power Converter Driving for Piezoelectric Actuator Applied in Micro Mobile Robot
Previous Article in Journal
Inverse Analysis of Cellulose by Using the Energy-Based Method and a Rotational Rheometer
Previous Article in Special Issue
Prototype Design and Performance Tests of Beijing Astronaut Robot
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Trajectory Planning Method for Polishing Optical Elements Based on a Non-Uniform Rational B-Spline Curve

Key Laboratory of Mechanism Theory and Equipment Design of The State Ministry of Education, Tianjin University, Tianjin 300072, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2018, 8(8), 1355; https://doi.org/10.3390/app8081355
Submission received: 10 July 2018 / Revised: 1 August 2018 / Accepted: 10 August 2018 / Published: 12 August 2018
(This article belongs to the Special Issue Advanced Mobile Robotics)

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%.

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,3,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,6,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 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 ( k = 0 , 1 , 2 , 3 ) . As shown in Figure 1, C ( 0 ) 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:
C ( u ) = 1 6 [ u 3 u 2 u 1 ] [ 1 3 3 1 3 6 3 0 3 0 3 0 1 4 1 0 ] [ d 0 d 1 d 2 d 3 ]
Thus, point C i can be expressed as:
C i = 1 6 ( d i 1 + 4 d i + d i + 1 )
where C i denotes the ith NC code in the n + 1 lines of NC codes and also is taken as the start point of the ith NURBS segment. d i 1 , d i , d i + 1 respectively denote the three control points corresponding to C i . To calculate C 1 and C n + 1 , it is defined that on the condition that i < 1 , then d i = d 1 and on the condition that i > n + 1 , then d i = d n + 1 . Equations (3) and (4) can thus be obtained:
C 1 = 1 6 ( d 1 + 4 d 1 + d 2 ) = 5 6 d 1 + 1 6 d 2
C n + 1 = 1 6 ( d n + 4 d n + 1 + d n + 1 ) = 1 6 d n + 5 6 d n + 1
Rewriting Equations (2)–(4) in matrix notation yields:
A d = C A = [ 5 1 0 0 0 0 1 4 1 0 0 0 0 1 4 1 0 0 0 0 0 0 1 4 1 0 0 0 0 0 1 5 ] ,   d = [ d 1 d 2 d 3 d n d n + 1 ] , C = [ 6 C 1 6 C 2 6 C 3 6 C n 6 C 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:
A = D L U
where A = diag ( a 11 , a 22 , , a n + 1 n + 1 ) , L denotes a strictly lower triangular matrix, whose elements 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:
d = D 1 ( L + U ) d + D 1 C
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:
d ( k + 1 ) = M 1 d ( k ) + D 1 C
where M 1 = D 1 ( L + U ) . The component form of Equation (8) can be expressed as:
d i ( k + 1 ) = 1 a i i ( j = 1 j i n + 1 a i j d j ( k ) + C i ) ,   i = 1 , 2 , , n + 1
which is also known as the Jacobi iteration scheme, noting that, before calculating d i ( k + 1 ) , the iterative values of the first i 1 components in d ( k + 1 ) have been generated, which are more approximate to the true value than the results obtained by the previous iteration. Therefore, d 1 ( k ) , d 2 ( k ) , , d i 1 ( k ) can be replaced by d 1 ( k + 1 ) , d 2 ( k + 1 ) , , d i 1 ( k + 1 ) to make d i ( k + 1 ) closer to the true value. To improve the convergence rate of the iteration further, a proper parameter μ is selected to conduct the weighted averaging on the aforementioned iterative scheme:
d i ( k + 1 ) = μ d ˜ i ( k + 1 ) + ( 1 μ ) d i ( k ) , i = 1 , 2 , n + 1
with:
d ˜ i ( k + 1 ) = 1 a i i ( j = 1 i 1 a i j d j ( k + 1 ) j = i + 1 n + 1 a i j d j ( k ) + C i )
Substituting Equation (11) into Equation (10) leads to the SOR iteration scheme:
a i i d i ( k + 1 ) + μ j = 1 i 1 a i j d j ( k + 1 ) = a i i d i ( k ) μ j = i n + 1 a i j d j ( k ) + μ C i , i = 1 , 2 , , n + 1
Note that A is a tridiagonal positive definite matrix, so the optimal value μ o p t of the relaxation factor can be expressed as [29]:
μ o p t = 2 1 + 1 [ ρ ( M 1 ) ] 2
where ρ ( M 1 ) denotes the spectral radius of M 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]).

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:
D j = κ n e x t 1 κ j C n e x t 1 C j κ j κ l a s t 1 C j C l a s t 1
where κ j denotes the curvature at the jth outlier point C j , κ n e x t 1 and κ l a s t 1 denote the curvature of the C n e x t 1 and C l a s t 1 , which are on two adjacent sides of the outlier point. The index indicates the curvature changes of the adjacent outlier points.
To generate the weight factors of the various outlier points, the objective function is defined as:
L = j = 1 k D j 2 + ( C j C j , 0 ) 2
where C j , 0 denotes the jth outlier point before optimisation. It can be seen from Equation (15) that the 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:
C ω ( u ) = i = 1 n + 1 N i , 3 ( u ) [ ω i d i ω i ] = i = 1 n + 1 N i , 3 ( u ) d i ω
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 ω = 1 . Based on Equation (2), it can be seen that:
C j ω = 1 6 d j , l a s t 1 ω + 2 3 d j ω + 1 6 d j , n e x t 1 ω
C j , l a s t 1 ω = 1 6 d j , l a s t 2 ω + 2 3 d j , l a s t 1 ω + 1 6 d j ω
C j , n e x t 1 ω = 1 6 d j ω + 2 3 d n e x t 1 ω + 1 6 d n e x t 2 ω
where d j ω denotes the control point corresponding to the jth outlier point and d n e x t 1 ω , d n e x t 2 ω and d l a s t 1 ω , d l a s t 2 ω denote the control points on the two adjacent sides of the control point d j ω , respectively.
Furthermore, Equation (15) can be written in 4D space as:
L ω = j = 1 k ( D j ω ) 2 + ( C j ω C j , 0 ω ) 2
where C j ω C j , 0 ω can be equivalently simplified as d j ω d j , 0 ω and D j ω can be approximately expressed as [32]:
D j ω ( C j , n e x t 1 ω ) ( C j ω ) l j , n e x t 1 ω ( C j ω ) ( C j , l a s t 1 ω ) l j , l a s t 1 ω
where ( C j ω ) denotes the second derivative of the NURBS at C j ω , l j , n e x t 1 ω = C j , n e x t 1 , 0 ω C j , 0 ω and l j , l a s t 1 ω = C j , 0 ω C j , l a s t 1 , 0 ω . Substituting Equation (21) into Equation (20) yields:
L ω = j = 1 k ( ( C j , n e x t 1 ω ) ( C j ω ) l j , n e x t 1 ω ( C j ω ) ( C j , l a s t 1 ω ) l j , l a s t 1 ω ) + ( d j ω d j , 0 ω ) 2
To calculate the minimum value of L ω , the partial derivative of Equation (22) about d j ω is set to 0:
L ω d j ω = j = 1 k 2 ( d j , n e x t 2 ω 3 d j , n e x t 1 ω + 3 d j ω d j , l a s t 1 ω l j , n e x t 1 ω d j , n e x t 1 ω 3 d j ω + 3 d j , l a s t 1 ω d j , l a s t 2 ω l j , l a s t 1 ω ) · ( 3 l j , n e x t 1 ω + 3 l j , l a s t 1 ω ) + 2 ( d j ω d j , 0 ω ) = 0
Then, the equations for d 1 ω , d 2 ω , , d k ω can be expressed as:
A ω d ω = C ω A ω = d i a g ( ( 3 l j , n e x t 1 ω + 3 l j , l a s t 1 ω ) 2 + 1 ) d ω = ( d 1 ω , d 2 ω , , d k ω ) T C ω = ( C 1 ω , C 2 ω , , C k ω ) T C j ω = d j , 0 ω ( d j , n e x t 2 ω 3 d j , n e x t 1 ω d j , l a s t 1 ω l j , n e x t 1 ω d j , n e x t 1 ω + 3 d j , l a s t 1 ω d j , l a s t 2 ω l j , l a s t 1 ω ) ( 3 l j , n e x t 1 ω + 3 l j , l a s t 1 ω )
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:
p = u p l o w 6 ( f ( l o w ) + 4 f ( m i d ) + f ( u p ) )
with:
f ( u ) = d s d u = x ( u ) + y ( u ) + z ( u )
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. u p and l o w denote the upper and lower boundaries of u , m i d = ( u p + l o w ) / 2 .
Step 2: the length between the two points corresponding to the parameters u p and l o w is calculated:
l = C ( u p ) C ( l o w )
Step 3: the error between the aforementioned two lengths is calculated:
e = | p l |
The convergence threshold [ e ] is given. If e > [ e ] , let u p = m i d 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 u p l o w to generate the knot vector ( u 0 , u 1 , , u n ) . Thus, the length of the NURBS is:
s i = 1 n C ( u i ) C ( u 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 = 2 v l o w t a + J t a 3 + v u p t v
v u p = v l o w + J t a 2
where v l o w and v u p denote the initial and final feed-rates of the trajectory segment. J , 2 t a and t v denote the jerk, acceleration (deceleration) time and the uniform motion time, respectively. Thus, the runtime of the trajectory segment is t d = 2 t a + t 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 s . 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:
u i + 1 = u i + d u d t | t = t i t s + 1 2 d 2 u d t 2 | t = t i t s 2
The feed-rate v ( u ) can be written as:
v ( u ) = d C ( u ) d u = d C ( u ) d u d u d t
Furthermore:
d u d t = v ( u ) C ( u )
Calculating the derivative of Equation (34):
d 2 u d t 2 = d v ( u ) d u d u d t C ( u ) v ( u ) d ( C ( u ) ) d u d u d t C ( u ) 2
where:
d ( C ( u ) ) d u = C ( u ) C ( u ) C ( u )
Substituting Equations (33)–(35) into Equation (32) gives:
u i + 1 = u i + v C ( u i ) C ( u i ) t s + 1 2 [ v C ( u i ) C ( u i ) 2 v C ( u i ) C ( u ) C ( u ) C ( u ) 4 v C 2 ( u i ) ] t s 2
Substituting u i + 1 into the curve equation obtained through the fairing optimisation described in Section 3, the next interpolation point can be acquired. Repeating this process until:
t i = ceil ( t d t s ) * t 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 controller for servo-control of the actuated joints.
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 i ) and the runtime error of the trajectory ( e t ):
e i = C i 0 C i 2 , i = 1 , 2 , , n
e t i = | t i 0 t i | , i = 1 , 2 , , n
where C i 0 and C i denote the ith desired NC code and actual NC code after interpolation, t i 0 and t i 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 further imply that the proposed interpolation method has more precision than the linear interpolation method in the polishing process.
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 linear interpolation method and the proposed interpolation method, as shown in Figure 8. Using 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 Figure 10, respectively. It can be seen, from the figures, that, after conducting linear interpolation-based polishing, the surface error (PV) decreases from 11.894 λ ( λ = 633 nm ) to 7.422 λ . In contrast, using the proposed interpolation method, the surface error (PV) is reduced from 11.282 λ to 6.267 λ . The convergence rate of the surface error is increased from 37.59% to 44.44%, which further verifies the effectiveness of the proposed method.

6. Conclusions

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 obtain the NURBS trajectory without loss of the information about the runtime, a global fitting method is presented based on SOR iteration theory to deal with the problem of the computational burden arising from the large quantity of NC codes for polishing. Then, taking the shear jerk of the NURBS as the evaluation index, a fairing optimisation method is carried out to smooth the curvature saltation of the trajectory. Finally, the feed-rate planning method and the path interpolation scheme are proposed to reduce the realisation error of the trajectory runtime.
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, the curvature saltation only occurs at the turning point of the trajectory and the trajectory error magnitude generated by the optimisation algorithm is consistent with the linear interpolation. Therefore, the trajectory accuracy is not treated as the index with which to evaluate the smoothing effect in Section 5. The effect of the optimisation algorithm on the optical polishing will be investigated in future work.
It can be seen from Figure 5, Figure 6 and Figure 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 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. [Google Scholar] [CrossRef]
  2. Kaltsoukalas, K.; Makris, S.; Chryssolouris, G. On generating the motion of industrial robot manipulators. Rob. Comput. Integr. Manuf. 2015, 32, 65–71. [Google Scholar] [CrossRef]
  3. Makris, S.; Tsarouchi, P.; Matthaiakis, A. Dual arm robot in cooperation with humans for flexible assembly. CIRP Ann. 2017, 66, 13–16. [Google Scholar] [CrossRef]
  4. Lei, W.; Wang, S. Robust real-time NURBS path interpolators. Int. J. Mach. Tools Manuf. 2009, 49, 625–633. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar]
  7. Zhao, J.; Li, L.; Wang, G. Research of NURBS Curve Real-time Interpolation Feed Speed Planning. Tool Eng. 2015, 49, 7–11. [Google Scholar]
  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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  10. Park, H. B-spline surface fitting based on adaptive knot placement using dominant columns. Comput.-Aided Des. 2011, 43, 258–264. [Google Scholar] [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. [Google Scholar]
  12. Xu, J. B-spline Curve Approximation Based on Feature Points Automatic Recognition. J. Mech. Eng. 2009, 45, 212–217. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar]
  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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  18. Wang, J.; Yau, H. Real-time NURBS interpolator: application to short linear segments. Int. J. Adv. Manuf. Technol. 2009, 41, 1169–1185. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar]
  21. Boyadjieff, C.; Farouki, R.; Timar, S. Smoothing of Time-Optimal Feed rates for Cartesian CNC Machines; Springer: Berlin, Germany, 2005; pp. 84–101. [Google Scholar]
  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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  28. Bai, Z.; Parlett, B.; Wang, Z. On generalized successive over relaxation methods for augmented linear systems. Numer. Math. 2005, 102, 1–38. [Google Scholar] [CrossRef]
  29. Huang, J. Another Version of SOR Iteration and Its Generalization. Master’s Thesis, Dalian University of Technology, Dalian, China, June 2013. [Google Scholar]
  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. [Google Scholar]
  31. Surhone, L.; Timpledon, M.; Marseken, S. Non-Uniform Rational B-Spline; Betascript Publishing: Montana, MT, USA, 2010. [Google Scholar]
  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. [Google Scholar]
  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. [Google Scholar]
Figure 1. Schematic diagram of the parametric curve.
Figure 1. Schematic diagram of the parametric curve.
Applsci 08 01355 g001
Figure 2. The prototype of the polishing robot.
Figure 2. The prototype of the polishing robot.
Applsci 08 01355 g002
Figure 3. The initial fitted polishing trajectory for fairing optimisation and interpolation (a) the fitted polishing trajectory (b) the partial enlarged view.
Figure 3. The initial fitted polishing trajectory for fairing optimisation and interpolation (a) the fitted polishing trajectory (b) the partial enlarged view.
Applsci 08 01355 g003
Figure 4. The end-point trajectory before, and after, fairing optimization: (a) the end-point trajectory; and (b) the partial enlarged view
Figure 4. The end-point trajectory before, and after, fairing optimization: (a) the end-point trajectory; and (b) the partial enlarged view
Applsci 08 01355 g004
Figure 5. The end-point trajectory interpolated by different methods: (a) the end-point trajectory; and (b) the partial enlarged view.
Figure 5. The end-point trajectory interpolated by different methods: (a) the end-point trajectory; and (b) the partial enlarged view.
Applsci 08 01355 g005
Figure 6. Runtime of the trajectory interpolated by the proposed method: (a) runtime of the trajectory; and (b) the partial enlarged view.
Figure 6. Runtime of the trajectory interpolated by the proposed method: (a) runtime of the trajectory; and (b) the partial enlarged view.
Applsci 08 01355 g006
Figure 7. Runtime of the trajectory interpolated by the linear method: (a) runtime of the trajectory; and (b) the partial enlarged view.
Figure 7. Runtime of the trajectory interpolated by the linear method: (a) runtime of the trajectory; and (b) the partial enlarged view.
Applsci 08 01355 g007
Figure 8. Polishing experiment on fused silica elements.
Figure 8. Polishing experiment on fused silica elements.
Applsci 08 01355 g008
Figure 9. Changes in surface errors (a) before and (b) after conducting the linear interpolation-based polishing.
Figure 9. Changes in surface errors (a) before and (b) after conducting the linear interpolation-based polishing.
Applsci 08 01355 g009
Figure 10. Changes in surface errors (a) before and (b) after conducting the proposed interpolation-based polishing.
Figure 10. Changes in surface errors (a) before and (b) after conducting the proposed interpolation-based polishing.
Applsci 08 01355 g010
Table 1. Changes in the two trajectories before, and after, fairing optimisation.
Table 1. Changes in the two trajectories before, and after, fairing optimisation.
TrajectoryBeforeAfter
Maximum CurvatureMaximum Shear JerkMaximum CurvatureMaximum Shear Jerk
End-point1.2490.2850.2530.025
Reference-point1.3800.3250.5060.032
Table 2. Comparison of the effect of the two interpolation methods.
Table 2. Comparison of the effect of the two interpolation methods.
MethodInterpolation Error (mm)Runtime Error (s)
MaximumMeanMaximumMean
Proposed0.0050.0020.0100.005
Linear0.0910.0760.1300.076

Share and Cite

MDPI and ACS Style

Zhao, D.; Guo, H. A Trajectory Planning Method for Polishing Optical Elements Based on a Non-Uniform Rational B-Spline Curve. Appl. Sci. 2018, 8, 1355. https://doi.org/10.3390/app8081355

AMA Style

Zhao D, Guo H. A Trajectory Planning Method for Polishing Optical Elements Based on a Non-Uniform Rational B-Spline Curve. Applied Sciences. 2018; 8(8):1355. https://doi.org/10.3390/app8081355

Chicago/Turabian Style

Zhao, Dong, and Hao Guo. 2018. "A Trajectory Planning Method for Polishing Optical Elements Based on a Non-Uniform Rational B-Spline Curve" Applied Sciences 8, no. 8: 1355. https://doi.org/10.3390/app8081355

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop