Abstract
In computer numerical control systems, linear segments generated by computer-aided manufacturing software are the most widely used toolpath format. Since the linear toolpath is discontinuous at the junction of two adjacent segments, the fluctuations on velocity, acceleration and jerk are inevitable. Local corner smoothing is widely used to address this problem. However, most existing methods use symmetrical splines to smooth the corners. When any one of the linear segments at the corner is short, the inserted spline will be micro to avoid overlap. This will increase the curvature extreme of the spline and reduce the feedrate on it. In this article, the corners are smoothed by a \({C}^{4}\) continuous asymmetric Pythagorean-hodograph (PH) spline. The curvature extreme of the proposed spline is investigated first, and \(K=2.5\) is determined as the threshold to constrain the asymmetry of the spline. Then, a two-step strategy is used to generate a blended toolpath composed of asymmetric PH splines and linear segments. In the first step, the PH splines at the corners are generated under the condition that the transition lengths do not exceed half of the length of the linear segments. In the second step, the splines at the corners are re-planned to reduce the curvature extremes, if the transition error does not reach the given threshold and there are extra linear trajectories on both sides of the spline trajectory. Finally, the bilinear interpolation method is applied to determine the critical points of the smoothed toolpath, and a jerk-continuous feedrate scheduling scheme is presented to interpolate the smoothed toolpath. Simulations show that, under the condition of not affecting the machining quality, the proposed method can improve the machining efficiency by \(7.27\) to \(75.11\%\) compared to \({G}^{3}\) and \({G}^{4}\) methods.
Similar content being viewed by others
Availability of data and material
Not applicable.
Code availability
Not applicable.
References
Zhong W, Luo X, Chang W, Cai Y, Ding F, Liu H, Sun Y (2021) Toolpath interpolation and smoothing for computer numerical control machining of freeform surfaces: a review. Int J Autom Comput 17(1):1–16. https://doi.org/10.1007/s11633-019-1190-y
Wang W, Hu C, Zhou K, He S, Zhu L (2021) Local asymmetrical corner trajectory smoothing with bidirectional planning and adjusting algorithm for CNC machining. Robot Comput Integr Manuf 68:102058. https://doi.org/10.1016/j.rcim.2020.102058
Zhang Y, Zhao M, Ye P, Zhang H (2019) A G4 continuous b-spline transition algorithm for cnc machining with jerk-smooth feedrate scheduling along linear segments. Comput Aided Des 115:231–243. https://doi.org/10.1016/j.cad.2019.04.004
He S, Ou D, Yan C, Lee C (2015) A chord error conforming tool path B-spline fitting method for NC machining based on energy minimization and LSPIA. J Comput Des Eng 2(4):218–232. https://doi.org/10.1016/j.jcde.2015.06.002
Deng C, Lin H (2015) Progressive and iterative approximation for least squares B-spline curve and surface fitting. Comput Aided Des 47:32–44. https://doi.org/10.1016/j.cad.2013.08.012
Yang Z, Shen L, Yuan C, Gao X (2015) Curve fitting and optimal interpolation for CNC machining under confined error using quadratic B-splines. Comput Aided Des 66:62–72. https://doi.org/10.1016/j.cad.2015.04.010
Min K, Sun Y, Lee C, Hu P, He S (2019) An improved B-spline fitting method with arc-length parameterization, G2-continuous blending, and quality refinement. Int J Precis Eng Manuf 20(11):1939–1955. https://doi.org/10.1007/s12541-019-00210-0
Lin F, Shen L, Yuan C, Mi Z (2019) Certified space curve fitting and trajectory planning for CNC machining with cubic B-splines. Comput Aided Des 106:13–29. https://doi.org/10.1016/j.cad.2018.08.001
Hu Q, Chen Y, Jin X, Yang J (2019) A real-time C3 continuous local corner smoothing and interpolation algorithm for CNC machine tools. J Manuf Sci Eng 141(4):041004. https://doi.org/10.1115/1.4042606
Huang X, Zhao F, Tao T, Mei X (2021) A newly developed corner smoothing methodology based on clothoid splines for high speed machine tools. Robot Comput Integr Manuf 70:102106. https://doi.org/10.1016/j.rcim.2020.102106
Zhao H, Zhu L, Ding H (2013) A real-time look-ahead interpolation methodology with curvature-continuous B-spline transition scheme for CNC machining of short line segments. Int J Mach Tools Manuf 65:88–98. https://doi.org/10.1016/j.ijmachtools.2012.10.005
Sencer B, Shamoto E (2014) Curvature-continuous sharp corner smoothing scheme for Cartesian motion systems. IEEE 13th International Workshop on Advanced Motion Control, pp 374–379. https://doi.org/10.1109/AMC.2014.6823311
Du X, Huang J, Zhu L (2018) A locally optimal transition method with analytical calculation of transition length for computer numerical control machining of short line segments. Proc Inst Mech Eng B J Eng Manufe 232(13):2409–2419. https://doi.org/10.1177/0954405417697351
Jin Y, Bi Q, Wang Y (2015) Dual-Bezier path smoothing and interpolation for five-axis linear tool path in workpiece coordinate system. Adv Mech Eng 7(7):1–14. https://doi.org/10.1177/1687814015595211
Bi Q, Wang Y, Zhu L, Ding H (2011) A practical continuous-curvature Bézier transition algorithm for high-speed machining of linear tool path. Intelligent Robotics and Applications. https://doi.org/10.1007/978-3-642-25489-5_45
Tulsyan S, Altintas Y (2015) Local toolpath smoothing for five-axis machine tools. Int J Mach Tools Manuf 96:15–26. https://doi.org/10.1016/j.ijmachtools.2015.04.014
Fan W, Lee C, Chen J (2015) A realtime curvature-smooth interpolation scheme and motion planning for CNC machining of short line segments. Int J Mach Tools Manuf 96:27–46. https://doi.org/10.1016/j.ijmachtools.2015.04.009
Zhang Y, Wang T, Dong J, Peng P, Liu Y, Ke R (2020) An analytical G3 continuous corner smoothing method with adaptive constraints adjustments for five-axis machine tool. Int J Adv Manuf Technol 109:1007–1026. https://doi.org/10.1007/s00170-020-05402-x
Xie Z, Xie F, Liu X, Wang J (2021) Global G3 continuity toolpath smoothing for a 5-DoF machining robot with parallel kinematics. Robot Comput Integr Manuf 67:102018. https://doi.org/10.1016/j.rcim.2020.102018
Petrinić T, Brezak M, Petrović I (2017) Time-optimal velocity planning along predefined path for static formations of mobile robots. Int J Control Autom Syst 15(1):293–302. https://doi.org/10.1007/s12555-015-0192-y
Frego M, Bertolazzi E, Biral F, Fontanelli D, Palopoli L (2017) Semi-analytical minimum time solutions with velocity constraints for trajectory following of vehicles. Automatica 86:18–28. https://doi.org/10.1016/j.automatica.2017.08.020
Shahzadeh A, Khosravi A, Robinette T, Nahavandi S (2018) Smooth path planning using biclothoid fillets for high speed CNC machines. Int J Mach Tools Manuf 132:36–49. https://doi.org/10.1016/j.ijmachtools.2018.04.003
Xiao Q, Wan M, Liu Y, Qin X, Zhang W (2020) Space corner smoothing of CNC machine tools through developing 3D general clothoid. Robot Comput Integr Manuf 64:101949. https://doi.org/10.1016/j.rcim.2020.101949
Huang X, Zhao F, Tao T, Mei X (2020) A novel local smoothing method for five-axis machining with time-synchronization feedrate scheduling. IEEE Access 8:89185–89204. https://doi.org/10.1109/ACCESS.2020.2992022
Walton D, Meek D (2009) G2 blends of linear segments with cubics and Pythagorean-hodograph quintics. Int J Comput Math 86(9):1498–1511. https://doi.org/10.1080/00207160701828157
Imani B, Ghandehariun A (2011) Real-time PH-based interpolation algorithm for high speed CNC machining. Int J Adv Manuf Technol 56:619–629. https://doi.org/10.1007/s00170-011-3200-2
Farouki R (2014) Construction of G2 rounded corners with Pythagorean-hodograph curves. Comput Aided Geom Des 31:127–139. https://doi.org/10.1016/j.cagd.2014.02.002
Shi J, Bi Q, Wang Y, Liu G (2014) Development of real-time look-ahead methodology based on quintic ph curve with G2 continuity for high-speed machining. Appl Mech Mater 464:258–264. https://doi.org/10.4028/www.scientific.net/AMM.464.258
Shi J, Bi Q, Zhu L, Wang Y (2015) Corner rounding of linear five-axis tool path by dual PH curves blending. Int J Mach Tools Manuf 88:223–236. https://doi.org/10.1016/j.ijmachtools.2014.09.007
Wan M, Qin X, Xiao Q, Liu Y, Zhang W (2021) Asymmetrical pythagorean-hodograph (PH) spline-based C3 continuous corner smoothing algorithm for five-axis tool paths with short segments. J Manuf Process 64(3):1387–1411. https://doi.org/10.1016/j.jmapro.2021.02.059
Lee A, Lin M, Pan Y, Lin W (2011) The feedrate scheduling of NURBS interpolator for CNC machine tools. Comput Aided Des 43(6):612–628. https://doi.org/10.1016/j.cad.2011.02.014
Hu Y, Jiang X, Huo G, Su C, Wang B, Li H, Zheng Z (2021) A novel S-shape based NURBS interpolation with acc-jerk - continuity and round-off error elimination. arXiv:2103.14433
Su C, Jiang X, Huo G, Sun Y, Zheng Z (2020) Initial tool path selection of the iso-scallop method based on offset similarity analysis for global preferred feed directions matching. Int J Adv Manuf Technol 106:2675–2687. https://doi.org/10.1007/s00170-019-04789-6
Funding
This work has been supported by the National Key Research and Development Program of China (Grant No.2020YFA0713700), the National Natural Science Foundation of China (Grants No. 12171023, No. 12001028 and No. 62102013) and funded by China Postdoctoral Science Foundation (Grant No. 2021M690303).
Author information
Authors and Affiliations
Corresponding authors
Ethics declarations
Ethics approval
The research does not involve human participants and/or animals.
Consent to participate
Consent to submit the paper for publication has been received explicitly from all co-authors.
Consent for publication
All authors have read and agreed to publish the manuscript.
Conflict of interest
The authors declare no competing interests.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix 1. Proof process of Theorem 1
When trigonometric functions are used to express \(\overrightarrow{{n}_{1}}\) and \(\overrightarrow{{n}_{2}}\), \(\overrightarrow{{n}_{1}}={l}_{1}\overrightarrow{{T}_{1}}={l}_{1}{\left(cos\alpha ,sin\alpha \right)}^{T}={\left({u}_{0}^{2}-{v}_{0}^{2},2{u}_{0}{v}_{0}\right)}^{T}/15\) and \(\overrightarrow{{n}_{2}}={l}_{2}\overrightarrow{{T}_{2}}={l}_{2}{\left(cos\beta ,sin\beta \right)}^{T}={\left({u}_{7}^{2}-{v}_{7}^{2},2{u}_{7}{v}_{7}\right)}^{T}/15\). According to the half angle formula of trigonometric function, \({u}_{0}\), \({v}_{0}\), \({u}_{7}\) and \({v}_{7}\) can be written as \({u}_{0}=\pm \sqrt{15{l}_{1}}cos\frac{\alpha }{2}\), \({v}_{0}=\pm \sqrt{15{l}_{1}}sin\frac{\alpha }{2}\), \({u}_{7}=\pm \sqrt{15{l}_{2}}cos\frac{\beta }{2}\) and \({v}_{7}=\pm \sqrt{15{l}_{2}}sin\frac{\beta }{2}\), where \({u}_{0}\) and \({v}_{0}\), \({u}_{7}\) and \({v}_{7}\) take the same sign. Substituting the above four parameters into \(\overrightarrow{m}=\frac{{\left({u}_{0}{u}_{7}-{v}_{0}{v}_{7},{u}_{0}{v}_{7}+{u}_{7}{v}_{0}\right)}^{T}}{15}\), \(\overrightarrow{{B}_{7}{B}_{8}}\) can be written as \(\overrightarrow{{B}_{7}{B}_{8}}=\overrightarrow{m}=\pm \sqrt{{l}_{1}{l}_{2}}{\left(cos\frac{\alpha +\beta }{2},sin\frac{\alpha +\beta }{2}\right)}^{T}\). It is obvious that the length of \(\overrightarrow{{B}_{7}{B}_{8}}\) equals to \(\sqrt{{l}_{1}{l}_{2}}\). In addition, according to the sum-to-product trigonometric identities, \(\overrightarrow{{T}_{1}}+\overrightarrow{{T}_{2}}={\left(2cos\frac{\alpha +\beta }{2}cos\frac{\alpha -\beta }{2},2sin\frac{\alpha +\beta }{2}cos\frac{\alpha -\beta }{2}\right)}^{T}=2cos\frac{\alpha -\beta }{2}{\left(cos\frac{\alpha +\beta }{2},sin\frac{\alpha +\beta }{2}\right)}^{T}\). Since \({P}_{0}{P}_{1}\) and \({P}_{1}{P}_{2}\) are two different linear segments, and they are not on the same line, \(cos\frac{\alpha -\beta }{2}\ne 0\) can be deduced. If \(cos\frac{\alpha -\beta }{2}>0\), \(\frac{\overrightarrow{{T}_{1}}+\overrightarrow{{T}_{2}}}{\left|\overrightarrow{{T}_{1}}+\overrightarrow{{T}_{2}}\right|}={\left(cos\frac{\alpha +\beta }{2},sin\frac{\alpha +\beta }{2}\right)}^{T}\), let \({u}_{0}\) and \({v}_{0}\) take the same sign, then \(\frac{\overrightarrow{{B}_{7}{B}_{8}}}{\left|\overrightarrow{{B}_{7}{B}_{8}}\right|}{=\left(cos\frac{\alpha +\beta }{2},sin\frac{\alpha +\beta }{2}\right)}^{T}=\frac{\overrightarrow{{T}_{1}}+\overrightarrow{{T}_{2}}}{\left|\overrightarrow{{T}_{1}}+\overrightarrow{{T}_{2}}\right|}\). On the contrary, let \({u}_{0}\) and \({v}_{0}\) take different signs, then \(\frac{\overrightarrow{{B}_{7}{B}_{8}}}{\left|\overrightarrow{{B}_{7}{B}_{8}}\right|}{=-\left(cos\frac{\alpha +\beta }{2},sin\frac{\alpha +\beta }{2}\right)}^{T}=\frac{\overrightarrow{{T}_{1}}+\overrightarrow{{T}_{2}}}{\left|\overrightarrow{{T}_{1}}+\overrightarrow{{T}_{2}}\right|}\).
Appendix 2. Proof process of Theorem 2
According to Eq. (9), \(\overrightarrow{{B}_{4}{B}_{7}}=\overrightarrow{{B}_{4}{B}_{5}}+\overrightarrow{{B}_{5}{B}_{6}}+\overrightarrow{{B}_{6}{B}_{7}}=\frac{398}{429}\overrightarrow{m}+\frac{889}{429}\overrightarrow{{n}_{1}}\). At the same time, \(\overrightarrow{{B}_{4}{B}_{7}}=\overrightarrow{{B}_{4}{Q}_{1}}+\overrightarrow{{Q}_{1}{B}_{7}}\). Since \(\overrightarrow{m}\) and \(\overrightarrow{{n}_{1}}\) are two different vectors, \(\overrightarrow{{B}_{4}{B}_{7}}\) has only unique expression when expressed by base {\(\overrightarrow{m}, \overrightarrow{{n}_{1}}\}\). Considering \(\overrightarrow{{B}_{4}{Q}_{1}}\) and \(\overrightarrow{{n}_{1}}\), \(\overrightarrow{{Q}_{1}{B}_{7}}\) and \(\overrightarrow{m}\) have the same directions, it can be deduced that \(\overrightarrow{{B}_{4}{Q}_{1}}=\frac{889}{429}\overrightarrow{{n}_{1}}\) and \(\overrightarrow{{Q}_{1}{B}_{7}}=\frac{398}{429}\overrightarrow{m}\), i.e. \(\left|\overrightarrow{{B}_{4}{Q}_{1}}\right|=\frac{889}{429}{l}_{1}\). Similarly, \(\left|\overrightarrow{{B}_{11}{Q}_{2}}\right|=\frac{889}{429}{l}_{2}\). From Theorem 1, it is known that \({B}_{7}{B}_{8}\) and the angle bisector of \(\mathrm{\angle }{{P}_{0}P}_{1}{P}_{2}\) are perpendicular. As shown in Fig. 1, the angle bisector of \(\mathrm{\angle }{{P}_{0}P}_{1}{P}_{2}\) and \({B}_{7}{B}_{8}\) intersect at point \({B}_{m}\); then, \({B}_{m}\) is the midpoint of \({B}_{7}{B}_{8}\). In right triangle ∆\({Q}_{1}{P}_{1}{B}_{m}\), \(\left|\overrightarrow{{B}_{m}{Q}_{1}}\right|=\left|\overrightarrow{{Q}_{1}{B}_{7}}\right|+\frac{\left|\overrightarrow{{B}_{7}{B}_{8}}\right|}{2}=\frac{1225}{858}\sqrt{{{l}_{1}l}_{2}}\), \(\angle {{Q}_{1}P}_{1}{B}_{m}=\frac{\pi -\theta }{2}\), then \(\left|\overrightarrow{{Q}_{1}{P}_{1}}\right|=\frac{1225\sqrt{{{l}_{1}l}_{2}}}{858\mathrm{cos}\frac{\theta }{2}}\). Similarly, \(\left|\overrightarrow{{Q}_{2}{P}_{1}}\right|=\frac{1225\sqrt{{{l}_{1}l}_{2}}}{858cos\frac{\theta }{2}}\).
Appendix 3. Proof process of Theorem 3
When \({l}_{1}={l}_{2}\), the proposed PH spline is symmetrical about the angle bisector of \(\angle {{P}_{0}P}_{1}{P}_{2}\); then, the maximum deviation error occurs between the mid-point of the proposed PH spline and corner point \({P}_{1}\), which can be expressed as
From Eq. (10), it can be deduced that
Combining Eqs. (24) and (25), the maximum deviation error \({e}_{\mathrm{max}}\) is expressed as
Considering \(\left|\overrightarrow{{T}_{2}}-\overrightarrow{{T}_{1}}\right|=2\mathit{sin}\left(\frac{\theta }{2}\right)\) and \(l=\frac{16384\times 1225}{858cos(\frac{\theta }{2})}\sqrt{{{l}_{1}l}_{2}}=\frac{16384\times 1225}{858cos(\frac{\theta }{2})}{l}_{1}\), Eq. (13) can be obtained and Theorem 3 is proved.
Appendix 4. Proof process of Theorem 4
If \({l}_{1}={l}_{2}\), \(R(t)\) is the same as \(r(t)\) and \({e}_{r}={e}_{R}\). Without loss of generality, translate, rotate and, if necessary, reflect transition PH spline such that \({P}_{1}\) is at the origin, \({P}_{0}\) is on the negative x-axis, \({P}_{2}\) is above the x-axis and \({l}_{1}>{l}_{2}\). Replace \({l}_{1}\) and \({l}_{2}\) in Eq. (10) with \({l}_{0}=\mathrm{max}\left({l}_{1},{l}_{2}\right)={l}_{1}\) to get the control points of \(R(t)\), which is denoted by \({\overline{B} }_{i} (i=\mathrm{0,1},2,\dots , 15)\). Subtracting \({B}_{i}\) from \({\overline{B} }_{i}\), we arrive at
It is obvious that \({\overline{B} }_{i}-{B}_{i}={a}_{i}\overrightarrow{{T}_{1}}+{b}_{i}\overrightarrow{{T}_{2}}\), \({a}_{i}\le 0\) and \({b}_{i}\ge 0\) for \(i=\mathrm{0,1},\dots ,15\). Considering \(r\left(t\right)={\sum }_{i=0}^{15}{B}_{i}{b}_{i}^{15}\left(t\right)\) and \(R\left(t\right)={\sum }_{i=0}^{15}{\overline{B} }_{i}{b}_{i}^{15}\left(t\right)\), we have
where \({f}_{1}(t)\le 0\) and \({f}_{2}(t)\ge 0\) for arbitrary \(t\in [0, 1]\). As shown in Fig. 24, the region bounded by the transition PH spline \(r(t)\) and the linear trajectory \({P}_{0}{-P}_{1}-{P}_{2}\) is denoted as \(\mathrm{S}\). Then, it can be deduced from Eq. (27) that \(R\left(t\right)\) is outside of \(\mathrm{S}\) for arbitrary \(t\in [0, 1]\). From the convex hull property of Bezier spine, the transition PH spline \(R(t)\) is inside of ∆\({P}_{0}{P}_{1}{P}_{2}\). Then, for arbitrary \({t}_{1}\in [0, 1]\), there is an intersection point between the line segment \(\overline{{P }_{1}R({t}_{1})}\) and the transition PH spline \(r(t)\); in other words, there is a \({t}_{2}\in [0, 1]\) such that \(\left|\overrightarrow{{P}_{1}r({t}_{2})}\right|\le \left|\overrightarrow{{P}_{1}R({t}_{1})}\right|\), which gives \({e}_{r}\le {e}_{R}\) naturally.
Appendix 5. Parameters of butterfly-shaped curve
The degree: p = 3.
The control point (mm): P = [(54.493, 52.139), (55.507,52.139), (56.082, 49.615), (56.780, 44.971), (69.575,51.358), (77.786, 58.573), (90.526, 67.081), (105.973,63.801), (100.400, 47.326), (94.567, 39.913), (92.369,30.485), (83.440, 33.757), (91.892, 28.509), (89.444,20.393), (83.218, 15.446), (87.621, 4.830), (80.945, 9.267),(79.834, 14.535), (76.074, 8.522), (70.183, 12.550), (64.171,16.865), (59.993, 22.122), (55.680, 36.359), (56.925, 24.995),(59.765, 19.828), (54.493, 14.940), (49.220, 19.828), (52.060,24.994), (53.305, 36.359), (48.992, 22.122), (44.814, 16.865),(38.802, 12.551), (32.911, 8.521), (29.152, 14.535), (28.040,9.267), (21.364, 4.830), (25.768, 15.447), (19.539, 20.391),(17.097, 28.512), (25.537, 33.750), (16.602, 30.496), (14.199,39.803), (8.668, 47.408), (3.000, 63.794), (18.465, 67.084),(31.197, 58.572), (39.411, 51.358), (52.204, 44.971), (52.904,49.614), (53.478, 52.139), (54.492, 52.139)].
The knot vector: U = [0, 0, 0, 0, 0.0083, 0.015, 0.0361, 0.0855, 0.1293, 0.1509, 0.1931, 0.2273, 0.2435, 0.2561, 0.2692, 0.2889, 0.3170, 0.3316, 0.3482, 0.3553, 0.3649, 0.3837, 0.4005, 0.4269, 0.4510, 0.4660, 0.4891, 0.5000, 0.5109, 0.5340, 0.5489, 0.5731, 0.5994, 0.6163, 0.6351, 0.6447, 0.6518, 0.6683, 0.6830, 0.7111, 0.7307, 0.7439, 0.7565, 0.7729, 0.8069, 0.8491, 0.8707, 0.9145, 0.9639, 0.9850, 0.9917, 1.0, 1.0, 1.0, 1.0].
The weight vector: W = [1.0, 1.0, 1.0, 1.2, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1, 2, 1.0, 1.0, 5.0, 3.0, 1.0, 1.1, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.1, 1.0, 3.0, 5.0, 1.0, 1.0, 2.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.2, 1.0, 1.0, 1.0].
Rights and permissions
About this article
Cite this article
Jiang, X., Hu, Y., Huo, G. et al. Asymmetrical Pythagorean-hodograph spline-based \({{\mathrm{C}}}^{4}\) continuous local corner smoothing method with jerk-continuous feedrate scheduling along linear toolpath. Int J Adv Manuf Technol 121, 5731–5754 (2022). https://doi.org/10.1007/s00170-022-09463-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00170-022-09463-y