{~1
Int. J. Mach. Tools Manufact. Vol. 35. No. 12. pp. 16415-1621. 1995 Copyright © 1995 Elscvicr Science Ltd Printcd in Great Britain. All rights reserved
Pergamon
0890-6955/9559.511
+ .llO
0890-6955(95)00024-0 A FUZZY
EXPERT SYSTEM FOR THE DESIGN MACHINING OPERATIONS
OF
YUEDONG CHENt, ALBERT HUIt, and R. DUt (Received 11 February 1994; in final form 6 February 1995)
Abstract--In this paper, a fuzzy expert system called Smart Assistant to Machinist, or SAM, is introduced. The system consists of four modules: a database, a cutter selection module, a cutting condition design module and a learning module. The database consists of four data files: work material data file, machine tool data file, machining plan data file (which defines desirable material removal rate, surface finish, cutting speed, feed, depth of cut, etc.) and cutter data file. The cutter selection module is developed based on fuzzy logic, in which the cutter selection is conducted in three steps. First, the input information is "'fuzzyized". Next, using the fuzzy correlation functions, cutter grades and cutters are selected. Then, the selected grades and cutters are searched against the cutter data file to check the availability. The cutting condition design module is developed based on fuzzy non-linear programming and user interactive graphics. The learning module is developed so that users can fine-tune the fuzzy functions to further improve the performance of the system. The system has two distinct features: (1) it can select cutters and design cutting conditions based on partial and imprecise information, and (2) it selects commercial cutter products used on shop floors. The use of the system is demonstrated using two examples.
NOMENCLATURE d
f r
C D L
M(x) (M(x,c,.c2, )) M(y/x) MT T V W
depth of cut (mm); feed (mm/rev), which also equals the chip thickness; cutter nose radius (mm); cutter nose radius type; diameter of the workpiece (mm); length of cut (mm); fuzzy membership function of x (with parameters c~, c2, ); fuzzy membership function of y given x; machining type; cutter thickness type; cutting speed (m/min); work material type. 1. INTRODUCTION
For machining operations, the selection of cutters and cutting conditions (feed, speed and depth or width of cut) is very important. A proper selection not only reduces the machining cost (by means of extended tool life, increased material removal rate, reduced down time, and reduced inventory), but also improves the product quality (better surface finish and tighter dimension tolerance). It can be argued that it may be the best investment per capital for improving machining operations. The selection of cutters and cutting conditions is also difficult. For the cutter selection, first, there are at least two thousand different cutters in the market, and new cutters are being developed and marketed continuously. Also, it involves a large number of factors such as work material, cutter material, cutter geometry, production requirements (surface finish and dimension tolerance), cutter availability, cutter holder and cutter cost, to name just a few. The rules for selection are often vague and contradictory. Hence, it is almost impossible for engineers or machinists to check all available cutters to find the "best" one. Cutting condition can be designed using optimization. Although a number of optimization models have been developed, the sensitivity of these models is not clearly
tDepartment of Industrial Engineering, University of Windsor, Windsor, Ontario N8B 3P4, Canada 1605
1606
Yuedong Chen et
al.
understood. For instance, the change of a cost factor (for example the machining cost per unit time) may result in significantly different designs, while the cost factor itself often cannot be precisely determined. Finally, true experts are expensive and are not always available. As a result, in many machining shops, especially small and medium size shops, cutter selection and cutting condition design remain as an art. It is typically done based on trial-and-error and is often too conservative. Owing to the importance of cutter selection and cutting condition design, as well as the great advance of computer technology in the past decade, a large amount of research and development has been reported in recent years. According to market and literature survey, there are at least six commercial systems: (1) (2) (3) (4) (5) (6)
G O R O G U I D by Sandvik A.B. of Sweden; Grade Advisor and Milling Advisor by Kannemetal Inc. of Ohio, U.S.A.; COMP5 by Colding International Inc. of Michigan, U.S.A.; CAPP/1 by Institute of Advanced Manufacturing Science Inc. of Ohio, U.S.A. EXAPT INFOS by Fraunhofer-Gesellschaft of Aachen, Germany; and EMDB by National Computer Board of Singapore.
G O R O G U I D , Grade Advisor and Milling Advisor are much like an electronic catalogue. COMP5 is very effective in cutting condition design while CAPP/1 is more suitable for planning machining operations. Both INFOS and EMDB have an inference engine for cutter selection and cutting condition design, but they do not support a large number of commercial products used in the shop floor. There are also "research" systems that focus on the methods of cutter selection and cutting condition design. Table 1 is a summary of these systems based on the survey of recent publications. There is much more related research. For example, in [8], fuzzy logic is used to analyze the surface finish. In [9], an artificial neural network is used to determine the cutting conditions. The methods for cutting condition design can be found in [10-13]. It should be pointed out, however, that most of the methods developed so far have two drawbacks: (1) complete and precise information is needed for both cutter selection and cutting condition design; and (2) for cutter selection, instead of commercial products used on the shop floor, only some genetic cutter features (such as cutter nose radius and thickness) are suggested. In this paper, a prototype fuzzy expert system for cutter selection and cutting condition design, called Smart Assistant to Machinists or SAM, is presented. It has two distinct features: (1) it can select cutters and design cutting conditions based on partial and imprecise information, and (2) it selects commercial cutter products used in shop floors. The paper consists of seven sections. The structure of the system is presented in Section 2. Sections 3 and 4 describe the cutter selection method and cutting condition design method, respectively. Section 5 describes the learning mechanism. Section 6 presents two examples and, finally, Section 7 contains conclusions. Table 1. A summary of recent research systems Developers and reference Nakang and Fisher, [1] Chen, Hinduia and Barrow [2] Dhage and Usher [3] Bley and Stadeimeyer[4] Domazet [5] Maropoulous [6] Boogert, Kals and yon Houten [71
Cutter selection method
Cutting condition design method
Knowledge based s y s t e m Expert system Expert system and database search Tree search Production rule matrix Computer aided process planning Computer aided process planning
Mathematical programming Not applied Not applied Not applied Not applied Not applied Not applied
A Fuzzy Expert System
1607
2. THE FUZZY EXPERT SYSTEM The fuzzy expert system, SAM, is written in C + ÷ and runs in an IBM PC/486 compatible computer under Windows. Currently, it is capable of dealing with general turning including roughing, finishing and extreme finishing of various cylindrical parts. The structure of the system is shown in Fig. 1. The inputs of the system include work material and machining preference, cutter preference, job specification and machine tool, as listed in Table 2. The windows of these inputs are shown in Figs 2, 3, 4 and 5, respectively. Many inputs can be defined by either numerical values or qualitative terms or not defined at all. For example, in the machining plan, the material removal rate may be selected from a set {large, medium, small}, or specified by a number in mm/min (in./min), or ignored (which means it is not a major concern). This gives users greater flexibility. The outputs of the system include: (1) The recommendations of commercial products including grades and product catalogue number from two major tool manufacturers: Sandvik A.B. and Kannemetal Inc. (2) The recommendations of cutting conditions (feed, speed and depth of cut). (3) The estimation of machining cost and machining time, power consumption, surface finishing, etc. The windows of these outputs are shown in Figs 6 and 7. The correlation between the machining cost and the design parameters (feed and speed) can also be graphically represented, which will be discussed in Section 4. The system consists of four modules: the database, the cutter selection module, the
inputs
-I
learning ~
~[ f..... ;.~,;.n ~ - [ .... j ........ T ]
'
i
I
fuzzymembership forlgradeselection ~
grade matching ~"[
[4~ fuzzymembership L ~ cutter. ! ~for cutter selection | ~ . ~ matcnmg ,
1
/
A fuzzy
" 7 constrains |
I
cutterselection
rade ~! Icutter __ [liJ ]!!!l
I A fuzzY [ h ~ nonlinear I H ] [ [programming[ ~[
SAM Smart Assistantfor Machinist -
ii
Fig. 1. Illustrationof the fuzzy expert system SAM.
1608
Yuedong Chen et al. Table 2. A detailed list of inputs to the system
(1) Work material (l.1) material code: (ISO standard with CMC code, ANSI standard) (1.2) material type: {steel alloy, stainless steel, .ll} (1.3) hardness: (Rockwell C scale, Rockwell B scale, Brincll scale) (1.4) machinability (2) Machine tool (2.1) power and maximal power: (KW, HP) (2.2) torque and maximal torque: (Nm, lb.-ft) (2.4) maximum cutting speed: (m/min, ft/min) (2.6) power efficiency: (%) (3) Machining plan (3.1) machining (3.1.1) turning: {general turning, contouring, tapering, grooving, l} (3.2) machining type: {heavy roughing, roughing, light roughing, finishing, } (3.3) material removal rate: {large, medium, small} or (mma/min, inch-~/min) (3.4) surface finish: {rough, good, fine, extreme fine} or (p,m, p,inch) (3.5) cutting speed: {fast, medium, slow} or (mm, inch) (3.6) feed: {fast, medium, slow}, or (mm, inch) (3.7) depth of cut: {large, medium, small} or (ram, inch) (3.8) length of cut: (mm, inch) (3.9) diameter of the workpiece: (ram, inch) (3.10) cost (3.10.1) machining cost with overhead: ($/min) (3.11) time factor (3.11.1) tool change time: (min) (4) Cutter and cutter holder (4.1) cost: ($) (4.2) supplier: (Sandvik, Kannametal} (4.3) cutter geometry: tool nose radius, thickness .... (4.4) tool life: {long, average, short} (4.5) cutter holder (4.5.1) geometry: lead angle, rake angle, side rake angle, relief a n g l e , (4.5.2) size: (4.6) availability
'/{lltl':~ti WORK I~[A~
~ I ,,\NI~ M,~(~HNil~'4':
: ':
:;
;'4
~rl
]]~'O~TION
Haldnes$ [HB)
Material Code [CMC]
Material Type
11"3
lAlluminum All°~'
IN
IN
[,23
]
M A C H I i N I N G I~P~E~'EI~ENCE
Machining Types [Light Rough
MRR JN
Surface Fini=h
] N IRough
I Medium
or in (cm3/min)
[21 Cutting Speed
IMed'u-
or in (urn)
[
[
Feed
Depth of cut
0.2 to 0.4 [ram/r) [.3 I
3 to 6
[N
150 to 350 [m/rain)
[234
[
I F~
I
[ram)
Fig. 2. The input window for workpiece and machining preference.
A Fuzzy Expert System
Suppl~r
1609
Cutte! Cost I$l
ts..,~,k
/ I-/I
[3
Tool lilo
l
I~°''
I[]
or in rain
Tool Nose Radius fromI
Thickness (ramI
[,
]
[,
Lead Angle
Rake Angle
[lo
Size (me)
i
I I
[,0
Relief Angle
115
I
Fig. 3. The input window for cutter preference.
',ArO]PdglS~C]gSPECIFICATIONS Length o! Cut Imml
Wmkpiece Diunatm
Depth of Cult Imml
fm!
~oo
I
I
I~°
Allowable SF (uml
I' To~,,,c. 1.2
Allowable Temp. ICI
] I1000
I
]
I
110
Tool Change Time Iminl
Holding T i m {mini
'
I'
]
I
COST FACTORS Opmatm Rate ($/minl
Tool Cost l$1odgel
I
Fig. 4. The input window for job specification and time & cost factors.
cutting condition design module and the learning module. The database consists of three data files: (a) The work material data file. It contains approximately 50 different materials. (b) The machine tool data file. It is necessary for users to define the machine tool prior to the cutter selection and the cutting condition design. (c) The cutter data file. It contains approximately 300 cutters sorted by their product codes, availability in the shop, and tool life constants.
1610
Yuedong Chen et al.
MACHIN~ TOOL SPECIFICATIONS
Max Feed |mm/mvl
ro,e,ence
Min Feed Immlrevl
1.e I.o5
Max V (m/mini
11.04 11.ol
I LBoo I 15o
Max Fc (N)
Max Pc (KWI
1160
[32
I
[5
]
Tolerance [5
I J
Min V (m/mini [60
]
[4
]
Efficiency(~)
l.,5
I ::::;;oK
I I CANCEL
I
Fig. 5. The input window for machine tool.
TMA~-S TMAX-U TMAX-U TM/I~-U
DCMG DCMT TCMT DCMG
11 11 9 12
PMR UF UF QF
4.3 4 4.5 4
.G5 .65 .7G .65
GC415 CT1525 GC425 GC215
]~llL~Plea#e click here][]to#elect a grade |or cutting condition# design
.87998 .84197 .81165 .74345
[i'~: "~~ '"~' ~OK ~:'~i ~,~: .....I
Fig. 6. The output window for cutter and grade selection.
Feed (mm/rl I "17067
Cutting speed [m/mini I
Unit Production Co#tl$/pc)
I
1338.497
I
Tooling Cost [$1
Grade Selected
{.1269226
[.c4,5
I
Machining Time
Tool Replacement
1.5652o79
f43
(mini
[
Schedule
I
(parts)
j
Fig. 7. The output window for cutting conditions recommendation and time & cost estimation.
A Fuzzy Expert System
1611
The cutter selection module, the cutting condition design module, and the learning module are discussed in Sections 3, 4, and 5, respectively. 3. CUTTER SELECTION USING FUZZY LOGIC The cutter selection is conducted in three steps. The first step is "fuzzyization". In Table 2, more than 20 input items are listed. In reality, the available information to these inputs is often vague (e.g. "high" cutting speed is not clearly defined), incomplete (e.g. the geometry of a cutter is unknown), or not applicable (e.g. in rough turning, the surface finish is not important). Fuzzyization is a process that assigns a fuzzy membership function to each input and/or makes cross references of some inputs to the other inputs. The fuzzy membership functions may be in tabular forms (for qualitative inputs) or analytic forms (for numerical inputs). For example, the machining type, MT, is divided into five categories: MTz--extreme finishing, MT2--finishing, MT3-light roughing, MT4--roughing, and MTs--heavy roughing. Their fuzzy membership functions, as shown in Fig. 8, are defined below:
M(MT~) M(MTz) M(MT3) M(MT4) M(MTs) MT1 MTz MT3 MT4 MTs
1 0.8 0.4
0.8 1 0.8 0.4
0 0
0.4 0.8 1 0.8 0.4
0
0 0.4 0.8 1 0.8
0 0 0.4 0.8 1
The general form of the fuzzy membership function for a numerical input x is:
M(x,a,b,c,d) =
S(x,a,b),
ifa ~< x < b
1,
ifb ~< x < c
1 - S(x,c,d)
ifc~
(1)
where a, b, c and d are constants, and S(x,a,/3) is the shape function defined below:
1.2
1.0-
ta,/,.
..o.
j M(MT I )
..'\
0.8
.:
E e.;
E tq N
." 0.5
\ /
V
:\
,':
, ,,
.~
....... O ........
M(MT 2)
....
O ....
M(MT
....
~ ....
M(MT4)
",.
",
o..,/\/,-.., ',.,
= - -m-
- -
0.2 0.0
machining type Fig. 8. The fuzzy membership function of machining types.
3)
M(MT 5
1612
Yuedong Chen
et al.
M(d) 1,
d
I 0
0.5
0.9
1.1
1.5
Fig. 9. T h e fuzzy m e m b e r s h i p function of d e p t h of cut d = 1.
f
S(x,~,~)
0,
if x -< a
2 ( x - a) 2 2'
if a ~ x < a+/3 -2
= [1
2(X--~)2
(2)
:, Ot+fl
1, iffl
f S(d,
0.5d, 0.9d),
M(d) = ~ l ,
L1 -
if 0.5d ~
s(a,a.la, l.sa),
if 1.1d~< d < 1.5d.
This function with d = 1 (mm) is illustrated in Fig. 9. The cross reference of inputs is also conducted by means of fuzzy membership function. For example, large feed and large depth of cut implies heavy roughing; hence, the memberships of heavy roughing can be cross-defined as follows:
M( MTs/f) = S(f,O. 03,0.04) M(MTs/d) = S(d,0.25,0.3) where, f is the feed (mm/rev), and M(y/x) denotes the membership function of y given x. The fuzzyization provides great flexibility to the system. The second step is to determine the fuzzy membership functions for cutters and grades with respect to specified inputs. In general, commercial cutters and grades are coded according to ISO standard or ANSI standard and sometimes with an additional code assigned by their manufacturer. A sample of ISO standard is shown in Table 3. T a b l e 3. C u t t e r definition ( A N S I s t a n d a r d ) [3] Field
Description shape: R - r o u n d , S - square, T - triangle . . . . . . . relief angle: N - 0 ° , A 3° , B - 5 ° , ...... t o l e r a n c e s : A - ---0.0002, B - --- 0.0002 . . . . . . . type: A - with hole, B - with hole and o n e c o u n t e r s i n k . . . . . . . size: 4 = 1/2 in. I . C . , 5 - 5 / 8 in. I . C . . . . . . . . thickness: n u m b e r of 1/32rids on inserts less t h a n 1/4 in. I.C., ...... c u t t e r nose radius: 1 - 1/64 in., 2 - 1/32 in., _., A - s q u a r e 45 ° c h a m f e r .... special tools only: T - n e g a t i v e land . . . . . . .
A Fuzzy Expert System
1613
The detailed description of the ISO standard and the ANSI standard can be found in [14], and the manufacturer codes can be found in their product catalogues. According to the codes, a cutter is described by a series of fields, {field_l, field 7, field_3 .... }. For example, a Sandvik cutter coded using ANSI standard may be: T-MAX P CNMG 321-QF where: T-MAX P is the code assigned by Sandvik, C implies that the shape is S = rectangle, N implies that the clearance angle is CA = 0% M is associated with the tight tolerance, G implies that the cutter is a two-sided center camped cutter, 3 is the size of the cutter, 2 is the thickness of the cutter, 1 is the radius of the cutter, and QF is the code assigned by Sandvik indicating that the cutter is designed for roughing. For a given cutter, each field Y takes a specific element, Yt,, from a set {yl, Y2, .-} and each element Yk is correlated to several inputs as shown in Fig. 10. For example, the relationship between the cutter thickness T~ = 1/4 (in.) and depth of cut is defined below:
M(T1/d) =
S(d,0.03,0.05),
if0.03 ~< d < 0.05
1,
if 0.05 ~< d < 0.07
1-S(d,0.07,0.09),
if 0.07 ~< d < 0.09.
i' M(Yl) -,, [M(y 2)
xI
I Z
,J
M(z ) x2
X n
~ ~
1
j M(grade_l) i M(grade_2) , M(grade_3)
~
Fig. 10. Relationships among inputs and outputs.
M(grade)
Yuedong Chen et al.
1614
In the system, over one hundred such functions are defined based on metal cutting principles, cutter manufacturers' manuals, machinists' handbooks, and various technical reports. Combining the effects of various inputs, x~, x2 ..... xn, the fuzzy membership of element Yk is calculated using the maxi-minimum rule [15]: n
[M(yk/x,) A M(x,)] A M(yk/s) M(yk) = inl
(3)
[M(yk/Xi) A M(xi)] V M(yk/s) i=1
where, "V" and "A" are fuzzy operators representing the maximum and minimum operations, respectively, and M(yJs) is the "idea" fuzzy membership. Since M(yk/s) = 1, the above equation can be simplified as [15]: n
M(yk)
) A M(xi). n1 ~=lM(yk/xi .=
(4)
For example, based on W = work material, MT = machining type, and d = depth of cut, the fuzzy membership of cutter thickness of T1 = 1/4, T 2 = 3/8 ..... can be determined by:
M(T~) = ([M(Tdw)AM(w)] + [M(Tdm)AM(m)I + [M(TJd)AM(d)] }/3 M(T2) = {[M(T2/w)AM(w)] + [M( Tz/m)AM(m)] + [M( T2/a)AM(d)I }/3
In addition to the maxi-minimum rule in eqn (4), other methods are also used to form the fuzzy membership function. The cutter nose radius, C, for example, is dependent on feed and depth of cut in heavy roughing and roughing, but is determined by required surface finish in finishing and extreme finish. Hence, the fuzzy membership calculation is as follows: if machining_type = {heavy roughing, roughing} then M(C1) = {[M(C1/f)AM(f)] + [M(C1/d)AM(d)]}/2
M(Cz) = ([M(Q/f)AM(f)] + [M(CJd)AM(d)]}/2 if machining_type = {finish, extreme finishing} then
M( C1) = M( CJsurface_finish )AM(surface_finish ) M( Cz) = M( Cz/surface_finish )AM(surface_finish ) if machining_type = {light_roughing} then endif The fuzzy membership function for grade selection is determined in a similar manner. When the fuzzy membership functions of all the felds are determined, the elements with the highest membership function in each field are used to form a list of cutter candidates, {cutter_l, cutter__2 .... }, and their fuzzy membership is:
1
M(cutter_i) = -- ~ M(field_j). mj=l
(5)
A Fuzzy Expert System
1615
The combined fuzzy membership function determines the applicability of a cutter. As defined in fuzzy logic system, M(cutter__/) = 1 means the best and M(cutter_/) = 0 means completely unsuitable. The final step is matching. In the previous step, a list of cutter candidates are formed. These cutter candidates may not be available, either as a commercial product in the market or in the shop. To ensure the availability, the cutter candidates are searched against the cutter data file. The available cutters and grades with their fuzzy membership functions are then outputted as shown in Fig. 6. 4. CUTTING CONDITION DESIGN
It is known that the optimal cutting conditions can be determined by optimization. For example, the cutting condition that minimizes the unit production cost, Cp, can be determined by [16]: min s.t.
Cp = CmTm + C,(T,,/T I) + C,,,Tch(T,,,/Ti)
(6)
0 ~< P ~< Pmax 0 ~< V ~< Vmax 0 ~ f ~ fmax
where: Cm is the machining cost with overhead ($), Tm is the machining time (rain), Ct is the tool cost per cutting edge ($), Tf is the tool life (min), Tch is the tool change time (min), and P is the power consumption (N). The machining time, Tin, can be determined by: 7r.D.L T m - lO00.V.f
(7)
where, D is the diameter of the workpiece, and L is the length of cut. The tool life, TI, can be determined by Taylor's Equation: v(7})- = c
(8)
where, n is the tool life constant and C is the cutting speed at which the tool life is 1 min. The power consumption, P, can be determined by: P = Sp. M R R
(9)
where, Sp is the specific energy (N/mm 3) and M R R (mm 3) is the material removal rate defined below: MRR
-
d.f . V 1000"
(10)
The optimization model in eqn (6) can be extended to include other constraints such as the dynamic stability limit (chatter limit): 1
0 ~ d <~dmax - 2Re[G(s)]
(11)
Yuedong Chen et al.
1616 where,
G(s)
is the transfer function of the machine tool; and the surface finish:
R,, = ~ <~(Ra)required
(12)
where, r is the tool nose radius (mm). The optimization of defined by eqn (6) is a non-linear programming model but can be solved numerically without much difficulty. However, it is noted that some of the model coefficients are "fuzzy" in nature. For example, the machining cost with overhead, Cm, is assumed to be a constant. However, it is hard to judge whether C,, = $1.5 or C,, = $1.6 is more reasonable. Another example is the tool life. While tool life can be estimated using Taylor's Equation (8), the constants n and C are often inaccurate. To accommodate this fuzzy information, in the system, the fuzzy non-linear programming method is adopted [17]. It consists of two steps. First, fuzzy membership functions are assigned to the objective function and the constraints of the model. Rearranged the objective function and the constraints are as follows:
go(x) =CmTm+Ct(Tm/Tr)+cmrch(Tm/V ) bo gl(x) = P - Pmax<--bl
(13)
g2(x) = V - V m a ~ - b2 g3(x)
=f-fma~<-b3
where, x = (V,f) is the decision variable and bo, b~, b2 ..... are the tolerances. Their fuzzy membership functions are defined below:
l1 /.Li(x) =
bi
- ~//, 0 < b~ < Bg
1,
bi = 0
(14)
where, i = 0, 1, 2 ..... and B~ are the maximum tolerances. Then, it converts the "fuzzy" non-linear programming model into an ordinary non-linear programming problem: max s.t.
S go(x) ~< bo g](x) ~< bl gz(x) ~< b2
(15) BiS + b~ <~Bi bi ~ Bi S,x, bi~O
where, S = min/~(x) is non-constrained programming problem and can be solved to provide initial value of the problem. In the system, the non-linear optimization model (15) is solved using Hill Climbing method [18]. When the cutting condition is designed, the performance of the machining operation can be calculated accordingly. Figure 7 shows an example of cutting condition design output from the system. The system also uses graphics to demonstrate the correlation between the machining cost and the design parameters, For example, given the range of machining cost with overheads between $1--$2, the relationship between the unit production cost and
A Fuzzy Expert System
1617
machining speed is shown in Fig. 11. It is seen that optimal cutting speed changes with respect to the change of machining cost. Nevertheless, it should be around 150 m/rain. 5. LEARNING In the system, a large number of fuzzy memberhip functions are used. These functions are critical to the performance of the system. Yet, they are empirical functions and may not be precise. Hence, a learning module is developed so that users can fine-tune these functions (by changing the coefficients of the functions) to accommodate their own preference. As pointed out in Section 3, an element Yk in a given field is related to a number of inputs, xi, ] = 1, 2 , , n, with the fuzzy membership function M(yk/X~) = S(x~, aki, bk~, Cki, dk~)- An inappropriate selection (e.g. inadequate thickness) may be caused by any one of the M ( y k / x j ) , j = 1, 2 ..... n. The learning mechanism is controlled by the user. It starts at identifying the input which has the largest influence to the selection. Suppose this input is x~, then the learning modifies the fuzzy membership function by:
a(ak±,,i- a~i)
(16)
bki = bki + a ( b k ± ~ , ~ - bki)
(17)
Cki : Cki @ a ( C k ± l , i -- Cki )
(18)
dk, = dk, + a ( d k ± , . , -
(19)
aki = a~i +
dki)
where, 0 ~< a <~ 1 is the learning coefficient, and the subscript k - 1 represents the change towards the neighboring elements in the field. When it is felt that the selection is too large, the negative sign is taken and when the selection is too small, the positive sign is taken. Furthermore, if the current element is the largest (smallest) in the field, then ak+l, i = bk+l, i = 0 (Ck--1, i "~- dk_l. i = 0). Next, to ensure consistency, the fuzzy membership functions of all elements in the field (except the first one and the last one) are also modified using the same formula with the learning coefficient/3, where 0 ~< /3 < a. This process is illustrated in Fig. 12. Suppose it is felt that the selection is to be too small and M ( y k / x ) is identified as having the largest influence; then it will be moved towards M ( y k + l / x ) . This is done by resetting the parameters ak and bk. Assuming c~ = 1/2, it follows: ak = ak + (ak+, - a~)/2 = (ak + ak+l)/2
4.5
t
~35 O
3 .-q 2.5 ca.
.~_
2 1.5 1
0
sb Fig. 11. Illustration o f
,60 unit
V (m/rain) production cost as
260 a
function of V and Cm.
250
Yuedong Chen et al.
1618
M()/x~
M(Yl/x)
modified M(Yk/X) / m~fied M(Yk+l/X)
~, M(Yk/X)
aJ I,!,l •. ~
(ak+ak+l)/2
bk +
x
bk'~ (bk+bk+l)/2
Fig. 12. Illustration of the modification of a fuzzy membership function.
bk = bk + ( b k ÷ l - b k ) / 2 = ( b k + b k ÷ l ) / 2 • Next, M(yk+l/X)
is also m o d i f i e d . W i t h / 3 = 1/4, it follows:
ak+l -----( 3 a k + l + ak+2)/4 bg+l = ( 3 b k + l ) + b k + 2 ) / 4 • T h e m o d i f i e d fuzzy m e m b e r s h i p f u n c t i o n s a r e t h e n u s e d to o b t a i n a n e w s e l e c t i o n . T h i s p r o c e s s is r e p e a t e d u n t i l t h e u s e r feels t h e s e l e c t i o n is c o r r e c t . T h e l e a r n i n g p r o c e d u r e is g i v e n in T a b l e 4. F o r t h e e x a m p l e o f c u t t e r t h i c k n e s s s e l e c t i o n u s e d in S e c t i o n 3, if a u s e r feels t h a t Table 4. The learning procedure procedure learning(field, related...input); % identify the fuzzy membership functions to be modified for k = l to m do y[k]:= field__element[k]; for j = l to n do x[/'] := related__input[/']; for k = l to m for j = l to n retrieve M(y[k],x[/],p[k,j]); % note that p[k,]] = [a[k,d,b[k,]],c[k,j],d[k,j]l is a vector repeat % identify the input xi that has largest influence x[i] := maxj( M(y[k],x[/'],p[k,j]) ) ; % modify M(y~/xl) by a (alph) if y[k] is too large if i > 1 then p[k,i] := p[k,i] + alph*(p[k-l,i] - p [ k , i ] ) ; else p[k,i] := p[k,i] - alph*p[k,i]; end; if y[k] is too small if k < m then p[k,i] := p[k,i] + alph* (p[k+l,i] - p[k,i]); else p[k,i] := p[k,i] + alph* p[k,i]; end % modify all the M(yk/x~) k = l ..... m by /3 (beta) forkk = 2 t o m - 1 a n d k k ~ k d o if y[k] is too large p[kk,i] := p[kk,i] + beta*(p[kk-l,i] - p[kk,i]); if y[k] is too small p[kk,i] := p[kk,i] + beta*(p[kk-l,i] - p[kk,i]); end; % determine the new selection calculate the new M(y[k],x[/'],p[k,j]); calculate the new M(y[k]); determine the new selection y[k]; until y[k] is right; end;
A Fuzzy Expert System
1619
the selected thickness T1 is too small, then the learning results in a number of changes to the fuzzy membership functions. In particular, the fuzzy membership function between T~ and depth of cut becomes:
M(TI/d) =
[S(d,0.035,0.055),
if 0.035 <~ d < 0.005
~1,
if 0.055 ~< d < 0.075
[ 1 - S(d, 0.075, 0.095),
if 0.075 ~< d < 0.095.
The learning procedure is also adopted to justify the fuzzy membership functions used in the cutting condition design. 6. EXAMPLES Two demonstration examples are given below. Example 1 is rough turning. The user inputs include: (1) work material: (1.1) material code: ISO code = P, CMC code = 02.1 (1.3) hardness = 180 (Brinell) (1.4) machinability: 0.98 (2) machine tool: (2.1) maximum power = 25 kW (2.3) maximum cutting speed = 1450 RPM (2.4) power efficiency = 95% (3) machining plan: (3.1) machining (3.1.1) turning = general turning (3.2) machining type = roughing (3.7) depth of cut = 2.5 mm (3.8) length of cut = 100 mm (3.9) diameter of the workpiece = 25 mm (3.10) cost (3.10.1) machining cost with overhead = 1 - 2 $/min (3.11) time factor (3.11.1) tool change time = 1.5 - 2.5 min (4) cutter preference: (4.1) cost = $12 (4.2) supplier = Sandvik (4.4) tool life = average The system recommends to use grades GC425 and GC435, both with fuzzy membership equal to 1. The recommended cutters with their fuzzy membership larger than 0.7 are listed in Table 5. The recommended feed is 0.13 mm/rev and the recommended cutting speed is 119 m/min. This design is very reasonable because, as shown in Fig. 12, Table 5. Selected cutters for Example 1 No. Product model 1 2* 3 4
TMAXP-QR TMAX-KNMX-71 TMAXP-MR TMAXP-61
*this is coded in ISO standard.
HTM 35-1Z-8
Shape
Size
Thick
Cutter radius
Fuzzy membership
C
5 16 5 5
4 04 4 4
3 08 3 3
0.7856 0.7534 0.7027 0.7027
C C
1620
Yuedong Chen et
al.
Table 6. Selected cutters in Example 2 No. 1" 2* 3 4 5* 6 7*
Product model
Shape
Size
Thick
Cutter radius
Fuzzy membership
R
10 16 4 4 16 4 16
03 04 3 3 04 3 04
00 08 4 MO 08 4 08
0.8944 0.8944 0.8944 0.8718 0.8718 0.8718 0.76
TMAXP TMAX-KNUX-11F TMAXP-QM TMAXU TMAX-KNUX-11 TMAXP-MF TMAX-KNMX-12F
S R S
*these are coded in ISO standard
Example 2 is a finish turning, where the input information is the same as Example 1 except that: (1) work material: (1.1) (not specified) (1.2) material type = aluminum alloy, heat treatable (1.3) hardness = 150 (Brinell) (3) machining plan: (3.4) surface roughness ~< 0.4/xm (3.6) feed = 0.18 mm/rev (3.7) depth of cut -- 1.27 mm It is found that only one Sandvik grade, H13A, is suitable and its fuzzy membership is 0.52. The selected Sandvik cutters with their fuzzy membership larger than 0.7 are listed in Table 6. It is seen that the selected cutters are round cutters and square shape cutters with large tool nose radius. The recommended cutting speed is V = 400 (m/ min) and feed is f -- 0.1778 (mm/rev). It is noted that the selected cutter has a tool nose radius of 8/64 in. = 0.125 in. (3.175 mm). According to eqn (12), under the recommended feed, the design shall be able to produce a surface roughness of 0.3/~m, which is below the required surface finish. 5. CONCLUSIONS
In this paper, a fuzzy expert system, called Smart Assistant to Machinists or SAM is introduced. Based on incomplete and/or imprecise information, the system can automatically select cutters and design optimal cutting conditions. It also has a builtin learning mechanism so that the system can be self-improved through the course of its applications. Compared to other similar systems, it has two distinct features: (1) it does not require precise and complete design information, and (2) it supports industrial products used on the shop floor. These make the system practical and effective as demonstrated by the two examples. Acknowledgments--This work is partially supported by Natural Science and Engineering Research Council of Canada, operating grant #OGP0121939 and a scholarship from Industrial Research and Development Institute of Midland, Ontario. The authors would like to thank Dr Bertil Colding of Colding International, Ann Arbor, Michigan, U.S.A., for his valuable suggestions. REFERENCES R. V. Nakan and G. W. Fisher, Int. J. of Prod. Res., 31 (8), (1993). S. H. Chen, S. Hinduja and G. Barrow, Int. J. Mach. Tool. Manufacturing, 26 (9), 535-553 (1983). S. Dhage and J. M. Usher, Comp. Ind. Engng, 25 (1-4), 207-210 (1993). H. Bley and V. Stadelmeyer, 25th CIRP Int. Seminar on Manufacturing Systems, pp. 335-345 (1993). D.Domazet, Annals of CIRP, 24 (1), 497-500 (1992). P. G. Maropoulos, Proc. Instn Mech Engrs, Part B: J. Engng Manufacture, Vol. 206, pp. 49-60 (1992). R. M. Boogert, H. J. J. Kals and F. J. A. M. von Houten, 25th CIRP Int. Seminar on Manufacturing Systems, pp. 349-362 (1993). [8] S. Fei and I. S. Jamahir, IEEE Int. Conf. on Fuzzy Systems, San Diego, CA, U.S.A., pp. 899-906 (1992).
[1] [2] [3] [4] [5] [6] [7]
A Fuzzy Expert System
1621
[9] J. Wang, Proc. 5th Annual Conf. on Computer & Industrial Engineering, Voi. 25, No. 1-4, pp. 389-392 (1993). [10] B. N. Colding) Robotics and Computer-Integrated Manufacturing, Vol. 9, No. 4, pp. 407-412 (1992). [11] K. Hitomi, Int. J. Prod. Res., |$ (6), 583-597 (1977). [12] J. A. Arsecularatne, S. Hinduja and G. Barrow, Prod. Instn Mech Engrs, Pan B: J. Engng Manufacture, 206, 15-31 (1992). [13] S. O. Duffuaa, A. N. Shuaib and M. Alam, Comp. Ops Res., 20 (2), pp. 227-237 (1993). [14] T. J. Drozda and C. Wick, Tool and Manufacturing Engineers Handbook, Vol. 1: Machining, 4th edition, Industrial Press (1983). [15] J. G. Klir and A. T. Folger, Fuzzy Logic Systems, Prentice Hall, New York (1984). [16] M. C. Shaw, Metal Cutting Principles, Oxford Science Publications (1984). [17] J. C. Trappey, C. R, Liu and T. C. Chang, Int. J. Prod. Res., 26 (5), 975-985 (1988). [18] F. H. Hillier and G, J. Lieberman, Introduction to Operations Research, 5th edition, McGraw-Hill, New Jersey (1990).