Hardware and Software Interpolator
Hardware and Software Interpolator
INTERPOLATOR
A common requirement of all manufacturing systems is to generate coordinated
movement of the separately driven axes of motion in order to achieve the desired path
of the tool relative to the work-piece. This involves the generation of signals
prescribing the shape of the produced part and their transmission as reference inputs to
the corresponding control loops. Generation of these reference signals is accomplished
by interpolators. There two kinds of interpolator: hardware interpolators (which
consists of digital circuits, and software interpolator.
9.1 Hardware Interpolator
9.1.1 Digital differential analyzers integrator
The area below the curve p(t) can be calculated by p p(t)
the formula:
(9-1)
pi pi
The approximating area below the curve can be pi-1
p2
considered as a sum of small rectangular areas, each of t
p1 t
equal base t. This yields: t
Hình 9.1 Phép xấp xỉ
(9-2) bằng phương pháp số của
một hàm liên tục.
The value of z at t = k.t is denoted by zk, which may be written as follows:
(9-3)
or (9-4)
where
(9-5)
Digital integration is accomplished in three stages.
+ Stage 1: The ordinate pk is computed by adding the increment p to, or
subtracting it from, the preceding ordinate pk-1:
(9-6)
1
+ Stage 3: The zk is calculated by adding integration increment zk to the
previous zk-1 according to (9-4).
During each iteration the operations given by Eqs (9.6) and (9.5) should be
executed. The input and output data between DDA integrators is transferred as 1-bit
increments, and therefore the values of p and z must be either 1 or 0. This is
achieved in DDAs by storing the p variable in an n-bit register, or up-down counter
with the allowable value to 2n-1.
qk-1 100
+ +
pk 110
z qk 1 010
Clock f
q register f
+ t z
p
Adder z –p (f0)
(f0)
Hình 9.3 A symbolic
+ representation of DDA.
p p register
-
(9-8)
2
If qk ≥ 2n Then zk = 1 (Output increment)
(9-9)
qk = qk – 2n
(9-10)
then:
(9-11)
or (9-12)
where: (9-13)
The average output frequency of the overflow pulses f0 is obtained by Eq. (9-12):
(9-14)
= C pa e-αt (9-15)
According to (9-12):
= C pa e-αt t (9-16)
Derivative of p(t) is:
(9-17)
4
b) Calculate the values of p, q, z at the first twenty integration steps.
f0
5
d) Plot of p(t) and z(t) according to t:
p(t) z(t)
p(t)
15
z(t)
10
0 t
10 20 30 40 50
6
(a and b are natural number) (9-20)
Vx =
(9-22)
Vy =
where f0x và f0y are the respective frequencies of output zx (DDA x) và zy
(DDA y).
(9-24)
or:
(9-25)
Then:
(9-26)
Namely:
(9-27)
So:
px = a
(9-28)
py = b
and
7
px = 0
(9-29)
py = 0
From Eqs. (9-27), (9-28), (9-29), the structure of linear DDA interpolator can be
described as in Fig 9.8.
+ t zx
px 1 Trục x
- px=a (f0x)
clock
+ t zy
py 2 Trục y
- py=b (f0y)
Each axis of motion requires one DDA integrator; integrator 1 supplies pulses to the X
axis and integrator 2 to the Y axis. The two DDA are controlled by a common clock,
and therefore their operations are performed simultaneously. The required incremental
distance of each axis is fed to the p register in the corresponding DDA. The overflow
pulses from z outputs are supplied as the command signal to the control loops. These
pulses can actuate stepping motors in open-loop systems, where each pulse causes a
single step motion, or can be fed as reference to closed-loop systems.
The initial values are fed to DDA interpolator as the following:
px = (BLU) py = (BLU)
(9-30)
qx = 0 qy = 0
Example 9_2: A Linear DDA interpolator with 4-bit registers generates the path from
the initial point A(0,0) to the final point B(10mm,13mm).
8
a) Determine the initial values of px0, qx0, py0, qy0, time period (cycle) t of clock,
frequency f0x of output zx, frequency f0y of zy, with frequency of clock f = 512
(pulse/second) (Hz), BLU = 1 (mm/pulse).
b) Determine the output pulses at the 16 integration steps.
c) Draw the waveform of f, f0x, f0y and draw the interpolated path.
Giải:
a)
px0 = = 7 (BLU); qx0 = 0
py0 = = 12 (BLU); qy0 = 0
t = = 0,001953 (s/pulse)
DDA X DDA Y
TT
px0 = 7 qx0 =0 zx=0 zx py0 =12 qy0 =0 zy=0 zy
1 7 7 0 0 12 12 0 0
2 7 14 0 0 12 8 1 1
3 7 5 1 1 12 4 1 2
4 7 12 0 1 12 0 1 3
5 7 3 1 2 12 12 0 3
6 7 10 0 2 12 8 1 4
7 7 1 1 3 12 4 1 5
8 7 8 0 3 12 0 1 6
9 7 15 0 3 12 12 0 6
10 7 6 1 4 12 8 1 7
11 7 13 0 4 12 4 1 8
12 7 4 1 5 12 0 1 9
13 7 11 0 5 12 12 0 9
14 7 2 1 6 12 8 1 10
15 7 9 0 6 12 4 1 11
16 7 0 1 7 12 0 1 12
9
c)
Interpolated path:
y
B(7,12)
Thực
tế
10 -
Lý
thuyết
5-
x
-
A(0,0) 5
Hình 9.9 The interpolated path from A to B carried
out by 4-bit hardware DDA interpolator.
g h
c d
Group I Group II
There are eight different circular arcs which can start at a point, as illustrated in Fig.
9.10. The a, b, c and d arcs of group I have a similar structure and are generated by the
same interpolator. On the other hand, arcs e, f, g and h belong to other group and are
generated by a different interpolator.
10
9.1.4.1 The circular DDA interpolator of group I
Assume that a circular quadrant a (Fig. 9.10) is produced with initial conditions
circular center coordinate C(R,0), radius R from the initial point A(0,0) to the final
point B(R,R) as illustrated in Fig. 9.11.
y
B(R,R)
y
R
ωt x
OA x
C(R,0)
(9-35)
Then:
(9-36)
Or:
11
(9-37)
Let ω = C, we have:
(9-38)
So:
px = R sinωt
(9-39)
py = R cosωt
and then:
+px = ω R cosωt t = zy
(9-40)
- py = ω R sinωt t = zx
Based on the eqs. (9-38), (9-39) and (9-40), circular DDA integrator for group I
can be produced as Fig. 9.12.
f
- t zx
px
+ 2
(f0x) Axis x
px=r.sinwt
clock
(f)
py=r.coswt zy
py - 1 Axis y
(f0y)
+t
f
O’A x'
α
x 12
O C(i,j)
Hình 9.13 AB circular arc.
Solution:
a) The initial value:
= 0o, R = 15 mm = 15 BLU.
px0 = R sin = R = 0 BLU py0 = R cos = 15 BLU
qx0 = 0 qy0 = 0
b)
Integration steps:
TT py0 =15 qy0 =0 zy=0 zy px0 =15 qx0 =0 zx=0 zx
1 15 15 0 0 0 0 0 0
2 15 14 1 1 1 1 0 0
13
3 15 13 1 2 2 3 0 0
4 15 12 1 3 3 6 0 0
5 15 11 1 4 4 10 0 0
6 15 10 1 5 5 15 0 0
7 15 9 1 6 6 5 1 1
8 14 7 1 7 7 12 0 1
9 14 5 1 8 8 4 1 2
10 13 2 1 9 9 13 0 2
11 13 15 0 9 9 6 1 3
12 12 11 1 10 10 0 1 4
13 11 6 1 11 11 11 0 4
14 11 1 1 12 12 7 1 5
15 10 11 0 12 12 3 1 6
16 9 4 1 13 13 0 1 7
17 8 12 0 13 13 13 0 7
18 8 4 1 14 14 11 1 8
19 7 11 0 14 14 9 1 9
20 6 1 1 15 15 8 1 10
21 5 6 0 15 15 7 1 11
22 4 10 0 15 15 6 1 12
23 3 13 0 15 15 5 1 13
24 2 15 0 15 15 4 1 14
25 1 0 1* 15 15 3 1 15
26 0 15
Explanation: 1* is removed
B(15,15)
15 Practical
10
Theory
5
x
A(0,0) 5 10 15
14
Hình 9.15 The path of cutting tool.
9.1.4.2 The circular DDA interpolator of group II
Assume that a circular quadrant e (Fig. 9.10) is produced with initial conditions
circular center coordinate C(0,R), radius R from the initial point A(0,0) to the final
point B(R,R) as illustrated in Fig. 9.16. Like the group I, it is easy to infer the structure
of circular DDA integrator of group II.
y
B(R,R)
C(0,R)
ωt R
x
OA
f
- t zy
py
Hình 9.17 Structure p+of=r.sinwt 2 DDA integrator
circular
y
(f0y) Trục y of group II.
qx0 = 0 px - 1
qy0 =(f0x0)
Trục x (9-42)
+t
f
where (i,j) is coordinate of C in the coordinate system (0’x’y’) at the initial point.
-∆t L
∆px 1
f' + px Trục x
C
+∆t 3
f
-p=FRN
- ∆t L
∆py + p 2 Trục y
y
C
Lệnh giảm tốc
(Deceleration)
15
9.2 CNC software interpolators
With the reduction of the price and size of PCs, a software interpolation method has appeared
in which interpolation is carried out using a computer program instead of a logic arithmetic
hardware device. Various algorithms have been introduced for soft- ware interpolation and
Table 9.1 summarizes the typical algorithms for the reference pulse interpolator and the
reference word interpolator(Sampled-Data interpolator). In the reference pulse method, a
computer generates reference pulses as an external interrupt signal and the generated pulses
are directly forwarded to the machine drive. Also in this method, 1 pulse denotes 1BLU of
axis.
Table 9.1
NC Axis of
motion
program Up-down Machine
counter DAC drive
Computer Encoder
Feedback pulses
16
In the Sampled-Data interpolation method, Fig. 9.20, the interpolation is executed in
two stages unlike the reference pulse method. In the first stage, an input contour is
segmented into straight line segments within an allowable tolerance and, in the second
stage, the approximating line segments are interpolated and the interpolation result
sent to the related axis. In general, the first stage is called rough interpolation and the
second stage fine interpolation. When the performance of microprocessors was low, a
software interpolator carried out the rough interpolation and a hardware interpolator
was used for the fine interpolation. The Euler method, Taylor method, and Tustin
method are typical algorithms for rough interpolation.
Bàn máy
Chương fs Bộ mã
DAC Truyền
trình động hóa số
Computer fs
Bộ Các xung hồi tiếp
đếm
Clear
17
Software DDA interpolation algorithms originate from hardware DDAs and their
execution procedure is the same as the behavior of hardware DDAs.
a. Linear DDA interpolator
Flow chart of linear interpolation is shown in Fig.9.21.
The number of integration steps:
qx = qx + px
n= (9-54)
qx ≥ L
The initial steps:
px = ; py = ;
qx = qx - L
qx = 0 qy = 0
Ví dụ 9_4: A CNC machine using software DDA Pulse to X
T= = 0,1 minute
b)
The initial values:
px = = 4 mm py = = 3 mm
qx = 0 qy = 0
18
Integration steps:
Machine table X Machine table Y
STT
px qx z x zx py qy z y zy
0 4 0 0 0 3 0 0 0
1 4 4 0 0 3 3 0 0
2 4 3 1 1 3 1 1 1
3 4 2 1 2 3 4 0 1
4 4 1 1 3 3 2 1 2
5 4 0 1 4 3 0 1 3
c)
y
The waveforms of f, f0x, f0y:
f B
f0x
f0y
The interpolation path (hình 9.22): qy = qy + py
x
OA
Hình 9.22 The integration
qy ≥ R
b. Circular DDA interpolator path.
.
Flow chart of circular DDA
qy = qy - R
interpolation is shown in Fig.9.23. (circular arc of group I).
The initial values:
px = px + 1
px = = R sinα py = = R cosα
qx = 0 qy = 0
Xuất xung
Ví dụ 9_5: A CNC machine using a software DDA tới trục Y
interpolator generates the circular arc with radius R=12mm
from A(0,0) to B(12,12mm) as shown in Fig. 9.14. Know that qx = qx + px
BLU=1(mm/pulse),
a) Determine the initial values. qx ≥ R
b) Determine the integration steps.
c) Show the waveforms of f, f0x, f0y, and interpolation path. qx = qx - R
Solution:
a) The initial values: py = py - 1
px = = R sinα py = = R cosα
qx = 0 qy = 0 Xuất xung
tới trục X
19
Hình 9.23 Flow chart of
circular DDA interpolation.
b)
Integration steps:
TT py qy z y zy px qx z x zx
0 12 0 0 0 0 0 0 0
1 12 0 1 1 1 1 0 0
2 12 0 1 2 2 3 0 0
3 12 0 1 3 3 6 0 0
4 12 0 1 4 4 10 0 0
5 12 0 1 5 5 3 1 1
6 11 11 0 5 5 8 0 1
7 11 10 1 6 6 2 1 2
8 10 8 1 7 7 9 0 2
9 10 6 1 8 8 5 1 3
10 9 3 1 9 9 2 1 4
11 8 11 0 9 9 11 0 4
12 8 7 1 10 10 9 1 5
13 7 2 1 11 11 8 1 6
14 6 8 0 11 11 7 1 7
15 5 1 1 12 12 7 1 8
16 4 5 0 12 12 7 1 9
17 3 8 0 12 12 7 1 10
18 2 10 0 12 12 7 1 11
19 1 11 0 12 12 7 1 12
20 0 12
c)
10
5
Lý
thuyết
x
A(0,0) 5 10
y
y
b a f e
x
O O
x
c d g h
K K+1
(xk,yk) (xk+1,yk+1)
x
O B
Hình 9.26 The behavior of SA
interpolation algorithm.
21
Assume that the tool reaches the position (Xk,Yk) after the ith iteration. In this
algorithm, the variable Dk is calculated by Eq. 9.55.
Dk = - R2 (9-55)
A A
(xA,yA) (xA,yA) (xi,yj)
(xi,yj) (xi+1,yj)
(xi,yj+1)
22
x x
O O
B (xB,yB) B (xB,yB)
Hình 9.27 The direction of movement:
a. From (xi,yj) to (xi+1,yj)
b. From (xi,yj) to (x,yj+1)
If the current position of cutting tool is (xi,yj), Di,j can be determined by Eq.9.56:
Di,j = - R2 (9-56)
In Eq. 9.56, i and j respectively denote the number of steps along the X-axis and theY-
axis. When one step is added along the X-axis from (x i,yj) to (xi+1,yj) as shown in Fig.
9.27a, Eq.9.56 is changed to Eq.9.57:
Di+1,j = - R2 (9-57)
Di+1,j = - R2
Di+1,j = - R2 + 2xi +1
or: Di+1,j = Di,j + xi (9-58)
Di,j+1 = - R2 (9-61)
Di,j+1 = - R2
Di,j+1 = - R2 - 2yj +1
23
or: Di,j+1 = Di,j + yj (9-62)
with: yj = -2yj +1 (9-63)
thus: yj+1 = -2yj+1 +1
yj+1 = -2(yj -1) +1
so: yj+1 = -2yj +1 +2
yj+1 = yj +2 (9-64)
Flow chart of SA interpolation algorithm is shown in Fig. 9.28
x=x0=xA; xf = ; y=y0=yA; yf =
x =x0=2x0 +1; y = y0 = -2y0 +1; D = 0
x = x0 = xA; y = y0 = yA;
xf =; yf =; D=0; x=2x0 +1;
y=-2y0 +1
Đ S
D>0
D = D + y D = D + x
y = y + 2 x = x + 2
y = y -1 x = x +1
yf = yf -1 xf = xf -1
Pulse to Y- Pulse to X+
xf = 0 S
yf = 0 S
24
N =|X0−Xf|+|Y0−Yf|, (X0,Y0): Start
position, (Xf,Yf) : Final position y
Example 9_4: A CNC machine using software
SA interpolator generates the path from
A(0,R)
A(0mm,10mm) to B(10mm,0mm) as shown in Fig.
9.29. Know that BLU=1(mm/pulse):
a) Determine the initial values, and integration steps. R
b) Show the waveforms of f, f0x, f0y, and the x
interpolation path from A to B. 0 B(R,0)
Solution: Hình 9.29 AB arc.
a) Initial values:
x0 = xA = 0 ; y0 = yA = 10 ; x = 2x0 +1 = 1; y = -2y0 + 1 = -19 ;
xf = 10 ; yf = 10 ; D = 0 ; x = xA = 0 ; y = yA = 10 .
Interpolation steps:
25
The interpolation path: y
A(0,10) Real
5
ideal
Figure 9.30 The interpolation path of AB arc.
x
O
5 B(10,0)
Y y
'
YB B
O’ x
YA
A
26
X
O
XA XB
Hình 9.31 Line AB.
(xi,yj)
Assume that a CNC machine using software SA interpolator generates the linear path
from A(XA,YA) to B(XB,YB) in the Cartesian coordinate system (OXY) as shown in
Fig. 9.31 and know that BLU=1(mm/pulse), the equation of line AB in the coordinate
system is:
y= (9-65)
asign: α= (9-66)
deduce: y = αx (9-67)
If the position of the cutting tool is (xi,yj), Di,j can be determined:
Di,j = yj - αxi (9-68)
If Di,j>0, the point (xi,yj) lies above the line AB, thus the next point that the
cutting tool will get to is the point (xi+1,yj) in the direction of x+, we have:
Di+1,j = yj – αxi+1 (9-69)
Di+1,j = yj – α(xi+1)
Di+1,j = Di,j – α
với x = –α (9-70)
Di+1,j = Di,j + x (9-71)
If Di,j<0, the point (xi,yj) lies below the line AB, so the next point that the cutting
tool will go to is the point (xi,yj+1) in the direction of y+, thus:
Di,j+1 = yj+1 – αxi (9-72)
Di,j+1 = (yj+1) – αxi
Di,j+1 = Di,j +1
với y = 1 (9-73)
27
Di,j+1 = Di,j + y (9-74)
If Di,j = 0, the point (xi,yj) lies on the line AB, the next point can be one of the
two above cases.
The above analysis helps us to generate the SA linear interpolation algorithm of
the line AB in the first quater of the coordinate system in Fig. 9.31 as follows:
x=x0=xA=0; y=y0=yA=0;
xf =;yf =;
x=-α; y=1; D=0
Đ S
D<0
D = D + y D = D + x
y = y +1 x = x +1
yf = yf -1 xf = xf -1
Xung tới y Xung tới x
xf = 0 S
yf = 0 S
28
a) Determine the initial values, and integration steps.
b) Show the waveforms of f, f0x, f0y, and the interpolation path from A to B.
Solution:
a) The initial values:
x = x0 = xA = 0 ; y = y0 = yA = 0 ; x = -2; y = 1 ; xf = 5 ; yf = 10 ; D = 0 .
Kết quả nội suy theo phương pháp xấp xỉ bậc thang:
O x
Hình 9.33 Quỹ đạo dao gia công đường thẳng AB A(0,0) 5
theo giải thuật xấp xỉ bậc thang.
9.2.1.3 Giải thuật nội suy tìm kiếm trực tiếp DS (Direct search)
29
One of the weaknesses of the Stairs Approximation algorithm is that a lot of
iterations are required because simultaneous movement of axes is not considered in the
algorithm. Furthermore, possible error conditions are not considered when the
interpolated position is decided. As an alternative, the Direct Search algorithm, which
is introduced in this section, carries out optimal interpolation because the algorithm
searches through all possible directions and finds a direction with the minimum path
error. Basically, the Direct Search algorithm is very similar to the Stairs
Approximation algorithm. x=x 0=xA;y=ythe
However, 0=yA;D=0;
Direct Search algorithm considers the
D1=0; D2=0; D3=0;
simultaneous movement of axesxbased on path error, in contrast to the Stairs
f =;yf =;
xf = 0 S
yf = 0 S
Đ
30
Hình 9.34 Flow chart of Direct search algorithm
of a circular arc.
y
1 2 3 4 5 6 7 8 9 10 11 12 13 14
f
f0x
y f0y
Real
5
Ideal
x
O
5 B(10,0)
32
Figure 9.36 Interpolated path of AB arc.
Remark: Evaluation of DDA, SA, DS algorithms.
ERi = Ri – R = –R (9.75)
N N N ERmax N
ERmax
33
RS
Figure 9.38 The relationship between ER and R.
R
Figure 9.39 The relationship between N (the number of iteration steps and R.
34
9.2.2 Các giải thuật nội suy phần mềm dùng cho hệ CNC lấy mẫu
9.2.2.1 Giải thuật nội suy từ chuẩn cho đường thẳng
Trong giải thuật nội suy từ chuẩn, nội suy đường thẳng rất đơn giản so với nội
suy đường tròn. Khái niệm và lưu đồ cho nội suy từ chuẩn cho đường thẳng được cho
trong hình 9.40.
a.
c.
b.
Hình 9.40 trình bày quá trình nội suy đường thẳng theo giải thuật từ chuẩn. Hình
9.40a cho thấy toàn bộ đoạn thẳng gia công từ điểm đầu (x s,ys) đến điểm cuối (xe,ye)
với vận tốc V, đoạn thẳng này tạo với trục hoành góc , những phân đoạn ∆L hay
những điểm nội suy Pi để di chuyển đến ở mỗi khoảng thời gian nội suy T ipo, và gia
lượng của trục x là ∆x và của trục y là ∆y ứng với mỗi khoảng thời gian nội suy này.
Như vậy, ý tưởng cơ bản của giải thuật này là phân đoạn đường thẳng gia công bởi
mỗi khoảng thời gian nội suy T ipo. Tại mỗi khoảng thời gian lấy mẫu này, điểm được
35
nội suy có thể được xác định như trong phương trình (9.76), mà trong đó lượng dịch
chuyển của mỗi trục được cho bởi phương trình (9.77).
xi+1 = xi + x;
(9.76)
yi+1 = yi + y
x = L.cos = L.
(9.77)
y = L.sin = L.
L = V.Tipo (9.78)
L= (9.79)
V = V0 . feed override (9.80)
Trong phương trình (9.78), đoạn thẳng ∆L phụ thuộc vào vận tốc V. Vận tốc V
thì được xác định bởi phương trình (9.80) khi mà vận tốc điều khiển V0 được xác định
trong chương trình gia công được bù trừ bởi việc hiệu chỉnh tốc độ chạy dao.
Hình 9.40b trình bày lưu đồ nội suy từ chuẩn cho đường thẳng được suy ra từ các
phương trình ở trên. Hình 9.40c chỉ ra số lượng gia lượng (x và y) cho các trục x và
y trong mỗi khoảng thời gian nội suy Tipo. Tổng số lần nội suy được tính như dưới đây:
N= (9.81)
Gia lượng của mỗi trục sẽ được truyền đến vùng đệm FIFO trong mỗi khoảng
thời gian nội suy Tipo và gia lượng này cũng là tín hiệu đầu vào (input) của bộ điều
khiển tăng tốc/giảm tốc. Nói chung, bởi vì tốc độ chạy dao không đổi được cấp phát
trong từng khối lệnh trong chương trình gia công chi tiết, ∆x và ∆y giữ cho tốc độ
chạy dao không đổi. Tuy nhiên, nếu việc hiệu chỉnh tốc độ chạy dao được thực thi, gia
lượng của mỗi trục có thể bị thay đổi trong mỗi khoảng thời gian nội suy.
Tới đây, xuất hiện một câu hỏi. Khi chiều dài của đoạn thẳng L, không chính xác là
N lần ∆L, (trong đó N là số nguyên), mà còn có phần dư nhỏ hơn ∆L, làm thế nào để
nội suy lượng chiều dài còn lại (phần dư)? Phương pháp điển hình cho việc xử lý
lượng chiều dài còn dư là chia nó thành các phần bằng nhau và cấp phát thêm những
phần chia này cho mỗi lần nội suy. Ví dụ, nếu chiều dài còn lại là 10, sau đó thêm vào
1 cho mỗi giá trị nội suy từ lần đầu tiên đến lần nội suy thứ 10. Phương pháp này đòi
36
hỏi công suất tính toán lớn mặc dù vận tốc được duy trì không đổi. Vì vậy, cách tốt
nhất và thiết thực của việc giải quyết chiều dài còn dư là thêm vào toàn bộ chiều dài
còn dư vào giá trị nội suy ở lần nội suy sau cùng. Điều này không hề ảnh hưởng đến
độ chính xác gia công.
9.2.2.2 Giải thuật nội suy từ chuẩn cho cung tròn
Giả sử cần gia công cung tròn AB với vận tốc V như trên hình 9.41. Trong suốt
quá trình nội suy đường tròn, vận tốc tiếp tuyến V cần được giữ ổn định trên đường
tròn. Vận tốc riêng lẻ của các trục được xác định bởi phương trình (9.82):
Vx(t) = V.sin(t)
(9.82)
Vy(t) = V.cos(t)
trong đó:
(t) là góc nội suy ở thời điểm t
(t) = (V.t/R) (9.83)
Vận tốc của các trục (Vx, Vy) được tính
toán bởi bộ nội suy đường tròn và được đưa
B
vào vòng điều khiển kín của bộ điều khiển vị
trí giống như là tín hiệu đầu vào chuẩn. Trong
nội suy từ chuẩn cho cung tròn, đoạn cung nội
suy được xấp xỉ gần đúng bằng nhiều phân
đoạn thẳng bằng nhau. Các phân đoạn thẳng
này được tạo ra bằng cách chia cung cần nội
suy AB thành nhiều cung bằng nhau, mỗi
cung có độ lớn góc là α; góc α chính là góc O
A
gia lượng sau mỗi lần nội suy. Số lượng phân Hình 9.41 Nội suy từ chuẩn cho cung tròn.
đoạn càng lớn thì nội suy càng chính xác. Tuy
nhiên, khả năng tính toán được yêu cầu mạnh hơn khi số lần nội suy tăng lên. Vì vậy,
cần thiết phải tối ưu số phân đoạn sao cho sai số của cung tròn nội suy nhỏ hơn hoặc
bằng 1 BLU. Việc xác định số phân đoạn hợp lý thực chất là xác định góc hợp lý.
Giá trị góc là yếu tố then chốt cho nội suy từ chuẩn. Với các cách xác định góc
khác nhau dẫn đến các giải thuật khác nhau.
37
Hình 9.41 mô tả quan hệ giữa hai điểm nội suy liên tiếp. Điểm thứ i có tọa độ
(xi,yi) và điểm tiếp theo thứ i+1 có tọa độ (x i+1,yi+1); trong đó góc nội suy tại điểm thứ i
là i và góc nội suy tại điểm thứ i+1 là i+1. Quan hệ giữa i và i+1 là:
i+1 = i + α (9.84)
Do vậy cosi+1 = cos(i+ α)
(9.85)
sini+1 = sin(i+ α)
hay cosi+1 = cosi.cosα - sini.sinα
(9.86)
sini+1 = sini.cosα + sinα.cosi
Đặt: A = cosα ; B = sinα (9.87)
suy ra: cosi+1 = A.cosi – B.sini
(9.88)
sini+1 = A.sini + B.cosi
Mặt khác, tọa độ điểm nội suy thứ i được xác định như sau:
xi = R.cosi
(9.89)
yi = R.sini
Tương tự:
xi+1 = R.cosi+1
(9.90)
yi+1 = R.sini+1
Thay biểu thức (9.88) vào phương trình (9.90) và cùng với phương trình (9.89),
dễ dàng suy ra được vị trí điểm nội suy tiếp theo i+1 là:
xi+1 = A.xi – B.yi
(9.91)
yi+1 = A.yi + B.xi
Như đã nói ở trên, các giải thuật nội suy từ chuẩn được trình bày trong chương
này phụ thuộc vào những phương trình ở trên và sự khác nhau giữa các giải thuật này
chính là ở các phương pháp được sử dụng để xác định góc và cách thức để xấp xỉ
gần đúng A và B trong phương trình (9.91).
Nếu góc được xác định mà không quan tâm đến loại giải thuật nào, thủ tục nội
suy tiếp theo được thực thi ở mỗi bước lặp. Vị trí bắt đầu và vận tốc được cho bởi
chương trình gia công chi tiết.
Giả sử dao đang ở vị trí điểm nội suy thứ i có tọa độ (x i,yi), từ phương trình
(9.91) và các giá trị A, B đã biết (góc đã được xác định), tọa độ điểm nội suy tiếp
38
theo (xi+1,yi+1) có thể được tính toán. Và vì vậy, chiều dài đoạn thẳng Ds i từ điểm i đến
i+1 (chiều dài dây cung) được xác định thông qua việc tính toán các đoạn gia lượng
Dxi theo phương x và Dyi theo phương y cũng như xác định vận tốc của các trục theo
phương x và y.
Dxi và Dyi được xác định theo phương trình:
Dxi = xi+1 – xi = (A-1).xi – B.yi
(9.92)
Dyi = yi+1 – yi = (A-1).yi + B.xi
Do vậy: Dsi = (9.93)
Vận tốc của các trục theo phương x và y từ điểm nội suy thứ i đến điểm i+1 là:
Vx(i) =
(9.94)
Vy(i) =
Dxi và Dyi (lần lượt là gia lượng dọc theo các trục x và y); V x(i) và Vy(i) (lần lượt
là vận tốc theo trục x và y) được gọi là các từ chuẩn cho các trục x và y tương ứng.
Những giá trị này được truyền đến chương trình điều khiển gia tốc/giảm tốc thông qua
bộ đếm FIFO. Sử dụng những thông tin này, chương trình con nội suy luôn cập nhật
điểm nội suy tức thời (xi,yi).
Sai số bán kính ER và sai số chiều cao dây cung EH (hình 9.42) là cơ sở cho việc
xác định góc . Hai loại sai số này xảy ra khi một cung tròn được xấp xỉ bởi những
đoạn thẳng. Giả sử ta cần gia công cung tròn AB tâm O, bán kính R như trên hình
9.42. Do điểm nội suy thứ i (x i,yi) có khả năng không nằm trên quĩ đạo cung tròn lý
tưởng tâm O, bán kính R nên tạo ra sai số bán kính ER i chính là khoảng cách từ điểm i
đến cung tròn lý tưởng. Sai số bán kính này được tính như sau:
ERi = Ri – R = –R (9.95)
39
ER1 = R0. –R
vì (x0,y0) là điểm xuất phát trên cung tròn nên: R0 = R
do vậy: ER1 = R. –R
ER1 = .R (9.96)
Do ER là một sai số từ ảnh hưởng của sự cắt xén và sai số này được tích lũy bởi
số lần lặp lại nên có thể xem ERi có giá trị gần đúng là i lần ER1, vì vậy:
ERi = i. .R (9.97)
i+1
B
O A
Hình 9.42 Sai số bán kính và sai số chiều cao dây cung.
Khác với sai số bán kính ER, sai số chiều cao dây cung EH không tích lũy. Xét
tam giác tạo bởi ba điểm O, i và i+1, ta thấy sai số chiều cao dây cung là hiệu của bán
kính cung tròn lý tưởng R và đường cao có đỉnh là O của tam giác trên, và được tính
theo biểu thức:
Do: cosα = 2.
40
Dựa vào các phương trình ở trên, nên được xác định sao cho giá trị của ER và
EH không vượt qua giá trị 1 BLU.
Trong thực tế đã có những phương pháp xác định góc khác nhau tương ứng với
giải thuật khác nhau như giải thuật Euler, giải thuật Improved Euler, giải thuật Taylor,
giải thuật Tustin, giải thuật Improved Tustin…. Dưới đây là các giải thuật này.
cos = 1 - + - + (9.101)
sin = - + - +
(9.102)
Trong giải thuật Euler, cos and sin được xấp xỉ gần đúng bởi khai triển chuỗi
Taylor bậc nhất; do vậy từ biểu thức (9.101) và (9.102) ta suy ra:
A = cos = 1
(9.103)
B = sin =
Vì sự khai triển dãy bị cắt nên sai số bán kính ER có ảnh hưởng đến độ chính xác
của giải thuật. Sai số bán kính lớn nhất của giải thuật này được tính toán bằng phương
trình (9.104):
ERmax = (9.104)
Và nếu nhỏ, sai số bán kính lớn nhất có thể được xấp xỉ gần đúng bởi phương
trình (9.105):
ERmax = (9.105)
Nếu ¼ cung tròn được nội suy sử dụng giải thuật này, góc được tính từ phương
trình (9.105) với ERmax = 1 BLU là:
= (9.106)
Số lần lặp lại N khi nội suy ¼ cung tròn là thương số của góc /2 chia cho α:
41
N= =
hay N= (9.107)
α= (9.112)
N= = (9.113)
Trong giải thuật Taylor, hệ số A được chọn là giá trị cosα được xấp xỉ gần đúng
bởi khai triển chuỗi Taylor bậc hai và B được chọn là giá trị sinα được xấp xỉ gần đúng
42
bởi khai triển chuỗi Taylor bậc nhất. Dễ thấy rằng, hệ số A trong phương trình (9.114)
bằng với giá trị trung bình của hệ số A trong giải thuật Euler cải tiến.
A = cos = 1 - α2
(9.114)
B = sin =
Thay biểu thức (9.114) vào phương trình (9.97) với số lần lặp lại lớn nhất i=N=
ERmax =
ERmax (9.115)
Tương tự, từ (9.114) và (9.100) suy ra được sai số dây cung theo phương trình:
EHi = R – Ri
EHi R – Ri + (9.116)
EHi đạt giá trị lớn nhất khi Ri đạt giá trị nhỏ nhất, tức Ri = R, vì vậy:
EHmax = (9.117)
Phương trình (9.115) và (9.117) cho thấy mối quan hệ giữa sai số bán kính lớn
nhất và sai số dây cung lớn nhất là:
Từ phương trình 9.118, chúng ta thấy rằng nếu góc nhỏ hơn 2/, sai số chiều
cao dây cung EH lớn hơn sai số bán kính ER. Hình 9.38 cho ta thấy, khi R quá nhỏ sai
số ER sẽ lớn vì vậy khi R lớn hơn R S = 50BLU thì sai số ER sẽ nhỏ và ổn định. Như
vậy khi R lớn hơn RS thì <2/ được thỏa mãn và sai số EH lớn hơn ER.
Vì sai số chiều cao dây cung EH có giá trị cho phép lớn nhất là 1 BLU, được
xác định từ phương trình (9.117):
(9.119)
Số lần nội suy ¼ cung tròn theo giải thuật Taylor được xác định như sau:
43
N (9.120)
Giải thuật Tustin dựa trên quan hệ xấp xỉ giữa các toán tử vi phân và biến rời rạc
z như được thể hiện trong phương trình (9.121).
s (9.121)
Dựa vào phương trình (9.121), A và B trong phương trình (9.87) có thể được xác
định như sau:
A B (9.122)
Thay hệ số A và B ở trên vào các phương trình (9.92), ta được:
Dxi
(9.123)
Dyi
Vx(i)
(9.124)
Vy(i)
Giải thuật Tustin gán sai số bán kính ER luôn bằng 0 (ER i = 0) tức là Ri luôn có
giá trị bằng R nên góc α được tính dựa trên sai số dây cung EH. Bằng cách thay giá trị
A trong biểu thức (9.122) vào phương trình (9.100), EH có thể được xác định:
EHi (9.125)
Nếu góc α rất nhỏ, EHi được tính gần đúng là:
EHi (9.126)
Suy ra α (9.127)
44
α (9.128)
N (9.129)
Giải thuật Tustin thiết lập giá trị ER = 0. Trong thực tế, ER có thể thiết lập tới giá
trị 1 BLU thay vì là 0. Làm điều này có thể gia tăng được góc và vì vậy gia tăng
được hiệu quả của giải thuật. Dựa vào ý tưởng này, giải thuật Tustin cải tiến đã được
đề xuất. Xét tam giác vuông OiM (hình 9.43), xác định được:
(9.130)
= = (9.131)
α= (9.132)
N (9.133)
M
i
O
Hình 9.43 Nội suy theo giải thuật Tustin cải tiến.
45
So với giải thuật Tustin, giải thuật này tăng góc lên lần khi so sánh giữa biểu
thức (9.132) và (9.128). Ngoài ra, số bước lặp lại N cho nội suy ¼ đường tròn giảm (so
sánh giữa (9.133) và (9.129)). Trong giải thuật Tustin cải tiến sai số bán kính cực đại
ER và sai số chiều cao dây cung EH không nhất thiết phải có giá trị là 1 BLU, có
nghĩa là ER và EH có thể thiết lập ở một giá trị BLU bất kỳ (với < 1 BLU), điều
này có nghĩa là:
Ri = R +
Do vậy:
(9.130)
suy ra:
α = 2.cos-1 (9.132)
Số lần nội suy:
N (9.133)
Nhận xét: Từ những phân tích ở trên, ta có thể tóm tắt các thông số về góc α và
số lần nội suy (hay số lần lặp lại) N của các giải thuật như sau:
Bảng 9.4 Góc α và số lần nội suy N của các giải thuật theo phương pháp lấy mẫu
Giải thuật α N
Euler
Taylor
Tustin
Dựa vào bảng trên ta thấy góc α và số lần nội suy N trong giải thuật Tustin và
Taylor là giống nhau. Góc α của giải thuật Taylor và Tustin luôn lớn hơn góc α của
các giải thuật Euler và số lần nội suy N của các giải thuật này ít hơn so với số lần nội
46
suy của các giải thuật Euler. Vì vậy, hiệu quả nội suy của giải thuật Taylor và Tustin
cao hơn các giải thuật Euler.
Nmin = = 7,4 chọn số điểm nội suy N0 = 10 điểm lớn hơn Nmin
b. Các giá trị gia lượng Dxi, Dyi và tọa độ các điểm nội suy xi, yi của cung tròn AB:
Áp dụng công thức (9.92), ta có bảng giá trị Dxi, Dyi, xi, yi như dưới đây:
47
Từ các giá trị Dxi, Dyi ở bảng trên, áp dụng công thức (9.93) để xác định Ds i và
từ đó dùng công thức (9.94) để xác định các cặp giá trị vận tốc tức thời (Vx(i),Vy(i))
tương ứng. Các cặp giá trị này chính là dữ liệu đầu vào cho các bộ điều khiển servo
của các Các giá trị gia lượng Dxi,Dyi Tọa độ các điểm nội suy xi,yi bàn
TT
Dxi = (A-1).xi – B.yi Dyi = (A-1).yi + B.xi xi yi
máy X và Y.
1 0.07387 0.938604 5,92613 0.938604
2 0.21979 0.915494 5,70634 1,854098
9.3 Nội 3 0.3461 0.870959 5,36024 2.725057 suy
4 0.49193 0.802771 4,86831 3.527828
tinh
5 0.61145 0.715932 4,25686 4.243763
6 0.71591 0.611466 3,54095 4.855229
7 0.80275 0.491943 2,7382 5.347172 Khi
8 0.86982 0.360307 1,86838 5.707479
khoảng 9 0.91435 0.205604 0,95403 5.913083
thời
gian 10 0.93858 0.07388 0,01545 5.986963 nội suy
lấy mẫu cho nội suy thô và chuỗi xung sau khi tăng/giảm tốc lớn hơn khoảng thời gian
lấy mẫu điều khiển vị trí, nội suy tinh được thực hiện. Ví dụ, nếu khoảng thời gian cho
nội suy thô và tăng/giảm tốc là 4ms, và khoảng thời gian lấy mẫu cho điều khiển vị trí
là 1ms, thì chuỗi xung cho mỗi 4ms được chứa trong CPU chính, mà được nội suy tinh
cho mỗi 1ms bởi CPU có nhiệm vụ điều khiển chuyển động.
Trong thực tế, quá trình điều khiển tốc độ “gom” một lượng liên tiếp kết quả nội
suy lại với nhau ( có thể coi là số xung), sau đó tính toán vận tốc, bộ nội suy tinh có
nhiệm vụ chia tổng số xung dịch chuyển cho cả khoảng thời gian lấy mẫu một cách
hợp lý. Có nhiều phương pháp nội suy tinh:
- Phương pháp tuyến tính mà trong đó chuỗi xung của mỗi 4ms được chia thành
1ms.
- Và phương pháp trung bình dịch chuyển mà trong đó lượng trung bình dịch
chuyển của chuỗi xung được sử dụng để nội suy tinh.
48
Phương pháp nội suy tuyến tính:
Giả sử thời gian gom xung là 4ms, thời gian mỗi lần nội suy tinh là 1ms, bộ nội
suy tinh sẽ chia khoảng thời gian như sau:
(9.134)
Công thức trên thể hiện phương pháp nội suy tuyến tính, a(j) là số xung xuất ra
tại thời điểm nội suy thứ j, và p(i) là tổng số xung xuất ra sau khi điều khiển
tăng/giảm tốc trong khoảng thời gian gom xung i. t ipo là thời gian nội suy thô, N
là tỉ số giữa thời gian lặp lại nội suy và thời gian lặp lại điều khiển vị trí.
(9.135)
Áp dụng các công thức tính ở trên, ta có thể tính được lượng trung bình
dịch chuyển b”(j) của chuỗi xung đã cho trên hình 9.44. Các giá trị b”(j) được thể
hiện trên hình 9.45.
b"(j)
49
Hình 9.45 Trung bình dịch chuyển của chuỗi xung trên hình 9.44.
9.4 Nội suy NURBS
9.4 .1 Mô hình đường cong NURBS
Một đường cong NURBS C(u) bậc p được định nghĩa:
1 voi : ui u ui 1
với
N i ,0 (u ) (9.136)
0 trường
truonghợphopkhác
khac
Pi (0 ≤ i ≤ n) là các điểm điều khiển, w i là các trọng số, Ni,p(u) là các hàm B-
Spline cơ sở được xác định dựa trên các véctơ nút U={u 0 , u1,…, um}, (m=n+p+1), các
ul (0 ≤ l ≤ m) là các nút.
u ui ui p 1 u
N i , p (u ) N i , p 1 (u ) Ni 1, p 1 (u ) (9.137)
ui p ui ui p 1 ui 1
50
- Thay đổi vị trí điểm điều khiển P i sẽ tác động đến hình dáng đường cong trong
khoảng [ui, ui+p+1].
9.4.3 Đạo hàm của đường cong
9.4.3.1 Đạo hàm
Đường cong đạo hàm bậc nhất, bậc hai của đường cong NURBS cũng là một
đường cong NURBS. Ta có:
w(u )C (u ) A(u )
C (u ) (9.138)
w(u ) w(u )
n
A '(u ) w '(u )C (u )
vậy: C '(u ) (9.139)
w(u )
Đạo hàm cấp thứ k là:
A(u) = w(u)C(u) (9.140)
Theo công thức Leibnitz:
k
k
A(u )( k ) ( w(u )C (u )) ( k ) w(i ) (u )C ( k 1) (u )
i 0 i
k
k
w(u )C ( k ) (u ) w(i ) (u )C ( k 1) (u ) (9.141)
i 0 i
Vậy suy ra: k
k
A( k ) (u ) w( i ) (u )C ( k 1) (u )
i 1 i
C ( k ) (u ) (9.142)
w(u )
51
Khi w1= w2=…= wn= 1 thì đường cong NURBS trở thành đường cong B-spline:
n
C (u ) N i , p (u ) Pi (9.144)
i 0
p
với: Qi ( Pi 1 Pi )
ui p 1 ui 1
- Điều kiện liên tục bậc nhất C1: hai đoạn đường cong C1 (u) và C2 (u) được gọi là liên tục
bậc nhất tại điểm kết nối khi thỏa điền kiện sau:
C1 '(1) C2 '(0)
-Điều kiện liên tục bậc hai C2: hai đoạn đường cong C1(u) và C2(u) được gọi là liên tục
bậc hai tại điểm kết nối khi thỏa các điều kiện sau:
C1 '(1) C2 '(0)
C1 ''(1) C2 ''(0)
9.4.4 Tính toán nội suy NURBS
52
9.4.4.1 Lý thuyết nội suy NURBS
Cho (n+1) điểm dữ liệu Q0, Q1, Q2, …, Qk (0 ≤ k ≤ n) tìm đường cong NURBS
C(u) có bậc là p, xây dựng dựa trên các điểm điều khiển Pi (chưa biết).
Với chuỗi điểm dữ liệu Q0, Q1, Q2, …, Qk (0 ≤ k ≤ n) cho trước thì luôn có một
đường cong NURBS C(u) bậc p đi qua chuỗi điểm đó.
Từ đó ta có: n
1
Qk C (tk ) n N i, p (tk ) wi Pi (9.148)
N
i 0
i, p (tk ) wi i 0
hay: Q = N.P
với: Q0 P0
Q P
1 1
Q Q2 P P2
Q P
n n
Thông qua phép toán ma trận ta dễ dàng tìm được chuỗi điểm điều khiển.
9.4.4.2 Quy trình tính toán nội suy NURBS
9.4.4.2.1 Bước 1: Tính các giá trị tham số
53
Có nhiều phương pháp tính các giá trị tham số t i, ở đây xin được trình bày ba
phương pháp:
+ Phương pháp khoảng cách không đổi (Uniformly Spaced Method): phương
pháp này là phương pháp đơn giản nhất. Với một khoảng [a,b] cho trước, giá trị t i
tương ứng với (n+1) điểm dữ liệu là:
t0 a
ba
ti a i ; với: (0 ≤ i ≤ n -1) (9.151)
n
tn b
Với mong muốn đường cong sẽ đi qua điểm dữ liệu đầu và cuối thì khi ấy t1= 0,
tn= 1 và khi ấy [a,b] = [0,1]
t0 0
i
ti ; với: (0 ≤ i ≤ n-1) (9.152)
n
tn 1
Q Q
a
i i 1
Lk i 1 (9.154)
L
Như vậy các giá trị ti tương ứng với (n+1) điểm dữ liệu Q0, Q1, Q2, …, Qn là:
t0 0
1 k
tk Qi Qi 1
a
(9.155)
L i 1
tn 1
với t1 =0, tn =1 thì đường cong sẽ đi qua điểm dữ liệu đầu Q0 và cuối Qn.
+ Phương pháp độ dài cung (Chord Length Method): cho các điểm dữ liệu Q0,
Q1, Q2, …, Qn , khoảng cách từ Qi-1 đến Qi là và tổng chiều dài các đoạn thẳng
nối các điểm dữ liệu là:
n
L Qi Qi 1 (9.156)
i 1
54
Tỉ số giữa tổng chiều dài từ điểm dữ liệu Q 0 đến Qk trên tổng chiều dài các đoạn
thẳng nối các điểm dữ liệu là:
1 k
Lk Qi Qi 1
L i 1
(9.157)
Nếu xét trên đoạn [0,1] thì các giá trị ti là:
t0 0
1 k
tk Qi Qi 1
L i 1 (9.158)
tn 1
Nếu xét trên đoạn [a,b] thì các giá trị ti là:
t0 a
(b a) k
tk a Qi Qi1
L i 1
(9.159)
tn b
- Phương pháp trung bình (Average Method): Phương pháp này do Boor đề nghị
u0 u1 ........ u p 0
j p 1
1
u j p
p
u
i j
i
um p um p 1 ........ um 1; m n p 1
9.4.4.2.3 Bước 3: Tính các hàm B-spline cơ bản theo công thức
u ui u u
N i , p (u ) N i , p 1 (u ) i p 1 N i 1, p 1 (u )
ui p ui ui p 1 ui 1
Với:
1 voi : ui u ui 1
N i ,0 (u )
0 truong hop khac
55
9.4.4.3 Giải thuật nội suy NURBS
Kết thúc
Điểm dữ liệu
Qk từ bản vẽ
chi tiết hoặc
phần mềm
CAD/CAM
m
Tính toán hàm cơ sở
Ni,p
m
TínhCho
toánu=0,
điểm điều
khiển Pi
56
ui= ui-1+Δu Tính toán nội
hàmsuy cơ sở Nhập điểm dữ liệu
mXuất điểm
u=1
Ni,pmới mới, số p mới
NURBS
57
9.4. Nội suy NURBS
Khi gia công với tốc độ cao, việc tính toán theo đường thẳng hoặc cung tròn tốn
nhiều thời gian và sai số lớn, do vậy, việc sử dụng các đường cong B-Spline cho phép
hệ thống điều khiển gia công nhanh và chính xác hơn.
9.4.1. Công thức dạng đường cong NURBS
Có nhiều mẫu công thức toán học cho từng loại đường cong : Bezier, B-spline và
NURBS để thể hiện các đường cong tự do. Trong số các công thức trên, NURBS là
mẫu phổ biến, là một giải pháp đặc biệt. Với hình dáng hình học của NURBS, có thể
thực hiện nội suy nhiều đường cong phức tạp, tốn ít dữ liệu và có thay đổi hình dạng
nhờ thay đổi các điểm điều khiển. Hiện nay, nội suy hình học NURBS được sử dụng
nhiều trong các hệ thống CAD/CAM.
Công thức thể hiện NURBS:
(9.136)
Ni,p(u) là điểm kiều khiển cơ bản của đường B-spline, được thể hiện trong công thức:
(9.137)
58
Trong các công thức trên, giá trị ui thể hiện các điểm điều khiển (nút), và đường cong
NURBS dựa trên các vector tạo từ các nút này. Vector điều khiển được thể hiện trong
công thức, mỗi giá trị ui lớn trong vector U đều lớn hơn hoặc bằng giá trị trước đó ui-1.
(9.138)
P thể hiện số bậc của đường cong B-spline. Pi thể hiện cho điểm điều khiển i,
và wi thể hiện cho “tọa độ” của Pi.
9.4.2. Các tính chất của dạng đường cong NURBS.
Các tính chất của đường cong NURBS dựa trên đường B-spline được tổng kết
như sau:
Nếu u không nằm trong [ui , ui+1+p+ ), Ni,p(u) = 0
U và p thỏa mãn, Ni,p(u) ≥0
P (a) = P0, P (b) = Pn, các đường cong NURBS đi qua các điểm điều khiển đầu
và các điểm điều khiển cuối.
Sự dịch chuyển của điểm điều khiển pi hoặc thay đổi wi ngay lậm tức làm thay
đổi đường cong.
Bằng việc thay đổi trọng số k, các điểm điều khiển, các vector nút, các đường
cong tự do ở nhiều dạng khác nhau đều có thể thể hiện qua NURBS.
9.4.3. Thuật toán nội suy NURBS
Nội suy NURBS được giới thiệu để sử dụng cho nội suy lấy mẫu. Thuật toán này
gồm 2 bước:
Bước 1: tính toán các điểm nội suy với sai số nội suy lớn nhất cho phép.
Bước 2: các điểm nội suy đó được tính toán xem có vượt quá khả năng tăng tốc của
hệ thống. Nếu cần thiết, một điểm nội suy mới có thể được tìm ra dựa vào khả
59
năng tăng tốc cho phép. Trong phần sau sẽ chỉ ra nguyên tắc hoạt động của thuật
toán
9.4.4. Lỗi khi nội suy NURBS
Trong nội suy lấy mẫu, tần số nội suy là cố định và tốc độ được quyết định dựa
vào độ dài của các đoạn thẳng nội suy nhỏ. Sai số của thuật toán phụ thuộc vào độ
cong của đường cong. Sai số nội suy h của đường cong tự do được tính toán theo
nguyên lý trên hình 4.15. Khoảng cách từ trung điểm của đường thẳng nối từ 2 điểm
nội suy liên tiếp tới cung tròn là h, nếu h lớn hơn giá trị nội suy lớn nhất cho phép, εmax
thì điểm nội suy tiếp theo sẽ chuyển thành (x’i+1, y’ i+1 ) gần với điểm ban đầu hơn.
Hình 9.46 Trung bình dịch chuyển của chuỗi xung trên hình 9.44.
Hình 4.16 thể hiện tính cong tại từng điểm riêng rẽ trên đường cong tự do, đặc tính
cong K và bán kính R được tính toán theo công thức dưới đây:
Với:
60
K : đặc tính cong.
R : bán kính của cung cong.
Φ : góc thay đổi.
S : chiều dài của cung gia công.
Cung PQ là một phần của đường trong bán kỉnh R và đặc tính cong K.
Hình 4.16: Tính toán lượng dịch chuyển khi nội suy NURBS
Sai số h được tính theo công thức sau :
Nếu độ dài cung tròn ∆s được coi xấp xỉ bằng chiều dài đoạn thẳng PQ, đặc tính cong
được tính toán như sau:
61
4.6.1 Thuật toán trong phần điều khiển tăng tốc giảm tốc.
Do giới hạn của hệ thống công nghệ, trong quá trình gia công, tốc độ động cơ cần phải được
điều khiển một cách chính xác theo các thông số cho phép của động cơ : thời gian tăng tốc,
giảm tốc, lượng thay đổi tốc độ tối đa cho phép. Do vậy cần phải có bộ điều khiển tăng/giảm
tốc ( bộ điều khiển gia tốc ) để đảm nhận quá trình này.
Có hai phương pháp điều khiển gia tốc được sử dụng tương ứng với hai loại cấu trúc của nhân
điều khiển số NCK đó là :
Điều khiển gia tốc sau nội suy.
Điều khiển gia tốc trước nội suy.
Điều khiển gia tốc sau nội suy
Trong điều khiển gia tốc sau nội suy, đầu tiên là nhân điều khiển số NCK có nhiệm vụ dịch
chương trình điều khiển sử dụng module dịch và tính toán lượng dịch chuyển cho mỗi trục, ∆
X, ∆ Y, ∆ Z cho mỗi lần nội suy dựa vào kết quả của module nội suy thô. Tiếp theo, tín hiệu
điều khiển gia tốc độc lập được gửi đến các trục, và tiếp theo là nhiệm vụ của nội suy tinh.
Cuối cùng, tổng lượng dịch chuyển của mỗi trục cho mỗi lần nội suy được tính toán bởi
module điều khiển vị trí.
62
Thuật toán điều khiển gia tốc sau nội suy khác vơi thuật toán điều khiển gia tốc trước nội suy.
Hình 4.19 thể hiện quá trình hoạt động của NCK khi điều khiển gia tốc sau nội suy. Thuật
toán này sẽ chờ thông số về các điểm nội suy,
Hình 4.19 Hoạt động của NCK điều khiển gia tốc sau nội suy
Điều khiển gia tốc sau nội suy là phương pháp được sử dụng trong các hệ thống NC và hệ
thống điều khiển chuyển động, trong cả nội suy phần cứng lẫn phần mềm. Bất kể phương
pháp thực hiện ra sao, thuật toán này không thay đổi. Trong phần này, nguyên lý điều khiển
( phần mềm) và phương pháp thực hiện bằng phần cứng sẽ được giới thiệu.
4.6.1.1 Điều khiển gia tốc sau nội suy sử dụng bộ lọc số.
Thuật toán điều khiển gia tốc sau nội suy dựa trên nguyên lý bộ lọc số. Dựa vào nguyên lý
này, nếu tín hiệu x[n] đi vào bộ lọc số với tín hiệu đáp ứng h[n], tín hiệu ra y[n] là một hàm
liên hệ bởi 2 giá trị trên theo công thức :
Ví dụ với hàm đầu h[n] và hàm nhân x[n] vào như hình dưới, ta có kết quả :
Hình 4.20 Phép nhân chập của nội suy thô và hàm đáp ứng xung
Thời gian gia tốc τ là kết quả của phép nhân n với thời gian lấy mẫu T.
63
Có 3 dạng profile vận tốc đầu ra phụ thuộc vào hàm đáp ứng xung (inpulse Response) h[n]:
Dạng tuyến tính (linear type)
Dạng chữ S (S-shape Type)
Dạng hàm mũ (Exponential Type)
Hình 4.21 Các dạng hàm điều khiển tăng tốc giảm tốc điều khiển gia tốc sau nội
suy sử dụng mạch số.
Đây là phương pháp với thời gian tính toán gia tốc rất ngắn, phương pháp này được sử dụng
khi hiệu năng của CPU thấp. Phần cứng với các thanh ghi dịch, bộ chia và bộ chứa dữ liệu.
Khi hiệu năng CPU được gia tăng, các phương pháp điều khiển phần mềm với các bước tính
toán tương tự dần thay thế cho phướng pháp điểu khiển phần cứng.
Trong phương pháp điều khiển gia tốc sau nội suy, xung từ bộ nội suy thô được dùng làm tín
hiệu vào cho mạch điều khiển gia tốc, và bộ điều khiển này xuất ra xung mẫu trong suốt quá
trình xuất xung.
Mạch điều khiển gia tốc dạng tuyến tính bao gồm nhiều thanh ghi đệm, bộ cộng, bộ cộng tích
lũy, thanh ghi SUM, bộ chia. Bộ lưu trữ lưu dữ liệu vào từ bộ cộng, thanh ghi SUM sẽ lưu trữ
các dữ liệu của bộ cộng tích lũ, và bộ chia sẽ chia các dữ liệu này cho các thanh ghi đệm. Các
64
thanh ghi đệm được ghép nối tiếp. Mỗi thanh ghi đệm lưu tín hiệu xung từ bộ nội su thô. Giá
trị của mỗi thanh ghi đệm được chuyển sang cho thanh ghi tiếp theo mỗi lần bộ điều khiển gia
tốc lấy mẫu.
Hình 4.22 Sơ đồ kết nối bộ cộng, bộ cộng tích lũy, bộ chia, thanh ghi dịch
Như trên sơ đồ trên, giá trị của thanh ghi đệm là đầu vào của bộ cộng, giá trị của thanh ghi n-1
sẽ chuyển sang thanh ghi n, giá trị của thanh ghi n-2 sẽ chuyển sang thanh ghi n-1. Các tín
hiệu điều khiển từ bộ nội suy thô đều đi qua thanh ghi số 1.
Dựa trên nguyên lý mạch, với thời gian lấy mẫu tùy ý K, giá trị đi vào bộ lưu trũ và giá trị đầu
ra của bộ chia ∆ Xo được biểu thị trong công thức :
Với thời gian lấy mẫu là T = 8ms, số thanh ghi đệm n = 5, số xung vào ∆ X được nạp vào
mạch mỗi lần lấy mẫu là 10, và kết quả xung ra được thể hiện trên bảng 4.1
65
Bảng 4.1 Dạng xung ra của mạch
Hình 4.23 cho thấy các xung đầu ra bàn đầu là tăng hoặc giảm theo hằng số. Tổng số các
xung vào (theo ví dụ là 80) bằng tổng tất cả các xung ra từ mạch. Sau khi số xung vào giảm
còn 0, có thể thấy số xung ra bắt đầu giảm. Điều này cho thấy chế độ tăng tốc hoạt động cho
tới khi các thanh ghi đệm đầy, và chế độ giảm tốc hoạt động khi số lượng thanh ghi chứa giữ
liệu giảm. Dựa vào đó, ta xác định được rằng số thanh ghi đệm có quan hệ với thời gian gia
tốc, và được thể hiện bởi công thức :
T là thời gian lấy mẫu, trong ví dụ trên, thời gian cố định là 40 ms (5x8), τ là khoảng thời gian
của một lần xuất xung điều khiển.
Nói một cách khác, nếu như số lượng xung nhỏ hơn số lượng thanh ghi của bộ đệm, thì số
lượng xung ra lớn nhất sẽ khác với số lượng xung vào. Ví dụ nếu như số lượng xung vào là 10
trong khi kích thước của chuỗi xung ra là 4, thì kết quả chuỗi xung ra như bảng 4.2
66
Bảng 4.2 Đầu ra của chuỗi xung
Như thể hiện ở bảng 4.2 giá trị lớn nhất của xung ra là 8 nhỏ hơn số lượng xung vào là 10.
Điều này có nghĩa là với những khối lệnh dịch chuyển ngắn, sẽ không đủ xung đưa ra và sẽ
không thể tiến tới được vận tốc mong muốn. Từ đó dẫn đến quá trình giảm tốc bắt đầu trước
khi quá trình tăng tốc kết thúc bởi vì độ ngắn trong dịch chuyển của khối lệnh.
4.6.2.2 Điều khiển gia tốc dạng chữ S.
Hình 4.24 Cấu trúc phần cứng của bộ điều khiển vận tốc dạng chữ S
Bộ điều khiển bao gồm n thanh ghi đệm, n bộ nhân, một bộ cộng và một bộ chia. Trong biểu
đồ trên, S1, S2….Sn là số lượng thanh ghi đệm dược dùng với tác dụng như thanh ghi dịch. ∆
X là xung vừa xuất ra từ bộ nội suy thô vào thanh ghi đệm. Như trên mạch điều khiển gia tốc
tuyến tính, giá trị của ∆ X được lưu trữ trong thanh ghi đệm và dịch sau mỗi lần lấy mẫu.
Ngoài ra, các bộ nhân M1…Mn có hệ số K1, …, Kn riêng. Và kết quả sau phép nhân hệ số
này được đưa vào bộ cộng, bộ chia và đưa ra kết quả ∆ Xo.
67
Ngoài ra, trong thời gian lấy mẫu k, nếu giá trị của thanh ghi đệm Sa ~ Sn là A1~ An, thì giá
trị của bộ cộng ( A) được tính theo công thức :
n
A Ai K i
i 1
Cuối cùng, kết quả đầu ra như sau : với D là tổng các hệ số.
n
A A K i i
X 0 i 1
n
D
Ki 1
i
Tương tự nhu điều khiển gia tốc dạng tuyến tính, thời gian điều khiển cũng phụ thuộc
vào số thanh ghi đệm với công thức:
Một ví dụ cho việc điều khiển gia tốc dạng đường con S. Với cùng dạng tín hiệu vào và ra
như ví dụ với điều khiển tuyến tính, bảng 4.3 thể hiện kết quả xung ra với các hệ số K khác
nhau, k1=0.5, k2 = 1, k3 =2, k4=3, k5=0.5. Do vậy ta có thể thấy rằng, hệ số Ki liên hệ mật
thiết đến tín hiệu xuất ra.
68
Hình 4.25 Đầu ra của mạch cho đường cong dạng hình chữ S
Hình 4.26 thể hiện mạch nguyên lý, sử dụng các DDA khác với điều khiển dạng tuyến tính và
dạng đường cong S.
69
cộng tích lũy (y) sẽ được cộng lại khi có xung Fa được tạo, Với Fa được tạo ra trong các
khoảng thời gian cố định. Tiếp đó tổng này sẽ được chứa trong thanh bộ cộng tích lũy.
Nguyên lý của bộ điều khiển tăng tốc giảm tốc dạng mã có thể mô tả như sau:
Gọi tín hiệu đầu ra của bộ tạo xung là fc ( xung/– p/s ), đầu vào của mạch điều khiển sẽ được
tính theo công thức :
Trong khoảng thời gian rất nhỏ ∆ t, số lượng xung là ∆ x không được lưu vào thanh ghi p,
được tính toán theo công thức:
Số lượng xung “xếp chồng” tại bộ cộng tích lũy trong khoảng thời gian ∆ t thể được thể hiện
bởi giá trị trên thanh ghi p và được thêm vào bởi xung điều khiển (Fa*∆ t),∆ Y có thể tính
toán dựa vào công thức :
Số xung tràn từ bộ lưu trữ trong khoảng thời gian ∆ là Fo.∆t. Nếu số bit của bộ lưu trữ là n, số
lượng xung tràn sẽ là ∆ y/2n .
Khi t = 0, giá trị của thanh ghi p và bộ cộng là 0. Lúc đó X(0) = Y(0) = 0, ta có:
Nếu ta lấy xấp xỉ ∆ t, ∆ X, ∆ Y với giá trị dt, dx, dy, ta có:
Bằng cách giải phương trình vị phân từ ta có thể đưa ra mối quan hệ giữa Fo và Fi theo công
thức sau
Có thể thấy rằng số bít của bộ lưu trữ quyết định thời gian tăng và giảm tốc. Nếu số bít càng
tăng, số lượng xung tràn trong mỗi khoảng thời gian càng giảm, và rõ ràng thời gian tăng và
giảm tốc sẽ giảm. Ngoài ra, nếu tần số xuất xung giảm, các khoảng thời gian cho mỗi xung sẽ
tăng lên, và thời gian gia tốc tăng lên. Điều này trái với sự thật rằng số lượng xung đi vào bộ
lưu trữ trong mỗi đơn vị thời gian giảm xuống, nghĩa là số lượng xung tràn sẽ giảm.
Nếu gọi thời gian lấy mẫu là T và tần số xuất xung từ bộ xuất xung là T và Fi, số xung vào
cho mạch điều khiển gia tốc dạng hàm số mũ được thể hiện trên phương trình
Ví dụ, nếu T=8ms, tần số 1000Hz, 8 xung sẽ được nạp vào mạch trong mỗi lần lấy mẫu. Tại
thời điểm tùy ý k, giá trị của thanh ghi p được thể hiện trên công thức sau ( giá trị xung tràn từ
bộ lưu trữ chưa được trừ đi)
70
Với x(k-1) là giá trị của thanh ghi tại thời điểm k-1.
Tại thời điểm tùy ý k, số lượng xung tràn từ bộ lưu trữ O(k) được tính theo phương trình. n là
số bit của bộ lưu trữ.
Số lượng xung tràn P(k) tại thời điểm k được tính toán theo :
Ngoài ra, giá trị của thanh ghi p – x(k) sau khi trừ đi xung tràn được tính theo:
Y(k)- giá trị trên bộ lưu trữ được tính toán theo :
Điều khiển gia tốc dạng hàm số mũ được thực hiện với thời gian gia tốc cố định τ thể hiện
trên công thức :
Sai số gia công dựa trên các phương pháp điều khiển gia tốc, các phương pháp này được
nghiên cứu và tính toán, ta rút ra kết luận:
Sai số tỉ lệ thuận với binh phương thời gian gia công, tỉ lệ nghịch với bán kính cung tròn.
Ngoài ra, ta nhận thấy chạy dao càng lớn thời gian điều khiển gia tốc càng cao. Bán kính càng
nhỏ, sai số gia công càng lớn. Và phương pháp điều khiển vận tốc dạng chữ S là phù hợp nhất
cho yêu cầu gia công tốc độ cao và đảm bảo độ chính xác.
71
4.6.2 Điều khiển gia tốc trước nội suy.
Do hạn chế của mình, độ chính xác của phương pháp điều khiển vận tốc sau nội suy ảnh
hưởng rất nhiều bởi vận tốc cắt, do vậy cần thiết phải có một phương pháp thay thế khi gia
công với vận tốc cắt cao. Phương pháp này chính là điều khiển gia tốc trước nội suy, dựa vào
các tín hiệu điều khiển vị trí gia công, bộ điều khiển tốc độ sẽ tính toán một cách phù hợp.
Bảng 4.5 Tổng hợp sai số của các phương pháp điều khiển tăng tốc giảm tốc.
.
Hình 4.28 Sơ đồ cấu trúc tăng tốc giảm tốc trước nội suy
Phương pháp tăng tốc giảm tốc trước nội suy xét tới vận tốc, gia tốc và chiều dài khoảng dịch
chuyển để tính toán. Ví dụ, khi gia công theo đường thẳng, chiều dài gia công là L(mm), gia
tốc dương tối đa cho phép là A(mm/s2 ), gia tốc âm tối đa cho phép là D(mm/s2), thời gian
thực hiện nội suy thô là τ (s), và gia tốc cắt là F(mm/s2)
Có 2 dạng đường gia công, đường gia công ngắn và đường gia công thường, được
phân biệt dựa vào công thức:
F2 F2
L
2 A 2B
Đường gia công thường sẽ thỏa mãn công thức trên ( đủ thời gian và khoảng cách để tăng,
giảm tốc độ tới tốc độ yêu cầu)
Đường gia công không thỏa mãn công thức trên là đường gia công ngắn, tốc độ khi tăng, giảm
tốc không đạt vận tốc yêu cầu.
72
Hình 4.29 Dạng đồ thị vận tốc của khối có lượng dịch chuyển dài và ngắn.
Với đường gia công dạng thông thường, thời gian tăng tốc TA từ 0 tới vận tốc cắt F , thời gian
giảm tốc từ vận tốc F về 0 : TD. Thời gian TC duy trì vận tốc cắt F được tính như sau:
Với đường gia công ngắn, F’ là vận tốc cắt lớn nhất có thể đạt được.
Từ các công thức trên, có thể xuất ra dạng biểu đồ vận tốc.
4.6.2.2 Các dạng đường gia công liên tiếp
Khi xét tới hai khối gia công liên tiếp, tùy thuộc vào dạng khối và vận tốc cắt có thể chia ra
các dạng khối như sau và tính toán vận tốc tại điểm giao của hai khối.
Có các dạng sau:
Hai đường gia công thường liên tiếp cùng vận tốc cắt
Đường gia công thường vận tốc cắt cao, đường gia công ngắn vận tốc thấp
Đường gia công thường vận tốc thấp, đường gia công ngắn vận tốc cao
Đường gia công ngắn, đường gia công thường có cùng vận tốc cắt
Đường gia công ngắn, đường gia công thường vận tốc khác nhau
Đường gia công thường, đường gia công ngắn vận tốc khác nhau
Đường gia công thường, đường gia công ngắn khác vận tốc
Hai đường gia công ngắn cùng vận tốc
Đường gia công ngắn tốc độ cao, đường gia công ngắn tốc độ thấp
73
Đường gia công ngắn tốc độ cao, đường gia công ngắn tốc độ thấp
Hình 4.31 profile vận tốc cho quĩ đạo đường tròn
Để giảm thiểu việc thay đổi tốc độ cắt và giảm thời gian gia công các đường ngắn, thuật toán
Look Ahead được sử dụng rộng rãi. Thuật toán này cho phép giảm thiểu việc giảm tốc độ cắt
bằng cách tính toán vận tốc cắt tối đa và vận tốc cắt tại điểm cuối khi gia công các đường
ngắn dựa vào dạng vận tốc của khối gia công tiếp theo.
74
75
When the sampling interval for rough interpolation and pulse train after acceleration/
deceleration is larger than that of position control, fine interpolation is performed.
For instance, if the sampling interval for rough interpolation and acceleration/
deceleration is 4 ms, and the sampling interval for position control is 1 ms, then
the pulse train for every 4 ms is stored in the main CPU, which is fine-interpolated
for every 1 ms by the CPU in charge of motion control.
There are methods for fine interpolation, the linear method where pulse train of 4
ms is divided into 1 ms, and the moving-average method where the moving average
of pulse train is used for fine interpolation. Figure 3.18 shows a linear interpolation
method, where pulse train of 4 ms is linearly divided into that of 1 ms.
Formally, Eq. 3.72 can be used for linear methods. In Eq. 3.72, a( j) denotes the
number of pulses from fine interpolation at arbitrary time j, and p(i) is the number
of the pulses from rough interpolation and Acc/Dec control at time i. tipo is the iteration
time of rough interpolation and N is the ratio of the iteration time of rough
interpolation and the iteration time of position control.
a( j) =
p(i)
N
, i ≤ j < i+tipo (3.72)
The second method is the moving average method. The equation used for the
moving average can be represented by an iterative equation as shown in Eq. 3.73. In
Eq. 3.72, a( j) is from linear interpolation, and b_( j) and b__( j) are further interpolation
for the moving average. Table 3.9 illustrates the computing procedure for the
moving average.
15
6789
10
2 3 4 11 121314
15
16 1718 19
20
21 22 23 24
25
26 27 28
2
4
6
2
4
a(j)
Mcmd(n)
0
29
30
Fig. 3.18 Linear fine interpolation
Figure 3.19 shows the moving average of the pulse train shown in Fig. 3.18 and
Table 3.9 gives the values from Fig. 3.19.
b( j) =
N2
k=−N2
+1
a( j−k)
N
,b_( j) =
N2
76
−1
k=−N2
a( j−k)
N
,b__( j) =
b( j)+b_( j)
2
(3.73)
98 3 Interpolator
Table 3.9 Example of computing procedure for moving average
n j a( j+4) a( j+3) a( j+2) a( j+1) a( j) a( j−1) a( j−2) b( j) b_( j) b__( j)
112000000000
22200000000
3 2 2 2 0 0 0 0 0 12
0.25
4 2 2 2 2 0 0 0 12
1 0.75
254222200111
2 1.25
6 4 4 2 2 2 2 0 112
2 1.75
74442222221
2 2.25
8 4 4 4 4 2 2 2 212
3 2.75
396444422331
2 3.25
10 6 6 4 4 4 4 2 312
4 3.75
11 6 6 6 4 4 4 4 4 4 1
2 4.25
12 6 6 6 6 4 4 4 412
5 4.75
4 13 6 6 6 6 6 4 4 5 5 1
2 5.25
14 6 6 6 6 6 6 4 512
6 5.75
15 6 6 6 6 6 6 6 6 6 6
16 6 6 6 6 6 6 6 6 6 6
5 17 4 6 6 6 6 6 6 6 6 6
18 4 4 6 6 6 6 6 6 6 6
19 4 4 4 6 6 6 6 6 5 1
2 5.75
20 4 4 4 4 6 6 6 512
5 5.25
6 21 2 4 4 4 4 6 6 5 4 1
2 4.75
22 2 2 4 4 4 4 6 412
4 4.25
23 2 2 2 4 4 4 4 4 3 1
2 3.75
24 2 2 2 2 4 4 4 312
3 3.25
7 25 0 2 2 2 2 4 4 3 2 1
2 2.75
26 0 0 2 2 2 2 4 212
2 2.25
27 0 0 0 2 2 2 2 2 1 1
2 1.75
28 0 0 0 0 2 2 2 112
1 1.25
8 29 0 0 0 0 0 2 2 1 12
0.75
30 0 0 0 0 0 0 2 12
0 0.25
31 0 0 0 0 0 0 0 0 0 0
32 0 0 0 0 0 0 0 0 0 0
3.5 NURBS Interpolation
For high-speed and high-accuracy machining functions various interpolation functions
such as splines, involute, and helical interpolation are used. In CNC free-form
77
curves can be approximated by a set of line segments or circle arcs. However, to get
an accurate approximation of the curve the approximating line or circle is generally
very short. These short segments result in inconsistency of feedrate and this inconsistency
of feedrate reduces the surface quality. In addition, many blocks are required
to define these short paths and the size of the part program increases dramatically. To
overcome this drawback, NURBS interpolation was developed. In NURBS interpo3.5
NURBS Interpolation 99
15
6789
10
2 3 4 11 121314
15
16 1718 19
20
21 22 23 24
25
26 27 28
B”(j)
29
30
Fig. 3.19 Pulse train moving average
lation, the CNC itself directly convertsNURBS curve data fromthe part program into
small line segments, using positions calculated from the NURBS curve data. In this
way it is possible to reduce the size of the part program and it is possible to increase
the machining speed because the command feedrate depends on the interpolation.
78