25.01.2015 Views

Download Full Issue in PDF - Academy Publisher

Download Full Issue in PDF - Academy Publisher

Download Full Issue in PDF - Academy Publisher

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

JOURNAL OF COMPUTERS, VOL. 8, NO. 6, JUNE 2013 1515<br />

CNC system with the NURBS curve direct <strong>in</strong>terpolator,<br />

most of the CNC systems only have l<strong>in</strong>ear <strong>in</strong>terpolation<br />

and arc <strong>in</strong>terpolation function. The NURBS curve<br />

<strong>in</strong>terpolation CNC mach<strong>in</strong><strong>in</strong>g flow is shown <strong>in</strong> Figure 5.<br />

du v<br />

=<br />

dt dP( u)/<br />

du<br />

=<br />

v<br />

. . .<br />

2 2 2<br />

( x) + ( y) + ( z)<br />

. (13)<br />

2<br />

du<br />

dt<br />

dv/<br />

dt<br />

= −<br />

2 . . .<br />

2 2 2<br />

( x) + ( y) + ( z)<br />

. .. . .. . ..<br />

2<br />

v xx+ y y+<br />

zz<br />

( )<br />

. . .<br />

2 2 2 2<br />

(( x) + ( y) + ( z) )<br />

(14)<br />

Figure 5. The NURBS curve <strong>in</strong>terpolation CNC mach<strong>in</strong><strong>in</strong>g flow<br />

The NURBS curve representation is given by<br />

Pu ( ) =<br />

n<br />

∑<br />

i=<br />

0<br />

n<br />

∑<br />

i=<br />

0<br />

where V<br />

i<br />

is the control po<strong>in</strong>t,<br />

Bik ,<br />

( u)<br />

WV<br />

i i<br />

. (10)<br />

B ( u)<br />

W<br />

ik ,<br />

i<br />

W<br />

i<br />

is its weight<strong>in</strong>g factor.<br />

By manipulat<strong>in</strong>g the values of control po<strong>in</strong>ts and weights<br />

factor, a wise variety of part shapes can be designed us<strong>in</strong>g<br />

NURBS. Each po<strong>in</strong>t on the curve is correspond<strong>in</strong>g to a<br />

certa<strong>in</strong> knot parameter u .<br />

In the I th <strong>in</strong>terpolation period, NURBS curve<br />

<strong>in</strong>terpolator computes the po<strong>in</strong>t Pu (<br />

i + 1)<br />

and send<br />

Pu (<br />

i+ 1) − Pu (<br />

i)<br />

as feed <strong>in</strong>crement to servo controller.<br />

How to determ<strong>in</strong>e successive values of u<br />

i+ 1<br />

such that<br />

appropriate feed <strong>in</strong>crement length can be accurately<br />

generated is important and complicated <strong>in</strong> NURBS curve<br />

<strong>in</strong>terpolation.<br />

Taylor’s second-order expansion is <strong>in</strong>troduced <strong>in</strong> the<br />

NURBS curve <strong>in</strong>terpolation algorithm <strong>in</strong> this paper aimed<br />

at the demands of high speed, high accuracy and realtime.<br />

The procedure for determ<strong>in</strong><strong>in</strong>g successive values of<br />

u is summarized <strong>in</strong> the follow<strong>in</strong>g.<br />

Let the NURBS curve be def<strong>in</strong>ed as<br />

Pu ( ) = ( xu ( ), yu ( ), zu ( ))' , then the knot factor u<br />

i+ 1<br />

<strong>in</strong><br />

i +1 <strong>in</strong>terpolation period can be obta<strong>in</strong>ed:<br />

2 2<br />

du ΔT d u<br />

i+ 1 i u= ui<br />

2 u=<br />

ui<br />

u ≈ u +Δ T + . (11)<br />

dt 2 dt<br />

As shown <strong>in</strong> Equation (11), the key is to compute du<br />

dt<br />

and real-time. Def<strong>in</strong>e the feed rate along the NURBS<br />

curve as:<br />

Therefore,<br />

ds dP(<br />

u)<br />

dP(<br />

u)<br />

v = = = ×<br />

dt dt du<br />

du<br />

dt<br />

. (12)<br />

Substitut<strong>in</strong>g the computed du and<br />

dt<br />

Equation (11), u<br />

i+ 1<br />

will be obta<strong>in</strong>ed.<br />

2<br />

du<br />

dt<br />

2<br />

above <strong>in</strong>to<br />

C. Contour Error Comput<strong>in</strong>g Model Based on Curve<br />

Interpolation<br />

Conventionally, CAD/CAM systems have to segment a<br />

complex curve <strong>in</strong>to a huge number of small l<strong>in</strong>ear<br />

segments and send them to CNC systems for l<strong>in</strong>ear<br />

<strong>in</strong>terpolation mach<strong>in</strong><strong>in</strong>g. However, the experimental<br />

results show this approach can’t achieve high speed and<br />

high accuracy at the same time. Especially, the<br />

<strong>in</strong>terpolation dots aren’t on the track<strong>in</strong>g curve. To<br />

overcome this problem, curve direct <strong>in</strong>terpolation has to<br />

be adopted. Furthermore, accord<strong>in</strong>g to <strong>in</strong>terpolation dots<br />

<strong>in</strong> reference profile, a “three dots arc algorithm” contour<br />

error comput<strong>in</strong>g model is developed to calculate the<br />

m<strong>in</strong>imal distance between actual dot and complex profile<br />

<strong>in</strong> each sampl<strong>in</strong>g period.<br />

As shown <strong>in</strong> Figure 6, suppose the reference curve be<br />

L and cutter actual position be M (M x , M y , M z ) <strong>in</strong> some<br />

sampl<strong>in</strong>g period. Firstly, f<strong>in</strong>d the nearest <strong>in</strong>terpolation<br />

po<strong>in</strong>t C i from M on the curve, and suppose the two<br />

adjacent <strong>in</strong>terpolation dots from C i be C i-1 and C i+1 po<strong>in</strong>ts.<br />

It is noteworth<strong>in</strong>ess that all of the three dots are on curve<br />

L. Secondly, suppose the centre of the circle through C i-1 ,<br />

C i and C i+1 be po<strong>in</strong>t O (O x , O y , O z ), and the radius be r.<br />

Compute the contour error with Eq. (15):<br />

ε = r− OM = r−<br />

( M − O ) + ( M − O ) + ( M −O<br />

)<br />

2 2 2<br />

x x y y z z<br />

. (15)<br />

where, the contour error ε is along the OM<br />

direction.<br />

F<strong>in</strong>ally, decompose vector ε along x, y and z<br />

coord<strong>in</strong>ate axis<br />

ε<br />

x<br />

= ε ∗<br />

M<br />

x<br />

− O<br />

( M − O ) + ( M − O ) + ( M −O<br />

)<br />

2 2 2<br />

x x y y z z<br />

x<br />

. (16)<br />

© 2013 ACADEMY PUBLISHER

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!