Skip to main content
Log in

Numerical implementation of drop spin and tilt method for five-axis tool positioning for tensor product surfaces

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

Abstract

This paper presents an extension of multipoint machining technique, called the Drop Spin and Tilt (DST) method, that spins the tool on two axes, allowing for the generation of multiple contact points at varying distances around the first point of contact. The multiple DST second points of contact were used to manually generate a toolpath with uniform spacing between the two points of contact. The original DST method used a symbolic algebra package to position the tool on a bi-quadratic surface; our extension is a numerical solution that allows positioning a toroidal tool on a tensor product Bézier surface, which we tested on bi-degrees 2, 3, 4, and 5. On the three bicubic surfaces we tested, the average number of initial seeds for our numerical method was less than 5 across all three surfaces, and the average number of Newton iterations was less than 20 except when the curvature of the tool closely matches the local surface curvature (in which case more iterations were required). Furthermore, we investigate the spread of possible second points of contact as the tool is spun around these two axes, demonstrating the feasibility of using the method to control the machining strip width.

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

Similar content being viewed by others

References

  1. Warkentin A, Ismail F, Bedi S (2000) Multi-point tool positioning strategy for 5-axis machining of sculptured surfaces. Comput Aided Geomet Design 17(1):83–100

    Article  MathSciNet  Google Scholar 

  2. Warkentin A, Ismail F, Bedi S (2000) Comparison between multipoint and other 5-axis tool positioning strategies. Int J Mach Tools Manuf 40(2):185–208

    Article  Google Scholar 

  3. Gray P, Bedi S, Ismail F (2005) Arc-intersect method for 5-axis tool positioning, Computer-Aided Design, vol 37. Elsevier, Amsterdam, pp 663–674

    Google Scholar 

  4. Liang F, Kang C, Fang F (2020) A review on tool orientation planning in multi-axis machining. International Journal of Production Research, Int. J. Prod. Review, online 1–31

  5. Duvedi RK, Bedi S, Batish A, Mann S (2014) A multipoint method for 5-axis machining of triangulated surface models. Comput Aided Des 52:17–26

    Article  Google Scholar 

  6. Duvedi RK, Singh M, Bedi S, Mann S (2020) Multipoint tool positioning of a toroidal end mill for five-axis machining of generalized tensor product Bézier surfaces. Int J Adv Manuf Technol 111:495–503

    Article  Google Scholar 

  7. Sharma SK, Duvedi RK, Bedi S, Mann S (2019) A method for generating multiple solutions for multipoint five-axis tool positioning. Int J Adv Manuf Technol 100:2509–2520

    Article  Google Scholar 

  8. Sharma SK, Duvedi RK, Bedi S, Mann S (2019) A multipoint tool positioning method for five-axis machining in the region of two intersecting tensor product Bezier surfaces. Int J Machine Tools Manufact 142:42–53

    Article  Google Scholar 

  9. Duvedi RK, Bedi S, Mann S (2017) Numerical implementation of drop and tilt method of 5-axis tool positioning for tensor product surfaces. In: International journal of advanced manufacturing technology. Springer, London, pp 1–14. https://doi.org/10.1007/s00170-017-1193-1

  10. Duvedi RK, Bedi S, Mann S (2018) An efficient multipoint 5-axis tool positioning method for tensor product surfaces. In: International journal of advanced manufacturing technology. Springer, London, pp 279–295. https://doi.org/10.1007/s00170-018-1940-y

Download references

Funding

This research was supported by NSERC.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sandeep Kumar Sharma.

Ethics declarations

Conflict of interest

The authors declare no competing interests.

Additional information

Author contribution

The authors contributed the work in this paper.

Availability of data and material

Some of the surfaces used in this work are given in the paper. The remaining surfaces and other data are available on request.

Code availability

Pseudo-code for the work in this paper appears in the Appendix; the actual code is available on request.

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix A: Numerical implementation of DSTM

Appendix A: Numerical implementation of DSTM

The DSTM method comprises three steps: tool-drop, tool-spin, and tool-tilt. In the present work, Newton’s method was used to determine the solutions for the tool-drop and tool-tilt steps. In the Newton’s algorithm, first- and second-order partial differentials of the surface and surface normal need at each tool-drop and tool-tilt steps. To have a numerical solution that is independent of the degree of the Bèzier surface, we use the Richardson extrapolation to compute these partial differentials. The following sections discuss the implementation of the Richardson extrapolation method and Newton’s method to compute the gouge free tool-drop and tool-spin solution at each tool drop location.

1.1 A.1 Richardson extrapolation for numerical differentiation

The goal of numerical differentiation is to compute an accurate estimate of the partial derivative of a function. This accuracy can be improved by decreasing the interval step size h or by using a higher order formula that employs more points. The Richardson extrapolation employs a center difference approach and offers better convergence as the truncation error drops by a factor of 4 as the step interval drops from h to \(\frac {h}{2}\). The test surfaces S used in DSTM algorithm are function of parameters u and v. Figure 11 shows the procedure developed to numerically compute the partial derivative of surface S with respect to parameter u. Similar, procedure is used to determine the partial derivative of surface S with respect to parameter v. The initial value of the interval size hstep is set to 0.001 and hstep is reduced by half in each subsequent iteration. The iterations continues till the progressive truncation error is less than the specified error, given by 𝜖Richard = 10− 5. The numerical values of the computed derivatives were compared with the exact values computed symbolically in MAPLETM and both were found to be correct to the sixth decimal place.

Fig. 11
figure 11

Pseudo-code for numerical differentiation using the Richardson extrapolation

1.2 A.2 Tool-drop algorithm

As a first step in DSTM implementation, the toroidal tool is dropped vertically through tool footprint location T (Fig. 12 gives pseudo-code for this algorithm). Equation 2 is solved by employing Newton’s method to compute the location of first point of contact S(u1, v1), and the height of the dropped tool h. Newton’s method needs an initial seed to start the solution search. In the first step, a random initial solution, [XDrop] = [u, v, h], is generated and the partial derivatives required in the Newton’s method are computed using the Richardson extrapolation method. Depending upon the local surface properties and the tool-drop location T, first point of contact P may lie on the outer-side or the inner-side of the cutting edge of the pseudo-insert, i.e., O1 (see Fig. 1).

Fig. 12
figure 12

Pseudo-code for numerical implementation of tool-drop step

If the first point of contact P lies on the outer-side of the pseudo-insert, Eq. 3 is used to compute \(\hat n_{r}\). However, when the point of contact P lies on the inner side of the pseudo-insert, as shown in Fig. 13, the surface normal \(\hat n_p\) is oriented in a direction away from the tool-axis \(\hat t\) and Eq. 3 can not be used to compute the radial vector \(\hat n_{r}\). In such scenarios, \(\hat n_{r}\) is computed alternatively by using the following equation,

$$ \hat{n}_{r}=\frac{\overrightarrow{TP}-\{\overrightarrow{TP} \cdot \hat{t}\} \hat{t}}{\|\overrightarrow{TP}-\{\overrightarrow{TP}\cdot \hat{t}\} \hat{t}\|}. $$
(8)

Terms of the Jacobian matrix(JD), required in the Newton’s method, comprises the partial derivatives of Eq. 2 with respect to the unknown variables u, v, and h and are computed as given below

$$ \frac{\partial Eq_{2}}{\partial u}=\frac {\partial S (u,v)}{\partial u}+R_{i}\frac {\partial \hat n_{p} (u,v)}{\partial u}+R_{o}\frac {\partial \hat n_{r} (u,v)}{\partial u} $$
(9)
$$ \frac {\partial Eq_{2}}{\partial v}=\frac {\partial S (u,v)}{\partial v}+R_{i}\frac {\partial \hat n_{p} (u,v)}{\partial v}+R_{o}\frac {\partial \hat n_{r} (u,v)}{\partial v} $$
(10)
$$ \frac {\partial Eq_{2}}{\partial h}=-\hat t $$
(11)
Fig. 13
figure 13

Computing \(\hat n_{r}\) when the first point of contact P lies towards inner-side of the circular cutting edge of toroidal tool

The partial derivatives of surface S, surface normal \(\hat n_p\), and radial vector \(\hat n_{r}\) are numerically computed by employing the Richardson extrapolation method as shown in Fig. 11.

Newton’s method starts with a randomly generated initial seed for {u, v, h} and attempts to converge to the solution within NIter iterations. If Newton’s method (Fig. 14) converges within the specified tolerance of 𝜖Drop, then the solution is tested for gouging. If the solution yields a non-gouging tool position, this is accepted as the final drop solution. If the tool is gouging with the surface or Newton’s method does not converge within the specified number of iterations NIter, then the solution is aborted and Newton’ method is re-initialized with another random seed. In the gouge check step, the tool bottom is discretized into 48 (Nϕ) and 36 (N𝜃) divisions along ϕ and 𝜃 directions respectively as shown in Fig. 17.

Fig. 14
figure 14

Pseudo-code for the implementation of the Newton method

Thus, the tool-drop algorithm yields the first non-gouging point of contact P = S(u1, v1) between the tool and the surface, the unit surface normal \(\hat n_p\) through P, the unit radial vector \(\hat n_{r}\), center of the Pseudo-Insert O1, and the center of the dropped toroidal tool Tc.

1.3 A.3 Tool-spin and tilt algorithm

In the tool-spin and tool-tilt steps, the dropped tool is first rotated about the spin-axis (\(\hat n_p\)) through the specified spin-angle (α). Subsequently, the tool is rotated about the tilt-axis \(\hat i_3\), through an angle β so that the tool touches the surface at second point of contact, Q = S(u2, v2). In the tool-tilt algorithm, Newton’ method is employed to solve Eqs. 6 and 7 for four unknowns u2, v2, β, and ϕ. The procedure to determine the coordinate frames \(\{\hat i_0, \hat j_0,\hat k_0\}, \{\hat i_1, \hat j_1,\hat k_1\}, \{\hat i_2, \hat j_2,\hat k_2\}\) and \(\{\hat i_3, \hat j_3,\hat k_3\}\) is explained in Sections 3.13.2, and 3.3 respectively.

If the tool-tilt solution of the previous footprint location is available, then the previous solution is taken as the initial seed for Newton’s method. Since the control points of the Bèzier surface are uniformly distributed, this approximation works at some locations and the tool-tilt solution from Newton method converges quickly. Otherwise, the initial seed [XTilt] for Newton method is determined using random seed generation. Next step in tool-tilt algorithm is to compute the values of the surface normal \(\hat n_q\), tilted tool-axis \(\hat t'\), tool-center \(T^{\prime }_c\), and circle of torus \(C^{\prime }_{tor}\) from the initial seed.

The Jacobian matrix JT used in the tool-tilt step is given as

$$J_T= \left[\begin{array}{cccc}\frac {\partial Eq_6X}{\partial u}~~ \frac {\partial Eq_6X}{\partial v} ~~\frac {\partial Eq_6X}{\partial \beta}~~\frac {\partial Eq_6X}{\partial \phi} \\ \\ \frac {\partial Eq_6Y}{\partial u}~~ \frac {\partial Eq_6Y}{\partial v} ~~\frac {\partial Eq_6Y}{\partial \beta}~~\frac {\partial Eq_6Y}{\partial \phi}\\ \\ \frac {\partial Eq_6Z}{\partial u}~~ \frac {\partial Eq_6Z}{\partial v} ~~\frac {\partial Eq_6Z}{\partial \beta}~~\frac {\partial Eq_6Z}{\partial \phi}\\ \\ \frac {\partial Eq_7}{\partial u}~~~ \frac {\partial Eq_7}{\partial v} ~~~\frac {\partial Eq_7}{\partial \beta}~~~\frac {\partial Eq_7}{\partial \phi} \end{array}\right] $$

The elements of Jacobian matrix JT are computed using the partial derivatives of Eqs. 6 and 7 with respect to the initial seed [X] = {u, v, β, ϕ}.

$$ \frac {\partial Eq_{6}}{\partial u}=\frac {\partial S (u,v)}{\partial u}+R_{i}\frac {\partial \hat n_{q} (u,v)}{\partial u} $$
$$ \frac {\partial Eq_{6}}{\partial v}=\frac {\partial S (u,v)}{\partial v}+R_{i}\frac {\partial \hat n_{q} (u,v)}{\partial v} $$
$$ \frac {\partial Eq_{6}}{\partial \beta}= R_{o}(1+\sin\phi)~(\hat k_{3} \cos\gamma-\hat j_{3}~\sin\gamma) $$
$$ \frac {\partial Eq_{6}}{\partial \phi}= R_{o}[\cos\phi~(\hat j_{3}~\cos\gamma+ \hat k_{3}~\sin\gamma)-\hat i_{3} \sin\phi] $$
$$ \frac {\partial Eq_{7}}{\partial u}=\left[\begin{array}{c}M(\beta)\times \frac {\partial \hat n_{q}(u,v)} {\partial u} \end{array}\right] \cdot \begin{bmatrix} N(\beta)- {S(u,v)} \end{bmatrix}$$
$$ {\kern34pt}+\left[\begin{array}{c}M(\beta)\times \hat n_{q}(u,v) \end{array}\right]\cdot \left[\begin{array}{c} N(\beta)-\frac {\partial S(u,v)} {\partial u} \end{array}\right] $$
$$ \frac {\partial Eq_{7}}{\partial v}=\left[\begin{array}{c}M(\beta)\times \frac {\partial \hat n_{q}(u,v)} {\partial v} \end{array}\right] \cdot \left[\begin{array}{c} N(\beta)- {S(u,v)} \end{array}\right]$$
$$ {\kern35pt}+\left[\begin{array}{c}M(\beta)\times \hat n_{q}(u,v) \end{array}\right]\cdot \left[\begin{array}{c} N(\beta)-\frac {\partial S(u,v)} {\partial v} \end{array}\right] $$
$$ \frac {\partial Eq_{7}}{\partial \beta}=\left[\begin{array}{c}\frac {\partial M(\beta)}{\partial \beta}\times \hat n_{q}(u,v) \end{array}\right] \cdot \left[\begin{array}{c} N(\beta)- {S(u,v)} \end{array}\right]$$
$$ {\kern35pt}+\left[\begin{array}{c}M(\beta)\times \hat n_{q}(u,v) \end{array}\right]\cdot \left[\begin{array}{c} \frac {\partial N(\beta)}{\partial \beta}-S(u,v) \end{array}\right] $$
$$ \frac {\partial Eq_{7}}{\partial \phi}=0 $$

where, \(\gamma =\arccos (dot(\hat j_0,\hat j_1)),\) \(M(\beta )=\hat k_3 \cos \limits \gamma -\hat j_3\sin \limits \gamma \) and \(N(\beta )=O_1+R_o(\hat j_3 \cos \limits \gamma +\hat k_3\sin \limits \gamma \)).

Newton’s method in Tool-Tilt step converges when the solution for [XTilt] is found within the user specified tolerance given by parameter 𝜖Tilt. In case of convergence, the FlagNewton is set to be TRUE as shown in Fig. 15. The converged tool-tilt solution [XTilt] is then subjected to the following three checks before it is accepted as a valid solution:

  1. 1.

    The first check is to ensure that the second point of contact Q = S(u2, v2) should not lie too close to the first point of contact P = S(u1, v1). To avoid this, a rectangular boundary for parametrs (u, v) is taken around point P to force the solution of second point of contact away from point P as shown in Fig. 16. The limits of the rectangular boundary are taken as an offset from point P using a tolerance of 𝜖vicinity. In case a converged solution for second contact point Q lies within the boundary defined around point P, then the tilt solution is discarded and a new trial with a new random seed is initiated.

  2. 2.

    If the first check is satisfied, then the next check is implented to ensure that the converged tool-tilt solution has tool-axis orientation pointing in the desired direction. It is possible that the tool-axis solution can be such that the tilted tool may have its shank intersecting with the surface. This corresponds to the tool-tilt angle β being positive and the axis of the tilted tool points towards the negative z-direction. Such tilt solutions are also discarded and the new trial is initiated with new random seed.

  3. 3.

    A tilt solution that satisfies the above two checks is finally tested for gouging. For gouge checking, the bottom surface of the toroidal tool, which is formed by surface of revolution of the cutting edge, is discretized into a polar grid as shown in Fig. 17. The grid is defined with circular rings that are normal to the tool axis and centered on the tool axis. Since the bottom arc of the cutting tool is expected to possibly gouge the surface, only a portion bounded between 𝜃min and 𝜃max is considered for the gouge check. This part of the cutting edge is divided into N𝜃 divisions and each ring in the grid corresponds to these divisions on the cutting edge. Each circular ring, defined in a plane normal to the tool axis, is divided into Nϕ divisions as shown in Fig. 17. Since the Bézier surface is uniformly defined in the X- and Y -directions, each grid point on the tool Ti, j can be mapped to the corresponding point on the Bézier surface and the Z component of the surface points is computed.

    The Z −axis component of the grid point on tool-surface should not lie more than 𝜖Gouge below the corresponding point on Bézier surface. If all the points on the tool grid meet this criteria, then the tool-tilt solution is accepted as a valid solution. However, if any point on the tool surface lies below the corresponding point on the Bézier surface by a magnitude more than 𝜖Gouge, then the tool is considered to be gouging with surface. If the tool is found to be gouging then the solution is discarded and new trial is initiated with a new random seed. The gouge checking procedure is identical to [10] and therefore pseudo-code for the same is not given here.

Fig. 15
figure 15

Pseudo-code for the numerical implementation of tool-tilt

Fig. 16
figure 16

Boundary around first point of contact P for implementing the vicinity check in the tool-tilt step to locate the second point of contact

Fig. 17
figure 17

Discritization of the surface of toroidal tool for implementation of Gouge-Check algorithm

At any given tool-drop location T, it is also possible that a valid tool-tilt solution is not found despite considering NTilt random seed points. In such cases, we assume that the local maximum principal curvature of the surface and the tool curvature are identical, making it infeasible to tilt the tool anymore. Therefore, in absence of a valid tilt solution, the first and second point of contact are considered to be at the same location.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sharma, S.K., Duvedi, R.K., Bedi, S. et al. Numerical implementation of drop spin and tilt method for five-axis tool positioning for tensor product surfaces. Int J Adv Manuf Technol 115, 2001–2016 (2021). https://doi.org/10.1007/s00170-021-07137-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00170-021-07137-9

Keywords

Navigation