Upload
anush-swaminathan
View
218
Download
0
Embed Size (px)
Citation preview
8/18/2019 solution manual of cnc technology
1/17
Virtual CNC system. Part I. System architecture
Chi-Ho Yeunga, Yusuf Altintasa, Kaan Erkorkmazb,*
a Manufacturing Automation Laboratory University of British Columbia, Department of Mechanical Engineering,
2324 Main Mall, Vancouver, BC, Canada V6T 1Z4b Department of Mechanical Engineering, University of Waterloo, 200 University Avenue West, Waterloo, Ont., Canada N2L 3G1
Received 8 July 2005; accepted 4 August 2005
Available online 29 September 2005
Abstract
The paper presents a comprehensive virtual simulation model of a realistic and modular CNC system. The Virtual CNC architecture
represents an actual CNC, but with modular feed drives, sensors, motors, and amplifiers. The CNC software library includes a variety of
trajectory interpolation and axis control laws. Constant, trapezoidal and cubic acceleration profiles can be selected as a trajectory generation
module. The control laws can be selected ranging from a simple PID to complex Pole Placement, Generalized Predictive Control or Sliding
Mode Controller with friction compensation. When the Virtual CNC is assembled, its performance can be tested using frequency and time
domain response analyses, which are automated. The Virtual CNC includes both analytical tuning methods for linear controllers, as well as
Fuzzy Logic based expert auto-tuning system for Adaptive Sliding Mode Control. The paper includes detailed experimental verification of
the Virtual CNC.
q 2005 Elsevier Ltd. All rights reserved.
Keywords: Virtual machining; CNC; Modeling; Controls; Interpolation
1. Introduction
The objective of the Virtual Manufacturing technology is
to design a completely digital factory where the part is
modeled, machined with optimized process parameters, and
resulting errors are predicted with corrective actions being
taken in a computer simulation environment. This paper
presents a Virtual model of a CNC system for machine
tools.
The CNC system consists of mechanical feed drives,
motors, amplifiers, position-velocity-acceleration sensors,
and real-time computer algorithms which generate time
stamped position commands through trajectory generation
and close the axis servo loops [1]. The Virtual CNC requires
a realistic mathematical model of each CNC component and
their logical interconnection.
There has been significant research reported in modeling
various trajectory generation algorithms [2–4], control laws
[5–9], and physical components of the drives such as
motors, amplifiers, ball-screw and linear drives with various
friction characteristics [10–13]. The majority of the past
research focused on trajectory generation, modeling and
identification of feed drive dynamics, and control law
development. When the trajectory generation leads to
discontinuous position commands, their first (velocity),
second (acceleration) and third (jerk) derivatives contain
fluctuation and sudden changes. High fluctuation in the
velocity results in poor feeds as well as high frequency
content beyond the bandwidth of the closed loop system,
which leads to poor tracking. High frequency content in
acceleration and large jerk commands may excite structural
modes of the machine, which are not desirable. To deal with
these problems, Pritschow [14] recommended jerk-limited
trajectories with trapezoidal or sine square acceleration
profiles, favoring the latter for better continuity. Chen and
Tlusty [2] also used the jerk-limited trajectories with
trapezoidal acceleration profiles in their feed drive
International Journal of Machine Tools & Manufacture 46 (2006) 1107–1123
www.elsevier.com/locate/ijmactool
0890-6955/$ - see front matter q 2005 Elsevier Ltd. All rights reserved.
doi:10.1016/j.ijmachtools.2005.08.002
* Corresponding author. Tel.: C1 519 885 1211 5214; fax: 1 519 885
5862.
E-mail addresses: [email protected] (C.-H. Yeung), altintas@
mech.ubc.ca (Y. Altintas), [email protected]
(K. Erkorkmaz).
http://www.elsevier.com/locate/ijmactoolhttp://www.elsevier.com/locate/ijmactool
8/18/2019 solution manual of cnc technology
2/17
development work. Later, Erkorkmaz and Altintas [4]
developed a trajectory generation with cubic acceleration
profiles for high speed milling operations.
Typically, the position errors originating from the CNC
are dependent on the robustness and tracking ability of the
axis control laws. Pritschow [8] noted the importance of
achieving high servo bandwidth, in order to be able to track sudden changes in the motion commands accurately, while
rejecting disturbances originating from axis friction and
cutting forces. Tomizuka [9] developed the Zero Phase
Error Tracking Controller (ZPETC), which provides a wide
bandwidth with zero phase delay. This design philosophy is
based on the cancellation of stable components of the closed
loop servo dynamics in a feedforward fashion. Boucher et
al. [6] used cascaded Generalized Predictive Control (GPC)
for accurate tracking of velocity and position commands.
Erkorkmaz and Altintas [5,12] applied the Sliding Mode
Control (SMC) technique for the control of high speed feed
drives. They first designed a SMC based on the rigid bodydynamics alone. Later, they improved their control
methodology to actively compensate the effect of the
structural flexibilities of ball screw drives.
Numerous publications have dealt with the modeling and
identification of the dynamics of the machine tool’s feed
drive system. Koren [15] used a simple first order linear
model for identifying the dynamics of classical feed drives.
In a lead screw driven mechanism, non-linear guideway
friction becomes a significant factor in degrading the
tracking and contouring accuracy, especially at motion
reversals in sharp corners and circular arc quadrants.
Armstrong et al. [10] presented an excellent survey on the
physics behind the friction phenomenon. They pointed out
that the typical friction characteristics for lubricated
metallic surfaces in contact could be described by the
Stribeck curve. Backlash is also responsible for the motion
accuracy limitation of CNC machine tools. Kao et al. [13]
reported an analytical method to observe and model the
backlash behavior on the motion accuracy of CNC lathes.
Tuning plays an important role in controller design. Over
the last two decades, the use of fuzzy logic control has been
widely proposed in literature for auto-tuning control
parameters. de Silva and MacFarlane [16] conducted
research on auto-tuning servo controllers through a
hierarchical, multi-level system that could be applied inthe control structure of industrial robotic manipulators.
Wickramarachchi and de Silva [17,18] applied a knowl-
edge-based hierarchical control system for fish processing
applications. Later, de Silva [19] investigated an analytical
framework for knowledge-based tuning of servo controllers.
He pointed out that a substantial reduction in computational
effort could be achieved through the application of the
analytical framework. Goulet et al. [20] has also used a
hierarchical control structure for a deployable orbiting
manipulator. They addressed the advantages of combining
crisp conventional control with knowledge-based fuzzy
logic control for stabilizing a space-based manipulator with
flexible deployable and slewing links.
Henceforth, the paper is organized as follows. The
architecture of the Virtual CNC system is presented in
Section 2, which includes the mathematical modeling of
actuators, friction, trajectory generation and control laws.
Fuzzy logic auto tuning of the axis control law is shown inSection 3. The Virtual CNC is experimentally verified in
contouring standard diamond and circular paths in Section 4,
and the paper is concluded in Section 5.
2. Virtual CNC architecture
The Virtual CNC system must be able to predict the
performance of a real CNC system during part machining.
The mathematical models of all working modules of a real
CNC must be identified and integrated as in a real CNC
system for accurate prediction of part machining perform-
ance. The architecture of the developed Virtual CNC system
is illustrated in Fig. 1, which resembles the real,
reconfigurable and open CNC developed in the Manufactur-
ing Automation Laboratory, UBC [21]. The Virtual CNC
system accepts reference toolpath generated on CAD/CAM
systems in the form of industry standard Cutter-Location
(CL) format. Each block in the CL file contains NC block
numbers, tool paths in the form of linear, circular and spline
segments, the cutter dimensions, tool center coordinates,
and feed speed for machining a particular part on a CNC
machine tool. Each tool path segment, such as linear,
circular or spline path, is passed through the trajectorygeneration algorithm which creates displacement, feed,
acceleration and jerk expression at divided segments [1].
Trajectory generation sets up the real time interpolation
parameters such as discrete displacement along the path and
its frequency. The interpolator generates discrete displace-
ment commands for each axis at every control interval. The
axis commands are passed on to the control law, which
shapes the overall response of the feed drive transfer
function, consisting of Digital to Analog (D/A) converter,
amplifier, servo motor, inertia, viscous damping, guideway
friction and lead screw backlash. The axis can be configured
to have acceleration, velocity and position sensors with
defined accuracy and noise parameters. The position error of
each axis is evaluated in the feedback loop and combined to
predict the contouring error at each control interval. The
user can select any control law, lead screw or linear drive
parameters, as well as amplifier, motor, friction field and
sensor so that most machine tools can be reconfigured
automatically by the user, who can add new modules or
modify the existing algorithms which are created in
MATLAB environment.
The Virtual CNC system consists of three main modules:
Feed drive, trajectory generation, and axis tracking control
modules.
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–11231108
8/18/2019 solution manual of cnc technology
3/17
2.1. Dynamic model of feed drive
A typical ball screw drive system consists of current
amplifier, servo-motor, lead screw coupling mechanism,
ball screw with preloaded nut, table carrying the workpiece,
guideway friction and feedback sensors, as shown in Fig. 2.
The ball screw drive and rotary servo-motor are replaced by
a linear motor and bearings for direct drive feed
mechanisms. Both drive mechanisms are considered in the
Virtual CNC system.
(i) Rigid body motion: The linear dynamic model of a
classical feed drive is shown in Fig. 3. The control signal
ua [V] generated by the axis controller is applied to the
current amplifier which has a gain of K a [A/V]. In the
motor armature, the motor dynamic torque T m [Nm]
is produced, which is assumed to be linearly proportional
to the motor current with the motor torque constant K t[Nm/A]. The total dynamic torque delivered by the motor
is spent in overcoming the external disturbance torque T d[Nm] which is due to nonlinear static and Coulomb
friction in the drive and cutting forces, and in
accelerating the inertia ( J [kg/m2]) of the rigid body
motion of the table, and overcoming the system’s viscous
damping ( B [kg/m2 /s]). In return, the angular velocity u
[rad/s] of the motor shaft is determined, and then
transferred to the angular position q [rad] through
integration. The angular position of the motor shaft is
then transmitted as a linear displacement of the table by
the ball screw and nut mechanism, which has a
transmission gain of r g [mm/rad]. Further basics of feed
drive design and modeling are given in [1].
Considering Fig. 3, the angular velocity of the motor
shaft and actual position of the table can be expressed in
Laplace domain as:
uðsÞZ
1
JsC B K tK auaðsÞK
T dðsÞ
xlðsÞZr g
suðsÞZ
r g
s
1
JsC BK tK auaðsÞKT dðsÞ (1)
Fig. 3. Linear dynamics of a feed drive.
Fig. 2. Feed drive mechanism with a lead screw drive.
Fig. 1. Architecture of Virtual CNC system.
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–1123 1109
8/18/2019 solution manual of cnc technology
4/17
or in state space as:
_uðt Þ
_ xðt Þ
( )Z Ac
uðt Þ
xðt Þ
( )C Bc
uaðt Þ
T dðt Þ
( )
Where A
cZ
K B = J 0
r g 0" #
and B
cZ
K aK t = J K1 = J
0 0" #
(2)
The discrete time equivalent of Eq. (2) is,
uðk C1Þ
xlðk C1Þ
( )ZFcðT sÞ
uðk Þ
xlðk Þ
( )C H cðT sÞ
uaðk Þ
T dðk Þ
( ) (3)
where FcðT sÞZe AcT s , H cðT sÞZ
Ð T s0
e Act dt
! Bc, k is the
sample counter, and T s [s] is the digital control interval.
(ii) Saturation of actuation system: the saturation of the
actuation system is considered at the input as,
uaðk ÞZ
umin; usðk Þ!umin
usðk Þ; umin%usðk Þ%umax
umax; usðk ÞOumax
8><>: (4)
where us is the current (i.e. torque) command generated by
the control law and ua is the actual control signal passed to
the amplifier. umin and umax are the lower and upper
saturation limits, which are identified from torque limits of
the motor T min/max as,
umin = max Z1
K aK t T min = max (5)
(iii) Quantization error and measurement noise: the
digital control command is converted into voltage for
analog drives through the Digital-to-Analog converter
circuit (DAC). The DAC quantization error ~u is assumed
to be present in the control signal after being quantized by
the DAC, which has a resolution of du:
usðk ÞZucðk ÞC ~uðk Þ0 ~uðk ÞZusðk ÞKucðk Þ (6)
where uc is the command control signal generated by the
motion controller. The quantization error ~u has a uniform
probability distribution with zero mean and is bounded by
Kdu /2 and Cdu /2 as shown in Fig. 4,
pð ~uÞZ1 = du; Kdu = 2% ~u%Cdu = 2
0; otherwise
( (7)
The variance R ~u of ~u is computed as,
R ~uZE ½ð ~uKE ð ~uÞÞ20as E ð ~uÞZ 0
r R ~u ZE ½ð ~uÞ2Z
ð CNKN
pð ~uÞ ~u2d ~uZ
ð Cdu = 2Kdu = 2
1
du~u
2d ~u
ZðduÞ2
12
(8)
The position measurement noise ~ x is defined as,
xmðk ÞZ xaðk ÞC ~ xðk Þ0 ~ xðk ÞZ xmðk ÞK xaðk Þ (9)
where xa and xm are the actual and measured axis position
respectively. Similarly, ~ x is assumed to have a uniformdistribution between Kd x /2 and Cd x /2 with a zero mean
and a variance of,
R ~ xZðd xÞ2
12 (10)
where d x is encoder resolution. The tachometer measure-
ment noise ~u is defined as:
umðk ÞZuðk ÞC ~uðk Þ0 ~uðk Þ Z ~uðk Þ Zumðk ÞKuðk Þ
(11)
where u and um are the actual and measured angular velocity
respectively. The profile of the tachometer measurementnoise is reasonably assumed to have a normal distribution
with zero mean and variance of R ~u. The variance of the
tachometer measurement noise is obtained either from the
catalog, or by monitoring the noise in the tachometer signal
when CNC is powered, but the axis is at rest.
(iv) Guideway friction: the disturbance torque T d consists
of non-linear guideway friction T f and cutting forces T creflected to the motor shaft as,
T dðk ÞZT f ðk ÞCT cðk Þ (12)
The dominant non-linear axis friction reflected on the
motor shaft is considered as the typical friction characteristic
for lubricated metallic surfaces in contact, which can be
Fig. 4. Quantization error of DAC: (a) Block diagram of DAC quantization, (b) Uniform probability distribution function.
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–11231110
8/18/2019 solution manual of cnc technology
5/17
described by the Stribeck curve, as shown in Fig. 5. The
Stribeck curve consists of four different regions: static
friction zone, boundary lubrication zone, partial lubrication
zone, and full fluid lubrication zone [10]. T stribeck can be
characterized analytically with sufficient closeness as:
T Gstribeck ðuÞZT
Gstate
Ku = uG1 CT
Gcounlð1Ke
Ku = uG2 ÞCT viseu
(13)
where T stat and T coul are the static friction and the Coulomb
friction torque respectively. T visc is the viscous damping
coefficient that corresponds to B in Eq. (1). u1 determines the
spacing between the boundary lubrication and partial fluidlubrication zones. u2 determines the spacing between the
partial lubrication and full fluid lubrication regions. The
superscript ‘G“ corresponds to positive and negative
directions of motion. The parameters of the Stribeck friction
curve can be entered in the drive model. The characteristics
of guideway friction torque T f in discrete time domain can besummarized as follows,
T f ðk ÞZ
0; uðk ÞZ0 and T aðk ÞZ0
T aðk Þ; uðk ÞZ0 and T Kstat!T aðk Þ!T
Cstat
T Cstat; uðk ÞZ0 and T aðk ÞRT CstatO0
T Kstat; uðk ÞZ0 and T aðk Þ!T Kstat!0
T Cstribeck ðuðk ÞÞ; uðk ÞO0
T Kstribeck ðuðk ÞÞ; uðk Þ!0
8>>>>>>>>>><>>>>>>>>>>:
(14)
where
T aðk ÞZT mðk ÞKT cðk Þ*T mðk ÞZK aK tuaðk Þ (15)
Since the effect of viscous damping is included in the
model of rigid body dynamics, the friction torque expression
in Eq. (13) is re-written, neglecting viscous damping
component as,
T Gstribeck ðuðk ÞÞZT
Gstate
Kuðk Þ = uG1 CT
Gcounlð1Ke
Kuðk Þ = uG2 Þ (16)
(v) Backlash: The spacing or dead-zone between the
screw and nut creates the backlash, which is modeled by: a
disengaged zone, engagement in the positive direction, andengagement in the negative direction, as shown in Fig. 6.
The analytical expressions for the backlash model are
summarized as follows,
where Db denotes the backlash of the feed drive
mechanism. xa and xl are the actual axis position due
to backlash and the axis position obtained from Eq. (3)respectively. d Ke and d Ce are the positions of the negative
and positive ends of the dead-band. The axis position is
assumed to be located at the middle of the dead-zone at
initial conditions. Therefore, d Ke and d Ce are initially set
to be:
initial0d Ke ZK Db = 2 and d Ce ZC Db = 2 (18)
The parametric model of the overall feed drive is
shown in Fig. 7.
Fig. 5. Stribeck friction curve for two lubricated metallic surfaces in contact.
xaðk ÞZ
xaðk K1Þ; d Ke% xlðk Þ%d
Ce
xlðk ÞK Db = 2; xlðk ÞRd Ce 0set d
Ke Z xlðk ÞK Db and d
Ce Z xlðk Þ
xlðk ÞC Db = 2; xlðk Þ%d Ke0set d
Ke Z xlðk Þ and d
Ce Z xlðk ÞC Db
8>><>>: (17)
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–1123 1111
8/18/2019 solution manual of cnc technology
6/17
2.2. Trajectory generation mechanism
The trajectory generation mechanism implemented in
the Virtual CNC is illustrated in Fig. 8. After interpreting
the CL file, the start and end coordinates of the toolpath,
the types of the tool movement and the feedrate are
recognized and stored into a buffer. By executing the
buffer block by block, the descriptions for each toolpath
segment are obtained and then passed to the trajectory
generation process sequentially. The trajectory generation
algorithm identifies the distance to be traveled, and
divides it into acceleration, constant velocity and
deceleration sub-segments depending on kinematic pro-
files selected in the CNC design. The Virtual CNC
system presented here gives a choice of constant,
trapezoidal, or cubic acceleration profiles, as shown in
Fig. 7. Overall block diagram of feed drive model.
Fig. 6. Classical dead-zone backlash model: (a) disengaged zone, (b) system engaged in positive direction, (c) system engaged in negative direction,
(d) backlash plot.
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–11231112
8/18/2019 solution manual of cnc technology
7/17
Fig. 9. Step changes in the constant acceleration profile
lead to infinite jerk and severe acceleration disconti-
nuities, which contain high frequencies in the generated
position commands. Such high frequency content may
excite structural vibrations and cause severe tracking
errors in high-speed machines. Cubic acceleration leads
to much smoother position commands with continuity in
velocity, acceleration and jerk, which is better suited for
high speed and precision drives, but at the expense of
increased computational load on the CNC computer.
The details of each algorithm can be found in [22] and
are not repeated here.
2.3. Axis control module
There are a significant number of control laws, which can
be implemented in CNC systems. Typically, any axis
control law has two components: the feedforward part
which processes the reference position commands, and the
feedback part that shapes the measured states such as
Fig. 8. Mechanism of trajectory generation.
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–1123 1113
8/18/2019 solution manual of cnc technology
8/17
position, velocity and acceleration to stabilize the closed
loop dynamics, as shown in Fig. 10. The control law
generates the control signal command (i.e. uc(k ))) which is
sent to the physical drives as:
ucðk ÞZ DTð zÞ X rðk ÞK Dsð zÞ X mðk Þ
where
DTð zÞZ d T1ð zÞ d T2ð zÞ d T2ð zÞ
1!3
DSð zÞZ d S1ð zÞ d S2ð zÞ d S2ð zÞ
1!3
X rðk ÞZ
xrðk Þ
_ xrðk Þ
€ xrðk Þ
264
375
3!1
and X mð zÞZ
xk ðk Þ
_ xk ðk Þ
€ xk ðk Þ
264
375
3!1
8>>>>>>><>>>>>>>:
(19)
DT(z) and Ds( z) are the matrices corresponding to the
feedforward and feedback transfer functions respectively, in
the discrete time domain. X r(k ) is the reference axis
command state vector and X m(k ) is the axis measurement
state vector.
The presented Virtual CNC system has a number of
user reconfigurable control laws, which have all been
experimentally proven on our open CNC system [21].
The conventional control laws include P-PI control, PID
control and Lead-Lag control [1]. More sophisticated
control laws include Pole Placement Control (PPC) [23],
Zero-Phase Tracking Error Control (ZPTEC) [9], Gener-
alized Predictive Control (GPC) [6], and Sliding Mode
Control (SMC) [5]. While the conventional control laws
can be found in standard control texts, details of the moreadvanced control laws can be found in the referenced
articles.
3. Auto-tuning of axis control laws in virtual CNC
It is desirable to tune the feed drives in a simulated,
virtual environment, provided that the mathematical model
of the system is sufficiently accurate. The virtual tuning
allows modification to the machine tool drive mechanism as
well as proper selection of motors and sensors during the
initial design. Once the control law is well tuned and
optimized, further adjustments can be made on the real
machine. Depending on the structure of the control laws,
they are either analytically tuned according to desired
performance criteria, or manually tuned with trial-and-error.Pole placement and model based control laws can be tuned
by defining the rise time, overshoot and bandwidth of the
closed loop position control system [1]. Since the analytical
tuning techniques can be found in literature, a newly
developed fuzzy logic based tuning of an adaptive Sliding
Mode Controller is presented here.
3.1. Sliding mode controller
The control law of rigid body-based Sliding Mode
Controller (SMC) for high speed feed drives is given as
follows [5]:
uSMCc ðk ÞZ J e lð _ xrðk ÞK _ xmðk ÞÞC € xrðk Þ
C Be _ xmðk Þ
CK SS ðk ÞCd h
ðk Þ (20)
where
S ðk ÞZl½ xr ðk ÞK xmðk ÞC½_ xr ðk ÞK_ xmðk Þ
d ^ðk Þzr l T s z
zK1 xr ðk ÞK
T s z
zK1 xmðk Þ
24
35C xr ðk ÞK xmðk Þ
8<
:
9=
; J eZ
J
K aK t r g ; and BeZ
B
K aK t r g ;
8>>>>>>>>><
>>>>>>>>>: (21)
Fig. 9. Feed motion profiles: (a) constant acceleration, (b) trapezoidal acceleration, (c) cubic acceleration.
Fig. 10. Axis control law in a standard form.
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–11231114
8/18/2019 solution manual of cnc technology
9/17
Je and Be are the equivalent inertia and viscous
damping reflected on the motor shaft respectively, S is a
stable sliding surface function and d̂ is the axis
disturbance estimated using a simple observer for
adaptation. The control parameters that need to be
tuned are: sliding surface bandwidth l [rad/s], feedback
gain K S [V/(mm/s)], and disturbance adaptation gain r
[V/mm]. l is assumed to be fixed and is determined
according to the achievable bandwidth of the drive, and
the two control parameters (K S and r) are considered inthe auto-tuning of SMC.
Considering Fig. 11, the auto-tuning process has a three-
level hierarchical structure: bottom layer for SMC which
needs to be tuned, intermediate layer for system perform-
ance evaluation, and upper layer for decision making using
fuzzy logic tuning. A smooth back-and-forth motion
command is applied to the closed loop. The system
performance is observed and characterized in the inter-
mediate layer, where descriptors of the system response
such as oscillation of the control signal, stability of the loop,
and tracking error are evaluated. If the system response isnot found to be satisfactory, then new control parameters are
Fig. 12. Fourier spectrum analysis of control signal: (a) clean signal, (b) noisy signal.
Fig. 11. Hierarchical structure of auto-tuning strategy.
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–1123 1115
8/18/2019 solution manual of cnc technology
10/17
assigned to the SMC through fuzzy logic tuning in the upperlayer. The control parameters are iteratively adjusted until
the overall system performance becomes satisfactory.
3.2. System performance evaluation and specification
System performance attributes are evaluated and classi-
fied into linguistic statements such as acceptable, over-
qualified, unsatisfactory, and so on. The oscillation level of
the control signal, loop stability, and tracking accuracy are
evaluated as follows.
(i) Oscillation level of control signal (OSC): a noisy
control command contains high frequency harmonics whichdamages the actuators and degrades the tracking accuracy;
hence, it needs to be constrained. The frequency content and
strength of the unwanted jitter can be evaluated by
considering the Fourier spectrum of the control commands,
see Fig. 12. The index of deviation corresponding to the
oscillation level of the control signal, OSCindex, is defined as,
OSCindex ZS cð H maxK H meanÞ
ð L maxK L meanÞ
wherelow frequency range00% f %F thresh
high frequency range0F thresh% f %F nyquist
9>>>>>=>>>>>;
(22)
F thresh is introduced as a threshold value to distinguish
between low and high frequency regions. F Nyquist corre-
sponds to the nyquist frequency, or the half of the control
sampling frequency. L max and H max are the maximum power
spectrum magnitudes of the dominant frequencies in the low
and high frequency ranges, respectively. Similarly, L mean and
H mean are the averages of magnitudes corresponding to thelow and high frequency ranges in the power spectrum
respectively. S c is a scaling factor to adjust the sensitivity of
the control signal oscillation level, as needed.
(ii) Stability margin analysis (PHM): The system
stability can be analytically defined by evaluating the
phase margin (fm) of the loop frequency response as,
PHMindex Zfm Z1808Carg b Glð jugÞ c (23)
where PHMindex is the index corresponding to the system
stability. G( ju) is the loop transfer function corresponding
to the linear system model in the frequency domain. The
gain cross-over frequency ug is the frequency where themagnitude of the loop transfer function Gl( ju) is equal to
unity.
Table 2
Mapping from index of deviation to discrete performance index
Discrete performance index Index of deviation for OSC Index of deviation for PHM Index of deviation for TRE
1 1.00%OSCindex PHMindex!308 20 mm%TREindex2 0.75%OSCindex!1.00 308%PHMindex!408 5 mm%TREindex!20 mm
3 0.50%OSCindex!0.75 408%PHMindex!458 1 mm%TREindex!5 mm
4 0.25%OSCindex!0.50 458%PHMindex!608 0.1 mm%TREindex!1 mm
5 0%OSCindex!0.25 608%PHMindex!1808 0%TREindex!0.1 mm
Table 3
Membership functions of fuzzy input variables for OSC, PHM, and TRE
Fuzzy input variables—OSC, PHM, and TRE
5 Primary fuzzy set Discrete performance index
For OSC and PHM For TRE 1 2 3 4 5
HIUN EL 1 0.7 0.3 0 0
LIUN LA 0.7 1 0.7 0.3 0
ACCP ME 0.3 0.7 1 0.7 0.3
LIOQ SM 0 0.3 0.7 1 0.7
HIOQ OK 0 0 0.3 0.7 1
Table 1
Primary fuzzy sets for performance attributes of OSC, PHM, and TRE
Performance attributes Discrete
performance
index
Index of deviation
(IOD) for OSC, PHM,
TREOSC and
PHM
TRE
HIUN EL 1 Threshold(1)%IOD
LIUN LA 2 Threshold(2)%IOD!Threshold(1)
ACCP ME 3 Threshold(3)%IOD!
Threshold(2)
LIOQ SM 4 Threshold(4)%IOD!
Threshold(3)
HIOQ OK 5 Threshold(5)%IOD!
Threshold(4)
For OSC and PHM : HIOQ, over-qualified; LIOQ, little-qualified; ACCP,
acceptable; LIUN, little unsatisfactory; HIUN, highly unsatisfactory
For TRE : OK, okay; SM, small; ME, medium; LA, large; EL, extremely
large
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–11231116
8/18/2019 solution manual of cnc technology
11/17
(iii) Tracking accuracy (TRE): During the back-and-forth
motion cycle, the tracking error is obtained by comparing
the reference ( xr ) and the measured ( xm) axis position at
each time step. The maximum absolute value of tracking
error (i.e. TREindex) is evaluated as,
TREindex Zmaxðj xrðt ÞK xmðt ÞjÞ; 0% t %T end (24)
where T end is the total duration needed for one cycle of
back-and-forth motion. Once the system performance
attributes corresponding to the oscillation level of control
signal (OSC ), the system stability (PHM ), and tracking
accuracy (TRE ) are evaluated, they are mapped into discrete
performance indices corresponding to selected primary
fuzzy sets as shown in Tables 1 and 2.
3.3. Development of fuzzy decision table
A Fuzzy Decision Table, which is used to tune the
control law parameters in real time, is first prepared off-line
as follows.
(i) Membership functions: In development of the fuzzy
decision table, the system performance attributes and the
corresponding tuning actions must be fuzzified into pre-
defined membership functions. In auto-tuning of SMC, the
fuzzy input variables are the system performance attributes
based on the evaluation of OSC, PHM, and TRE. The fuzzy
output variables correspond to the tuning actions that are
defined as follows: DK S and Dr denote the changes in K Sand r, respectively. The membership function for each
fuzzy input or output set is designed in a discrete tabular
form, by applying a triangular shaped function with a full
Table 5
Heuristic manipulation of SMC parameters
Performance attribute Action for performance improvement
K S r
Oscillation of control signal (OSC) Decrease No change (or slightly decrease)
System stability (PHM) Decrease DecreaseTracking accuracy (TRE) No change (or slightly decrease) Increase (decrease if system is unstable)
Table 4
Membership functions of fuzzy output variables for DK S and Dr
Fuzzy output variables —DK S and Dr
7 selected fuzzy set Representative numerical value (ci)
K3 K2 K1 0 C1 C2 C3
NL (negative large) 1 0.9 0.8 0.7 0.6 0.5 0.4
NM (negative medium) 0.9 1 0.9 0.8 0.7 0.6 0.5NS (negative small) 0.8 0.9 1 0.9 0.8 0.7 0.6
ZR (no change) 0.7 0.8 0.9 1 0.9 0.8 0.7
PS (positive small) 0.6 0.7 0.8 0.9 1 0.9 0.8
PM (positive medium) 0.5 0.6 0.7 0.8 0.9 1 0.9
PL (positive large) 0.4 0.5 0.6 0.7 0.8 0.9 1
Table 6
Linguistic rules for tuning SMC
Performance attributes Tuning action
If OSCZ HIUN then DKSZ NL and DrZ NS
Or If OSCZ LIUN then DKSZ NM and DrZ ZROr If OSCZ ACCP then DKSZ ZR and DrZ ZR
Or If OSCZ LIOQ then DKSZ PS and DrZ ZR
Or If OSCZ HIOQ then DKSZ PM and DrZ PS
If PHMZ HIUN then DKSZ NM and DrZ NM
Or If PHMZ LIUN then DKSZ NS and DrZ NM
Or If PHMZ ACCP then DKSZ ZR and DrZ ZR
Or If PHMZ LIOQ then DKSZ ZR and DrZ PS
Or If PHMZ HIOQ then DKSZ PS and DrZ PM
If TREZ EL then DKSZ NS and DrZ NL
Or If TREZ LA then DKSZ ZR and DrZ NM
Or If TREZ ME then DKSZ PS and DrZ PL
Or If TREZ SM then DKSZ PS and DrZ PS
Or If TREZ OK then DKSZ ZR and DrZ ZR
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–1123 1117
8/18/2019 solution manual of cnc technology
12/17
membership grade (i.e. unity) assigned at its normalized
representative value (i.e. diagonal elements in the member-
ship function tables). The off diagonal terms represent the
reducing weight to model the degree of fuzziness as
indicated in Tables 3 and 4.
(ii) Fuzzy linguistic rules: Expert knowledge on tuning
the sliding mode controller is expressed as a set of linguistic
rules containing reference to the defined fuzzy sets.
According to the expert knowledge and experience, the
SMC tuning rules developed are summarized in Tables 5
and 6. For example, the first row of the Table 6 is interpreted
as follows: If the oscillation level of the control signal is
highly unsatisfactory (if OSCZHIUN), then the feedback
gain (K S) must be largely decreased and disturbance esti-
mator gain (r) must be slightly decreased (then DK SZNL
and DrZNS).
(iii) Fuzzy composite relation table: The performanceattributes of the controller, the tuning actions, and the rules
of tuning must be related to each other using fuzzy
composite relationship functions [24]. Through fuzzy
implication (IF-THEN), the fuzzy relation (mRi) for the ith
individual rule ( Ri) defined in Table 6 is developed as,
mRiOSC; PHM; TRE
DK s;Dr
Zmin minputi ðOSC; PHM; TREÞmoutputi ðDK s;DrÞ
(25)
where minput, formed as a 5!1 column vector, is amembership function of the measured fuzzy state for the
input variables (i.e. OSC, PHM, and TRE) listed in Table 3.
moutput denotes a 1!7 row vector which relates to
membership functions of the corresponding fuzzy state for
the output variables (i.e. DK S and Dr) given in Table 4.
½minputi ðOSC; PHM; TREÞ+moutputi ðDK S;DrÞ leads to the
comparison of each corresponding element and the min
operation enforces the selection of the element which has
the minimum value. Each resulting rule m Ri becomes a 5!7
matrix, and there are five rules mapping from each input
Table 7
Fuzzy decision table for SMC tuning
Performance attributes (input) Tuning action (output)
DK S Dr
OSC HIUN K0.2545 K0.1552
LIUN K0.2456 0
ACCP 0 0LIOQ 0.1552 0
HIOQ 0.2456 0.1552
PHM HIUN K0.2456 K0.2456
LIUN K0.1552 K0.2456
ACCP 0 0
LIOQ 0 0.1552
HIOQ 0.1552 0.2456
TRE EL K0.1552 K0.2545
LA 0 K0.2456
ME 0.1552 0.2545
SM 0.1552 0.1552
OK 0 0
Table 8
Summary of axis feed drive parameters
Feed drive parameters X -axis Y -axis
Feed drive rigid body dynamics
Current amplifier gain, K a [A/V] 6.4898 7.5768
Motor gain, K t [Nm/A] 0.4769 0.4769
Total reflected inertia, J [kg m2] 0.0077736 0.0098109
Viscous damping, B [kg m2 /s] 0.019811 0.028438
Pitch length h p [mm] 10 10
Transmission gain r g [mm/rad] 1.5915 1.5915
Quantization and saturation limits
D/A Converter bit [ ] 16 16
Voltage range of D/A chip [V] G10 G10
D/A resolution, du [V] 3.0518!10K4 3.0518!10K4
Quantization variance, R ~u [V2
] 7.761!10K9
7.761!10K9
Saturation limits, umin / umax [V] K5,C5 K5,C5
Measurement noise
Linear encoder resolution, d x [mm] 1.22!10K3 1.22!10K3
Linear encoder noise variance, R ~ x [mm2] 1.2418!10K7 1.2418!10K7
Tachometer noise variance, R ~u [(rad/s)2] 50!10K3 50!10K3
Non-linear friction characteristics
Static friction, T Gstat [Nm] 2.6256, K1.8672 2.7658, K2.4520
Coulomb friction, T Gcoul [Nm] 2.1529, K1.4730 2.5228, K2.3887
Velocity threshold 1, uG1 [rad/s] 3.88, K3.51 2.37, K4.41
Velocity threshold 2, uG2 [rad/s] 4.20, K3.52 3.01, K4.20
Backlash
Backlash, Db [mm] 0.003 0.003
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–11231118
8/18/2019 solution manual of cnc technology
13/17
variable to each output variable, totaling 15 sets of matrices
for each of DK S and Dr. As the individual rules are joined
through the fuzzy connective (OR) operator, the resulting
fuzzy relation matrix between each of the fuzzy input and
output variables is formed as,
mROSC; PHM; TRE
DK S;DrZmax
5
iZ1mRi
OSC; PHM; TRE
DK S;Dr
#" (26)
By comparing each element of the fuzzy relation table for
individual rules, the maximum of the membership grades
corresponding to each pair of input-output states is chosen.
Using a similar fashion, the composite fuzzy relation tables
between all condition and action variables are constructed.
Since there are 3 fuzzy input variables (i.e. OSC, PHM, and
TRE) and 2 fuzzy output variables (i.e. DK S and Dr) that are
considered in SMC tuning, 6 resulting fuzzy composite
relation matrices or tables are developed in total.
(iv) Fuzzy decision table: The fuzzy decision table
is calculated by matching the system performance
attributes to the composite fuzzy relation tables, through
the use of the compositional rule of inference (i.e. sup of
min operation) as [24],
mC Zsupmin minputðOSC;PHM;TREÞ;m ROSC;PHM;TRE
DKs;Dr
!
(27)
where minput, m R, and mC are the membership functions of the
fuzzy input variables, the resulting fuzzy composite relation
calculated using Eq. (26), and the corresponding output
variables, respectively. In the use of a sup of min operation,
the membership function vector of the input variables is first
compared with each column of the fuzzy relation table. Then,
the lower value in each pair of compared elements is taken.For each column, the largest value in the vector of elements is
selected, thus resulting in a row vector. In order to obtain a
numerical value, ĉ, that determines the degree of tuning
action, a de-fuzzification is applied using the discrete
centroid method as,
ĉZ
P7i¼1 cimC ðciÞ
mC ðciÞ (28)
Table 9
Summary of fuzzy tuning for three different scenarios
Results of fuzzy
tuning for SMC
Case 1 Case 2 Case 3
Pre-selected l [rad/s] 200 200 200
Initial/Tuned K S[V/(mm/s)]
1/0.363 0.01/0.315 10/0.269
Initial/tuned r
[V/mm]
100/47.16 1/39.12 10,000/37.16
Initial/final maximum
tracking error [mm]
0.009/0.009 0.136/0.011 Unstable/0.012
Fig. 13. System performance before and after fuzzy tuning: (a) initially noisy system, (b) initially highly stable and sluggish system, (c) initially unstable
system.
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–1123 1119
8/18/2019 solution manual of cnc technology
14/17
where ci corresponds to the representative numerical value
for the tuning parameters DK S and Dr, given in Table 4. The
fuzzy decision table, shown in Table 7, is obtained off-line
which allows efficient real-time tuning of the control
parameters. Through this fuzzy decision table, the new
tuning actions are assigned according to system performance
attributes. The formulation used for updating the control
parameters is given in Eq. (29),
K SnewZK SoldCX3ðOSC;PHM;TREÞiZ1
DK S
!!K Sold ;
rnewZroldCX3ðOSC;PHM;TREÞiZ1
Dr
!!rold
(29)
where K Snew and rnew correspond to the new SMC
parameters after fuzzy decision making. K Sold and rold are
the current SMC parameters that need to be tuned. DK S and
Dr are the degree of the tuning actions obtained from the
fuzzy decision table.
4. Experimental validation of virtual cnc
The Virtual CNC system is experimentally verified
on a three-axis vertical machining center with ball
screw drives. The identified feed drive parameters of
the machine are summarized in Table 8. The machine
tool is controlled by an in house developed open CNCsystem [21], which allows modular integration of any
trajectory generation, control law, and compensation
strategies.
4.1. Fuzzy tuning of axis control law
The sliding mode control law for the drives is
automatically tuned in the Virtual CNC environment
using Fuzzy Logic. The desired sliding surface bandwidth
(l) is pre-selected to be 200 rad/s. A back-and-forth test
motion with a travel distance of 100 mm and a command
feedrate of 200 mm/s is used as the reference input forsystem performance diagnosis. The noise in the control
law and the tracking error are identified from Virtual
CNC simulation for given feedback (K S) and disturbance
observer (r) gains. The phase margin of the closed loop
controller is also calculated. The auto-tuning starts with
initial values of K S and r, and the fuzzy logic tuner
determines the optimal gains automatically, regardless of
the initial guess. The initial and tuned control law
parameters are listed along with their performance results
in Table 9. The corresponding control performances
before and after tuning with experimental validation are
shown in Fig. 13.
Table 10
Summary of control parameters for PID and SMC
PID Control X -Axis Y -Axis
Proportional gain, K p [V/mm] 70 70
Integral gain, K i [V/(mm$s)] 800 800
Differentiation gain, K d [V/(mm/s)] 0.30 0.30
Sliding mode control (SMC) X
-axis Y
-axisSliding surface bandwidth, l [rad/s] 200 200
Feedback gain, K S [V/(mm/s)] 0.30 0.30
Disturbance adaptation gain, r [V/mm] 30 30
Fig. 14. Diamond-shaped contouring tests with PID control.
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–11231120
8/18/2019 solution manual of cnc technology
15/17
4.2. Prediction of CNC performance in machining
circular and diamond profiles
The Virtual CNC system has been experimentally
verified by trying out various tracking control schemes,
such as P-PI, PID, SMC, GPC, and Pole Placement Control
with feedforward friction compensation. PID and SMC
results are reported here as examples. The control interval
was 1 ms. The control parameters of the developed PID
and SMC are summarized in Table 10. Standard circular
Fig. 15. Diamond-shaped contouring tests with sliding mode control (SMC).
Fig. 16. Circle-shaped contouring tests with PID control.
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–1123 1121
8/18/2019 solution manual of cnc technology
16/17
and diamond toolpath contouring tests were conducted: The
diamond had a side length of 50 mm and the circular path
radius was 50 mm. The reference trajectories have been
generated to achieve a feedrate of 200 mm/s with maximum
acceleration and jerk values of 2000 mm/s2 and 50,000 mm/
s3, respectively. The selected acceleration profile was
trapezoidal, resulting in piecewise constant jerk commandsalong the toolpath. The experiments were conducted under
air-cutting conditions in order to avoid structural defor-
mations of the machine under cutting load.
The measured and predicted tracking and contour error
profiles are shown in Figs. 14–17, and summarized in
Tables 11 and 12. It can be seen that the most critical parts
on the diamond paths are located at the corners where
transients in reference trajectory occur. The most significant
deviations on the circular paths are located at the quadrants
where the direction of the axis motion changes, and the
errors are mostly due to friction, which holds the slide until
sufficient torque is accumulated to overcome the staticfriction disturbance. The experimental results clearly
indicate the accurate prediction capability of the Virtual
CNC system, also indicating that the sliding mode controller
(SMC) yields significantly less contouring and tracking
error than the standard PID controller.
Fig. 17. Circle-shaped contouring tests with sliding mode control (SMC).
Table 12
Summary of simulation and experimental results for air-cutting of circle
profile
Circle contouring tests
Axis control
law
Tracking and contouring
error
Comparison analysis
Simulation
(mm)
Experiment
(mm)
Abs. Differ-
ence (mm)
Deviation
(%)
X-axis tracking analysis
PID 0.0471 0.0436 0.0035 8.0275
SMC 0.0117 0.0109 0.0008 7.3394
Y-axis tracking analysis
PID 0.0223 0.0220 0.0003 1.3636
SMC 0.0077 0.0072 0.0005 6.9444
Contouring error analysis
PID 0.0215 0.0226 0.0011 4.8673
SMC 0.0117 0.0108 0.0009 8.3333
Table 11
Summary of simulation and experimental results for air-cutting of diamond
profile
Diamond contouring tests
Axis control
law
Tracking and contouring
error
Comparison analysis
Simulation
(mm)
Experiment
(mm)
Abs. differ-
ence (mm)
Deviation
(%)
X -axis tracking analysis
PID 0.0375 0.0376 0.0001 0.2659
SMC 0.0122 0.0115 0.0007 6.0870
Y-axis tracking analysis
PID 0.0412 0.0414 0.0002 0.4831
SMC 0.0074 0.0070 0.0004 5.7143
Contouring error analysis
PID 0.0126 0.0138 0.0012 8.6957
SMC 0.0084 0.0081 0.0003 3.7037
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–11231122
8/18/2019 solution manual of cnc technology
17/17
5. Conclusion
A comprehensive virtual model of a Modular CNC is
presented. The Virtual CNC allows modular integration of
trajectory planning and interpolation routines, mathematical
models of ball screw and linear drives, friction, feedback
sensors, amplifiers, D/A converters and flexible motioncontrol laws. The system allows the designer to try out
various feed drive design alternatives, control laws, and
sensors with different resolutions. The accurate model of the
drives allows realistic simulation of the drives’ high speed
contouring capability, and auto-tuning of sophisticated axis
control laws in a virtual environment, as has been
demonstrated for the presented Sliding Mode Controller.
Acknowledgements
This research is sponsored by NSERC and Pratt &
Whitney Canada under research chair and strategic grant
agreements.
References
[1] Y. Altintas, Manufacturing automation: metal cutting mechanics
Machine Tool Vibrations, and CNC Design, Cambridge University
Press, Cambridge, 2000.
[2] Y.C. Chen, J. Tlusty, Effect of low-friction guideways and lead-screw
flexibility on dynamics of high-speed machines, Annals of CIRP 44
(1) (1995) 353–356.
[3] K. Erkorkmaz, Y. Altintas, High speed CNC system design. Part I.
Jerk limited trajectory generation and quintic spline interpolation,International Journal of Machine Tools and Manufacture 41 (9)
(2001) 1323–1345.
[4] K. Erkorkmaz, Y. Altintas, Trajectory generation for high speed
milling of molds and dies, Proceedings of the Second International
Conference and Exhibition on Design and Production of Dies and
Molds, Kusadasi, Turkey, DM_46 2001.
[5] Y. Altintas, K. Erkorkmaz, W.-H. Zhu, Sliding mode controller design
for high speed drives, Annals of CIRP 49 (1) (2000) 265–270.
[6] P. Boucher, D. Dumur, K.F. Rahmani, Generalized predictive cascade
control (GPCC) for machine tool drives, Annals of CIRP 39 (1) (1990)
357–360.
[7] K. Erkorkmaz, Y. Altintas, High speed CNC system design. Part III.
High speed tracking and contouring control of feed drives,
International Journal of Machine Tools and Manufacture 41 (11)
(2001) 1637–1658.
[8] G. Pritschow, On the influence of the velocity gain factor on the path
deviation, Annals of CIRP 45 (1) (1996) 367–371.
[9] M. Tomizuka, Zero phase error tracking algorithm for digital control,
ASME Journal of Dynamic Systems, Measurement, and Control 109
(1987) 65–68.
[10] H.B. Armstrong, P. Dupont, C. Canudas De Wit, A survey of models,
analysis tools and compensation methods for the control of machines
with friction, Automatica 30 (7) (1994) 1083–1138.[11] K. Erkorkmaz, Y. Altintas, High speed CNC system design. Part II.
Modeling and identification of feed drives, International Journal of
Machine Tools and Manufacture 41 (10) (2001) 1487–1509.
[12] K. Erkorkmaz, PhD Thesis: Optimal Trajectory Generation and
Precision Tracking Control for Multi-Axis Machines, University of
British Columbia, Department of Mechanical Engineering, Vancou-
ver, BC, Canada, 2004.
[13] J.Y. Kao, Z.M. Yeh, Y.S. Tarng, Y.S. Lin, A study of backlash on the
motion accuracy of CNC lathes, International Journal of Machine
Tools and Manufacture 36 (5) (1996) 539–550.
[14] G. Pritschow, Course notes: control techniques of machine tools and
industrial robots, Institute of Control Technology for Machine Tools
and Manufacturing Units, Stuttgart University, Germany, 1997.
[15] Y. Koren, Computer Control of Manufacturing Systems, McGraw-
Hill, New York, 1983.
[16] C.W. de Silva, A.G.J. MacFarlane, Knowledge-based control
approach for robotic manipulators, International Journal of Control
50 (1) (1989) 249–273.
[17] N. Wickramarachchi, C.W. de Silva, Knowledge-based supervisory
control system of a fish processing workcell. Part I. System
development, Engineering Applications of Artificial Intelligence 11
(1) (1998) 97–118.
[18] N. Wickramarachchi, C.W. de Silva, Knowledge-based supervisory
control system of a fish processing workcell. Part II. Implementation
and evaluation, Engineering Applications of Artificial Intelligence 11
(1) (1998) 119–134.
[19] C.W. de Silva, An analytical framework for knowledge-based tuning
of a servo controller, Engineering Applications in Artificial
Intelligence 4 (3) (1991) 177–189.[20] J.-F. Goulet, C.W. de Silva, V.J. Modi, Hierarchical knowledge-based
control of a deployable orbiting manipulator, Acta Astronautica 50 (3)
(2002) 139–148.
[21] Y. Altintas, N.A. Erol, Open architecture modular tool kit for motion
and machining process control, Annals of CIRP 47 (1) (1998) 295–
300.
[22] C.H. Yeung, MASc Thesis: A Three-Axis Virtual Computer
Numerical Control (CNC) System, University of British Columbia,
Department of Mechanical Engineering, Vancouver, BC, Canada,
2004.
[23] K.J. Astrom, B. Wittenmark, Computer-Controlled Systems: Theory
and Design, third ed., Prentice-Hall Inc., New Jersey, 1997.
[24] C.W. de Silva, Intelligent Control—Fuzzy Logic Applications, CRC
Press LLC, Boca Raton, FL, 1995.
C.-H. Yeung et al. / International Journal of Machine Tools & Manufacture 46 (2006) 1107–1123 1123