Skip to main content
Log in

A G3 continuous five-axis tool path corner smoothing method with improved machining efficiency and accurately controlled deviation of tool axis orientation

  • ORIGINAL ARTICLE
  • Published:
The International Journal of Advanced Manufacturing Technology Aims and scope Submit manuscript

Abstract

Parts with free-form surfaces are machined by connecting short linear tool path segments on five-axis computer numerical control (CNC) machining centers. Discontinuities at the junctions of linear segments reduce the machining efficiency, leave marks on the finish surfaces, and cause higher tracking errors, hence leading to larger contouring errors. This paper aims to improve the machining efficiency and accuracy of previously presented G3 continuous tool path smoothing method for 5-axis CNC machining (Sun and Altintas in CIRP J Manuf Sci Tec 32:529–549, [8]). Compared with the previous work, this paper improves the machining efficiency by optimizing the maximum feedrate along the transition splines while respecting the corner transition error tolerance, chord error tolerance, and tangential kinematic limits (i.e., the feedrate command, tangential acceleration, and jerk limits) at the connection points or “corners”. To improve the machining accuracy, this paper takes the maximum feedrate allowed on the tool tip position spline as one of the constraints to keep the path deviation of tool axis orientation within the tolerance when the tool axis orientation is smoothed. In the paper, the bottom tool path segments are first smoothed by Bezier spline with an optimized feedrate while respecting corner error tolerance and tangential kinematic limits. Then, the top tool axis orientation path segments are smoothed with additional feedrate synchronization constraint. At last, the tool axis orientation and tool tip positions are synchronized to avoid discontinuous displacements along the tool axis, and the maximum feedrate allowed on the bottom corner transition spline would be further limited when the bottom or top corner transition spline is revised. The effectiveness of the proposed method to smoothen the five-axis tool paths have been demonstrated with simulations and experiments.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Abbreviations

\({Q}_{i}^{b}\) :

Tool tip position retrieved from tool path data (NC)

\({Q}_{i}^{t}\) :

Tool axis orientation vector retrieved from tool path data (NC)

\({B}_{i}^{b}\) :

Bezier spline inserted into the corner defined by points \(\left({Q}_{i-1}^{b},{Q}_{i}^{b},{Q}_{i+1}^{b}\right)\)

\({V}_{i}^{b}\) :

Maximum allowed feedrate of Bezier spline \({B}_{i}^{b}\)

\({P}_{i,m}^{b}\left(m=0,...,6\right)\) :

Control points of Bezier spline \({B}_{i}^{b}\)

\(\eta\) :

Angle \(\mathrm{\angle }{Q}_{i-1}^{b}{Q}_{i}^{b}{Q}_{i+1}^{b}\)

\({l}_{i}^{b}\) :

Transition length of Bezier \({B}_{i}^{b}\)  evaluated as the length of \(\overrightarrow{{P}_{i,0}^{b}{P}_{i,1}^{b}}\)

\(C(u)\) :

Bezier spline

\({C}^{b}\left(u\right),{C}^{t}(u)\) :

Tool tip position Bezier spline and tool axis orientation Bezier spline, respectively

\(P_i\) :

Control points of \(C(u)\) at \(i\)

\({b}_{i,n}(u)\) :

Basis functions of \(C(u)\)

u :

Spline parameter \((0\le u\le 1)\)  

\({\kappa }_{i,\mathrm{max}}^{b}\) :

Maximum curvature of the Bezier spline \({B}_{i}^{b}\)

\({e}_{trans}^{b},{e}_{ch}^{b}\) :

Corner transition error tolerance and chord error tolerance of tool tip position path, respectively

\(F,{A}_{\mathrm{max}},{J}_{\mathrm{max}}\) :

Feedrate command, tangential acceleration, and jerk limits, respectively

\({V}_{ch,i}^{b},{V}_{Acc,i}^{b},{V}_{J,i}^{b}\) :

Maximum allowed feedrate under the constraints of \({e}_{ch}^{b}\), \({A}_{\mathrm{max}}\), and \({J}_{\mathrm{max}}\), respectively

T :

Interpolation period

\({\delta }_{trans,i}^{b}\) :

\({\delta }_{trans,i}=\Vert {Q}_{i}^{b}{B}_{i}^{b}\left(0.5\right)\Vert\) is the corner transition error of Bezier spline \({B}_{i}^{b}\)

\({\delta }_{ch,i}^{b}\) :

Chord error during the interpolation of Bezier spline \({B}_{i}^{b}\)

\({\delta }_{CE,i}^{b}\) :

Corner error of corner \({Q}_{i-1}^{b}{Q}_{i}^{b}{Q}_{i+1}^{b}\)

\({e}_{CE}^{b}\) :

\({e}_{CE}^{b}={e}_{trans}^{b}+{e}_{ch}^{b}\) is the corner error tolerance of tool tip position path

\({g}_{1}\left(\kappa \right),{g}_{2}\left(\kappa \right)\) :

Functions of \({V}_{ch,i}^{b}-F\), \({V}_{ch,i}^{b}-{V}_{J,i}^{b}\), respectively

\({N}_{{g}_{2}(\kappa)}\) :

Number of real roots of function \({g}_{2}\left(\kappa \right)=0\)  

\({\kappa }_{i,\mathrm{max},k}^{b}\left(k=1,...,6\right)\) :

Curvature of candidate feedrates of \({V}_{i}^{b}\)

\({g}_{3}\left(\kappa \right)\) :

Maximum allowed feedrate of Bezier spline \({B}_{i}^{b}\) at curvature parameter \(\kappa\)

\({d}_{i,pre}^{b},{d}_{i,after}^{b}\) :

Length of linear segments \({Q}_{i-1}^{b}{Q}_{i}^{b}\), \({Q}_{i}^{b}{Q}_{i+1}^{b}\), respectively

\({e}_{orientation}\) :

Tool axis orientation error tolerance

\({u}_{j},{u}_{j+1}\) :

Parameters of Bezier spline \({B}_{i}^{b}\)

\({B}_{i}^{t}\) :

Bezier spline inserted into the corner of tool axis orientation path defined by points \(\left({Q}_{i-1}^{t},{Q}_{i}^{t},{Q}_{i+1}^{t}\right)\)

\({P}_{i,middle}^{b},{P}_{i,middle}^{t}\) :

Middle points of linear segments \({B}_{i}^{b}\left({u}_{j}\right){B}_{i}^{b}\left({u}_{j+1}\right)\) and \({B}_{i}^{t}\left({u}_{j}\right){B}_{i}^{t}\left({u}_{j+1}\right)\), respectively

\({\delta }_{CE,i}^{t}\) :

Corner error of corner \({Q}_{i-1}^{t}{Q}_{i}^{t}{Q}_{i+1}^{t}\)

\({e}_{CE}^{t}\) :

\({e}_{CE}^{t}={e}_{trans}^{t}+{e}_{ch}^{t}\) is the corner error tolerance of tool axis orientation path

\({e}_{ch,i}^{b},{e}_{ch,i}^{t}\) :

Revised chord error tolerance of Bezier splines \({B}_{i}^{b}\) and \({B}_{i}^{t}\), respectively

\(O\) :

Center of the circle of curvature at point \({B}_{i}^{b}\left(0.5\right)\)

\(\alpha\) :

Half of the central angle \(\angle {B}_{i}^{b}\left({u}_{j}\right)O{B}_{i}^{b}\left({u}_{j+1}\right)\)

\(\overset\frown{B_i^b\left(u_j\right)B_i^b\left(u_{j+1}\right)}\) :

Arc length along Bezier spline \({B}_{i}^{b}\) in a single interpolation period at point \({B}_{i}^{b}\left(0.5\right)\)  

\({C}^{b{^{\prime}}},{C}^{b{^{\prime\prime}}}\) :

The first and second derivatives of tool tip position path, respectively

\({P}_{i,m}^{t}\left(m=0,...,6\right)\) :

Control points of Bezier spline \({B}_{i}^{t}\) 

\({l}_{i}^{t}\) :

Transition length of Bezier \({B}_{i}^{t}\), which is evaluated as the length of \(\overrightarrow{{P}_{i,0}^{t}{P}_{i,1}^{t}}\)  

\({S}_{spline,i}^{t}\left({l}_{i}^{t},{u}_{1},{u}_{2}\right)\) :

Arc length along Bezier spline \({B}_{i}^{t}\)  in parameter interval \(\left[{u}_{1},{u}_{2}\right]\)

\({v}_{i}^{t}\) :

Feedrate on the tool axis orientation spline \({B}_{i}^{t}\)  in parameter interval \(\left[{u}_{1},{u}_{2}\right]\)

\(\theta\) :

Angle \(\mathrm{\angle }{Q}_{i-1}^{t}{Q}_{i}^{t}{Q}_{i+1}^{t}\)

\({e}_{ch}^{t}\) :

Chord error tolerance of tool axis orientation path

\(\begin{array}{r}dOri/ds,\,{d}^{2}Ori/d{s}^{2},\\\,{d}^{3}Ori/d{s}^{3}\end{array}\) :

Rate of change in tool axis orientation with respect to the tool tip displacement

\({u}_{s},{u}_{ss},{u}_{sss}\) :

The first, second, and third derivatives of u with respect to the tool tip displacement

\({C}^{t{^{\prime}}},\,{C}^{t{^{\prime\prime}}},\,{C}^{{t^{\prime\prime\prime}}}\) :

The first, second, and third derivatives of tool axis orientation path, respectively

\({u}_{extreme,k}\left(k=1,...,N\right)\) :

Parameters of maximum curvature points on the final constructed Bezier splines (\({B}_{i}^{b}\), \({B}_{i}^{t}\))

\({O}_{extreme,1}^{t}\) :

Center of the circle of curvature at point \({B}_{i}^{t}\left({u}_{extreme,1}\right)\)

\({\alpha }_{extreme,1}^{t}\) :

Half of the central angle \(\mathrm{\angle }{B}_{i}^{t}\left({u}_{r}\right){O}_{extreme,1}^{t}{B}_{i}^{t}\left({u}_{r+1}\right)\)

\({V}_{{u}_{extreme,k}}\left(k=1,...,N\right)\) :

The maximum allowed feedrate of Bezier spline \({B}_{i}^{b}\)  at point \({B}_{i}^{b}\left({u}_{extreme,k}\right)\)

\(\begin{array}{r}\left({d}^{3}X/d{s}^{3},\right.{d}^{3}Y/d{s}^{3},\\ \left.{d}^{3}Z/d{s}^{3}\right)\end{array}\) :

The third geometric derivatives of the tool tip \({Q}^{b}(X,Y,Z)\)  with respect to displacement

\(\begin{array}{l}\left({d}^{3}i/d{s}^{3},\right.{d}^{3}j/d{s}^{3},\\ \left.{d}^{3}k/d{s}^{3}\right)\end{array}\) :

The third geometric derivatives of the tool axis orientation \(Ori(i,j,k)\)  with respect to displacement

References

  1. Langeron JM, Duc E, Lartigue C, Bourdet P (2004) A new format for 5-axis tool path computation, using Bspline curves. Comput Aided Design 36(12):1219–1229. https://doi.org/10.1016/j.cad.2003.12.002

    Article  Google Scholar 

  2. Zhao X, Zhao H, Li X, Ding H (2017) Path smoothing for five-axis machine tools using dual quaternion approximation with dominant points. Int J Precis Eng Man 18(5):711–720. https://doi.org/10.1007/s12541-017-0085-5

    Article  Google Scholar 

  3. Fleisig RV, Spence AD (2001) A constant feed and reduced angular acceleration interpolation algorithm for multi-axis machining. Comput Aided Design 33(1):1–15. https://doi.org/10.1016/S0010-4485(00)00049-X

    Article  Google Scholar 

  4. Wang Y, Ma X, Chen L, Han Z (2007) Realization methodology of a 5-axis spline interpolator in an open CNC system. Chinese J Aeronaut 20(4):362–369. https://doi.org/10.1016/S1000-9361(07)60056-9

    Article  Google Scholar 

  5. Li D, Zhang W, Zhou W, Shang T, Fleischer J (2018) Dual NURBS path smoothing for 5-axis linear path of flank milling. Int J Precis Eng Man 19(12):1811–1820. https://doi.org/10.1007/s12541-018-0209-6

    Article  Google Scholar 

  6. Zhang J, Zhang L, Zhang K, Mao J (2016) Double NURBS trajectory generation and synchronous interpolation for five-axis machining based on dual quaternion algorithm. Int J Adv Manuf Tech 83(9–12):2015–2025. https://doi.org/10.1007/s00170-015-7723-9

    Article  Google Scholar 

  7. Yuen A, Zhang K, Altintas Y (2013) Smooth trajectory generation for five-axis machine tools. Int J Mach Tool Manu 71:11–19. https://doi.org/10.1016/j.ijmachtools.2013.04.002

    Article  Google Scholar 

  8. Sun S, Altintas Y (2021) A G3 continuous tool path smoothing method for 5-axis CNC machining. CIRP J Manuf Sci Tec 32:529–549. https://doi.org/10.1016/j.cirpj.2020.11.002

    Article  Google Scholar 

  9. Beudaert X, Lavernhe S, Tournier C (2013) 5-axis local corner rounding of linear tool path discontinuities. Int J Mach Tool Manu 73:9–16. https://doi.org/10.1016/j.ijmachtools.2013.05.008

    Article  Google Scholar 

  10. Xu F, Sun Y (2018) A circumscribed corner rounding method based on double cubic B-splines for a five-axis linear tool path. Int J Adv Manuf Tech 94:451–462. https://doi.org/10.1007/s00170-017-0869-x

    Article  Google Scholar 

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

  12. Bi Q, Shi J, Wang Y, Zhu L, Ding H (2015) Analytical curvature-continuous dual-Bézier corner transition for five-axis linear tool path. Int J Mach Tool Manu 91:96–108. https://doi.org/10.1016/j.ijmachtools.2015.02.002

  13. Tulsyan S, Altintas Y (2015) Local tool path smoothing for five-axis machine tools. Int J Mach Tool Manu 96:15–26. https://doi.org/10.1016/j.ijmachtools.2015.04.014

    Article  Google Scholar 

  14. Yang J, Yuen A (2017) An analytical local corner smoothing algorithm for five-axis CNC machining. Int J Mach Tool Manu 123:22–35. https://doi.org/10.1016/j.ijmachtools.2017.07.007

    Article  Google Scholar 

  15. Hu Q, Chen Y, Jin X, Yang J (2020) A real-Time C3 continuous tool path smoothing and interpolation algorithm for five-axis machine tools. J Manuf Sci E-T ASME 142(4):041002. https://doi.org/10.1115/1.4046091

    Article  Google Scholar 

  16. Fan W, Lee CH, Chen JH (2015) A realtime curvature-smooth interpolation scheme and motion planning for CNC machining of short line segments. Int J Mach Tool Manu 96:2–46. https://doi.org/10.1016/j.ijmachtools.2015.04.009

    Article  Google Scholar 

  17. Grandguillaume L, Lavernhe S, Tournier C (2016) A tool path patching strategy around singular point in 5-axis ball-end milling. Int J Prod Res 54(24):7480–7490. https://doi.org/10.1080/00207543.2016.1196835

    Article  Google Scholar 

  18. Altintas Y, Erkorkmaz Y (2003) Feedrate optimization for spline interpolation in high speed machine tools. CIRP Ann-Manuf Techn 52(1):297–302. https://doi.org/10.1016/S0007-8506(07)60588-5

    Article  Google Scholar 

  19. 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 Design 115:231–243. https://doi.org/10.1016/j.cad.2019.04.004

    Article  MathSciNet  Google Scholar 

  20. Piegl L, Tiller W (1997) The NURBS book. 2nd ed. Springer, Berlin. https://doi.org/10.1007/978-3-642-59223-2

  21. Lindfield G, Penny J (2019) Numerical Methods: using MATLAB. 4th ed. Elsevier, London. https://doi.org/10.1016/C2016-0-00395-9

  22. Hu Q, Chen Y, Yang J, Ding H (2018) An analytical C3 continuous local corner smoothing algorithm for four-axis computer numerical control machine tools. J Manuf Sci E-T ASME 140(5):051004. https://doi.org/10.1115/1.4039116

    Article  Google Scholar 

  23. Liang F, Kang C, Fang F (2021) A review on tool orientation planning in multi-axis machining. Int J Prod Res 59(18):5690–5720. https://doi.org/10.1080/00207543.2020.1786187

    Article  Google Scholar 

  24. Lyu D, Liu Q, Liu H, Zhao W (2020) Dynamic error of CNC machine tools: a state-of-the-art review. Int J Adv Manuf Tech 106(5–6):1869–1891. https://doi.org/10.1007/s00170-019-04732-9

    Article  Google Scholar 

  25. Yeung C, Altintas Y, Erkorkmaz K (2006) Virtual CNC system. Part I. System architecture. Int J Mach Tool Manu 46 (10):1107–1123. https://doi.org/10.1016/j.ijmachtools.2005.08.002

  26. Altintas Y, Erkorkmaz K, Zhu WH (2000) Sliding mode controller design for high speed feed drives. CIRP Ann-Manuf Tech 49(1):265–270. https://doi.org/10.1016/S0007-8506(07)62943-6

    Article  Google Scholar 

  27. Okwudire C, Altintas Y (2009) Minimum tracking error control of flexible ball screw drives using a discrete-time sliding mode controller. J Dyn Syst-T ASME 131(5):051006. https://doi.org/10.1115/1.3155005

    Article  Google Scholar 

  28. Erkorkmaz K (2004) Optimal Trajectory Generation and Precision Tracking Control for Multi-axis Machines, Ph.D. Thesis. University of British Columbia, Vancouver. https://doi.org/10.14288/1.0080705

  29. Basu S, Pollack R, Roy MF (2006) Algorithms in real algebraic geometry. 2nd ed. Springer, Berlin. https://doi.org/10.1007/3-540-33099-2

Download references

Acknowledgements

Prof. Yusuf Altintas supervised and supported the research. The author also thanks Atakan Zeybek, a master student at Manufacturing Automation Laboratories (MAL) of the University of British Columbia (UBC), Canada, for supporting experimental portion of this work.

Funding

This research is sponsored by the Chinese Academy of Sciences in the form of Postdoctoral Fellowship to Sun Shujie (National Natural Science Foundation of China-NSFC, 62002308; China Scholarship Council; China Postdoctoral Science Foundation, 2018M641729; Shandong Provincial Natural Science Foundation, china, ZR2018BEE019), and NSERC Canadian Network for Research and Innovation in Machining Technology Network Phrase 2 (CANRIMT2).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shujie Sun.

Ethics declarations

Ethics approval

Not applicable.

Consent to participate

Not applicable.

Consent for publication

Not applicable.

Conflicts of interest

The author declares 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

The intersection points of F and \({V}_{ch,i}^{b}\) are illustrated in Fig. 16 and \({\kappa }_{i,\mathrm{max},1}^{b}\) is evaluated as the following logic:

Fig. 16
figure 16

Intersection points of \(F\) and \({V}_{ch,i}^{b}\). a No solution. b 1 solution. c 2 solutions

  • If \({N}^{2}-4MH<0\) (Fig. 16a), \({g}_{1}\left(\kappa \right)=0\) does not have real roots, and the curvature for \({V}_{i}^{b}\) is \({\kappa }_{3}\), i.e., \({\kappa }_{i,\mathrm{max},1}^{b}=-2M/N\).

  • If \({N}^{2}-4MH=0\) (Fig. 16b), \({g}_{1}\left(\kappa \right)=0\) has only one real root, and the curvature for \({V}_{i}^{b}\) is \({\kappa }_{3}\), i.e., \({\kappa }_{i,\mathrm{max},1}^{b}=-2M/N\).

  • If \({N}^{2}-4MH>0\) (Fig. 16c), \({g}_{1}\left(\kappa \right)=0\) has two real roots, and the curvature for \({V}_{i}^{b}\) is the minimum real root of \({g}_{1}\left(\kappa \right)=0\), i.e., \({\kappa }_{i,\mathrm{max},1}^{b}=\frac{2M}{-N-\sqrt{{N}^{2}-4MH}}\).

Hence, \({\kappa }_{i,\mathrm{max},1}^{b}\) is evaluated as:

$$\kappa_{i,\max,1}^b=\left\{\begin{array}{c}-2M/N\;\;\;\;if\;\;N^2-4MH\le0\;\;\;\;\;\;\;\;\;\;\\\frac{2M}{-N-\sqrt{N^2-4MH}}\;\;\;\;if\;\;N^2-4MH>0\end{array}\right.$$
(43)

Appendix 2

The number of distinct real roots of \({g}_{2}\left(\kappa \right)\) is evaluated by the Sturm’s theorem [29]. The Sturm sequence of \({g}_{2}\left(\kappa \right)\) is the sequence of polynomials \({f}_{i}\left(x\right)\left(i=0,...,6\right)\) and evaluated as:

$${f}_{0}\left(x\right)={e}_{6}{x}^{6}+{e}_{5}{x}^{5}+{e}_{4}{x}^{4}+{e}_{3}{x}^{3}+{e}_{2}{x}^{2}+{e}_{1}{x}^{1}+{e}_{0}{x}^{0}$$
(44)

where \({e}_{6}={M}^{3}\), \({e}_{5}=3{M}^{2}N\), \({e}_{4}=3M{N}^{2}-3{M}^{2}{\left({e}_{CE}^{b}\right)}^{2}-\frac{{J}_{\mathrm{max}}^{2}{T}^{6}}{{2}^{6}}\), \({e}_{3}=N\left({N}^{2}-6M{\left({e}_{CE}^{b}\right)}^{2}\right)\), \({e}_{2}=3{\left({e}_{CE}^{b}\right)}^{2}\left(M{\left({e}_{CE}^{b}\right)}^{2}-{N}^{2}\right)\), \({e}_{1}=3N{\left({e}_{CE}^{b}\right)}^{4}\), \({e}_{0}=0\), \(x=\frac{1}{{\kappa }_{i,\mathrm{max},6}^{b}}\)

$${f}_{1}\left(x\right)={f}_{5}{x}^{5}+{f}_{4}{x}^{4}+{f}_{3}{x}^{3}+{f}_{2}{x}^{2}+{f}_{1}{x}^{1}+{f}_{0}={f}^{^{\prime}}\left(x\right)$$
(45)

where \({f}_{5}=6{e}_{6},{f}_{4}=5{e}_{5},{f}_{3}=4{e}_{4},{f}_{2}=3{e}_{3},{f}_{1}=2{e}_{2},{f}_{0}={e}_{1}\)

$${f}_{2}\left(x\right)={g}_{4}{x}^{4}+{g}_{3}{x}^{3}+{g}_{2}{x}^{2}+{g}_{1}{x}^{1}+{g}_{0}=-rem\left({f}_{0}\left(x\right),{f}_{1}\left(x\right)\right)$$
(46)

where \({g}_{4}=a{f}_{3}+b{f}_{4}-{e}_{4}\), \({g}_{3}=a{f}_{2}+b{f}_{3}-{e}_{3}\), \({g}_{2}=a{f}_{1}+b{f}_{2}-{e}_{2}\), \({g}_{1}=a{f}_{0}+b{f}_{1}-{e}_{1}\), \({g}_{0}=b{f}_{0}-{e}_{0}\), \(a=\frac{{e}_{6}}{{f}_{5}}\), \(b=\frac{{e}_{5}-a{f}_{4}}{{f}_{5}}\)

$${f}_{3}\left(x\right)={h}_{3}{x}^{3}+{h}_{2}{x}^{2}+{h}_{1}{x}^{1}+{h}_{0}=-rem\left({f}_{1}\left(x\right),{f}_{2}\left(x\right)\right)$$
(47)

where \({h}_{3}=c{g}_{2}+d{g}_{3}-{f}_{3}\), \({h}_{2}=c{g}_{1}+d{g}_{2}-{f}_{2}\), \({h}_{1}=c{g}_{0}+d{g}_{1}-{f}_{1}\), \({h}_{0}=d{g}_{0}-{f}_{0}\), \(d=\frac{{f}_{4}-c{g}_{3}}{{g}_{4}}\), \(c=\frac{{f}_{5}}{{g}_{4}}\),

$${f}_{4}\left(x\right)={i}_{2}{x}^{2}+{i}_{1}x+{i}_{0}=-rem\left({f}_{2}\left(x\right),{f}_{3}\left(x\right)\right)$$
(48)

where \({i}_{2}=e{h}_{1}+f{h}_{2}-{g}_{2}\), \({i}_{1}=e{h}_{0}+f{h}_{1}-{g}_{1}\), \({i}_{0}=f{h}_{0}-{g}_{0}\), \(f=\frac{{g}_{3}-e{h}_{2}}{{h}_{3}}\), \(e=\frac{{g}_{4}}{{h}_{3}}\)

$${f}_{5}\left(x\right)={j}_{1}x+{j}_{0}=-rem\left({f}_{3}\left(x\right),{f}_{4}\left(x\right)\right)$$
(49)

where \({j}_{1}=g{i}_{0}+h{i}_{1}-{h}_{1}\), \({j}_{0}=h{i}_{0}-{h}_{0}\), \(h=\frac{{h}_{2}-g{i}_{1}}{{i}_{2}}\), \(g=\frac{{h}_{3}}{{i}_{2}}\)

$${f}_{6}\left(x\right)={k}_{0}=-rem\left({f}_{4}\left(x\right),{f}_{5}\left(x\right)\right)$$
(50)

where \({k}_{0}=j{j}_{0}-{i}_{0}\), \(j=\frac{{i}_{2}-i{j}_{0}}{{j}_{1}}\), \(i=\frac{{i}_{2}}{{j}_{1}}\)

The number of sign variation at parameter \(\kappa\) of the Sturm sequence of \({g}_{2}\left(\kappa \right)\) is donated here as \(signal\_change\left(\kappa \right)\). Hence, the number of distinct real roots of \({g}_{2}\left(\kappa \right)\) in the curvature interval \(\left[{\kappa }_{2},{\kappa }_{1}\right]\) is:

$$\begin{array}{c}signal\_change\left({f}_{0}\left(^1/_{\kappa_1}\right),{f}_{1}\left(^1/_{\kappa_{1}}\right),{f}_{2}\left(^1/_{\kappa_{1}}\right),{f}_{3}\left(^1/_{\kappa_{1}}\right),{f}_{4}\left(^1/_{\kappa_{1}}\right),{f}_{5}\left(^1/_{\kappa_{1}}\right),{f}_{6}\left(^1/_{\kappa_{1}}\right)\right)-\\ signal\_change\left({f}_{0}\left(^1/_{\kappa_{2}}\right),{f}_{1}\left(^1/_{\kappa_{2}}\right),{f}_{2}\left(^1/_{\kappa_{2}}\right),{f}_{3}\left(^1/_{\kappa_{2}}\right),{f}_{4}\left(^1/_{\kappa_{2}}\right),{f}_{5}\left(^1/_{\kappa_{2}}\right),{f}_{6}\left(^1/_{\kappa_{2}}\right)\right)\end{array}$$
(51)

Appendix 3

The first, second, and third derivatives of \(C(u)\) (Eq. 3) are [20]:

$$\left.\begin{array}{c}{C^{^{\prime}}}(u)=n\sum\limits_{i=0}^{n-1}{b}_{i,n-1}(u)({P}_{i\text{+}1}-{P}_{i})\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\\ {C^{^{\prime\prime}}}(u)=n(n-1)\sum\limits_{i=0}^{n-2}{b}_{i,n-2}(u)({P}_{i+2}-2{P}_{i+1}+{P}_{i})\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\\ {C^{^{\prime\prime\prime}}}(u)=n(n-1)(n-2)\sum\limits_{i=0}^{n-3}{b}_{i,n-3}(u)({P}_{i+3}-3{P}_{i+2}+3{P}_{i+1}-{P}_{i})\end{array}\right\}$$
(52)

As shown in Fig. 5, the first, second, and third derivatives of splines \({B}_{i}^{b}\) and \({B}_{i}^{t}\) at their starting points (\(u=0\)) can be evaluated as \({C}^{b^{\prime}}(0)=6l\overrightarrow{{Q}_{i-1}^{b}{Q}_{i}^{b}}/\Vert \overrightarrow{{Q}_{i-1}^{b}{Q}_{i}^{b}}\Vert\), \({C}^{b^{\prime\prime}}(0)=0\), \({C}^{b^{\prime\prime\prime}}(0)\), and \({C}^{t^{\prime}}(0)=6l\overrightarrow{{Q}_{i-1}^{t}{Q}_{i}^{t}}/\Vert \overrightarrow{{Q}_{i-1}^{t}{Q}_{i}^{t}}\Vert\), \({C}^{t^{\prime\prime}}(0)=0\), \({C}^{t^{\prime\prime\prime}}(0)=0\), respectively. Combining Eq. (38), \({d}^{2}Ori/d{s}^{2}\), \({d}^{3}Ori/d{s}^{3}\) of the transition spline (\({B}_{i}^{b}\)) at the starting point (\({P}_{i,0}^{b}\)) and \({d}^{2}Ori/d{s}^{2}\), \({d}^{3}Ori/d{s}^{3}\) of tool path linear segment \({Q}_{i-1}^{b}{P}_{i,0}^{b}\) at the end point (\({P}_{i,0}^{b}\)) are zero, which indicates \({d}^{2}Ori/d{s}^{2}\) and \({d}^{3}Ori/d{s}^{3}\) are continuous at point \({P}_{i,0}^{b}\). Thus, it is only necessary to ensure \(dOri/ds\) is continuous at connection point \({P}_{i,0}^{b}\).

The first derivative of tool axis orientation of the linear segment \({Q}_{i-1}^{b}{P}_{i,0}^{b}\) at its end point \({P}_{i,0}^{b}\) (\(u=1\)) is evaluated as:

$$\frac{dOr{i}_{i-1}(u=1)}{ds}=\frac{{C}^{t^{\prime}}(1)}{\Vert {C}^{t}(1)\Vert }\frac{1}{\Vert {C}^{b^{\prime}}(1)\Vert }$$
(53)

Since \({C}^{t^{\prime}}\left(1\right)={P}_{i,0}^{t}={Q}_{i-1}^{t}\), \({C}^{b^{\prime}}\left(1\right)={P}_{i,0}^{b}={Q}_{i-1}^{b}\), and \({C}^{t}(1)={P}_{i,0}^{t}\), Eq. (53) can be reorganized as:

$$\frac{dOr{i}_{i-1}(u=1)}{ds}=\frac{{P}_{i,0}^{t}-{Q}_{i-1}^{t}}{\Vert {P}_{i,0}^{t}\Vert }\frac{1}{\Vert {P}_{i,0}^{b}-{Q}_{i-1}^{b}\Vert }$$
(54)

For the transition Bezier curve \({B}_{i}^{b}\), the first derivative of tool axis orientation at the starting point (\(u=0\)) is evaluated as:

$$\frac{dOr{i}_{i}(u=0)}{ds}=\frac{{C}^{t^{\prime}}(0)}{\Vert {C}^{t}(0)\Vert }\frac{1}{\Vert {C}^{b^{\prime}}(0)\Vert }$$
(55)

Since \({C}^{t^{\prime}}\left(0\right)=6({P}_{i,1}^{t}-{P}_{i,0}^{t})\), \({C}^{b^{\prime}}\left(0\right)=6({P}_{i,1}^{b}-{P}_{i,0}^{b})\), and \({C}^{t}(0)={P}_{i,0}^{t}\), Eq. (55) can be reorganized as:

$$\frac{dOr{i}_{i}(u=0)}{ds}=\frac{{P}_{i,1}^{t}-{P}_{i,0}^{t}}{\Vert {P}_{i,0}^{t}\Vert }\frac{1}{\Vert {P}_{i,1}^{b}-{P}_{i,0}^{b}\Vert }$$
(56)

\(dOri/ds\) must match at the connection point \({P}_{i,0}^{b}\) (i.e.\(dOr{i}_{i-1}(u=1)/ds\text{=}dOr{i}_{i}(u=0)/ds\)), which yields:

$$\frac{{P}_{i,0}^{t}-{Q}_{i-1}^{t}}{{P}_{i,0}^{b}-{Q}_{i-1}^{b}}=\frac{{P}_{i,1}^{t}-{P}_{i,0}^{t}}{{P}_{i,1}^{b}-{P}_{i,0}^{b}}$$
(57)

Considering,

$$\left\{\begin{array}{c}\Vert {P}_{i,1}^{b}-{P}_{i,0}^{b}\Vert =\Vert {P}_{i,2}^{b}-{P}_{i,1}^{b}\Vert =\Vert {Q}_{i}^{b}-{P}_{i,2}^{b}\Vert \\ \Vert {P}_{i,1}^{t}-{P}_{i,0}^{t}\Vert =\Vert {P}_{i,2}^{t}-{P}_{i,1}^{t}\Vert =\Vert {Q}_{i}^{t}-{P}_{i,2}^{t}\Vert \end{array}\right.$$
(58)

Therefore,

$$\frac{{P}_{i,1}^{t}-{P}_{i,0}^{t}}{{P}_{i,1}^{b}-{P}_{i,0}^{b}}=\frac{{P}_{i,2}^{t}-{P}_{i,1}^{t}}{{P}_{i,2}^{b}-{P}_{i,1}^{b}}=\frac{{Q}_{i}^{t}-{P}_{i,2}^{t}}{{Q}_{i}^{b}-{P}_{i,2}^{b}}$$
(59)

Combing Eq. (57),

$$\frac{{P}_{i,1}^{t}-{P}_{i,0}^{t}}{{P}_{i,1}^{b}-{P}_{i,0}^{b}}\text{=}\frac{{P}_{i,1}^{t}-{P}_{i,0}^{t}+{P}_{i,2}^{t}-{P}_{i,1}^{t}+{Q}_{i}^{t}-{P}_{i,2}^{t}\text{+}{P}_{i,0}^{t}-{Q}_{i-1}^{t}}{{P}_{i,1}^{b}-{P}_{i,0}^{b}+{P}_{i,2}^{b}-{P}_{i,1}^{b}+{Q}_{i}^{b}-{P}_{i,2}^{b}\text{+}{P}_{i,0}^{b}-{Q}_{i-1}^{b}}$$
(60)

Considering,

$$\left\{\begin{array}{c}{P}_{i,1}^{t}-{P}_{i,0}^{t}+{P}_{i,2}^{t}-{P}_{i,1}^{t}+{Q}_{i}^{t}-{P}_{i,2}^{t}+{P}_{i,0}^{t}-{Q}_{i-1}^{t}={Q}_{i}^{t}-{Q}_{i-1}^{t}\\ {P}_{i,1}^{b}-{P}_{i,0}^{b}+{P}_{i,2}^{b}-{P}_{i,1}^{b}+{Q}_{i}^{b}-{P}_{i,2}^{b}+{P}_{i,0}^{b}-{Q}_{i-1}^{b}={Q}_{i}^{b}-{Q}_{i-1}^{b}\end{array}\right.$$
(61)

Equation (60) leads to

$$\frac{{Q}_{i}^{t}-{Q}_{i-1}^{t}}{{Q}_{i}^{b}-{Q}_{i-1}^{b}}=\frac{{P}_{i,1}^{t}-{P}_{i,0}^{t}}{{P}_{i,1}^{b}-{P}_{i,0}^{b}}$$
(62)

Similarly,

$$\frac{{Q}_{i}^{t}-{Q}_{i+1}^{t}}{{Q}_{i}^{b}-{Q}_{i+1}^{b}}=\frac{{P}_{i,6}^{t}-{P}_{i,5}^{t}}{{P}_{i,6}^{b}-{P}_{i,5}^{b}}$$
(63)

Hence, the inserted transition Bezier spline \({B}_{i}^{b}\) which has continuous orientation yields Eq. (39).

Appendix 4

Similar with Eq. (6), the transition error tolerance of spline \({B}_{i}^{t}\) is evaluated as:

$${e}_{trans,i}^{t}=15{l}_{i}^{t}\sqrt{2\left(1+\mathrm{cos}\theta \right)}/32$$
(64)

where \({l}_{i}^{t}\) is obtained from Eq. (37).

The chord error tolerance is obtained as follows:

$${e}_{ch,i}^{t}={e}_{CE}^{t}-{e}_{trans,i}^{t}$$
(65)

Considering curvature at point \({B}_{i}^{t}\left({u}_{extreme,1}\right)\),

$${\kappa }_{{u}_{extreme,1}}^{t}\text{=}\frac{\Vert {B}^{t^{\prime}}({u}_{extreme,1})\times {B}^{t^{\prime\prime}}({u}_{extreme,1})\Vert }{{\Vert {B}^{t^{\prime}}({u}_{extreme,1})\Vert }^{3}}$$
(66)

The arc length along spline \({B}_{i}^{t}\) in a single interpolation period at point \({B}_{i}^{t}\left({u}_{extreme,1}\right)\) can be evaluated by the local approximation method as (Fig. 6):

$$\parallel\overset\frown{B_i^t\left(u_r\right)B_i^t\left(u_{r+1}\right)}\parallel=\frac2{\kappa_{u_{extreme,1}}^t}arcos\frac{1/\kappa_{u_{extreme,1}}^t-e_{ch,i}^t}{1/\kappa_{u_{extreme,1}}^t}$$
(67)

Therefore, the parameter \({u}_{r+1}\) is evaluated as:

$${u}_{r+1}=u\left({s}_{{u}_{extreme,1}}^{t}\right)+{\left.\frac{du}{ds}\right|}_{S={S}_{{u}_{extreme,1}}^{t}}\Delta {s}_{j}+{\left.\frac{1}{2}\frac{{d}^{2}u}{d{s}^{2}}\right|}_{S={S}_{{u}_{extreme,1}}^{t}}\Delta {s}_{j}^{2}$$
(68)

where

$$u\left(s_{u_{extreme,1}}^t\right)=u_{extreme,1},\Delta s_j=\parallel\overset\frown{B_i^t\left(u_r\right)B_i^t\left(u_{r+1}\right)}\parallel/2,$$
$$\frac{du}{ds}=\frac{du}{\sqrt{{d}_{x}^{2}+{d}_{y}^{2}+{d}_{z}^{2}}}=\frac{1}{\sqrt{x{(u)}^{^{\prime}{2}}+y{(u)}^{^{\prime}{2}}+z{(u)}^{^{\prime}{2}}}}=\frac{1}{\Vert {C}^{t^{\prime}}(u)\Vert }, \frac{{d}^{2}u}{d{s}^{2}}=-\frac{\langle {C}^{t^{\prime}}\left(u\right),{C}^{t^{\prime\prime}}\left(u\right)\rangle }{{\Vert {C}^{t^{\prime}}\left(u\right)\Vert }^{4}},$$
$${x}^{^{\prime}}\left(u\right)=\sum_{i=0}^{6}{b}_{i,n}^{^{\prime}}(u){P}_{i,x}^{t}, {y}^{^{\prime}}\left(u\right)=\sum_{i=0}^{6}{b}_{i,n}^{^{\prime}}(u){P}_{i,y}^{t}, {z}^{^{\prime}}\left(u\right)=\sum_{i=0}^{6}{b}_{i,n}^{^{\prime}}(u){P}_{i,z}^{t}.$$

Since point \({u}_{r}\) and \({u}_{r+1}\) are symmetric about point \({u}_{extreme,1}\), the parameter interval of arc \(\Arrowvert\overset\frown{B_i^t\left(u_r\right)B_i^t\left(u_{r+1}\right)}\Arrowvert\) is \(\left[2{u}_{extreme,1}-{u}_{r+1},{u}_{r+1}\right]\).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sun, S. A G3 continuous five-axis tool path corner smoothing method with improved machining efficiency and accurately controlled deviation of tool axis orientation. Int J Adv Manuf Technol 119, 7003–7024 (2022). https://doi.org/10.1007/s00170-021-08227-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00170-021-08227-4

Keywords

Navigation