A A Afifi

D R Hayhurst
email: d.r.hayhurst@manchester.ac.uk

W A Khan

NON-PRODUCTIVE TOOL PATH OPTIMIZATION FOR FOUR AXIS MILLING USING THE SIMULATED ANNEALING ALGORITHM

Keywords: CAPP, CNC MACHINING, PROCESS Tool Path, TSP, Simulated Annealing, Optimization, Metal Cutting, Milling NOMENCLATURE Component coordinate origins

The paper concerns the development of generic computer aided optimization techniques for the minimization of residence time of a multi-component pallet in a horizontal machining centre. A general methodology has been established to take a part program for a multi-faced pallet, that involves many components, typically 20-30, and tool changes, segment it to extract the position and machining conditions embedded in it, automatically re-sequence the machining operations to find the optimum total tool path, and regenerate a new part program with the optimized machining sequence. A range of case studies has been used to: validate the software, and to demonstrate its ability to minimize the total pallet residence time. The techniques developed can be used for semi-automatic part programming of the entire pallet with multi-components, and with an auto-selection multi-tool facility. The software is capable of achieving a large reduction in part programming time, as well as reducing the non-machining time. It is shown that the use of the optimization package with a range of part programs reduces the total pallet residence time by a factor between 9.5 and 36%, and consequently has the potential to achieve considerable economic gains.

INTRODUCTION:

The use of computer technology in manufacturing systems has led to the development of advanced Integrated Manufacturing Systems. Such manufacturing systems are capable of operating in a synergistic manner with other parts of the system, [START_REF] Kusiak | Intelligent Manufacturing systems[END_REF][START_REF] Galbraith | Computer integrated manufacturing system flexibility[END_REF], such as Production Planning and Control, Process Planning and Part Programming. Due to the interdependence of these activities the best process plan, [START_REF] Korde | Computer-aided process planning for turned parts using fundamental and heuristic principles[END_REF][START_REF] Rao | Integrated tool positioning and tool path planning for fiveaxis machining of sculptured surfaces[END_REF] can only be achieved depending on the availability of an accurate manufacturability analysis of the entire process, and an estimate of resulting costs. Machining centers, which can accomplish a wide variety of machining operation with a single setting, are now used in a wide rage of industries as a part of a machining cell. Typically, several different components are allocated to the pallet faces, and are machined using a tool magazine; however, in many industrial situations, machine utilization is not optimal, Afifi and Hayhurst 1995. In the multi-component situation, where a pallet is composed of up to thirty different components and requires a tool magazine of over 100 tools, the total pallet residence time, and in particular the nonmachining time (e.g tool changes, pallet rotation, movements between different components and between machining contours), is influenced by a number of factors. These include: cutting parameters; the location of components on the pallet; the sequence in which the tools are selected; the order in which the individual component part programs are called; and, the manner in which the multicomponent part program is written [START_REF] Makhanov | Optimization and the correction of the tool path of the five axis milling machine -Part 2 (Rotations and Setup)[END_REF][START_REF] Yang | An effective algorithm for tool-path airtime optimization during leather cutting[END_REF], Li et.al. 2008[START_REF] Bohez | Adaptive nonlinear tool path optimisation for five axis machining[END_REF][START_REF] Wah | Tool path optimization in layered manufacturing[END_REF][START_REF] Lazoglu | Tool path optimization for free form surface machining[END_REF][START_REF] Makhanov | On the tool-path optimization of a milling robot[END_REF][START_REF] Chou | CNC tool path planning for Multi-patch sculptured surfaces[END_REF] To minimize the residence times of pallets in machining centres requires all of these factors be addressed within a full scope adaptive control paradigm; and, this is not a practical option. The main reason is that to include cutting parameters such as depth of cut, transverse feed, and spindle speed, which are all closely linked to component tolerances, and hence to proven best practices within a company, would involve particularized company data bases that would be difficult to generalize. The individual nature of these factors means that it is very difficult to write software algorithms with the required degree of generality. Furthermore, if cutting parameters were to be included then the number of variables to be optimized would increase to an unmanageable level; and, it would be expected that a pallet with more than, say, six components could not be economically optimized. In the work reported here those aspects related to cutting parameters will not be included in the process of minimising pallet residence times. Instead, it will be assumed that the part program for each single component has been optimized to achieve the accuracy and required tolerance levels of all machined surfaces using independent, separate, incremental processes particular to the company and its product ranges.

Part programming of the entire pallet may utilise one of two approaches: firstly, manual part programming, which is still the most commonly used technique, and secondly computer aided part programming. With respect to the first technique, specialist skills and knowledge are required by the programmer to successfully accomplish computer aided part programming. Manual part programming is both labour intensive and requires highly skilled personnel. The time involved in producing part programs is directly related to the number of component on the pallet faces, and to the complexity of the components. The cost involved in producing the part program must ultimately be covered by the price of the components eventually produced, and it can be a substantial proportion of the total cost. The time required to produce the part program can also form a significant part of the total lead time in the production of finished components, [START_REF] Jones | Introduction to computer numerical control[END_REF]. The second technique for the creation of the entire pallet part program involves the use of computer-based automatic part programming.

Since the available automatic part programming techniques are limited to the creation of a part program for one component only, and the part programs for individual components are usually assembled together to form a part program for the entire pallet. In the latter case a reduction in part programming time will be achieved but the non-machining time will be increased sharply due to the non optimal sequence in which the tools are selected, and to the non optimal movement either between the different components or between different machining contours. The non-machining times for some industrial cases are typically 36 to 53 % of the total pallet residence time, Afifi and Hayhurst 1995.Therefore the provision of automated software which permits part programs to be generated for many components on a machining centre pallet, and which at the same time allows residence time and associated costs to be accurately determined, could be used at the early planning stages to assess down stream consequences, and to quickly correct unsuitable options. Hence, by achieving a computer automated pallet part program generation facility, economic gains can be made at two levels: firstly, through reduction in pallet residence times in the machining centre, and secondly through consequent gains made at the production process planning stage.

The number of variables is sufficiently large that to achieve the optimum part program configuration requires the solution of a combinatorial optimization problem. This paper addresses the methodologies required to solve this class of problem using generic computer based techniques. There are many optimization techniques available, but the one that is most suited to this class of problem is the simulated annealing algorithm, Bachlaus 2008, that has often been use to find the shortest route for the "traveling salesman problem". An approach which involves the optimization of the nonproductive tool movement time by part program segmentation, optimization and regeneration was first described by [START_REF] Khan | Computer-aided part program segmentation and reconstruction for minimization of machine tool residence time[END_REF]. They showed how the total residence time of a component in a CNC machine may be significantly reduced by minimizing the non-productive tool movement. They described how the part program can be segmented into discrete units, the sequence of which may be altered using a specially developed generalized computer optimization package to yield the minimum residence time. [START_REF] Afifi | Computer aided part program optimization of multicomponent pallet residence time in a machining centre for canned cycles and cutter tool compensation[END_REF] have extended the research of [START_REF] Khan | Computer-aided part program segmentation and reconstruction for minimization of machine tool residence time[END_REF] to achieve a minimum pallet residence time in the machining centre by including consideration of many components (up to typically 30) on a pallet, segmentation of the total part program, automatic re-sequencing of it, and its regeneration into a multi-tool, multi-axis, environment. The enhancements of Afifi and Hayhurst 1995 have made the software more widely applicable; and the research of Afifi, Hayhurst and Khan 2009 has extended the use of multi-tools to machine different components on one pallet face. In the latter, they modified the simulated annealing algorithm to minimize the total pallet residence time for a multi-tool multi-component part program. They developed a computer-aided optimization package for segmentation, optimization and regeneration of the part program; and showed that the use of this The research reported here is a continuation of that work. The novel feature is the optimization of multicomponent, multi-tool part programs for use with multi-pallet faces. This paper describes the methodology which has been developed to modify the simulated annealing algorithm for the minimization of the total residence time of the entire pallet in the machining centre, when all multipallet faces are utilized. The paper addresses: the segmentation of the non-optimal multi-pallet face part programs into discrete elements; the optimization of the sequencing of the elements; and, the automatic regeneration of the elements to form a part program that minimizes residence time.

The software validation is carried out using a Bridgeport BPC320H machining centre with a twenty tool bank, 4-axes, two pallets, and a FANUC 11M controller BRIDGEPORT 1990; but, its generality means that it can be used with other commercial machining centres.

MULTI-PALLET FACE PART PROGRAM SEGMENTATION, OPTIMIZATION AND REGENERATION:

Part program segmentation:

The extraction from the initial multi-pallet face part program of the information needed for the optimization process is done at the segmentation phase; and, a general technique has been developed for this. The technique has been established in a way that can be adapted for different types of controller. The part program segmentation strategy is to extract the productive contours embedded in it, and to establish the relationship between the contours and the tools used to machine them. This is carried out using global coordinates that define nodes associated with the motion of the spindle. The three global machine axes are X, Y and Z (normal to pallet), and the fourth pallet rotational axis is designated as B, where B takes the values in the range 0-360°. Two types of nodes are used: operational and nonoperational nodes. Operational nodes are points where there is either a need to move to a new component or to change tool; and, non-operational nodes are points such as those associated with machining the same component with the same tool. It is the operational nodes that are used to define different machining scenarios and to enact the optimization phase. For example a sequence could involve operational nodes h, i, j and k. In this way, an operation with one tool could start at node h, end at node i, and the next selected operation, carried out with a different tool, could start at node j and end at node k. In addition, the segmentation strategy establishes the relationship between the contours, their position on the pallet and their relationship to the operational nodes. Coordinate origins are pf pf pf pf X , Y , Z , B for a pallet face; and c c c c X , Y , Z , B for a component. The relationships between contours, pallet face, tools and operational nodes have been used during the optimization phase to find the shortest tool path between the different productive contours around the pallet faces. Finally, the relationships will be used to regenerate the part program in the optimized sequence.

Multi-face part program optimization:

The minimization of the pallet non-machining time will be formulated as a Euclidian Traveling Salesman Problem (TSP) under imposed constraints. An existing methodology for the solution of the TSP, [START_REF] Lundy | Application of annealing algorithm to combinatorial problems in statistics[END_REF], has been adopted by [START_REF] Khan | Investigation of tool path sequencing problem in hierarchical CIM environment[END_REF][START_REF] Khan | Modeling of tool path movement as TSP at parallel virtual machine[END_REF] for this task. The methodology is based on the Simulated Annealing Algorithm (SAA) [START_REF] Rostami | A simulated annealing technique for multi-route clustertools[END_REF][START_REF] Rostami | A simulated annealing technique for multi-route clustertools[END_REF][START_REF] Lin | A simulated annealing approach to tool path optimization in layered manufacturing[END_REF][START_REF] Lin | A simulated annealing approach to tool path optimization in layered manufacturing[END_REF], and a brief overview of the technique use is now given.

The annealing algorithm is a stochastic search procedure which seeks the minimum of a deterministic objective function. The method applies small perturbations to the current solution. While it always accepts objective function decreases, it can be made to accept objective function increases, with non zero probability. The basic idea behind the annealing algorithm was originally used by Metropolis et remains the same as the complementary probability of the present configuration. Repeated application of this perturbation scheme ensures that the process simulates the equilibrium behavior of atoms at a fixed temperature. [START_REF] Kirkpatrick | Optimization by simulated annealing[END_REF] incorporated the Metropolis scheme to form a search algorithm for the optimization problem. The physical terms: atomic configuration, energy E, and the temperature T are replaced in the current problem by: the sequence of operational nodes, the objective function value Θ , and, the control parameter C i . The process starts with some suitably high initial value of C i . Then in a sequence of steps, each of which decreases the control parameter by a small amount ∆C, the control parameter is reduced to its near zero final value C f. . The value of Θ for the "candidate" solution is determined for each value of C i . The probabilistic aspect of the Metropolis procedure is used to determine the acceptance of the candidate solution. The algorithm is particularly suited to combinatorial problems. Lundy and Mees 1986 have shown that, with a suitable perturbation scheme, the algorithm avoids local optimum traps, and converges with a probability near to one.

This methodology has been adapted by [START_REF] Afifi | Non-productive tool path optimization of multi-tool part program[END_REF] to cope with the problem of reducing the non machining time of a multi-component single pallet face using multi-tools. This paper reports the extension of the optimization techniques of Afifi, Hayhurst and Khan 2009 to cater for the minimization of pallet residence times for multi-components, located on multi-pallet faces, and machined with multi-tools.

Part program regeneration:

The desired output from the optimization phase is a machining sequence which minimizes the nonmachining time. This optimized sequence is unpredictable and independent of any spindle, tool and pallet condition. The inclusion of the fourth pallet rotation axis in the segmentation and optimization process generates the problem of how to create the word address format program for the four axes according to the optimized machining sequence. In this paper a general methodology is described for the regeneration of multi-component, multi-tool, multi-pallet face part programs, using the following parameters established during the segmentation process: the position condition, the machining condition, the tooling condition, and the position of each component on the pallet face. The methodology has been developed in a way that can be adapted for different types of controllers.

METHODOLOGY OF PART PROGRAM SEGMENTATION:

The general methodology for the segmentation of the multi-pallet face part program is now outlined; and, concentrates on the fourth axis (multi-pallet faces). In the segmentation and reconstruction of the information associated with individual part programs, data is collected and stored in the following tables: Machine Information 1. The spindle is with drawn to a safe point in Z-direction (probably the machine zero point) 2. The rotary table supporting the pallet is unclamped.

3. The pallet is rotated (movement is the fourth axis) to achieve the desired pallet face. 4. The rotary table with the pallet is clamped at the new position. 5. The tool is then rapidly repositioned to a pre-defined X and Y position in the new pallet face coordinate system; and, is then plunged in the Z-direction to a point above the component surface before machining recommences. X , Y , Z , B relative to the machine co-ordinate system (X, Y, Z and B). 2. The part program was scanned for the pallet rotation command, i.e. the relevant M-code. 3. The part program was then scanned for all productive contours to be machined at the same pallet face. In previous work, Afifi and Hayhurst 1995, the position condition for each productive contour was extracted in three axes (X, Y, Z); but here the co-ordinate value in the B-axis is also extracted. 4. The extracted contour positions in the four axes were redefined relative to the machine zero point using the pallet face co-ordinate values for each pallet face, and the local co-ordinate values for each component. 5. The machining conditions for each contour were passed to the Machine Information Table ; and, the position conditions were passed to the Position Information Table. 6. Productive contours position conditions were passed to the Productive Tool Movement Table .  7. The previous steps are repeated until the end of part program is reached. 8. The input data for the optimization phase was prepared as follows:

(a) Locate the B-axis co-ordinates for each contour from the Productive Tool Movement Table. The data in the Constraint and Node Position Tables are then used for the optimization phase. In the same way as performed by [START_REF] Khan | Computer-aided part program segmentation and reconstruction for minimization of machine tool residence time[END_REF][START_REF] Afifi | Computer aided part program optimization of multicomponent pallet residence time in a machining centre for canned cycles and cutter tool compensation[END_REF][START_REF] Afifi | Non-productive tool path optimization of multi-tool part program[END_REF] the entire process of tool usage and execution of productive machining contours, required to manufacture the pallet, is defined using the operational nodes, specified in the global machine coordinates. In this way tool p, out of a total of q, is associated with a productive machining sequence with at least two operational nodes i and j; and, by replicating this process for all operational nodes the entire pallet manufacturing operation can be defined. Through the data contained in the constraint and node position tables it is possible to define arbitrary sequences of machining and tool changes that will successfully manufacture all components on the entire pallet. Hence, by identification of the correct sequence of operational nodes and associated tools, through solution of the optimization problem, the minimal total machining time can be found.

METHODOLOGY OF TOOL PATH OPTIMIZATION FOR MULTI-PALLET FACE PART PROGRAM:

The optimal routing of tool movement in machine tools has been identified as a traveling salesman problem Khan andHayhurst 1991, Andreou 1987

{ } 1 g 1 g p q p p ij z ch tpwf i j p 1 T T T T - - = - = Θ = + + + ∑ ∑ ∑ , ( 2
)
where ij T is the non-productive motion in the X-Y plane parallel to a single pallet face, z T is the nonproductive motion in the Z direction, p factor for tool p. The summations in equation ( 1) are carried out with respect to the operational nodes i-j defined in the segmentation phase, which are also used to execute the optimization phase.

In their work, the term non-machining time consists of two parts, the non productive tool movement time, c.f. the first summation on the left hand side of equation ( 1), and the tool changing time, c.f. the last summation on the left hand side of equation ( 1). In the work reported here, the multi-pallet face aspect will be added. For the case in which a single tool is used to machine all components allocated to the four pallet faces, the objective of the optimization process will be to reduce the non-productive tool movement time between the productive contours, and to minimize the pallet rotation time. On the other hand, if a group of different tools is to be used to machine components on the pallet, then a conflict arises between the minimization of the number of tool changes and the minimization of pallet rotation time in achieving the non-machining time.

It is recommended by the BRIDGEPORT 1990 that the rotary table should always be returned to B=0.0 prior to a change of pallet. This means any part program should finished with the pallet rotation vector of the last contour equal to 1, i.e. pallet face No.1 being presented at 90 degree to the machine spindle. This has to be considered during the development of the part program optimization phase.

The work of Afifi, Hayhurst and Khan 2009 concerned the establishment of a generic methodology for one pallet face. However, the methodology considered here for tool path optimization for four pallet faces requires the establishment of two principal new stages:

1. The creation and implementation of a general equation for pallet rotation time.

2. The use of the simulated annealing algorithm for the multi-pallet face part program. These two steps are now each considered in turn.

Creation of a general equation for pallet rotation time:

The tool change time and the pallet rotation time are the two main parts of the non-machining time. The tool change time has been included in the work of Afifi, Hayhurst and Khan 2009, and it was shown to significantly reduce the non machining time. To include the effect of the pallet rotation time in the optimization process, it is necessary to formulate a general equation for the time of pallet rotation.

Acceleration and deceleration is performed when starting and ending spindle movement and pallet rotation. This results in smooth starts and stops. A linear acceleration and deceleration is applied during the non-productive tool movement, and the pallet rotation about the B axis. The time constant for acceleration and deceleration is set as a parameter in the controller. Experimental measurements of the total pallet rotation time T pr have been carried out which have led to the identification of the following general equation:

T pr = (B cn -B ad ) / V i + T ad + K r , where,

B cn is the angular position difference between the current and next contour in the fourth B-axis. B ad is a constant B-axis angular movement, equivalent to the associated acceleration and deceleration.

V i is the pallet angular rotational (indexing) velocity. T ad is the acceleration and deceleration time during B-axis movement. K r is an empirical constant which reflects unclamp and clamp time of the pallet turn table.

Equation (3) will be used to calculate the pallet rotation time during the optimization process, and the pallet rotation time will be included in the objective function value of equation ( 2) to yield:

{ } 1 g 1 g p q p p ij z pr ch tpwf i j p 1 r s T T T T T - - = - = - Θ = + + + + ∑ ∑ ∑ ∑ , (4)

Optimization using the simulated annealing algorithm for the multi-pallet face part program:

The multi-pallet face aspect was included in the SAA using equation (4) for the objective function when required for the candidate solution configuration. The steps involved in the modification of the optimization process, from the approach previously used by [START_REF] Afifi | Non-productive tool path optimization of multi-tool part program[END_REF], are as follows:

1. Data from the Constraint Table was read for each productive contour, and pallet rotation vector.

2. X, Y, Z and B values were read from the Node Position Table , Afifi andHayhurst 1995. 3. The tool path and the pallet rotation sequence were taken from the initial part program as the initial solution for the simulated annealing algorithm. 4. Calculate the objective function value for this initial solution as follows:

(a) Calculate: the non-productive tool movement between the different productive contours in the X-Y plane; the tool change time; and, the tool movement in Z-direction. These were then added to the objective function value. (b) When the pallet rotation is required to approach another group of contours on a different pallet face, a pallet rotation time was calculated and added to the objective function value. The tool movement in the Z-direction before and after pallet rotation is added to the nonproductive tool movement in X-Y plane.

The movement in the X-Y plane to approach the new contour, following pallet rotation, was also added to the non-productive tool movement. (c) The previous steps were repeated for all productive contours in the initial solution. (d) The initial objective function value was used as the objective function value for: the current solution; the candidate solutions; and the best solution. 5. The initial solution, with a suitably high value of the Control Parameter C o , was perturbed to obtain a candidate solution for the Control Parameter C i using:

i+1 i i C = C / (1 + C ) a C i+1 , (5)
with << 1/U a , where alpha is the error probability and U is the upper bound on the objective function increase as suggested by [START_REF] Lundy | Application of annealing algorithm to combinatorial problems in statistics[END_REF]Khan andHayhurst 1991. 6. The objective function value for the candidate solution was then calculated as follows:

(a) If the pallet rotation vector of the first contour in the candidate solution was not equal to 1 then a pallet rotation time was calculated and added to the objective function value. (b) If the pallet rotation vector of the next contour was the same as the current one, the nonproductive tool movement time and the tool changing time were calculated if required, and added to the objective function value. In addition, if the next pallet rotation vector was different from the current one, the pallet rotation time was added to the objective function. (c) The previous steps were repeated for all productive contours in the initial solution. (d) If the pallet rotation vector of the last contour is not equal to 1, then a pallet rotation time, required to bring pallet face one to a location 90 degree to the machine spindle, was added to objective function. 7. The candidate objective function was compared with the current one, and if it has a lower value and if it is the best so far, then it was stored and used as the current state. 8 If the candidate objective function has a higher value, the acceptance probability was calculated and the candidate solution is accepted or rejected according to this probability. 9. A new value for the Control Parameter is calculated using equation ( 5) 10. The steps from 5-9 repeated until the end of the optimization process was reached; this was achieved when a part program configuration was established with a near optimal value of nonmachining time. In this way the optimization process has been modified to cope with the presence of multi-pallet faces.

The inclusion of the pallet rotation factor has been carried out without application of any constraints on the optimization process, and by ensuring that the simulated annealing algorithm converges well to the near optimum part program configuration.

METHODOLOGY OF MULTI-PALLET FACE PART PROGRAM REGENRATION:

A methodology for multi-pallet face part program regeneration has been developed to reconstruct the productive contours along with their position and machining conditions, and together with their new tooling and pallet rotation vector. The methodology will be outlined here, concentrating mainly on the pallet rotation aspect. As previously explained [START_REF] Afifi | Computer aided part program optimization of multicomponent pallet residence time in a machining centre for canned cycles and cutter tool compensation[END_REF][START_REF] Khan | Computer-aided part program segmentation and reconstruction for minimization of machine tool residence time[END_REF][START_REF] Afifi | Non-productive tool path optimization of multi-tool part program[END_REF], the first step in the regeneration process is to reconstruct the productive tool movement table. The productive contours, along with the pallet rotation vector are rearranged in the optimized sequence described by the simulated annealing algorithm output (reconstructed constraints table ); then two main steps are involved in the regeneration of part program. Each is now discussed in turn in Sections 5.1 and 5.2.

Reconstruction of the multi

Reconstruction of multi-pallet face part program start state:

It is mandatory that some machining and position conditions be set at the machine tool controller by the inclusion of software commands at the start of the part program before attempting to machine any productive contours. In this section, the effect will be explained of the multi-pallet face factor on these aspects of the part program. The steps involved in the reconstruction of the part program start state are as follows:

1. The pallet face co-ordinate systems table was scanned to extract the origins of the different pallet faces relative to the machine co-ordinate system in the four general axes (X, Y, Z and B). 2. The pallet face co-ordinate systems values were passed to the reconstructed Machine and Position Information Tables.

The reconstructed Productive Tool Movement Table was checked to determine on which pallet

face the first contour is located. 4. If the first contour in the optimized sequence was located on face No.1 then go to step 5. If not, the appropriate vectors and pointers required to rotate the pallet were passed to the reconstructed Machine and Position Information Tables. 5. Add the machine condition to the reconstructed Machine Information Table, required for the application of the appropriate pallet face co-ordinate system. 6. Execute the remaining steps to complete this stage, as defined in previous work Afifi and Hayhurst 1995.

Reconstruction of productive contours with their pallet rotation vectors:

After the reconstruction of the productive movement for the first contour, the Machine and Position Information Tables were reconstructed for the rest of the productive contours as follows:

1. The reconstructed Productive Tool Movement 2. If the pallet rotation vector for the next contour was not the same as the current one, then any type of canned cycle that might be in use was cancelled. 3. Cancel any current local co-ordinate system using appropriate vectors and pointers. The latter were then passed to the reconstructed Machine and Position Information Table. 4. The position and machining conditions required to withdraw the spindle to the machine zero point in the Z-direction were added to the Machine and Position Information Tables. 5. The vectors and pointers required to unclamp the pallet table were passed to the reconstructed Machine Information Table. 6. The machining and position conditions required to rotate the pallet to the desired face were added to the reconstructed Machine and Position Tables. 7. The vectors and pointers required to clamp the rotating table were added to the reconstructed Machine Information Table. 8. Implement the new pallet face co-ordinate system by passing the appropriate vector to the reconstructed Machine Information Table. 9. If required, the new local co-ordinate system was accessed and implemented using vectors, pointers and appropriate local co-ordinate values. 10. The group of contours to be machined on the pallet face, that involves the new tool change sequence, was reconstructed using the methodology established by Afifi Hayhurst and Khan 2009. 11. The above steps were repeated until the last production contour had been completed.

Reconstruction of multi-pallet face part program finish-state:

To fulfill the Bridgeport machine tool condition which requires that face No1 should be at 90 degree to the machine spindle axis in order to facilitate the changing of the pallet, at the end of the part program, the steps listed below were followed in the reconstruction of part program finish state:

1. The vectors and pointers required to cancel any type of canned cycle were added to the reconstructed Machine Information Table. 2. The appropriate machining and position conditions were used to cancel the local co-ordinate system, and to return to the pallet face co-ordinate system. 3. The machining and position condition required to withdraw the spindle to the machine zero point in the Z-direction were added to both reconstructed tables. 4. Steps were added to the reconstructed Machine and Position Information Table using the appropriate pointers, vectors, and position condition; their purpose being to unclamp the pallet table, to rotate the table to the pallet face number one, and to clamp the table at the new position. 5. The appropriate machining and position condition were added to both reconstructed tables to return the tool to the machine zero point in X-Y plane, before ending the operation.

Command regeneration for multi-pallet face part program:

The objective of this stage is to use the reconstructed Machine and Position Information Tables to code the machine and position state in word address format. The methodology employed for regeneration of multi-tool program was that established by [START_REF] Afifi | Non-productive tool path optimization of multi-tool part program[END_REF]. The codes required to achieve pallet rotation were included in this methodology. The co-ordinate values in the four axes for the different pallet face co-ordinates systems were used to calculate the position of each contour relative to its pallet face using the local co-ordinate origin, before coding it in the appropriate word address format.

SOFTWARE VALIDATION:

The computer aided optimization software has been implemented on a wide range of case studies to check the performance of the software for multi-pallet face part programs. Firstly, the software has been used for pallets with a number of components allocated to the four pallet faces, and machined using a single tool. Secondly, case studies have been examined with a number of components allocated to the four pallet faces, and machined using a group of different tools. These case studies have been selected to determine the effect of using both multi-tool and multi-pallet face features on the optimized part program configurations.

Case study No.1

To present the results of optimal tool path in the four axes a windmill diagram has been utilised, it is presented in figures 1-7. Some of the advantages of this diagram are:

1. Any number of components allocated to the four pallet faces can be viewed on a 2-D figure.

2. The tool path between the different productive contours, including the tool changes around the four pallet faces, can be demonstrated. 3. The effect of tool carousel indexing time can also be demonstrated through the nine levels of arcs over each pallet face. 4. The effect of pallet rotation time can be observed from the length of the arcs between the different pallet faces.

Case study No. 1 is defined in figure 1, where the same two different components have been allocated to each pallet face. The four pallet faces have the same configurations. All the productive contours around the pallet are machined with a single tool to study the effect of pallet rotation time separately. The contour positions of each component have been defined relative to its local co-ordinate system. The integrated initial part program for the pallet has been written. The strategy for writing the initial part program was to machine one component completely before attempting to machine another one and to increase the number of pallet rotation to reach a completely arbitrary input for the optimization package. So, the four components on the top of the four pallet faces have been machined first, commencing on pallet face 1, before starting to machine the bottom components, commencing on pallet face 1, and then ending the part program. The initial part program was used to machine the eight components in the machining centre.

The initial part program was used as input data for the optimization software. The output from the software is a part program with a near optimum configuration. The tool path for the optimized part program is shown in figure 2. The simulated annealing algorithm has reduced the pallet rotation time to its minimum value; it has been reduced by 50% from its initial value. The tool movement in the X-Y plane to approach the first contour after each pallet rotation has been eliminated. It can be seen that the simulated annealing package chose the contour on the current pallet face, and the first contour on the next pallet face having the same X-Y position relative to the machine zero point i.e. no movements in X-Y plane are needed to approach the next contour after the pallet rotation. The non-productive tool movement between the different productive contours on each pallet face was reduced, but the tool paths on the four pallet faces were different. This means that the solution is a near optimum one due to the huge number of combinations which can be made to form a tool path for the entire pallet. However, the non-productive tool movement time between the different productive contours around the four pallet faces was reduced by about 20% from its initial values. A reduction of 28.6 % in the non-machining time was achieved for this single tool case study. This corresponds to a reduction of about 9.5 % of the total pallet residence time for this case. The regeneration phase of the software showed the ability to regenerate the multi-pallet face part program in the optimized sequence. The output of this case study demonstrates the ability of the software to regenerate the pallet rotation sequence in the appropriate position in the optimized part program.

Case study No 2:

The results from the previous section showed that in the case of four axes machining with a single tool, a near optimum tool path was achieved by machining all the productive contours on a certain pallet face before the rotation of the pallet takes place in order to approach another group of contours on a different pallet face. Previous work for multi-tool machining, Afifi Hayhurst and Khan 2009, on one pallet face showed that the reduction of non-machining time can be achieved by selection of a certain tool and by machining all the productive contours using that tool, before choosing another tool. So, the use of multitool and multi-axes machining with the same pallet configuration will result in conflict between the previous two principles of reducing the non-machining time. To study the effect of using multi-tool and multi-pallet face machining on the output from the optimization process a new case study was designed. This case study design is shown in figure 3. Ten components were allocated to the four pallet faces and machined using seven different tools. This case study was designed to ensure that every pallet face has a different configuration. The strategy used for writing the initial part program was to machine the contours of a certain component before attempting to machine the same component (if it exists) on another pallet face. After machining all components of the same type (all over the pallet faces), machining was then started of a different group of components having the same shape. This strategy typically simulates the programming of the entire pallet using available automatic part programming techniques. The initial part program was used to machine the entire pallet load in the machining centre, and as input data for the optimization software. The tool path for the initial part program is shown in figure 3.

The optimized tool path for this case study is presented in figure 4. The simulated annealing algorithm reduced the non-machining time by about 55.7% from its original value. It is clear from figure 4 that the number of tool changes was reduced to its minimum value (seven tools -seven changes). The reduction in tool changing time is about 85.9% from its original value.

The simulated annealing package has also been shown to reduce the non-productive movement time between each group of contours machined by the same tool. The number of pallet rotations, and consequently the pallet rotation time, was increased by about 131.1% from its original value. This increase of pallet rotation time, made by the simulated annealing algorithm, is due to the need to use a certain tool to machine all the contours which can be machined by that tool, before changing it for the next tool. Hence, the tool change time has a greater effect on reducing the global objective function (non-machining time), than the pallet rotation time. A reduction was achieved of about 35 % from the total pallet residence time. The regeneration phase of the software demonstrated the ability to regenerate a highly complex part program for the case of machining a number of components allocated to the four pallet faces using a group of different tools. It was demonstrated that the regeneration phase has a robust ability to create the correct word address format for the different controller features, i.e. canned cycles, local co-ordinate system, pallet face co-ordinate systems tool change facility, pallet rotation facility, etc.

Case study No.3:

To simulate typical industrial situation where components are fixed to the edges of the pallet faces, case study No. 3 was designed, and it is defined in figure 5. The pallet configuration for the previous case study was used and four new components have been allocated to two pallet edges. The number of tools used was slightly increased to eight tools. The strategy used to write the part program for the previous case study was also used here. The initial part program was used to machine the entire pallet in the machining centre, and as input data for the optimization process. The tool path for the initial part program is shown in figure 5.

The output from the software is an optimized sequence part program. The optimized tool path for this case study is presented in the figure 6. The non-machining time was reduced by 56.4% from its original value and the total pallet residence time was reduced by 35.8% during the optimization process. Like the previous case study the pallet rotation time was increased in order to decrease the number of tool changes, which has a greater effect in reducing the non-machining time to its minimum value. The number of tool changes was reduced to its minimum value (eight tools -eight changes). The pallet rotation time was increased by about 79.5% from its original value to facilitate the reduction of tool changes. It was demonstrated that the three phases of the software have the ability to cope with the pallet face edge milling for multi-pallet faces. The software was able to regenerate the machine and position conditions required for the edge milling contours with the correct word address format in the regenerated part program. In the Section 6 case studies have been chosen to demonstrate the methodology of part program segmentation, optimization and regeneration for multi-axis, multi-tool machining. All of these cases have arbitrary inputs, and hence attempt to provide severe test cases for the automatic part programming techniques and software developed. The optimization software has shown the ability to find the near optimal tool path which will minimize the total pallet residence time irrespective of the configuration of the input part program. A comparison is given in Table 1 of part program performance of the extracted and optimized versions for the case studies. The software reduces the total pallet residence time (row 3) and the non-machining time (row 5) by significant amounts. It is clear from this table that the reduction in the tool change time (row 6) and the non-productive tool movement time (row 8) reduces the total pallet residence time. Regarding the pallet rotation time (row 7), the simulated annealing algorithm reduces or increases this time according to the pallet configuration. To facilitate the reduction of the total pallet residence time i.e. if all the components on the pallet are machined with a single tool, the SAA will reduce the pallet rotation time; and, if the components on the pallet require a group of different tools, the pallet rotation time will be increased to reduce the tool change time, and consequently reduce the total pallet residence time. However, for some pallet configurations, a certain tool can be used many times to reduce the pallet rotation time or non-productive tool movement time, and consequently reduce the non-machining time.

Due to the inclusion of pallet rotation time in the calculation of the non-machining time, experimental measurements have been made to check the agreement between theoretical and experimental results, and the output is presented in Table 2. The magnitude of the error between average experimental and theoretical values is dependent on the number of measurements. It was found that the error throughout the table is due to human factors, except for the total pallet residence time error (row 3) which ranges from 1.1 to 1.3%. This has been explained, Afifi Hayhurst and Khan 2009, as the result of applying and cancelling various controller functions such as canned cycles, local co-ordinate system, etc. The results of this research confirm previous results, Afifi Hayhurst and Khan 2009, namely that the percentage difference between average experiment and theory is higher for the optimized part program. This is due to an increase in the number of uses and cancellations of the local co-ordinate systems and the canned cycle facility. It was found that the percentage error in this work is slightly higher than in the previous work Afifi Hayhurst and Khan 2009.This is most likely due to the use and cancellation of a new controller function, namely the pallet face co-ordinate system.

The use of the techniques and software reported in this paper will lead to the semi-automatic part program generation for the entire pallet for multi-axis machining with multi-tools. Hence, the use of this computer based optimization package creates potential for a significant reduction to be achieved in the part programming time, and in the total pallet residence time.

CONCLUSIONS:

The package can be used for semi-automatic part programming of a pallet, with multi-component configuration, and with a group of different tools. By allowing a much simpler approach to be adopted in the generation of the initial part program, the use of the software reduces the part programming effort significantly. The time savings involved, which would typically involve an experienced partprogrammer, are significant in cost terms, and are therefore expected to be valued by industry. The resultant part program will machine the entire pallet with a near minimum residence time. The package achieves a near minimum pallet residence time by part program optimization using the simulated annealing optimization method. A reduction of total pallet residence time between of 9.5 and 36% has been achieved. It has been found that the tool change time has a greater effect than the pallet rotation time in increasing the total pallet residence time. Although a FANUC 11M controller and a Bridgeport BPC320H machining centre have been used to verify the methodology established, the approach is generic and may be adapted for different types of controllers for CNC machine tools and multi-axis machining centers.

ACKNOWLEDGEMENTS:

The author would like to thank Mr. J.E. Boon of The University of Manchester, and Mr. K.Churm of BUSM, Leicester, for their help during the course of the research.

  a range of part programs, reduced the pallet residence time by a factor of between 4.6 and 32.3 %.

  information, the segmentation technique for a single pallet face, Afifi Hayhurst and[START_REF] Afifi | Non-productive tool path optimization of multi-tool part program[END_REF], has been modified. The steps involved in the segmentation of the entire pallet part program are as follows:1. The origins were extracted of the different pallet face co-ordinate systems pf pf pf pf

  (b) Create the pallet face association vector for each contour using the value of the B-axis. (c) Pass the pallet face association vector to the Constraint Table of the original part program. (d) Pass the position condition to the Node Position Table.

  [START_REF] Lin | A simulated annealing approach to tool path optimization in layered manufacturing[END_REF]. The simulated annealing algorithm has been modified by[START_REF] Afifi | Non-productive tool path optimization of multi-tool part program[END_REF] to solve the problem of tool path optimization in a multi-tool environment on one pallet face. The objective function Θ was redefined by[START_REF] Afifi | Non-productive tool path optimization of multi-tool part program[END_REF] to minimize the non-productive tool movement between productive contours, and hence minimize the non-machining time. For convenience the equation derived byAfifi, Hayhurst and Khan 2009, equation (10) of their paper, is reproduced here:

  ch T is the time to change tool p, and p tpwf T is the tool path weight

  time to move the spindle from operational node r on one pallet face to operational node s on another pallet face.

  -pallet face part program from the reconstructed machine and position information tables: Afifi, Hayhurst and Khan 2009 showed how the part program can be reconstructed in three main steps: 1. Reconstruction of part program start state. 3. Reconstruction of productive contours with their association vectors. 4. Reconstruction of part program finished state. Each is now discussed in Sections 5.1.1, 5.1.2 and 5.1.3.

Figure - 4 :Figure - 5 :Figure - 6 :

 456 Figure -1: Extracted tool path for eight components (Case Study No. 1)

  al.[START_REF] Metropolis | Equation of state calculation by fast computing machine[END_REF] in the statistical mechanical simulation of atomic equilibrium at a fixed temperature T . This simulation process begins with a random atomic configuration of the material, possessing energy E a to produce a "candidate" next configuration energy E b the next configuration is taken to be the candidate one for which the

	Probability min [ 1, exp( -(E b -E a / T ) ]	(1)
	F o r
	P
	e
	e r
	R
	e
	v i e
	w
	O n l
	y

  Table; Position Information Table; Productive Tool Movement Table; Constraint Table; and, Node Position Table. The function of these tables becomes apparent as each is introduced in subsequent sections. When a new component on a different pallet face requires machining the part program uses a sequence of codes to cause the rotation of the pallet to the desired pallet face:

  Table was scanned to extract the pallet rotation vector for the next contour.

	F o r
	P
	e
	e r
	R
	e
	v i e
	w
	O n l
	y

Table 1 .

 1 Comparison of part program performance for extracted and optimised versions, for three different pallet case studies.

			CASE STUDY (2)			CASE STUDY (2)
			EXTRACTED			OPTIMISED
			(Figure 3)			(Figure 4)
		No. of measurements	Theoretical (min)	Average Experiment (min)	Error (%)	No. of measurements	Theoretical (min)	Average Experimental (min)	Error (%)
	Total Pallet Residence Time (TPRT )	1	36.84	36.43	1.10	1	23.59	23.28	1.30
	Machining Time	75	13.07	13.77	5.40	75	13.07	13.77	5.40
	Non-Machining Time	75	23.76	22.69	4.50	75	10.52	9.59	8.80
	Tool Change Time	46	13.27	12.72	4.10	7	1.87	1.82	2.70
	Pallet Rotation Time	7	0.97	1.02	4.10	17	2.25	2.33	3.60
	Non-Productive Tool Movement Time	128	9.52	8.85	7.00	99	6.40	5.46	14.70

Table 2 .

 2 Comparison between theoretical and experimental results for case study (2).

	F o r
	P
	e
	e r
	R
	e
	v i e
	w
	O n l
	y

http://mc.manuscriptcentral.com/tprs Email: ijpr@lboro.ac.ukInternational Journal of Production Research


Jill P Pell
email: jill.pell@glasgow.ac.uk

Gael Tavernier
email: gael.tavernier@manchester.ac.uk

Sally Jane Haw
email: sally.haw@hgu.mrc.ac.uk

Henry Mechan

PhD Gaël Tavernier

Sally Haw Bsc

Keywords: pilot study, environmental tobacco smoke, endotoxins

come

A pilot study to explore whether airborne endotoxins play a role in the association between environmental tobacco smoke and non-respiratory, smoking related diseases

associated with risk of cardiovascular disease. [START_REF] Wiedermann | Association of endotoxemia with carotid atherosclerosis and cardiovascular disease[END_REF] In addition to being present on the surface of cigarettes, endotoxins are present in both mainstream and side-stream cigarette smoke. [START_REF] Hasday | Cigarettes are a rich source of bacterial endotoxin[END_REF] Inhaled airborne endotoxins have been implicated in the pathogenesis of respiratory disease. 3 In a guinea pig model, endotoxins have been shown to penetrate the lung barrier and be detectable in the blood. 4 Similarly, non-smokers with occupational exposure to organic dust containing high levels of endotoxin have been shown to have increased plasma concentrations of lipopolysaccharide. 5 However, no previous study has examined whether exposure to environmental tobacco smoke is associated with increased serum endotoxin concentrations.

In a pilot study, we compared serum endotoxin levels in three groups of individuals: ten self-reported never smokers who lived with non-smoking partner and had a serum cotinine concentration of ≤0.1 ng/mL, ten self-reported never smokers who lived with partners who smoked and had a cotinine concentration of 6-11 ng/mL, and ten selfreported current smokers (≥20 cigarettes per day) who lived with non-smoking partners In conclusion, we found no evidence that airborne endotoxin from cigarette smoke can translocate to the blood. Therefore, this mechanism is unlikely to play a role in the association between exposure to environmental tobacco smoke and non-respiratory, smoking-related diseases such as cardiovascular disease. Our findings require corroboration in a larger study.

  to explore whether airborne endotoxins play a role in the association between environmental tobacco smoke and non-respiratory, smoking related diseases to explore whether airborne endotoxins play a role in the association between environmental tobacco smoke and non-respiratory, smoking related diseases Lipopolysaccharides (endotoxins produced by gram negative bacteria) are present on the surface of cigarettes and have been implicated in a number of diseases. Active smoking predisposes to periodontal disease which, in turn, facilitates gastrointestinal absorption of endotoxins. Serum endotoxin concentrations are higher among active smokers and are

  and had a cotinine level of ≥600 ng/mL. Cotinine was assayed using gas chromatography with a specific nitrogen phosphorus detector. The lowest level of detection was 0.1ng/mL.

	Page 1 of 4
	1
	2
	3
	4
	5
	6
	7
	8 9	Serum endotoxin was measured using a kinetic turbidometric Limulus amoebocyte lysate
	10 11	(LAL) assay, following heat inactivation (1:10 serum, 15min at 70 0 C). Diluted serum
	12 13	samples (0.1ml) were assayed with 0.1ml of LAL and incubated at 37 o C for 75 min.
	14
	15 16	Optical density readings were obtained every 30 seconds at 340nm and spike recovery
	17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 F o r R e v i e w O n calculated. The limit of detection was 0.05 EU/mL (Endotoxin Unit/mL). The median serum endotoxin concentrations were 0.487 EU/mL (IQR 0.050-0.944) among never smokers protected from environmental tobacco smoke, 0.402 EU/mL (IQR 0.050-0.678) among never smokers exposed to environmental tobacco smoke and 0.683 EU/mL (IQR 0.284-7.000) among current smokers. Compared with never smokers, current smokers had significantly higher serum concentrations of endotoxin (Mann Whitney U test, p=0.006). There was no statistically significant difference in serum endotoxin concentrations between never smokers protected from environmental tobacoo smoke and never smokers exposed to environmental tobacco smoke (Mann Whitney U l y test, p=0.436).

  Sikkeland LI, Skogstad M, Ovstebo R, Brusletto B, Haug KBF, Kongerud J, Eduard W, Kierulf P. Circulating LPS in the blood from BioProtein production workers. Occup Environ Med 2008;65:211-14.

	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16	Page 2 of 4 5. Page 4 of 4 3. Thorne PS, Kulhankova K, Yin M, Cohn R, Arbes SJ Jr, Zeldin DC. Endotoxin exposure is a risk factor for asthma: the national survey of endotoxin in United States housing. Am J Resp Crit Care Med 2005;172(11):1371-7. 4. Goto H, Rylander R. Kinetics of inhaled lipopolysaccharide in the guinea pig. J Lab Clin Med 1987;110:287-91.
	17 17 17
	18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 F o r R e v i e w O n l y 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 o r R e v i e w O n l y 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 F 59
	60