Method and system for testing a machine tool

09625897 ยท 2017-04-18

Assignee

Inventors

Cpc classification

International classification

Abstract

A method to control a material remover can include generating a test path to be processed by the processing circuitry to cause the material remover of the machine tool to move along a predetermined path; causing the processing circuitry to execute the test path and move the material remover along the test path; timing at least one of the performance of the processing circuitry and the movement of the material remover along the test path to generate machine tool timings; and using the machine tool timings to set limits which are arranged to subsequently be used when cutting paths are generated for the machine tool for which the test path has been generated.

Claims

1. A method of testing a machine tool comprising processing circuitry arranged to control a material remover, in which the method comprises: a) generating a test path to be processed by the processing circuitry to cause the material remover of the machine tool to move along a predetermined path, wherein the test path comprises at least one closed test path having a set shape and set size; b) causing the processing circuitry to execute the test path and move the material remover along the test path; c) in a first portion of the test path execution, causing the material remover to execute the at least one closed test path having the set shape and set size a single time, and in a second portion of the test path execution, occurring after the first portion of the test path execution, causing the material remover to execute a plurality of times the at least one closed test path having the set shape and set size that was executed in the first portion, wherein the material remover executes the second portion of the test path execution from a moving start; d) while the processing circuit is executing the test path, obtaining machine tool timings using the movement of the material remover along the test path, including determining an average time for executing the closed test path at a constant feed rate, wherein determining the average time comprises determining a total time required to complete both the first portion and the second portion, subtracting the time required to complete the first portion from the total time, and dividing the result of the subtracting by the number of times that the closed test path is executed in the second portion to obtain the average time; and e) setting machine tool parameters for the machine tool based on the machine tool timings from the test path to be subsequently used when cutting paths are generated for the machine tool, wherein the machine tool parameters comprise a minimum radius that the machine tool can be moved around.

2. The method of claim 1 in which material remover is caused to execute the test path with no work-piece present.

3. The method of claim 1, wherein the material remover, in the first portion, executes the at least one closed test path with a parameter of a first value and, in the second portion, executes the at least one closed test path with the parameter set at that first value.

4. The method of claim 1 in which the material remover is caused to perform the first and second portions with a parameter of the test path being different between executions.

5. The method of claim 4 in which the parameter is the radius of at least a portion of the closed test path.

6. The method of claim 5 in which: a. the material remover is caused to execute the closed test path with a parameter of a first value and timed for that execution; b. subsequently a value of the parameter of the closed test path is altered and the material remover is timed to execute the closed test path with the altered value of the parameter; and c. step b is repeated until the material remover does not execute the closed test path correctly or until the altered value of the parameter is altered beyond a predetermined value.

7. The method of claim 6 in which the closed test path is circular and the parameter being varied is the diameter or radius of the path.

8. The method of claim 6 in which the closed test path is circular and the parameter that is varied is the diameter or radius of the path and wherein the diameter or radius of the circle is halved in each iteration of step b.

9. The method of claim 1 in which a determination is made of the processing performance of the processing circuitry by determining the maximum rate at which the processing circuitry of the machine tool can process points defining the test path.

10. The method of claim 1 in which the processing circuitry of the machine tool is used to time the movement of the material remover.

11. The method of claim 1 in which a data capture device that is separate from the material remover is used to capture timing-data, which timing data is subsequently used to time the movement of the material remover.

12. The method of claim 11 in which the machine tool is caused to execute movements that cause known patterns within the timing data in order to allow the machine tool timings to be determined from the timing data.

13. The method of claim 12 in which the known patterns comprise any from the set: a data encoding block; a stop pattern; and a start pattern.

14. The method of claim 11 in which the timing data is collected and processed off-line.

15. The method of claim 1, further comprising querying processing circuitry of the machine tool, wherein the limits are set based on a combination of querying and using the machine tool timings.

16. A machine tool comprising a processing circuitry which is arranged to be programmed and a material remover arranged to be controlled by the processing circuitry, wherein the processing circuitry is arranged to perform the following: a) receive a test path arranged to cause the material remover of the machine tool to move along a predetermined path, wherein the test path comprises at least one closed test path having a set shape and set size; b) execute the test path and move the material remover along the test path, wherein executing the test path includes a first portion where the material remover executes the at least one closed test path having the set shape and set size a single time and a second portion, occurring after the first portion, where the material remover executes a plurality of times the at least one closed test path having the set shape and set size that was executed in the first portion, wherein the material remover executes the second portion of the test path execution from a moving start; c) while executing the test path, timing at least one of the performance of the processing circuitry and the movement of the material remover along the test path to generate machine tool timings, including determining an average time for executing the closed test path at a constant feed rate, wherein determining the average time comprises determining a total time required to complete both the first portion and the second portion, subtracting the time required to complete the first portion from the total time, and dividing the result of the subtracting by the number of times that the closed test path is executed in the second portion to obtain the average time; and d) set machine tool parameters for the machine tool based on the machine tool timings from the test path to be subsequently used when cutting paths are generated for the machine tool, wherein the machine tool parameters comprise a minimum radius that the machine tool can be moved around.

17. A non-transitory machine readable medium containing instructions to cause a processing circuitry to generate a test path for a material remover arranged to be controlled by a further processing circuitry of a machine tool, wherein the processing circuitry is arranged to: a) generate a test path arranged to cause the material remover of the machine tool to move along a predetermined path, wherein the test path comprises at least one closed test path having a set shape and set size; b) cause the processing circuitry to move a material remover along the test path; c) in a first portion of moving the material remover along the test path, cause the material remover to execute the at least one closed test path having the set shape and set size a single time, and in a second portion of moving the material remover along the test path occurring after the first portion, cause the material remover to execute a plurality of times the at least one closed test path having the set shape and set size that was executed in the first portion, wherein the material remover executes the second portion of the test path execution from a moving start; d) while the material remover is moving along the test path, obtain machine tool timings using the movement of the material remover along the test path, including determine an average time for executing the closed test path at a constant feed rate, wherein determining the average time comprises determining a total time required to complete both the first portion and the second portion, subtracting the time required to complete the first portion from the total time, and dividing the result of the subtracting by the number of times that the closed test path is executed in the second portion to obtain the average time; and e) set machine tool parameters for the machine tool based on the machine tool timings from the test path to be subsequently used when cutting paths are generated for the machine tool, wherein the machine tool parameters comprise a minimum radius that the machine tool can be moved around.

18. A method of generating a cutting path for a material remover of a machine tool, the machine tool comprising processing circuitry arranged to control a material remover of the machine tool and the method comprising: a) generating a test path to be processed by the processing circuitry to cause the material remover of the machine tool to move along a predetermined path, wherein the test path comprises at least one closed test path having a set shape and set size; b) causing the processing circuitry to execute the test path and move the material remover along the test path; c) in a first portion of the test path execution, causing the material remover to execute the at least one closed test path having the set shape and set size a single time, and in a second portion the test path execution, occurring after the first portion of the test path execution, causing the material remover to execute a plurality of times the at least one closed test path having the set shape and set size that was executed in the first portion, wherein the material remover executes the second portion of the test path execution from a moving start; d) while the processing circuit is executing the test path, obtaining machine tool timings using the movement of the material remover along the test path, including determining an average time for executing the closed test path at a constant feed rate, wherein determining the average time comprises determining a total time required to complete both the first portion and the second portion, subtracting the time required to complete the first portion from the total time, and dividing the result of the subtracting by the number of times that the closed test path is executed in the second portion to obtain the average time; e) setting machine tool parameters for the machine tool based on the machine tool timings from the test path to be subsequently used when cutting paths are generated for the machine tool, wherein the machine tool parameters comprise a minimum radius that the machine tool can be moved around; and f) generating the cutting path using the limits from step e.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) There now follows by way of example only a description of embodiments of the present invention of which:

(2) FIGS. 1a and 1b (Prior Art) schematically show various parameters which can be used to detail a material remover of a machine tool and its interaction with material from which the material remover is removing material.

(3) FIG. 2 shows a machine tool suitable for use in an embodiment;

(4) FIG. 3 schematically shows the memory of a processing unit arranged to provide an embodiment;

(5) FIG. 4 shows a portion of a typical cutting path;

(6) FIG. 5 shows a series of test cutting paths used by an embodiment;

(7) FIG. 6 shows a graph of input feed rate vs output feed rate;

(8) FIGS. 7a and 7b show plot of maximum acceleration of a material remover vs. maximum jerk of that material remover;

(9) FIG. 8 shows a further plot of maximum acceleration of a material remover vs. maximum jerk of that material remover;

(10) FIG. 9 illustrates a high level process of an embodiment;

(11) FIG. 10 shows a flow chart outlining the steps of an embodiment;

(12) FIG. 11 shows a machine tool on which a data capture device has been fitted;

(13) FIG. 12a shows a plan view of a test path;

(14) FIG. 12b shows a plot of accelerations experienced by a material remover of a machine tool when executing the path of FIG. 12a;

(15) FIG. 13 shows a plot of timing data collected from a data capture device executing a test path similar to that shown in FIG. 12a;

(16) FIG. 14a shows a further example plan view of a test path;

(17) FIG. 14b shows a plot of accelerations experienced by a material remover of a machine tool when executing the path of FIG. 14a;

(18) FIG. 15 shows a plot of timing data collected from a data capture device executing a test path similar to that shown in FIG. 14a;

(19) FIG. 16 shows a combination of test paths; and

(20) FIG. 17 shows example timing data collected from a data capture device.

DETAILED DESCRIPTION OF THE DRAWINGS

(21) The computer system of FIG. 3 comprises a display 102, processing circuitry 104, a keyboard 106 and a mouse 108. The processing circuitry 104 comprises a processing unit 112, a graphics system 113 (which may be thought of as a display driver), a hard drive 114, a memory 116, an I/O subsystem 118 and a system bus 120. The processing unit 112, graphics system 113 hard drive 114, memory 116 and I/O subsystem 118 communicate with each other via the system bus 120, which in this embodiment is a PCI bus, in a manner well known in the art.

(22) The graphics system 113 comprises a dedicated graphics processor arranged to perform some of the processing of the data that it is desired to display on the display 102. Such graphics systems 113 are well known and increase the performance of the computer system by removing some of the processing required to generate a display from the processing unit 112.

(23) It will be appreciated that although reference is made to a memory 116 it is possible that the memory could be provided by a variety of devices. For example, the memory may be provided by a cache memory, a RAM memory, a local mass storage device such as the hard disk 114, any of these connected to the processing circuitry 104 over a network connection. However, the processing unit 112 can access the memory via the system bus 120 to access program code to instruct it what steps to perform and also to access data to be processed. The processing unit 112 is arranged to process the data as outlined by the program code.

(24) A schematic diagram of the memory 114,116 of the computer system is shown in FIG. 3. It can be seen that the memory comprises a program storage portion 122 dedicated to program storage and a data storage portion 124 dedicated to holding data.

(25) The program storage portion 122 comprises a timer 152 arranged to time movement of the material remover 204 and a controller 154 arranged to control movement of the material remover from a test path and/or cutting path.

(26) The data storage of the memory 114, 116 comprises a test path 156 arranged to be processed by the processing circuitry to perform the tests as described below. The data storage portion 124 is also arranged to store machine tool timings 160 as the test are performed such that once the tests outlined below have been performed a set of machine tool timings are stored. The data storage portions is also arranged to contain limits 162 (which may be thought of as parameters) which are derived from the machine tool timings. In embodiments which are arranged to perform execute cutting paths which have been generated from the machine tool timings 160 then the data storage portion 124 is also arranged to store that cutting path 158.

(27) In one embodiment, there is provided a CNC milling machine 200 as shown in FIG. 2 which can be used to fabricate, by executing a cutting path, a part from a block of material 202, which may be thought of as a work-piece. A material remover 204 removes material from the block 202 and is controlled by processing circuitry 104. In other embodiments, the CNC milling machine 200 may be controlled by a separate processing circuitry, which may be referred to as a further processing circuitry, which receives data from the processing circuitry 104.

(28) In some embodiments, the processing circuitry 104 may be arranged to query the machine tool in order to obtain limits of the machine tool therefrom. These limits may subsequently be used to generate cutting paths for that machine tool 200 and the limits may be any of those described herein. As such, the processing circuitry 104 may communicate with a further processing circuitry within the machine tool to obtain the limits which are subsequently used to generate a cutting path specific to that particular machine tool.

(29) In yet further embodiments, the machine may be a machine other than a milling machine.

(30) Returning to FIGS. 1 and 2, it will be seen that, in the embodiment being described, the material remover 204 is driven by a CNC milling machine 200 which is in turn controlled by the processing circuitry 104. It is known that the machine 200 will have limits to the speed and acceleration at which the material remover 204 can be moved together with limits at which the processing circuitry 104 can process instructions.

(31) Thus, returning to FIG. 1, it will be seen that there are a number of parameters N (rotary velocity), s (stepover), d (depth of cut) and F (feed rate) that can be specified. For a given material/material remover 204 combination the maximums for these parameters are often set by the manufacturer of the material remover 204.

(32) FIG. 4 highlights that a cutting path 400 can be specified by a plurality of points 402, 404, 406, 408, 410, 412. To cut a part from the block of material 202 then the processing circuitry 104 controls the material remover 204 to move from point to point 402-412. A path between the points 402-412 may also be specified which may be a curved path in order to replicate the desired cutting path 400 as closely as possible.

(33) It will be appreciated that the point spacing (ie distance between points 402-412) can be varied but the rate at which the processing circuitry 104 can handle points is governed by the capability of the processing circuitry 104 and as such, there is a balance between the density of the points and the maximum feed rate F that can be maintained; if the cutting path specifies points that are closely spaced then the machine may be unable to maintain the programmed feed rate because it is unable to process the points fast enough. Thus, for example if the processing circuitry can process 100 points per second, it could follow a 1 m straight path at 1 m/S provided the points are no closer than 10 mm apart. If the point spacing was 1 mm, the point processing time would limit maximum speed to 0.1 m/S.

(34) Accordingly, embodiments may provide a test path that can be executed and which have an initial number of points 402-412 therealong. Subsequently, the number of points may be increased and the test path re-run. This exercise may be increased until the material remover starts to slow, the inference being that a processing limit within the processing circuitry has been reached.

(35) However, in the embodiment being described, a test path is provided that is likely to exceed the rate at which the processing circuitry 104 can handle points. As with other tests, the material remover 204 is timed as it performs the test path to generate machine tool timings which are subsequently used to determine the rate at which the processing circuitry 104 was able to process the points. Typically, this test path is a curve specified by a large number of points, where large is intended to mean beyond the processing capability of the processing circuitry.

(36) However, it is also possible that the points can be too widely spaced, particularly when a cutting path causes the material remover 204 to move around a curve. For example, a smoothly curved path described by points (i.e. a polyline) requires an infinite acceleration at each point where the path direction changes. If the points are too widely spaced, the processing circuitry may determine that the material remover 204 cannot follow the cutting path smoothly and instead cause the material remover to stop at each point. Accordingly, should the cutting path contain points that are more closely spaced this may enable the processing circuitry to recognise that the path is sufficiently smooth to follow at the desired feed rate F. As an example, a small radius circular path may be defined within tolerance by just 4 points but a path described in this manner looks like a square to the processing circuitry and the processing circuitry may therefore cause the material remover to stop at each point/corner. In this example, increasing the number of points to 40, for example, may mean that the processing circuitry will recognise that the path is a smooth curve and run continuously.

(37) Accordingly, some embodiments may be arranged to determine the maximum rate at which the processing circuitry can process points; ie an upper limit for the processing performance of the processing circuitry 104. Some embodiments may be arranged to determine the minimum number of points needed to represent a curved line; ie a lower limit for the processing performance of the processing circuitry 104.

(38) Embodiments cause the machine to run a test program which moves the material remover 204 through a series of tests. In one embodiment, these tests allow at least some of the following parameters to be determined: 1. For a given programmed feedrate what is the minimum radius of arc that the machine can move in and still move at the programmed feedrate; 2. What is the minimum time per point that the machine tool can process; 3. What is the maximum point separation for a path to be treated as a continuous curve; 4. What is the maximum acceleration that the machine can achieve; and 5. What is the maximum jerk (ie change in accelerationm/s.sup.3) that the machine 200 can achieve.

(39) In particular, the tests cause the machine 200 to cause the material remover 204 to make a predetermined test path and this is arranged to be performed with no material 202 present; ie no work piece. As such, the material remover 204 makes a series of moves to perform the test path with minimal resistance (since there is no material 202 present). The actual movements of the material remover 204 are timed and from this a determination is made of the maximum limits of the machine 200. In particular the processing circuitry of the machine tool is used to perform the timing of the material remover thereby removing the need for additional hardware to perform the tests.

(40) In some embodiments, the test may start off with movements which the machine 200/material remover 204 should easily be able to perform and subsequently increase the demands placed upon the machine 200/material remover 204. In this manner it should be possible to determine when the material remover 204 fails to perform the move that has been requested and as such the maximum value for that movement has been determined (ie the last move that was successfully completed).

(41) In particular, some embodiments may be arranged to determine the minimum cutting radius. In particular, it is convenient if the material remover 204 can be caused to move at a substantially constant feed rate when executing a cutting path. However, if the machine 200 is asked to move the material remover 204 around an arc with a radius less than an amount set by the machine then the maximum feed rate will reduce. As such, some embodiments may utilise the determined minimum radius when planning cutting paths to help ensure that cutting paths can be planned which do not cause the feed rate to decrease; ie they ensure that the radii of turns are above a predetermined minimum radius (which may be determined by the tests discussed here). It is useful to note that it can be advantageous to use cutting paths with smaller cutting radii since this would tend to result in shorter cutting paths but there is a compromise and a radius under the minimum cutting radius should not be used.

(42) Looking at the list of five tests above then some embodiments may determine the result of test 1 (minimum cutting radii) from tests 4 (max. acceleration) and 5 (maximum jerk). Such derivation of the minimum cutting radius is typically possible for machines which have clear acceleration limits. Other machines 200 do not have precise limits and as such, it is generally harder to derive the results for test 1 and in such machines it may therefore be necessary to directly measure, by timing as described elsewhere, the minimum achievable cutting radii.

(43) Once the tests have been performed then the processing apparatus 104 that controls the machine 200 generates a file containing parameters (ie limits set from the machine tool timings) which have been determined by the tests. In other embodiments the parameters may be captured by other means. For example the parameters could be displayed on a screen, etc.

(44) Turning to one particular embodiment, then a series of test paths is shown in FIG. 5. In this embodiment, the processing circuitry 104 causes the machine tool 200 to drive the material remover 204 around a series of circular test paths 500, 502, 504. These circular test paths may be thought of as being closed test paths and shapes other than circular are possible. Thus, a test path, which may be thought of as an overall test path, may comprise a plurality of closed test paths. As such, it will be appreciated that the processing circuitry 104 specifies that the material remover 204 move at a predetermined speed, which, according to the radius of the circle of the test path results in calculable acceleration (toward the centre of the circle) and jerk (ie change in acceleration). The skilled person will appreciate that acceleration is a vector property and, since the direction of the acceleration is constantly changing as the material remover 204 moves around the cutting path, that there is a constant change in acceleration providing the jerk.

(45) The test paths in FIG. 5 are arranged to lie within the XY principle plane of the machine tool 200 such that the capabilities of the machine tool are tested with the material remover 204 moving in this plane. The embodiment being described performs the test in each of the principal planes such that the test are performed with the test paths 500-504 lying in each of the XY; YZ; and XZ planes.

(46) As such, the predetermined speed at which the processing circuitry asks the material remover 204 to move may be thought of as an input feed rate, where feed rate is a term of art meaning speed. The speed/feed rate that the material remover 204 can actually manage is the output feed rate. As such, and as represented in FIG. 6, it is often the case that the machine tool 200 will be able to drive the material remover 204 at the requested input feed rate up to a certain point (ie the output feed rate is equal to the input feed rate) and this is represented by the point X on FIG. 6.

(47) Beyond point X, as the input feed rate requested of the machine tool 200/material remover 204 increases further the machine tool can no longer deliver an output feed rate which is equal to the input feed rate. What happens beyond point X is determined by the machine tool 200; different models and/or machines from different manufactures react differently.

(48) As illustrated in FIG. 6, the achievable output feed rate may continue to rise, just not with the input feed rate that has been requested (line 600). Alternatively, the output feed rate may actually tail off (line 602). In a worst case scenario the machine tool 200 may simply stop (line 604). It will be appreciated that the lines of FIG. 6 are intended to be illustrative only and are not intended to provide quantitative data.

(49) Returning to FIG. 5, it will be appreciated that as the radius of the circle is decreased and/or the input feed rate is increased then the cutting path requires a higher acceleration and jerk from the machine tool 200 and it is less likely that the output feed rate can match the input feed rate.

(50) As such, in the embodiment being described, and as illustrated with reference to FIG. 10, the machine tool is arranged to move the material remover around a larger radius circle (eg 500). In particular, two runs are performed. A first run, in a first part of the test, times the material remover to make a single revolution of the circle 500 step (1000). This first run will include the time that it takes to get the material remover up to speed and as such is not representative of the time that it would take the material remover to move around the same circle from a moving start.

(51) Accordingly, the second run, in a second part of the test, times the material remover to make 11 revolutions of the circle (step 1002). The skilled person will appreciate that in other embodiments other number of revolutions may be appropriate and may be determined by the accuracy that the machine tool can time the movement of the material remover.

(52) Then, in order to determine the typical time to make a single revolution the time taken to make the single revolution from the first run is subtracted from the time to make eleven runs to give the time for ten runs at constant feed rate. Then, the remaining time is divided by ten to give the time for a single revolution at a constant feed rate. It can then be determined whether the measured time for a single revolution matches that requested by the input feed rate.

(53) In some embodiments further tests are run in which the input feed rate is incremented. This test is repeated for the circle 500 until the output feed rate measured by the test no longer matches the requested input feed rate (ie it is known that the point X of FIG. 6 has been reached): step 1004.

(54) However, in the embodiment being described, the input feed rate is maintained at a constant and the test is re-run with test paths of a different radius as described below and as illustrated by the circles 502, 504 of FIG. 5. The feed rate selected for the test is one that is within the capabilities of the machine tool being tested. In one embodiment being tested the selected feed rate was 3000 mm/min.

(55) It will be appreciated that embodiments typically perform the tests described herein without a work-piece 202 being present. As such, the set-up time for each test is relatively quick since there is no need to replace a work-piece. Moreover, the test paths tend to be small and as such do not take long to execute.

(56) In one particular embodiment the starting, or initial, radius of the circular cutting path 500 is set to be 16 mm. However, the skilled person will appreciate that other radii may be equally suitable. For example, other embodiments may use substantially any of the following radius 50 mm; 45 mm; 40 mm; 35 mm; 30 mm; 25 mm; 20 mm; 15 mm; 10 mm; 5 mm; 2.5 mm; 1 mm; 0.5 mm or any radius in between these.

(57) In one particular embodiment, the test run by the machine tool 200 comprises running the test using different sets of radius circles (and it can be seen with reference to the loop 1006 of FIG. 10 that the test are repeated with different radius circles).

(58) In the embodiment being described the material remover is caused to execute a test path having an initial radius and the material remover 204 is timed as described above and a determination made as to whether the input and output feed rates match one another. This method is repeated, and in subsequent repetitions the value of the radius is reduced, until one of the following occurs: the radius of the circle of the test path is below a predetermined threshold (eg a radius threshold); until the limit for jerk is determine; or until the operator aborts the test (perhaps because the machine tool starts to behave erratically, etc.). Typically this predetermined radius threshold is less than 1 mm and may for example be 0.5 mm.

(59) Subsequent iterations of the test reduce the radius by half until any of the end points, as discussed in the preceding paragraph, occur. The skilled person will appreciate that in other embodiments other strategies for reducing the radius of the circle may be used. For example, the radius of the circle may be reduced by other than 50% in each iteration.

(60) In making the test paths described above, then the machine tool 200 may be instructed to cause the material remover 204 to move at its maximum feed rate. In other embodiments, the feed rate may be set to below maximum However, it is convenient to set the input feed rate close to the feed rate at which the machine tool will fail to be able to provide sufficient acceleration to the material remover. Such embodiments are advantageous in that they can help to reduce the time taken for the tests to be performed. Accordingly, once a fixed feed rate has been selected that the machine tool can achieve, it is then the radius of the circle of the test path that is then being used to test the limits of the machine.

(61) The skilled person will appreciate that the machine tool can often be instructed to move along a natural arc; ie the processing circuitry is instructed to follow a curve defined by various parameters. The machine tool could also be instructed to follow a similar path by providing a series of points (as shown in FIG. 4) which approximate to that natural arc.

(62) For each circular cutting path 500-504 that is analysed it possible to determine the maximum acceleration (from the radius of the circle and the maximum feed rate achieved) and also maximum jerk (ie change in acceleration) that the machine tool 200 can achieve. These points can be plotted on a graph as illustrated in FIG. 7a and b.

(63) Before discussing FIG. 7, it is noted that the magnitude of the acceleration, a, for motion around a circle is given by the equation:

(64) a = v 2 r ( 1 )
where v is the velocity magnitude and r the circle radius. The acceleration vector points towards the centre of the circle, and as such, is constantly changing. The rate of change of acceleration is also called jerk. The magnitude of the jerk vector is given by

(65) j = v 3 r 2 ( 2 )

(66) Elimination v from these equations gives:

(67) j = a 3 r ( 3 )

(68) When calculating cutting paths from the limits that have been determined from the testing then one parameter that is useful to use is the minimum radius of curvature of which the machine tool is capable. Both the limit for acceleration and the limit for jerk that have been determined can be used to determine an associated minimum radius. If an acceleration limit gives a radius r.sub.a then radii below that value will have a larger acceleration, and radii above that value with have a smaller acceleration. Likewise if the jerk limit gives a radius r.sub.j then radii below that value will have a larger jerk, and radii above that value will have a smaller jerk.

(69) So the smallest radius that the machine can move in is maximum of the two radii calculated in the formulae above, ie

(70) max ( v 3 j , v 2 a ) ( 4 )

(71) Some embodiments thus use equation (4) in making a determination as to the minimum radius of curvature that can be used a cutting path for the particular machine tool.

(72) This shows that for a fixed acceleration, decreasing the circle radius will increase the jerk.

(73) FIG. 7a shows the results of a test run on one embodiment in which the following test results were obtained:

(74) TABLE-US-00001 radius time acceleration jerk 0.016 0.6006 1.751092402 18.31908 0.008 0.4254 1.74523837 25.77728 0.004 0.3324 1.429215435 27.01572 0.002 0.264 1.132874702 26.96235 0.001 0.21 0.895202213 26.78439

(75) The first column shows the radius of the circle of the circle used to perform a test in metres and the second column shows the time determined from the test for the material remover to execute a circle of that radius. The third and fourth columns show the derived acceleration and jerk. If these results are plotted then the graph of FIG. 7a is obtained and it can be seen that there is an acceleration limit of 1.75 m/s.sup.2 and a jerk limit of 27 m/s.sup.3.

(76) Thus, for each test path 500, 502, 504 that is executed the method determines the associated acceleration and jerk limits. As described above, it is perhaps likely that the acceleration limit is reached before the jerk limit. However, whichever is achieved first, once the limits for both acceleration and jerk have been obtained embodiments are likely not to run further circular cutting paths with a reduce radius.

(77) In testing another machine, the following results were obtained:

(78) TABLE-US-00002 radius time acceleration jerk 0.02 0.517647 2.946607099 35.76583 0.01 0.364 2.979593165 51.43224 0.005 0.258824 2.946607099 71.53167 0.0025 0.178431 3.099968729 109.1606

(79) These results are plotted on FIG. 7b and it can be seen that the tests carried out have highlighted a maximum acceleration that the machine can apply of 3 m/s.sup.2 but that the maximum jerk has not been determined from the test but that the maximum jerk is above 110 m/s.sup.3. Typically, such a result is obtained when the reduction in radius of the test path described in relation to FIG. 5 is stopped when the test of the predetermined minimum radius (ie the predetermined threshold) has been executed. Embodiments may set an upper jerk limit in such instances. Some embodiments may allow an operator to set the upper jerk limit in order to help the machine tool perform as desired.

(80) As discussed above, the test paths are typically performed at a constant feed rate. Therefore, equation (3) above can be used to determine the minimum cutting radius; ie parameter 1 in the list of five parameters listed above.

(81) However, in some cases, the results may be similar to those shown in FIG. 8 where a plot of maximum acceleration vs. maximum jerk gives a seemingly random arrangement of points. As such, embodiments may be arranged to fit a rectangle 800 of the largest possible area within the points. Such a rectangle then gives an envelope giving useable acceleration and jerk limits.

(82) Above, it is described that in some embodiments the test may cause the material remover to perform a test path comprising eleven revolutions of a circle. Such an embodiment may be appropriate for machine tools 200 that are able to time movement of the material remover to a high precision and allow the machine tool timings to be obtained from an average of more than one test path. Here, high precision, may be interpreted to mean to an accuracy of less than 1 s. For example, the machine tool may be able to time the movement of the material remover to an accuracy of substantially 0.1 s; 0.01 s, or 0.001 s.

(83) In other embodiments, the machine tool may be able to time the movement of the material remover to an accuracy of greater than 1 s. In such embodiments, the test may need to cause the material remover to execute more test paths in order to provide an accurate timing. In such embodiments, the processing circuitry of the machine tool may be caused to make the material remover perform a circular test path for a predetermined time and to count the number of circles executed in that time. For example the processing circuitry may be arranged to cause the material remover to run for substantially 100 s. In other embodiments, the time may be substantially 50 s, 60 s, 70 s, 80 s, 90 s, 110 s, 120 s, 150 s, 180 s, or the like. The skilled person will appreciate that there is a trade off between the accuracy of the calculations and the time taken to run the test; if the test takes too long to perform then operators may be unwilling to perform the tests.

(84) Thus, once the tests described above have been performed a series of limits (such as those outlined in points 1 to 4 above) can be determined (step 1008)

(85) Thus, in broad terms, some embodiments may be thought of as providing an optimiser 900 that interacts 902 with the machine tool 200/processing circuitry thereof 104.

(86) Parameters (ie a series of limits) that are determined by the optimiser 900 may then be used by software 904 that generates machine readable code 906 to ensure that that machine readable code does not exceed the physical or processing constraints of the particular machine tool 200 that is to be driven by the machine readable code 906. It will be appreciated that the input to the software used to generate the machine readable code 906 is often a CAD model 908.

(87) Thus, in some embodiments a user of the system may set parameters such as feed rate (F); spindle speed (N); step over (s); step down/cutting depth (d) according to the material 202 being machined and/or the material remover 204. The optimiser 900 may however be arranged to determine, by running tests as exemplified in the above embodiments, other parameters such as the minimum arc radius and point spacing (described in relation to FIG. 4).

(88) FIG. 11 shows a machine tool, similar to that shown in FIG. 2 (and like parts are referenced with the same reference numerals), on which a data capture device 1100 has been fitted adjacent the material remover 204. There is now described in relation to FIGS. 11 to 17 embodiments which cause the material remover 204 to execute movements (ie be moved along test paths) that cause known patterns to be generated within timing data captured by the data capture device 1100.

(89) In one embodiment, the data capture device comprises a mechanism to capture the acceleration and/or the change in acceleration of the material remover 204 as the material is moved, perhaps to execute a test path. Typically, the mechanism will be at least one, and possible more than one, of an accelerometer; a gyroscope; a compass.

(90) The data capture device may comprise a memory in which to store timing-data where the memory may be any of the formats described herein. In other embodiments, the data capture device may be arranged to transmit data, wirelessly or by wire, to a remote processing device or memory. Conceivably, the data capture device may be arranged to transmit timing data to the processing circuitry 104.

(91) It will be appreciated that as the material remover 204 is moved along a test path, then the material remover 204 will undergo acceleration and changes of acceleration. Hereinafter, the phrase acceleration is intended, if the context allows, to cover both acceleration and change in acceleration (ie jerk). Thus, by moving the material remover 204 along a predetermined path know accelerations are caused on the material remover 204 which known accelerations can be observed within the timing data.

(92) For example, FIG. 12a shows a test path 1200 comprising a first circle 1202, a second circle 1204 linked by two straight line segments 1206, 1208. In other embodiments, the circles may be ellipses, or other curved closed shapes, but it will be appreciated that embodiments using a circle may be convenient due to the constant radius and therefore constant acceleration in two directions (assuming constant velocity around the path).

(93) FIG. 12b shows the accelerations that would be experienced, in two orthogonal directions, as the material remover 204 were made to move around the test path 1200. It will be seen that as the material remover 204 moves around the first circle 1202 a sinusoidal acceleration 1210 is experienced in each of the directions but with a 180 shift. As the material remover 204 moves onto the straight line segment 1206, or 1208, there is a zero acceleration in region 1212 followed by a further sinusoidal portion 1214 as the material remover moves around the second circle 1204. It will be noted that there are some abrupt accelerations as the material remover is caused to change path from circular to straight. In some embodiments, the material remover may be caused to make multiple rotations of at least one of the circles 1202, 1204 which result in multiple cycles of the sinusoidal wave.

(94) FIG. 13 shows some example timing-data that has been captured from a data capture device 1100 as it is caused to execute the test path of FIG. 12a. In this, it will be seen that the there are multiple periods of sine wave followed by flat portions as exemplified in FIG. 12. For clarity timing data for only one of the axis is shown in FIG. 13. Thus FIG. 13 shows a test path in which the material remover has been made to make 2.5 revolutions of a circleeg 1202 (1300), move along the straight portion 1208 (1302); make 2.5 revolutions of the other circle eg 1204 (1304); move along the straight portion 1206 (1306); make 4.5 revolutions of the circle 1202 (1308); move along the straight portion 1208 (1310); move 2.5 times around the circle 1204 (1312); move along the straight portion 1206 (1314) and finally to move 2.5 around the circle 1204 (1316).

(95) The exact path that the material remover is arranged to follow may, in some embodiments, be used to encode data into the timing data. Such encoding may be able to identify the test paths that are to follow.

(96) Features are typically detected within the timing data by using zero-crossing detection. Other embodiments, could potentially use peak detection, etc. In particular, some embodiments may limit the zero crossing detection to those between two opposite peaks (eg a maximum and a minimum) in order to ensure that noise does not trigger a zero crossing.

(97) FIG. 14a show a further test path that some embodiments use to generate known patterns within the timing data. There may of course be other test paths other than those shown in FIGS. 12a and 14a. FIG. 14b shows the acceleration, in two orthogonal axes, as the material remover 204 is moved around the test path shown in FIG. 14a.

(98) FIG. 15 shows example timing data 1500 collected from a data capture device executing the path of FIG. 14a. In this path the zero-crossing points of the acceleration have different length spacings and form a short, short, short, long, short, short, long, etc. pattern. This pattern can be detected within the timing data 1500.

(99) Thus, some embodiments may combine different test paths, into large test paths, in order to cause known patterns within the timing data collected by the data capture device 1100.

(100) FIG. 16 shows an example of a test path 1600 which is comprised of two test paths as shown in FIG. 14a (1602, 1604) in-between which there is a circular test path 1606. The circular test path 1606 may be used as described in relation to any of the above figures. Because test paths may be used to created known, and perhaps distinctive, patterns within the data they may be used to provide stop and/or start information that test data is about to be provided.

(101) Thus, in an embodiment performing the test path as shown in FIG. 16 the material remover 204 may be caused to perform the test path 1602 to signify the data is about to start, perform a plurality of circular paths 1606 as described above and finally to perform the path 1604 to signify the test has finished. Thus, the test path 1602 is used to signify the start of the circular path 1606, the circular path 1606 can be used to determine the machine tool timings as described above, and the test path 1604 can be used to signify the finish of the circular path 1606.

(102) The whole path as shown in FIG. 16 may be performed a number of times. In each instance an embodiment may vary the number of times that the circular path is performed.

(103) The timing data may be analysed off-line and patterns within the test data may be used to determine any one or more of the following: what test paths the material remover was asked to follow; the start point of the test path used to determine the machine tool timings; the stop point of the test path used to determine the machine tool timings.

(104) FIG. 17 shows example timing data captured from a data-capture device. Thus, in this embodiment, it can be seen that the timing data 1700 has distinct regions which are now described.

(105) The first region 1702 is generated by causing the material remover 204 to execute the path of FIG. 12a. The crossings, number of sine wave and the like is used to encode information as to what follows. Thus, the region 1702 may be thought of as a data encoding block as it provides data on the timing data that follows.

(106) Next, follows region 1704 occurs and comprises a single loop of the path shown in FIG. 14a, a single circle, followed by a single loop of the path shown in FIG. 14a. Accordingly, in region 1704 a start signal, a single test loop and a stop signal is provided within this region of the timing data. Thus, the test path as shown in FIG. 14a may be thought of as being a start pattern and a stop pattern. In these embodiments that start and stop patterns are the same but this need not be the case.

(107) Next follows region 1706 which again is generated by causing the material remover 204 to execute the path of FIG. 12a.

(108) Lastly, there is the region 1708 which can be seen to constituted by three sub regions. Firstly there is sub-region 1710 which is generated by the material remover moving around the test path of FIG. 14a and provides a start signal. Sub-region 1712 is generated by causing the material remover to move around a circular path a plurality of times. Finally there is sub-region 1714 which is generated by causing the material remover 204 to move around the test path shown in FIG. 14a-thereby providing a stop signal.

(109) Thus, it will be seen that in this embodiment, the timing data provides markers (provided by the test path of FIG. 14a) which signify the start and stop of tests. The timing data also provides the time it takes the machine tool to execute a single circular test path (from region 1706) and the time that it takes the material remover 204 to execute multiple circular paths (from sub-region 1712). Thus, the timing data for the circular paths can be processed as described above to generate machine tool timings.

(110) The circular test path performed in region 1706 may be thought of as a first part of a test. The plurality of circular test paths performed in sub-region 1712 may be thought of as a second part of a test. As described above, the overall test (eg the whole test path as represented in the timing data shown in FIG. 17) may be performed a plurality of times. In each instance, a parameter of the test paths, such as the radius of the circle, etc. in region 1706/sub-region 1712, or any other parameter may be varied. The radius or other parameter may be encoded within the timing data and for example might be encoded within the test pattern as illustrated in FIG. 12a.

(111) Reference is made herein to the radius in relation to test paths. The skilled person will appreciate that in many instances the use of radius could be replaced by diameter and the document should be interpreted accordingly.