Application Center - Maplesoft

App Preview:

Collision detection between toolholder and workpiece on ball nut grinding

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application




``

Collision detection between toolholder and workpiece on ball nut grinding

 

György Hegedűs
University of Miskolc, Department of Machine Tools
Hungary
hegedus.gyorgy@uni-miskolc.hu

Introduction

This application presents numerical methods for the determination of collision detection of toolholder (quill) and workpiece on ball nut grinding. Beside the collision detection the method is capable of the determination of proper grinding angle with the prescribed safety gap between the toolholder and workpiece. The applied Newton-Raphson and Broyden numerical algorithms were executed and compared to each other.
Note: For viewing the inputs go to View-->Show/Hide Contents...-->Select Inputs. For viewing the procedure for examples go to Edit-->Startup Code.

Overview of the problem

Gothic-arc profile ballscrew motion transforming mechanisms are widely used in machine tools and the demand for high-lead ballscrews is increasing due to the high-speed manufacturing. The gothic arc is a symmetrical combined curve of two arcs with equal radius and distance between their centres. These types of ballscrews are manufactured by form grinding, where the grinding tool has corresponding profile [6], ultra-precision ballscrews sometimes lapped after grinding process [4], [5]. In case of long and high lead threaded ball nut the grinding wheel is not tilted at the lead angle of the thread to avoid the collision between the quill and workpiece. Fig. 1 shows the real manufacturing process on conventional thread grinding machine.

Fig. 1. Ball nut thread grinding on conventional machine

 

Due to these conditions the profile obtained is not gothic-arc, because the grinding wheel tends to overcut the thread surface. The problem is well known in gear and worm manufacturing, different methods had been worked out to solve this task [3], [8], [2]. In case of long threaded ball nut the setting of optimum tilt angle is not possible due to the collision of quill and workpiece. This angle parameter has to be determined for the real manufacturing process. In this paper a numerical method will be presented for the determination of grinding wheel tilt angle on cylindrical and conical toolholders.

Collision detection between quill and ball nut

Collision detection between cylindrical bodies is widely used in three dimensional mechanical systems, for example machine tools, robots, different mechanisms. There are different software package for collision detection, for example I-Collide, V-Collide, Rapid, Solid. In this work collision detection is only determined between cylindrical-cylindrical and conical-cylindrical bodies without using of third party developed software.
In case of the ball nut and the quill the determination of collision is equivalent with a minimum distance computation between cylinders or conical and cylindrical surfaces. Detecting of collision between cylindrical rigid bodies were developed using line geometry by Ketchel and Larochelle [7]. Distance computation between cylinders has four different types according to their three dimensional positions in space. Fast and accurate computation method was developed by Vranek [11]. To determine the maximum tilt angle for the grinding the minimum distance determination is required between the tilted quill axis and the edge of the ball nut represented as a circle (see Fig. 2., where gamma[k]  is tilt angle, ϕ lead angle – optimal tilt angle – of the ball nut, L[n] length of the ball nut, p[h] pitch of the ball nut).

 

Fig. 2. Schematic figure of collision between cylindrical quill and ball nut

 

Collision detection between cylindrical quill and ball nut

Determination of minimum distance between the quill and the ball nut is equivalent with the computation of the distance between the quill axis and the circular edge of the ball nut.

 

Fig. 3. Spatial position of tool-workpiece

 

Applying notations of Fig. 3. the circle equation described by

P__A := 'C+(1/2)*D__szt*(cos(phi)*u+sin(phi)*v)'

C+(1/2)*`#msub(mi("D",mathbackground = "black"),mi("szt",mathbackground = "black"))`*(cos(phi)*u+sin(phi)*v)

(2.1)

where phi2[0, 2π], P[A] is point of the circle, C is centre of the circle, D[szt] is diameter of the quill and u and v are unit vectors in the plane containing the circle. The minimum distance between the quill axis and the circular edge is

D__min := '((1/2)*D__szt)^2+abs(C-P__M)^2-D__szt*(Q-C)*(C-P__M)/abs(Q-C)'

(1/4)*`#msub(mi("D"),mi("szt"))`^2+abs(C-`#msub(mi("P",fontstyle = "normal",fontweight = "bold"),mi("M"))`)^2-`#msub(mi("D"),mi("szt"))`*(Q-C)*(C-`#msub(mi("P",fontstyle = "normal",fontweight = "bold"),mi("M"))`)/abs(Q-C)

(2.2)

where P[M] is a point on the quill axis and Q is the projection of P[M] on the circle plane. Applying the expressions from [10] a nonlinear equation system can be formulated for the unknown parameters. The equation for the minimum distance between the quill and the edge of the ball nut using the notations of Fig. 3. is written by

eq__cyl := '(1/2)*D__szt+b__h-sqrt(((1/2)*D__3)^2+`#msub(mi("x"),mi("e"))`^2+sin(`γ__k`)^2*t^2+(L__m+L__k-cos(`γ__k`)*t)^2-D__3*sqrt(`#msub(mi("x"),mi("e"))`^2+sin(`γ__k`)^2*t^2))'

(1/2)*`#msub(mi("D",fontstyle = "normal"),mi("szt"))`+`#msub(mi("b"),mi("h"))`-sqrt((1/4)*`#msub(mi("D",fontstyle = "normal"),mn("3"))`^2+`#msub(mi("x"),mi("e"))`^2+sin(`#msub(mi("γ",fontstyle = "normal"),mi("k"))`)^2*t^2+(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`-cos(`#msub(mi("γ",fontstyle = "normal"),mi("k"))`)*t)^2-`#msub(mi("D",fontstyle = "normal"),mn("3"))`*sqrt(`#msub(mi("x"),mi("e"))`^2+sin(`#msub(mi("γ",fontstyle = "normal"),mi("k"))`)^2*t^2))

(2.3)

NULL

where b[h] is a safety gap between the quill and the ball nut, and gamma[k] is the tilt angle from the vk direction vector of the quill axis. Minimizing (2.2) a quartic equation can be formulated [10]

eq__2 := 'd__4*t^4+d__3*t^3+d__2*t^2+d__1*t+d__0'

`#msub(mi("d"),mn("4"))`*t^4+`#msub(mi("d"),mn("3"))`*t^3+`#msub(mi("d"),mn("2"))`*t^2+`#msub(mi("d"),mn("1"))`*t+`#msub(mi("d"),mn("0"))`

(2.4)

where

d__0 := 'cos(`γ__k`)^2*(L__m+L__k)^2*`#msub(mi("x"),mi("e"))`^2'; d__1 := '-(2*(L__m+L__k))*`#msub(mi("x"),mi("e"))`^2*cos(`γ__k`)'; d__2 := 'cos(`γ__k`)^2*(L__m+L__k)^2+`#msub(mi("x"),mi("e"))`^2-((1/2)*D__3)^2+2*cos(`γ__k`)^2*((1/2)*D__3)^2-cos(`γ__k`)^4*(L__m+L__k)^2-cos(`γ__k`)^4*((1/2)*D__3)^2'; d__3 := '-(2*(L__m+L__k))*cos(`γ__k`)*sin(`γ__k`)^2'; d__4 := 'sin(`γ__k`)^2'

cos(`#msub(mi("γ",fontstyle = "normal"),mi("k"))`)^2*(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`)^2*`#msub(mi("x"),mi("e"))`^2

-2*(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`)*`#msub(mi("x"),mi("e"))`^2*cos(`#msub(mi("γ",fontstyle = "normal"),mi("k"))`)

cos(`#msub(mi("γ",fontstyle = "normal"),mi("k"))`)^2*(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`)^2+`#msub(mi("x"),mi("e"))`^2-(1/4)*`#msub(mi("D",fontstyle = "normal"),mn("3"))`^2+(1/2)*cos(`#msub(mi("γ",fontstyle = "normal"),mi("k"))`)^2*`#msub(mi("D",fontstyle = "normal"),mn("3"))`^2-cos(`#msub(mi("γ",fontstyle = "normal"),mi("k"))`)^4*(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`)^2-(1/4)*cos(`#msub(mi("γ",fontstyle = "normal"),mi("k"))`)^4*`#msub(mi("D",fontstyle = "normal"),mn("3"))`^2

-2*(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`)*cos(`#msub(mi("γ",fontstyle = "normal"),mi("k"))`)*sin(`#msub(mi("γ",fontstyle = "normal"),mi("k"))`)^2

sin(`#msub(mi("γ",fontstyle = "normal"),mi("k"))`)^2

(2.5)

NULL
The roots of the nonlinear equation system from eq__cyl`` (2.3) and eq[2] (2.4) are found by root finder algorithm.

 

Numerical algorithms for nonlinear equation systems

In this work Newton-Raphson and Broyden numerical algorithms [12] are used for the solving of the nonlinear equation system and the results are compared. Initial values are required for the two unknown parameters on both methods for correct solutions.

Newton-Raphson method for nonlinear systems

``
Let N functional relations to be zeroed, involving variables , "`x__i`, "i = 1, 2, . . .,n, thus

F__i(x__1, x__2, () .. (), x__n) = 0, i=1,2,...,n.

x denotes the vector of values x__i and F denotes  the vector of functions F__i. The expanded F__i  functions in Taylor series in the neighbourhood of x

"`F__i`(x+deltax)=`F__i`(x)+(∑)(∂`F__i`)/(∂`x__j`)`deltax__j`+O(deltax^(2))"

The matrix of partial derivatives appearing in the above equation is the Jacobian matrix J, where

"`J__ij`=(∂`F__i`)/(∂`x__j`)".

In matrix notation

F(delta*x+x) = F(x)+J*delta*x+O(delta*x^2)

By neglecting terms of order delta*x^2 and higher and by setting F(x + δx) = 0, we obtain a set of linear equations for the corrections δx that move each function closer to zero simultaneously, namely

J"*"δx = -F.

The above matrix equation can be solved by LU decomposition. The corrections are then added to the solution vector,

x__new = delta*x+x__old

and the process is iterated to convergence. In general it is a good idea to check the degree to which both functions and variables have converged. Once either reaches machine accuracy, the other won’t change.

 

Broyden method for nonlinear systems

Newton’s method as showed perviously above is quite powerful, but it still has several disadvantages. One drawback is that the Jacobian matrix is needed. In many problems analytic derivatives are unavailable. If function evaluation is expensive, then the cost of finite-difference determination of the Jacobian can be prohibitive. Just as the quasi-Newton methods provide cheap approximations for the Hessian matrix in minimization algorithms, there are quasi-Newton methods that provide cheap approximations to the Jacobian for zero finding. These methods are often called secant methods, since they reduce to the secant method in one dimension. The best of these methods still seems to be the first one introduced, Broyden’s method [11]. Let us denote the approximate Jacobian by B. Then the i-th quasi-Newton step `δx__i`is the solution of

B__i*`δx__i` = -F__i

where `δx__i` = `x__i+1`-x__i. The quasi-Newton or secant condition is that `B__i+1`statisfy

`B__i+1`*`δx__i` = `δF__i`

where `δF__i` = `F__i+1`-F__i. This is the generalization of the one-dimensional secant approximation to the derivative, δF/δx. However, `B__i+1`*`δx__i` = `δF__i` does not determine `B__i+1` uniquely in more than one dimension. The best-performing algorithm to pin down `B__i+1` in practice results from Broyden’s formula. This formula is based on the idea of getting `#msub(mi("B",fontstyle = "normal",fontweight = "bold"),mrow(mi("i"),mo("+"),mn("1")))` by making the least change to `#msub(mi("B",fontstyle = "normal",fontweight = "bold"),mi("i"))` consistent with the secant `B__i+1`*`δx__i` = `δF__i`. Broyden showed that the resulting formula is

1/`#msub(mi("B",fontstyle = "normal",fontweight = "bold"),mrow(mi("i"),mo("+"),mn("1")))` = B__i+(-B__i*`δx__i`+`δF__i`)*`δx__i`/(delta*x__i)^2

Early implementations of Broyden’s method used the Sherman-Morrison formula to invert the above equation analytically. Then instead of solving equation delta*x = -F/J  by e.g., LU decomposition, one determined

`δx__i` = -F__i/`#msub(mi("B",fontstyle = "normal",fontweight = "bold"),mi("i"))`

by matrix multiplication in O(N^2) operations. The disadvantage of this method is that it cannot easily be embedded in a globally convergent strategy, for which the gradient of (1/2)*F*F requires B, not 1/B,

"∇(1/(2)F*F)≃B^(T)*F."

Determining of the initial values

Previous analyses pointed out that correct initial guesses are needed for real solutions. In this section the determination of initial guesses described in detail.

 

Initial values on cylindrical quill and ball nut

 

Fig. 4. Quill and workpiece position for initial value determination on cylindrical quill

 

Assuming that the quill and the ball nut axes are in the same y[c]*z[c] plane. The initial gamma[k*`0`] tilt angle and the initial t[0] quill axis parameter are determined by

"||(`P__A`-`P__1'`)*(`P__A`-(`P__k`+`t__0`*`v__k0`))||/||`P__2`-`P__1`||=0,"

where

P__k := '`<,>`(0, 0, 0)'; P__A := '`<,>`(0, -(1/2)*D__3, L__m+L__k)'; P__1 := '`<,>`(0, -(1/2)*d__k, (1/2)*b__sz+b__j)'; P__2 := '`<,>`(0, -(1/2)*D__k, (1/2)*b__sz+b__j)'

`<,>`(0, 0, 0)

`<,>`(0, -(1/2)*`#msub(mi("D",fontstyle = "normal"),mn("3"))`, `#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`)

`<,>`(0, -(1/2)*`#msub(mi("d"),mi("k"))`, (1/2)*`#msub(mi("b"),mi("sz"))`+`#msub(mi("b"),mi("j"))`)

`<,>`(0, -(1/2)*`#msub(mi("D",fontstyle = "normal"),mi("k"))`, (1/2)*`#msub(mi("b"),mi("sz"))`+`#msub(mi("b"),mi("j"))`)

(4.1)

the rotation matrix for x axis is

Rot__x := RotationMatrix(`&gamma;__k0`, `<,>`(1, 0, 0))

Rot[x] := Matrix(3, 3, {(1, 1) = 1, (1, 2) = 0, (1, 3) = 0, (2, 1) = 0, (2, 2) = cos(gamma[k0]), (2, 3) = -sin(gamma[k0]), (3, 1) = 0, (3, 2) = sin(gamma[k0]), (3, 3) = cos(gamma[k0])})

(4.2)

and the rotated P__1 and P__2points are

`P__1'` := Rot__x.'P__1'; `P__2'` := Rot__x.'P__2'

P[diff(1, x)] := (Matrix(3, 3, {(1, 1) = 1, (1, 2) = 0, (1, 3) = 0, (2, 1) = 0, (2, 2) = cos(gamma[k0]), (2, 3) = -sin(gamma[k0]), (3, 1) = 0, (3, 2) = sin(gamma[k0]), (3, 3) = cos(gamma[k0])})).P[1]

P[diff(2, x)] := (Matrix(3, 3, {(1, 1) = 1, (1, 2) = 0, (1, 3) = 0, (2, 1) = 0, (2, 2) = cos(gamma[k0]), (2, 3) = -sin(gamma[k0]), (3, 1) = 0, (3, 2) = sin(gamma[k0]), (3, 3) = cos(gamma[k0])})).P[2]

(4.3)

the direction vector v__k0*is

v__k0 := '`<,>`(0, -sin(`&gamma;__k0`), cos(`&gamma;__k0`))'

`<,>`(0, -sin(`#msub(mi("&gamma;",fontstyle = "normal"),mi("k0"))`), cos(`#msub(mi("&gamma;",fontstyle = "normal"),mi("k0"))`))

(4.4)

the equation for the unknown gamma[k0]and t[0] parameters is

LinearAlgebra[Norm](`&x`(P__A-`P__1'`, P__A-t__0*v__k0-P__k))/LinearAlgebra[Norm](P__2-P__1) = 0

abs((-(1/2)*`#msub(mi("D",fontstyle = "normal"),mn("3"))`+(1/2)*cos(`#msub(mi("&gamma;",fontstyle = "normal"),mi("k0"))`)*`#msub(mi("d"),mi("k"))`+sin(`#msub(mi("&gamma;",fontstyle = "normal"),mi("k0"))`)*((1/2)*`#msub(mi("b"),mi("sz"))`+`#msub(mi("b"),mi("j"))`))*(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`-`#msub(mi("t"),mn("0"))`*cos(`#msub(mi("&gamma;",fontstyle = "normal"),mi("k0"))`))-(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`+(1/2)*sin(`#msub(mi("&gamma;",fontstyle = "normal"),mi("k0"))`)*`#msub(mi("d"),mi("k"))`-cos(`#msub(mi("&gamma;",fontstyle = "normal"),mi("k0"))`)*((1/2)*`#msub(mi("b"),mi("sz"))`+`#msub(mi("b"),mi("j"))`))*(-(1/2)*`#msub(mi("D",fontstyle = "normal"),mn("3"))`+`#msub(mi("t"),mn("0"))`*sin(`#msub(mi("&gamma;",fontstyle = "normal"),mi("k0"))`)))/abs(-(1/2)*`#msub(mi("D",fontstyle = "normal"),mi("k"))`+(1/2)*`#msub(mi("d"),mi("k"))`) = 0

(4.5)

NULL

applying the Fig. 4. notations. Solving equation (4.5) and simplifying the results the required initial values for the iterative algorithms are

`&gamma;__k0` := '-2*arctan((2*(L__k+L__m)-sqrt(`#msub(mi("D",fontstyle = "normal"),mn("3"))`^2+4*(L__k+L__m)^2-`#msub(mi("D",fontstyle = "normal"),mi("szt"))`^2))/(D__3+D__szt))'

-2*arctan((2*`#msub(mi("L"),mi("m"))`+2*`#msub(mi("L"),mi("k"))`-sqrt(`#msub(mi("D",fontstyle = "normal"),mn("3"))`^2+4*(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`)^2-`#msub(mi("D",fontstyle = "normal"),mi("szt"))`^2))/(`#msub(mi("D",fontstyle = "normal"),mn("3"))`+`#msub(mi("D",fontstyle = "normal"),mi("szt"))`))

(4.6)

and

t__0 := 'sqrt(((1/2)*D__3)^2+(L__k+L__m)^2-((1/2)*D__szt)^2)'

sqrt((1/4)*`#msub(mi("D",fontstyle = "normal"),mn("3"))`^2+(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`)^2-(1/4)*`#msub(mi("D",fontstyle = "normal"),mi("szt"))`^2)

(4.7)

 

Initial values on conical quill and ball nut

In the previous section the equation system was formulated for the determination of the tilt angle of the quill, where the quill was cylindrical. In certain cases conical quills are used in grinding process. The determination of the conical quill tilt angle is similar to the cylindrical case, but equation (3) has to be modified according to the taper angle of the quill (see Fig. 5.).

 

Fig. 5. Quill and workpiece position for initial value determination on conical quill

 

The modified expression is

``

eq__con := '(1/2)*d__szt+sqrt(sin(`&gamma;__k`)^2*t^2+(cos(`&gamma;__k`)*t-(1/2)*b__sz-b__j)^2)*(D__szt-d__szt)/(2*`l__&ltri;`)+b__h-sqrt(((1/2)*D__3)^2+`#msub(mi("x"),mi("e"))`^2+sin(`&gamma;__k`)^2*t^2+(L__m+L__k-cos(`&gamma;__k`)*t)^2-D__3*sqrt(`#msub(mi("x"),mi("e"))`^2+sin(`&gamma;__k`)^2*t^2))'``NULL

(1/2)*`#msub(mi("d"),mi("szt"))`+(1/2)*sqrt(sin(`#msub(mi("&gamma;",fontstyle = "normal"),mi("k"))`)^2*t^2+(cos(`#msub(mi("&gamma;",fontstyle = "normal"),mi("k"))`)*t-(1/2)*`#msub(mi("b"),mi("sz"))`-`#msub(mi("b"),mi("j"))`)^2)*(`#msub(mi("D",fontstyle = "normal"),mi("szt"))`-`#msub(mi("d"),mi("szt"))`)/`#msub(mi("l"),mo("&ltri;"))`+`#msub(mi("b"),mi("h"))`-sqrt((1/4)*`#msub(mi("D",fontstyle = "normal"),mn("3"))`^2+`#msub(mi("x"),mi("e"))`^2+sin(`#msub(mi("&gamma;",fontstyle = "normal"),mi("k"))`)^2*t^2+(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`-cos(`#msub(mi("&gamma;",fontstyle = "normal"),mi("k"))`)*t)^2-`#msub(mi("D",fontstyle = "normal"),mn("3"))`*sqrt(`#msub(mi("x"),mi("e"))`^2+sin(`#msub(mi("&gamma;",fontstyle = "normal"),mi("k"))`)^2*t^2))

(4.8)

where d__szt is the smaller diameter of the quill, b__sz is the grinding wheel width and b__j is the width of additional parts. Solving equation (4.5) similarly the initial values are

`&gamma;__k0&ltri;` := '2*arctan((4*`#msub(mi("l"),mo("&ltri;"))`*(L__k+L__m)-D__3*d__szt-a+D__3*D__szt)/(2*(D__szt*(b__j+(1/2)*b__sz+L__k+L__m)-`#msub(mi("l"),mo("&ltri;"))`*(D__3+d__szt)-d__szt*(b__j+(1/2)*b__sz+L__k+L__m))))'

2*arctan((4*`#msub(mi("l"),mo("&ltri;"))`*(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`)-`#msub(mi("D",fontstyle = "normal"),mn("3"))`*`#msub(mi("d"),mi("szt"))`-a+`#msub(mi("D",fontstyle = "normal"),mn("3"))`*`#msub(mi("D",fontstyle = "normal"),mi("szt"))`)/(2*`#msub(mi("D",fontstyle = "normal"),mi("szt"))`*((1/2)*`#msub(mi("b"),mi("sz"))`+`#msub(mi("b"),mi("j"))`+`#msub(mi("L"),mi("k"))`+`#msub(mi("L"),mi("m"))`)-2*`#msub(mi("l"),mo("&ltri;"))`*(`#msub(mi("D",fontstyle = "normal"),mn("3"))`+`#msub(mi("d"),mi("szt"))`)-2*`#msub(mi("d"),mi("szt"))`*((1/2)*`#msub(mi("b"),mi("sz"))`+`#msub(mi("b"),mi("j"))`+`#msub(mi("L"),mi("k"))`+`#msub(mi("L"),mi("m"))`)))

(4.9)

where

a := 'sqrt(4*(L__k+L__m)^2*((D__szt-d__szt)^2+4*`#msub(mi("l"),mo("&ltri;"))`^2)+`#msub(mi("D",fontstyle = "normal"),mn("3"))`^2*((D__szt-d__szt)^2+4*`#msub(mi("l"),mo("&ltri;"))`^2)+`#msub(mi("D",fontstyle = "normal"),mi("szt"))`^2*(b__j*b__sz-`#msub(mi("b"),mi("j"))`^2+(1/4)*`#msub(mi("b"),mi("sz"))`^2)-`#msub(mi("d"),mi("szt"))`^2*(b__j*(`L__&Sigma;sz`+2*`l__&ltri;`)+(1/4)*`#msub(mi("b"),mi("sz"))`^2+`l__&ltri;`*(b__sz+`l__&ltri;`))+D__szt*b__sz*d__szt*((1/2)*b__sz+`l__&ltri;`)+8*D__szt*b__j*d__szt*(`L__&Sigma;sz`+`l__&ltri;`))'

sqrt(4*(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`)^2*((`#msub(mi("D",fontstyle = "normal"),mi("szt"))`-`#msub(mi("d"),mi("szt"))`)^2+4*`#msub(mi("l"),mo("&ltri;"))`^2)+`#msub(mi("D",fontstyle = "normal"),mn("3"))`^2*((`#msub(mi("D",fontstyle = "normal"),mi("szt"))`-`#msub(mi("d"),mi("szt"))`)^2+4*`#msub(mi("l"),mo("&ltri;"))`^2)+`#msub(mi("D",fontstyle = "normal"),mi("szt"))`^2*(`#msub(mi("b"),mi("j"))`*`#msub(mi("b"),mi("sz"))`-`#msub(mi("b"),mi("j"))`^2+(1/4)*`#msub(mi("b"),mi("sz"))`^2)-`#msub(mi("d"),mi("szt"))`^2*(`#msub(mi("b"),mi("j"))`*(`#msub(mi("L"),mi("&Sigma;sz"))`+2*`#msub(mi("l"),mo("&ltri;"))`)+(1/4)*`#msub(mi("b"),mi("sz"))`^2+`#msub(mi("l"),mo("&ltri;"))`*(`#msub(mi("b"),mi("sz"))`+`#msub(mi("l"),mo("&ltri;"))`))+`#msub(mi("D",fontstyle = "normal"),mi("szt"))`*`#msub(mi("b"),mi("sz"))`*`#msub(mi("d"),mi("szt"))`*((1/2)*`#msub(mi("b"),mi("sz"))`+`#msub(mi("l"),mo("&ltri;"))`)+8*`#msub(mi("D",fontstyle = "normal"),mi("szt"))`*`#msub(mi("b"),mi("j"))`*`#msub(mi("d"),mi("szt"))`*(`#msub(mi("L"),mi("&Sigma;sz"))`+`#msub(mi("l"),mo("&ltri;"))`))

(4.10)

the parameter is

`t__0&ltri;` := 'sqrt(((1/2)*D__3)^2+(L__k+L__m)^2-((1/2)*`D__szt'`)^2)'

sqrt((1/4)*`#msub(mi("D",fontstyle = "normal"),mn("3"))`^2+(`#msub(mi("L"),mi("m"))`+`#msub(mi("L"),mi("k"))`)^2-(1/4)*`#msub(mi("D",fontstyle = "normal"),mrow(mi("szt"),mo("&apos;")))`^2)

(4.11)

and the larger diameter of the conical quill is


D[diff(szt(x), x)] := 2*LinearAlgebra[Norm](`&x`(P[A]-P[k], P[A]-v[k0]))/LinearAlgebra[Norm](v[k0])

without additional parts

b__j := 0

0

(4.12)

and

`L__&Sigma;sz` := b__j+(1/2)*b__sz

(1/2)*`#msub(mi("b"),mi("sz"))`

(4.13)

and the run-out of the tool is

L__k := 1

1

(4.14)

(as seen on Fig.5.).

Parameters and result on different ball nuts and grinding tools

In this section the parameters of the different ball nuts and tools are collected and showed which have been analysed in this work. Table 1. shows the dimensions of the ball nuts, Table 2. shows the dimensions of grinding tools and Table 3. shows the results of different applied procedures.

 

Table 1: Dimensions of different ball nuts

Dimension*[mm]*x[mm]

D[3]*[mm]

L__m*[mm]

D__2*[mm]

R[pr]*[mm]
``

c*[mm]

D__w*[mm]

32x25

34

60

32.71

2.68

0.25

5

40x20

43.5

90

41.69

3.77

0.28

7.144

40x30

42

100

39.47

3.38

0.255

6.35

50x30

54

133

51.69

4.22

0.264

8

Table 2: Dimensions of different tools

Dimension[mm]*x[mm]

b[sz]*[mm]

D[k]*[mm]

d[k]*[mm]

d[szt]*[mm]

D[szt]*[mm]

`l__&ltri;`*[mm]

32x25

7

26.5

12

12

12

-

40x20

10

37

12

14

16.5

100

40x30

10

31.5

12

14

16.5

120

50x30

12

42

12

20

20

-

 

Table 3: Results of different methods

 

Dimension[mm]*x[mm]

Newton method I.

Newton method II.

Broyden method

Maple's fsolve()

Number of iterations

`&gamma;__k`*[degrees]

Number of iterations

`&gamma;__k`*[degrees]

Number of iterations

`&gamma;__k`*[degrees]

Number of iterations

`&gamma;__k`*[degrees]

32x25

5

7.653505

25

7.653505

78

7.653505

5

7.653505

40x20

5

6.952137

23

6.952137

71

6.952137

5

6.952137

40x30

5

5.402180

33

5.402180

101

5.402180

5

5.402180

50x30

5

5.651421

22

5.651421

101

5.651421

5

5.651421

Procedures for numerical algorithm

Worked out examples

Input*parameters

Animate*results









Acknowledgement

This research was supported by the European Union and the State of Hungary, co-financed by the European Social Fund in the framework of TÁMOP 4.2.4. A/2-11-1-2012-0001 ‘National Excellence Program’.

References

  

[1] Broyden, C.G. (1965), Mathematics of Computation, Vol. 19, pp. 577–593.

  

[2]         Dudás, I. (2004), The Theory and Practice of Worm Gear Drives, pp. 320, ISBN 978-1-903996-61-4, Butterworth-Heinemann

  

[3]         Dudás, L. (2010), New way for the innovation of gear types, Engineering the Future, Rijeka, Dudás, L. (Ed.),pp.111-140, ISBN 978-953-307-210-4

  

[4]         Guevarra, D. S.; Kyusojin, A.&Isobe, H.& Kaneko, Y. (2001), Development of a new lapping method for high precision ball screw (1st report) – feasibility study of a prototyped lapping tool for automatic lapping process, Precision Engineering (25), pp.63-69, ISSN 0141-6359

  

[5]         Guevarra, D. S.; Kyusojin, A. &Isobe, H. & Kaneko, Y. (2002), Development of a new lapping method for high precision ball screw (2nd report) Design and experimental study of an automatic lapping machine with in–process torque monitoring system, Precision Engineering (26), pp. 389–395,ISSN 0141-6359

  

[6] Harada, H.; Kagiwada, T. (2004), Grinding of high-lead and gothic-arc profile ball-nuts with free quill-inclination, Precision Engineering (28), pp. 143-151, ISSN 0141-6359

  

[7] Ketchel, J.;Larochelle, P. (2005), Collision Detection of Cylindrical Rigid Bodies Using Line Geometry, Proceedings of the 2005 ASME International Design Engineering Technical Conferences, pp. 3-13,ISBN: 0-7918-4744-6

  

[8]         Litvin, F. L.;Fuentes, A. (2004), Gear Geometry and Applied Theory – Second Edition, pp. 801, ISBN 978-052-181-517-8, Cambridge University Press

  

[9] Mihálykó Cs., Virágh J., (2011), Közelítő és szimbolikus számítások feladatgyűjtemény, Typotex, 2011.

  

[10] Schneider, P. J.;Eberly, D. H. (2003).Geometric Tools for Computer Graphics,pp. 1056, ISBN 1-55860-594-0, Morgan Kaufmann Publishers, San Fransisco

  

[11]         Vranek, D (2002). Fast and accurate circle–circle and circle–line 3D distance computation, Journal of Graphics Tools, Vol. 7(1), pp. 23–32, ISSN 1086-7651

  

[12] W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery, (1992), Numerical Recipes in C, The Art of Scientific Computing, Second Edition, Cambridge University Press

 

 

Legal Notice: © György Hegedűs, 2013. Maplesoft and Maple are trademarks of Waterloo Maple Inc. Neither Maplesoft nor the authors are responsible for any errors contained within and are not liable for any damages resulting from the use of this material.  This application is intended for non-commercial, non-profit use only. Contact the authors for permission if you wish to use this application in for-profit activities.

 

``