US3806713A - Method and apparatus for maximizing the length of straight line segments approximating a curve - Google Patents

Method and apparatus for maximizing the length of straight line segments approximating a curve Download PDF

Info

Publication number
US3806713A
US3806713A US00191262A US19126271A US3806713A US 3806713 A US3806713 A US 3806713A US 00191262 A US00191262 A US 00191262A US 19126271 A US19126271 A US 19126271A US 3806713 A US3806713 A US 3806713A
Authority
US
United States
Prior art keywords
steps
motor
commands
curve
specified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US00191262A
Inventor
A Ryberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Italia SpA
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Italia SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Priority to US00191262A priority Critical patent/US3806713A/en
Application granted granted Critical
Publication of US3806713A publication Critical patent/US3806713A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/22Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using plotters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34101Data compression, look ahead segment calculation, max segment lenght
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35354Polar coordinates, turntable
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41326Step motor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45218Making cams, cones

Definitions

  • the present invention generally relates to numerical control systems and more particularly to a system in which a curve to be traced or moved is divided into a plurality of segments or interpolation lengths which provide a successive straight line approximation of the curve.
  • both speed and accuracy are important parameters in the production of, for example, a workpiece such as a cam. Usually however, speed is decreased for increased accuracy and vice versa.
  • speed is decreased for increased accuracy and vice versa.
  • a predetermined curve is to be cut on a cam for example, it may be quite time consuming ifthe curve is to be cut on the cam as exactly as the system will allow.
  • either or both motors would be moved a step at a time to obtain the best possible reproduction of the curve. In some situationsit is not necessary to reproduce a given curve exactly. A given error in reproduction of the curve may be tolerable. If this is the case, a savings in time may be realized by moving the motors a plurality of steps over a predetermined time period.
  • the purposes and objects of the invention are satisfied by providing in a numerical control system having a rotationalaxis and a radial axis, a method and apparatus for maximizing the length of straight line approxi mations of a curve in order to generate a path approximating the curve while maintaining the path within a predefined tolerance of the curve.
  • each straight line approximation expressed in terms of the number of steps along the rotational axis for each straight line approximation is determined by multiplying the total number of steps to be taken along the rotational axis for a given curve times a function of the quantity resulting from dividing a predetermined maximum error in number of steps along the radial axis by the total number of steps to be taken along the radial axis for the given curve.
  • the resultant length is then utilized in combination with a table defining the given curve in order to generate the path approximating the given curve.
  • FIG. 1 illustrates a simple flow diagram of the invention
  • FIG. 2 illustrates a more detailed flow diagram of the invention
  • FIG. 3 illustrates a curve and an exemplary path approximating the curve in accordance with the teachings of the invention
  • FIG. 4 is a block diagram illustrating the use of the results given by the flow diagrams of FIG. 1 and/or FIG. 2 in order to produce a path approximating the curve.
  • a tool In a machine tool control system having a rotational axis and a radial axis, a tool is moved relative to a workpiece in order to produce a workpiece having a specified contour made up of different curves.
  • Some such curves for example are termed cycloidal, harmonic, modified trapezoid, eighth order polynomial, semicircle, etc.
  • the curves are approximated by very short successive straight line segments, the length of which is dependent on the degree of rotation of the motors for each step.
  • the straight line segments herein referred to are actually curved segments due to the fact that there is a rotational axis in the apparatus used with the present invention. It is very desirable to have such minute straight line approximations because of the increased accuracy that this gives in the approximation of the desired curve. However, it is not always necessary in the production of a workpiece to obtain a product which is as accurate as the system will allow. That is, the straight line approximations may be made longer depending upon the error allowable. Thus, each minute step of the motors is not necessary if a given error is tolerable and accordingly the motors may be moved a plurality of steps over any predetermined time period to produce one straight line of the plurality of straight lines approximating the curve.
  • R the total number of steps to be taken along the radial axis for a given curve
  • E the maximum error in number of steps along the radial axis between a given curve and the approximated curve.
  • FIG. 1 illustrates a simple flow diagram used to calculate A0.
  • the diagram is entered at block 10 after which E is divided by R (block 12) to give a value whose square root is determined (block 14).
  • the value of A0 is then computed by multiplying 0 times the square root of E/R (block 16) after which the flow diagram is exited (block 18).
  • the flow diagram of FIG. 1 is exemplary and it is understood that the basic formula may have been computed in a number of ways. There are two special cases to the formula. A first is whenE is to be minimal or equal to zero in which case A is set. to be equal to one. This is accomplished as shown in blocks 28 and 30 of FIG. 2.
  • a second is when R is equal to zero in which case A0 is set equal to 0 or any other convenient value. This is accomplished as shown in blocks 22 and 34 of FIG. 2. Note that these exceptions are required because the above-noted formula breaks down.
  • FIG. 2 illustrates the flow diagram of FIG. 1 together with the special cases noted above.
  • the terminology is expressed by different notations, where: EROR E, DTMP R FDT 0 TRPL A0 and ER is the maximum size allowed for TRPL (A0).
  • EROR/DTMP is determined (block 24) if DTMP is not equal to zero (block 22).
  • Temp is a variable called Temp.
  • Temp is the absolute value of FDT times the square root of Temp, which last-mentioned Temp is that value given it in the previous block 24. Thus, Temp refers to the last-mentioned value of Temp.
  • the value of TRPL (Temp) is then computed by multiplying FDT times the square root of EROR/DTMP (block 26). If TRPL is equal to zero, then TRPL is set equal to one (block 30). If TRPL is greater than ER, (block 32), TRPL is set equal to ER (block 34). If DTMP was equal to zero (block 22), TRPL is set equal to ER also (block 34).
  • the signed value of TRPL i.e., CW or CCW movement
  • FIG. 3 illustrates a cycloidal curve 40 which is traced with 24 steps along the rotational axis as indicated by the 0 coordinates of the graph and 32 steps along the radial axis as indicated by the R coordinates of the graph.
  • the curve 40 is shown in an X-Y plot for convenience of illustration.
  • A0 0 V E/R A0 was determined to be three steps where the error (E) was to be a maximum of 0.5 steps.
  • the cycloidal curve 40 is shown approximated by the dotted line paths 42a through 42h, which paths are successive straight line approximations of curve 40.
  • E is predetermined to be two steps
  • A0 will be six steps so that the curve 40 is approximated by four successive straight line segments.
  • the computer may be any general purpose digital computer and by way of example may be the Honeywell H316 or DDP-516 general purpose computers.
  • the printout of the listings is written in an assembly language known as Honeywell DAP-16 Assembly Language and was used with the Honeywell H316 computer.
  • the DAP-16 Assembly Language is described in a Honeywell publication entitled DDP- ll6/416/5l6/I-I3l6 DAP-l6 and DAP-l6 Mod'2 Assembly Language, Assembler Manual, Document No.
  • the Honeywell DAP-l6 Mod 2 Assembler may be utilized to implement the listings into machine language.
  • the motors 60 and 62 that may be used are stepping motors such as those available from Superior Electric Company under the name SLO-SYN motor.
  • the interface between the motors and the computer such as buffers 56 and 58 may be those available from the last-mentioned company under the name SLO-SYN Series HTR400 pulse to motor translator.
  • FIG. 4 illustrates the manner in which A0 is utilized in order to generate the approximated curve.
  • a table 44 is shown to include values of A0 and AR where A0 is equal to one and is repeated a number of times equal to 0
  • the values of AR are those computed in accordance with the desired curve.
  • table 44 depicts values for A0 and AR which could be used to reproduce the cycloidal curve of FIG. 3 with the minimal possible error.
  • the table 44 may be included as part of a standard memory or a read-only memory in a computer (not shown).
  • the table 44 is addressed in a conventional manner as shown for example by selector 46. Selector 46 is shown pointing to an initial position and steps the pointer 48 at a rate governed by clock 50 coupled to the increment input of selector 46.
  • Two counters 52 and 54 are utilized to receive and be incremented by the information in table 44, A0 and AR respectively, addressed by selector 46.
  • the value in each counter is coupled to buffers 56 and 58 via gates 64 and 66 respectively only after a positive comparison is made by comparator 68 between the value of A0 and a value indicative of the number of times selector 46 has been incremented as indicated by counter 70.
  • a START signal partially enables gate 72 which is further enabled by pulses from a clock 50 and the absence of a comparison in comparator 68 as indicated via gate 74 and inverting amplifier 76 to increment selector 46 as well as counter 70. Since in this example, as before, A0 is equal to three, the output of counter is a one and does not produce a positive comparison. When selector 46 is incremented it now points to 0 1, so that the information, A0 and AR is sent to counters 52 and 54 respectively to increment them as required. After counter 70 increments to a count of three a comparison is produced by comparator 68, thereby enabling gates 64 and 66 whose counters have been incremented to include that information for the 0 positions one through three.
  • buffer 56 receives a value of 0 3 and a value of R 0 and the motors 60 and 62 are stepped three and zero steps respectively over a predetermined time period.
  • the output of comparator 68 via inverting amplifier 76 disables gate 72 at this time so that the selector 46 is not incremented.
  • a second counter coupled to be incremented by 1. in a system having first and second stepping motors for controlling movement along a rotational axis and a radial axis respectively, apparatus for determining the maximum length of each of a plurality of straight lines approximating a curve in order to generate a path approximating said curve while maintaining said path within a predefined tolerance of said curve, said apparatus comprising:
  • F. means for incrementing said motors in accordance with the respective accumulated value for the respective motors.
  • said table comprises a plurality of positions equal in number to the total number of steps required of said first motor for movement along said rotational axis in order to substantially generate said curve and wherein each of said positions has associated therewith corresponding values of the number of steps required for each motor in the value for said radial motor each time a position in said table is addressed;
  • D. means 'for resetting the count of said counters each time said enable signal is generated.
  • a comparator coupled to generate said enable signal when the count of said counter and the number of steps along said rotational axis in order to move said maximum length are equal.
  • A. computer means comprising means for determining a first value by dividing said error, E, by the total number of steps required of said second motor to trace said specified curve and for determining said number of steps, A0, by multiplying the total number of steps required by said first motor to trace said specified curve times approximately the square root of said first value;
  • C. means for generating a second plurality of commands equal in number to the number of commands in said first plurality, each command of said second plurality:
  • D. means for selecting a submultiple of commands of each of said first and second plurality of commands, each of said submultiple of commands spaced in accordance with the value of A0;
  • E. means, external to said computer means and coupled thereto, for stepping said motors in accordance with said submultiple of commands.
  • A. computer means comprising means for determining a first value by dividing said error, E, by the total number of steps required of said second motor to trace said specified curve and for deteruntil said approximining said number of steps, A6, by multiplying the total number of steps required by said first motor to trace said specified curve times approximately the square root of said first value;
  • C. means for generating a second plurality of commands equal in number to the number of commands in said first plurality, each command of said second plurality:

Abstract

In a system having a rotational axis and a radial axis, a method and apparatus is disclosed for maximizing the length of straight line segments approximating a curve while maintaining the approximation within a predefined tolerance of the desired curve, in accordance with the formula:

Description

United States Patent 1191 Ryberg 1451 Apr. 23, 1974 METHOD AND APPARATUS FOR MAXIMIZING THE LENGTH OF STRAIGHT LINE SEGMENTS APPROXIMATING A CURVE Primary Examiner-Malcolm A. Morrison Assistant Examiner-.lerry Smith Attorney, Agent, or FirmJohn S. Solakian; Ronald T. Reiling [75] Inventor: Arlen W. Ryberg, Los Angeles,
57 ABSTRACT [73 Asslgnee: Honeywell lnformat'on Systems In a system having a rotational axis and a radial axis, a waltham Mass method and apparatus is disclosed for maximizing the [22 i Oct 21 1971 length of straight line segments approximating a curve while maintaining the approximation within a prede- [211 Appl' 1911262 fined tolerance of the desired curve, in accordance with the formula: [52] U.S. Cl 235/l51.11, 318/570, 318/573, A9: 9T f T where 318/685 g 51 Int. Cl. G06f 15/46 i i lg g zgiz gi gz f gz V: 58 Field of Search 235/151.11, 151.32, 189, approximations Ofthe Curve g 235/191; 318/570 gf gl gi ifghgg R, is the total number of steps to be taken along the radial axis for a given curve, 19 is the total number of steps to be taken along the [56] References cued rotational axis for a given curve, and
UNITED STATES PATENTS E is the maximum error in steps along the radial axis 3,544,968 12/1970 Lattimore et al. 340/1725 between a given curve and the approximated 3.450,865 6/1969 Peras 235/189 x Curve. $585,478 6/1971 Leenhouts..... 235/I5l.1l UX 3,538,315 11/1970 Reuteler 235/151.11 9 CIaImS, 4 Drawmg Flgures 9 AQ AR o o o 5 46 52 54 1 O l 1 llNCR mcRl I 2 1 O RESET 0 RESE 3 1 o SELECTOR COUN TER COUNTER 4 1 1 sTART 5 1 1 l M e 1 1 72 76 7 1 2 CLOCK a 1 1 2 66 1 9 1 3 RESET 1 14 1 2 1 WQ' T'T 1 .1 1 T T' E COMPARATOR 1 1 I 5e 1 58 g l 2 A8 i J 19 1 1 BUFFER BUFFER 3? 1 TTTT- 2? 1 O IA 9 1 v R 7. ME: 1%: 3 1 1 8O 62 j 24i I o 'PATEH'TEU APR 2 3 I974 DIVIDE E BY R FIND SQUARE RooT OF E/R' MULTIPLY TIMES 0 ENTER SHEET 1 BF 3 Ifk806f/13 TEMP ABSOLUTE VALUE OF (EROR/DTMP) TEMP= ABSOLUTE VALUE OF (FDT TIMES TEMP) SETTEMP=1 TEMP GREATER THAN 34 O SET TEMP TRPL= TEMP TlMEs THE SIGN OF PDT r 38 Fly. 2.
SHEET 2 OF 3 RATEPITEU APR 23 1914 SHEET 3 BF 3 0 A8 AR 48 T T T. K O O 0 4 I 1 1 .0 1 46 52 5 2 1 O K K LNOR 1NORl 3 1 0 COUNTER COUNTER 1NOR 4 1 1 START P 5 1 1 T Y V V 7 1 2 CLOCK \'J COUNTER RESET 1O 1 2 11 1 3 70 16 1 3 OMPARATOR 19 1 1 BUFFER BUFFER 22 1 0 MOTOR MOTOR 23 1 1 62 24 1 O BACKGROUND OF THE INVENTION The present invention generally relates to numerical control systems and more particularly to a system in which a curve to be traced or moved is divided into a plurality of segments or interpolation lengths which provide a successive straight line approximation of the curve.
In a computer controlled machine tool system, both speed and accuracy are important parameters in the production of, for example, a workpiece such as a cam. Usually however, speed is decreased for increased accuracy and vice versa. Ifa predetermined curve is to be cut on a cam for example, it may be quite time consuming ifthe curve is to be cut on the cam as exactly as the system will allow. For example, in a system utilizing stepping motors, either or both motors would be moved a step at a time to obtain the best possible reproduction of the curve. In some situationsit is not necessary to reproduce a given curve exactly. A given error in reproduction of the curve may be tolerable. If this is the case, a savings in time may be realized by moving the motors a plurality of steps over a predetermined time period.
It is therefore an object of the invention to provide a system for controlling the movement of stepping motors in which the calculation time required for such control is reduced.
It is a further object of the invention to provide a novel method and apparatus for maximizing the length of straight line segments of a curve while maintaining the resultant or approximated curve within a given tolerance of the desired curve.
SUMMARY OF THE INVENTION The purposes and objects of the invention are satisfied by providing in a numerical control system having a rotationalaxis and a radial axis, a method and apparatus for maximizing the length of straight line approxi mations of a curve in order to generate a path approximating the curve while maintaining the path within a predefined tolerance of the curve. The length of each straight line approximation expressed in terms of the number of steps along the rotational axis for each straight line approximation is determined by multiplying the total number of steps to be taken along the rotational axis for a given curve times a function of the quantity resulting from dividing a predetermined maximum error in number of steps along the radial axis by the total number of steps to be taken along the radial axis for the given curve. The resultant length is then utilized in combination with a table defining the given curve in order to generate the path approximating the given curve.
BRIEF DESCRIPTION OF THE DRAWINGS The advantages of the foregoing configuration of the invention become more apparent upon reading the accompanying detailed description in conjunction with the figures in which:
FIG. 1 illustrates a simple flow diagram of the invention;
FIG. 2 illustrates a more detailed flow diagram of the invention;
FIG. 3 illustrates a curve and an exemplary path approximating the curve in accordance with the teachings of the invention;'and
FIG. 4 is a block diagram illustrating the use of the results given by the flow diagrams of FIG. 1 and/or FIG. 2 in order to produce a path approximating the curve.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In a machine tool control system having a rotational axis and a radial axis, a tool is moved relative to a workpiece in order to produce a workpiece having a specified contour made up of different curves. Some such curves for example are termed cycloidal, harmonic, modified trapezoid, eighth order polynomial, semicircle, etc. In such a system utilizing stepping motors to control movement along each axis, the curves are approximated by very short successive straight line segments, the length of which is dependent on the degree of rotation of the motors for each step. It should be noted at this point that the straight line segments herein referred to are actually curved segments due to the fact that there is a rotational axis in the apparatus used with the present invention. It is very desirable to have such minute straight line approximations because of the increased accuracy that this gives in the approximation of the desired curve. However, it is not always necessary in the production of a workpiece to obtain a product which is as accurate as the system will allow. That is, the straight line approximations may be made longer depending upon the error allowable. Thus, each minute step of the motors is not necessary if a given error is tolerable and accordingly the motors may be moved a plurality of steps over any predetermined time period to produce one straight line of the plurality of straight lines approximating the curve.
In a computer controlled machine tool system, the reduction in the required number of calculations which number is proportional to the number of steps for a given curve, increases the speed with which a workpiece may be produced because of reduced computer time requirements. For a curve which is expressed in the total number of steps along each axis, and where the error tolerable is expressed in terms of the maximum error in steps along the radial axis, it has been found that the maximum length (A0) of the straight line segments for the curve as expressed in terms of number of steps along the rotational axis may be expressed:
expressed another way: A6 0 V EYR where 0 the total number of steps to be taken along the rotational axis for a given curve,
R the total number of steps to be taken along the radial axis for a given curve, and
E the maximum error in number of steps along the radial axis between a given curve and the approximated curve.
FIG. 1 illustrates a simple flow diagram used to calculate A0. The diagram is entered at block 10 after which E is divided by R (block 12) to give a value whose square root is determined (block 14). The value of A0 is then computed by multiplying 0 times the square root of E/R (block 16) after which the flow diagram is exited (block 18). The flow diagram of FIG. 1 is exemplary and it is understood that the basic formula may have been computed in a number of ways. There are two special cases to the formula. A first is whenE is to be minimal or equal to zero in which case A is set. to be equal to one. This is accomplished as shown in blocks 28 and 30 of FIG. 2. A second is when R is equal to zero in which case A0 is set equal to 0 or any other convenient value. This is accomplished as shown in blocks 22 and 34 of FIG. 2. Note that these exceptions are required because the above-noted formula breaks down.
More specifically, FIG. 2 illustrates the flow diagram of FIG. 1 together with the special cases noted above. The terminology is expressed by different notations, where: EROR E, DTMP R FDT 0 TRPL A0 and ER is the maximum size allowed for TRPL (A0). Thus in FIG. 2, after the flow diagram is entered (block EROR/DTMP is determined (block 24) if DTMP is not equal to zero (block 22). Note that in block 24, EROR/DTMP is a variable called Temp. In
block 26, Temp is the absolute value of FDT times the square root of Temp, which last-mentioned Temp is that value given it in the previous block 24. Thus, Temp refers to the last-mentioned value of Temp. The value of TRPL (Temp) is then computed by multiplying FDT times the square root of EROR/DTMP (block 26). If TRPL is equal to zero, then TRPL is set equal to one (block 30). If TRPL is greater than ER, (block 32), TRPL is set equal to ER (block 34). If DTMP was equal to zero (block 22), TRPL is set equal to ER also (block 34). The signed value of TRPL (i.e., CW or CCW movement) is then determined in block 36 after which the flow diagram exits (block 38).
FIG. 3 illustrates a cycloidal curve 40 which is traced with 24 steps along the rotational axis as indicated by the 0 coordinates of the graph and 32 steps along the radial axis as indicated by the R coordinates of the graph. The curve 40 is shown in an X-Y plot for convenience of illustration. In accordance with the above formula where A0 0 V E/R A0 was determined to be three steps where the error (E) was to be a maximum of 0.5 steps. Thus, the cycloidal curve 40 is shown approximated by the dotted line paths 42a through 42h, which paths are successive straight line approximations of curve 40. In a further example (not shown), if E is predetermined to be two steps, then A0 will be six steps so that the curve 40 is approximated by four successive straight line segments.
Thus there has been shown a method for maximizing the length of straight line approximations of a curve while keeping the approximation within a given tolerance of the curve. This method has been carried out by a computer program in accordance with the program listings hereinafter included of one embodiment of the invention, and which listings further explain and illustrate the invention. The computer may be any general purpose digital computer and by way of example may be the Honeywell H316 or DDP-516 general purpose computers. The printout of the listings is written in an assembly language known as Honeywell DAP-16 Assembly Language and was used with the Honeywell H316 computer. The DAP-16 Assembly Language is described in a Honeywell publication entitled DDP- ll6/416/5l6/I-I3l6 DAP-l6 and DAP-l6 Mod'2 Assembly Language, Assembler Manual, Document No.
70130072442A, Order No. M-l756, dated August, 1970. The Honeywell DAP-l6 Mod 2 Assembler may be utilized to implement the listings into machine language.
With reference to FIG. 4, the motors 60 and 62 that may be used are stepping motors such as those available from Superior Electric Company under the name SLO-SYN motor. The interface between the motors and the computer such as buffers 56 and 58 may be those available from the last-mentioned company under the name SLO-SYN Series HTR400 pulse to motor translator.
FIG. 4, illustrates the manner in which A0 is utilized in order to generate the approximated curve. A table 44 is shown to include values of A0 and AR where A0 is equal to one and is repeated a number of times equal to 0 The values of AR are those computed in accordance with the desired curve. In this case table 44 depicts values for A0 and AR which could be used to reproduce the cycloidal curve of FIG. 3 with the minimal possible error. The table 44 may be included as part of a standard memory or a read-only memory in a computer (not shown). The table 44 is addressed in a conventional manner as shown for example by selector 46. Selector 46 is shown pointing to an initial position and steps the pointer 48 at a rate governed by clock 50 coupled to the increment input of selector 46. Two counters 52 and 54 are utilized to receive and be incremented by the information in table 44, A0 and AR respectively, addressed by selector 46. The value in each counter is coupled to buffers 56 and 58 via gates 64 and 66 respectively only after a positive comparison is made by comparator 68 between the value of A0 and a value indicative of the number of times selector 46 has been incremented as indicated by counter 70.
In operation, a START signal partially enables gate 72 which is further enabled by pulses from a clock 50 and the absence of a comparison in comparator 68 as indicated via gate 74 and inverting amplifier 76 to increment selector 46 as well as counter 70. Since in this example, as before, A0 is equal to three, the output of counter is a one and does not produce a positive comparison. When selector 46 is incremented it now points to 0 1, so that the information, A0 and AR is sent to counters 52 and 54 respectively to increment them as required. After counter 70 increments to a count of three a comparison is produced by comparator 68, thereby enabling gates 64 and 66 whose counters have been incremented to include that information for the 0 positions one through three. Accordingly, buffer 56 receives a value of 0 3 and a value of R 0 and the motors 60 and 62 are stepped three and zero steps respectively over a predetermined time period. The output of comparator 68 via inverting amplifier 76 disables gate 72 at this time so that the selector 46 is not incremented. After a signal is received at the output of gate 64, it resets counter 70 so that selector 46 may again be incremented. This process continues until the motors have been stepped as required. Should the value of A0 not divide evenly into the value of 0 then for the last steps of the motors, a signal on line 80 indicative of the fact that pointer 48 is at the last position of table 44, generates a signal via gate 74 to enable gates 64 and 66.
It should be realized that various combinations of gates and counters may have been used to accomplish the above without departing from the scope of the invention. it should also be understood that various delays may be included in order to avoid race conditions. It should also be understood that the values in the table 44 may have been cumulative values of the number of steps required of the motors and not delta values as shown.
The following is a printout of the program listings hereinbefore referenced.
3175 m Arlens interpolation algorithm 3 Chord= theta- SQRT (EROR/displacement) 3178 05017 0 02 00020 DLD EROR Pulses difference between true arc and chord. 3179 05020 0 10 00000 CALL D$22 3180 05021 0 000030 DAC DTMP The displacement. 3181 05022 100400 SPL 3182 05023 0 10 00000 CALL 1l 2 2 3183 05024 0 10 00000 CALL SQRT 3184 05025 0 10 00000 NXT8 CALL N$22 3185 05026 0 0001 16 DAC FDT We now have interpolation distance. use 050;? 04030900 CALL c$24 Convert to D.P.I. 3137 5. 30. ...QQ L LL.. 1 SGL 3188 05031 0411 61 LLS Put in A-reg. 3189 05032 100400 SPL 3190 05033 140600 SCB Set the C-bit to its sign. 3191 05034 101040 SNZ M Hm W 3192 05035 0 01 05152 JMP NXTZ lts smaller than /2 pulse. 3193 05036 100400 SPL 3194 05037 140407 TCA Make it positive. 3195 05040 0 11 00115 CAS ER Dont let it get larger than M1 ofa degree. 31 6 5041 501020011 U LDA. .E 3197 05042 101000 NOP 3198 05043 100001 NXT3 SRC Make it the proper sign. 3199 05044 140407 TCA 3200 05045 0401 61 LRS 15 Make it D.P.I. 3201 05046 0 10 00000 CALL C$42 Convert to fl.pt. 3202 05047 0 04 00104 DST TRPL Save it. 3284 Interpolation less than A 3285 05152 0 02 00116 NXT2 LDA FDT Sign of theta into C-bit. 3286 05153 0414 77 LGL 1 328] 05154 0 02 00335 LDA ONE Interpolation of] go back. 3288 05155 0 01 05043 JMP NXT3 I C aim B. a second counter coupled to be incremented by 1. in a system having first and second stepping motors for controlling movement along a rotational axis and a radial axis respectively, apparatus for determining the maximum length of each of a plurality of straight lines approximating a curve in order to generate a path approximating said curve while maintaining said path within a predefined tolerance of said curve, said apparatus comprising:
A. a storage table having a plurality of values for defining said specified curve in accordance with the maximum accuracy of said system;
B. means for addressing said table;
C. means for incrementing said means for addressing;
D. means for generating an enable signal each time said means for addressing has been incremented a number of times equal to the number of steps along the rotational axis of each straight line approximation of said curve;
E. means for accumulating said values addressed substantially between successive generation of said enable signal; and
F. means for incrementing said motors in accordance with the respective accumulated value for the respective motors.
2. Apparatus as defined in claim 1 wherein said table comprises a plurality of positions equal in number to the total number of steps required of said first motor for movement along said rotational axis in order to substantially generate said curve and wherein each of said positions has associated therewith corresponding values of the number of steps required for each motor in the value for said radial motor each time a position in said table is addressed;
C. wherein the counts as incremented in said counters are the respective accumulated values; and
D. means 'for resetting the count of said counters each time said enable signal is generated.
4. Apparatus as defined in claim 1 wherein said means for generating comprises:
A. a counter coupled to be incremented each time said means for addressing is incremented; and
B. a comparator coupled to generate said enable signal when the count of said counter and the number of steps along said rotational axis in order to move said maximum length are equal.
5. Apparatus as defined in claim 4 wherein said means forgenerating further comprises means for resetting said counter each time said enable signal is generated.
6. In a system having first and second stepping motors for controlling movement along a rotational axis and a radial axis respectively, a method for calculating the number of steps (A0) required of said first motor for each straight line segment of a plurality of segments approximating a specified curve while maintaining within a specified error (E) in steps of said second motor, the error produced between said specified curve and a curve approximated by said plurality of straight line segments, said method comprising the steps of:
A. determining a first value by dividing said error, E,
by the total number of steps required of said second motor to trace said specified curve;
B. determining said number of steps, A0, by multiplying the total number of steps required by said first motor to trace said specified curve times approximately the square root of said first value;
C. generating a first plurality of commands for said first motor, each command of said first plurality indicating a number of steps to be moved by said first motor, and said first plurality of commands indicating the total number of steps to be moved by said first motor in order to trace said specified curve;
D. generating a second plurality of commands equal in number to the number of commands in said first plurality, each command of said second plurality:
1. indicating a number of steps to be moved by said second motor, and
2. corresponding to associated ones of said commands of said first plurality and said second plurality of commands indicating the total number of steps to he moved by said second motor in order to trace said specified curve;
E. selecting a submultiple of commands of each of said first and second plurality of commands, each of said submultiple of commands spaced in accordance with the value of A; and
F. stepping said motor in accordance with said submultiple of commands.
7. In a system having first and second stepping motors for controlling movement along a rotational axis and a radial axis respectively, a method for calculating the number of steps (A0) required of said first motor for each straight line segment of a plurality of segments approximating a specified curve while maintaining within a specified error (E) in steps of said second motor, the error produced between said specified curve and a curve approximated by said plurality of straight line segments, said method comprising the steps of:
A. determining a first value by dividing said error, E,
by the total number of steps required of said'second motor to trace said specified curve;
B. determining said number of steps, A0, by multiplying the total number of steps required by said first motor to trace said specified curve times approximately the square root of said first value;
C. generating a first plurality of commands for said first motor, each command of said first plurality indicating a number of steps to be moved by said first motor, and said first plurality of commands indicating the total number of steps to be moved by said first motor in order to trace said specified curve;
D. generating a second plurality of commands equal in number to the number of commands in said first plurality, each command of said second plurality: 1. indicating a number of steps to be moved by said second motor,
2. corresponding to associated ones of said commands of said first plurality and said second plurality of commands indicating the total number of steps to be moved by said second motor in order to trace said specified curve;
E. stepping said first motor a number of steps as indicated by the total number of steps in a group of commands of said first plurality, said group including a number of successive commands equal in number to A0;
F. stepping, simultaneously with said first motor, said second motor a number of steps as indicated by the total number of steps in a group of commands of said second plurality, said last mentioned group including a number of successive commands equal in number to A0; and
G. repeating said steps of stepping mate curve is traced.
8. In a system having first and second stepping motors for controlling movement along a rotational axis and a radial axis respectively, computer means for calculating the number of steps (A0) required of said first motor for each straight line segment of a plurality of segments approximating a specified curve while maintaining within a specified error (E) in steps of said second motor, the error produced between said specified curve and a curve approximated by said plurality of straight line segments, said system comprising:
A. computer means comprising means for determining a first value by dividing said error, E, by the total number of steps required of said second motor to trace said specified curve and for determining said number of steps, A0, by multiplying the total number of steps required by said first motor to trace said specified curve times approximately the square root of said first value;
B. means for generating a first plurality of commands for said first motor, each command of said first plurality indicating a number of steps to be moved by said first motor, and said first plurality of commands indicating the total number of steps to be moved by said first motor in order to trace said specified curve;
C. means for generating a second plurality of commands equal in number to the number of commands in said first plurality, each command of said second plurality:
1. indicating a number of steps to be moved by said second motor, and
2. corresponding to associated ones of said commands of said first plurality and said second plurality of commands indicating the total number of steps to be moved by said second motor in order to trace said specified curve;
D. means for selecting a submultiple of commands of each of said first and second plurality of commands, each of said submultiple of commands spaced in accordance with the value of A0; and
E. means, external to said computer means and coupled thereto, for stepping said motors in accordance with said submultiple of commands.
9. In a system having first and second stepping motors for controlling movement along a rotational axis and a radial axis respectively, computer means for calculating the number of steps (A0) required of said first motor for each straight line segment of a plurality of segments approximating a specified curve while maintaining within a specified error (E) in steps of said second motor, the error produced between said specified curve and a curve approximated by said plurality of straight line segments, said system comprising:
A. computer means comprising means for determining a first value by dividing said error, E, by the total number of steps required of said second motor to trace said specified curve and for deteruntil said approximining said number of steps, A6, by multiplying the total number of steps required by said first motor to trace said specified curve times approximately the square root of said first value;
B. means for generating a first plurality of commands for said first motor, each command of said first plurality indicating a number of steps to be moved by said first motor, and said first plurality of commands indicating the total number of steps to be moved by said first motor in order to trace said specified curve;
C. means for generating a second plurality of commands equal in number to the number of commands in said first plurality, each command of said second plurality:
1. indicating a number of steps to be moved by said second motor, and
2. corresponding to associated ones of said commands of said first plurality and said second plurality of commands indicating the total number of steps to be moved by said second motor in order to trace said specified curve; D. further means, external to said computer means and coupled thereto, as follows:
1. means for stepping said first motor a number of steps as indicated by the total number of steps in a group of commands of said first plurality, said group including a number of successive commands equal in number to A0;
2. means for stepping, simultaneously with said first motor, said second motor a number of steps as indicated by the total number of steps in a group of commands of said second plurality, said last mentioned group including a number of successive commands equal in number to A6; and
E. means, included in both said computer means and said further means, for repeating said steps of stepping until said approximate curve is traced.

Claims (14)

1. In a system having first and second stepping motors for controlling movement along a rotational axis and a radial axis respectively, apparatus for determining the maximum length of each of a plurality of straight lines approximating a curve in order to generate a path approximating said curve while maintaining said path within a predefined tolerance of saId curve, said apparatus comprising: A. a storage table having a plurality of values for defining said specified curve in accordance with the maximum accuracy of said system; B. means for addressing said table; C. means for incrementing said means for addressing; D. means for generating an enable signal each time said means for addressing has been incremented a number of times equal to the number of steps along the rotational axis of each straight line approximation of said curve; E. means for accumulating said values addressed substantially between successive generation of said enable signal; and F. means for incrementing said motors in accordance with the respective accumulated value for the respective motors.
2. Apparatus as defined in claim 1 wherein said table comprises a plurality of positions equal in number to the total number of steps required of said first motor for movement along said rotational axis in order to substantially generate said curve and wherein each of said positions has associated therewith corresponding values of the number of steps required for each motor in order to optimally in accordance with the specifications of said system generate said path approximating said curve.
2. means for stepping, simultaneously with said first motor, said second motor a number of steps as indicated by the total number of steps in a group of commands of said second plurality, said last mentioned group including a number of successive commands equal in number to Delta theta ; and E. means, included in both said computer means and said further means, for repeating said steps of stepping until said approximate curve is traced.
2. corresponding to associated ones of said commands of said first plurality and said second plurality of commands indicating the total number of steps to be moved by said second motor in order to trace said specified curve; D. further means, external to said computer means and coupled thereto, as follows:
2. corresponding to associated ones of said commands of said first plurality and said second plurality of commands indicating the total number of steps to be moved by said second motor in order to trace said specified curve; D. means for selecting a submultiple of commands of each of said first and second plurality of commands, each of said submultiple of commands spaced in accordance with the value of Delta theta ; and E. means, external to said computer means and coupled thereto, for stepping said motors in accordance with said submultiple of commands.
2. corresponding to associated ones of said commands of said first plurality and said second plurality of commands indicating the total number of steps to be moved by said second motor in order to trace said specified curve; E. stepping said first motor a number of steps as indicated by the total number of steps in a group of commands of said first plurality, said group including a number of successive commands equal in number to Delta theta ; F. stepping, simultaneously with said first motor, said second motor a number of steps as indicated by the total number of steps in a group of commands of said second plurality, said last mentioned group including a number of successive commands equal in number to Delta theta ; and G. repeating said steps of stepping until said approximate curve is traced.
2. corresponding to associated ones of said commands of said first plurality and said second plurality of commands indicating the total number of steps to be moved by said second motor in ordeR to trace said specified curve; E. selecting a submultiple of commands of each of said first and second plurality of commands, each of said submultiple of commands spaced in accordance with the value of Delta theta ; and F. stepping said motor in accordance with said submultiple of commands.
3. Apparatus as defined in claim 2 wherein said means for accumulating comprises: A. a first counter coupled to be incremented by the value for said rotational motor each time a position in said table is addressed; B. a second counter coupled to be incremented by the value for said radial motor each time a position in said table is addressed; C. wherein the counts as incremented in said counters are the respective accumulated values; and D. means for resetting the count of said counters each time said enable signal is generated.
4. Apparatus as defined in claim 1 wherein said means for generating comprises: A. a counter coupled to be incremented each time said means for addressing is incremented; and B. a comparator coupled to generate said enable signal when the count of said counter and the number of steps along said rotational axis in order to move said maximum length are equal.
5. Apparatus as defined in claim 4 wherein said means for generating further comprises means for resetting said counter each time said enable signal is generated.
6. In a system having first and second stepping motors for controlling movement along a rotational axis and a radial axis respectively, a method for calculating the number of steps ( Delta theta ) required of said first motor for each straight line segment of a plurality of segments approximating a specified curve while maintaining within a specified error (E) in steps of said second motor, the error produced between said specified curve and a curve approximated by said plurality of straight line segments, said method comprising the steps of: A. determining a first value by dividing said error, E, by the total number of steps required of said second motor to trace said specified curve; B. determining said number of steps, Delta theta , by multiplying the total number of steps required by said first motor to trace said specified curve times approximately the square root of said first value; C. generating a first plurality of commands for said first motor, each command of said first plurality indicating a number of steps to be moved by said first motor, and said first plurality of commands indicating the total number of steps to be moved by said first motor in order to trace said specified curve; D. generating a second plurality of commands equal in number to the number of commands in said first plurality, each command of said second plurality:
7. In a system having first and second stepping motors for controlling movement along a rotational axis and a radial axis respectively, a method for calculating the number of steps ( Delta theta ) required of said first motor for each straight line segment of a plurality of segments approximating a specified curve while maintaining within a specified error (E) in steps of said second motor, the error produced between said specified curve and a curve approximated by said plurality of straight line segments, said method comprising the steps of: A. determining a first value by dividing said error, E, by the total number of steps required of said second motor to trace said specified curve; B. determining said number of steps, Delta theta , by multiplying the total number of steps required by said first motor to trace said specified curve times approximately the square root of said first value; C. generating a first plurality of commands for said first motor, each command of said first plurality indicating a number of steps to be moved by said first motor, and said first plurality of commands indicating the total number of steps to be moved by said first motor in order to trace said specified curve; D. generating a second plurality of commands equal in number to the number of commands in said first plurality, each command of said second plurality:
8. In a system having first and second stepping motors for controlling movement along a rotational axis and a radial axis respectively, computer means for calculating the number of steps ( Delta theta ) required of said first motor for each straight line segment of a plurality of segments approximating a specified curve while maintaining within a specified error (E) in steps of said second motor, the error produced between said specified curve and a curve approximated by said plurality of straight line segments, said system comprising: A. computer means comprising means for determining a first value by dividing said error, E, by the total number of steps required of said second motor to trace said specified curve and for determining said number of steps, Delta theta , by multiplying the total number of steps required by said first motor to trace said specified curve times approximately the square root of said first value; B. means for generating a first plurality of commands for said first motor, each command of said first plurality indicating a number of steps to be moved by said first motor, and said first plurality of commands indicating the total number of steps to be moved by said first motor in order to trace said specified curve; C. means for generating a second plurality of commands equal in number to the number of commands in said first plurality, each command of said second plurality:
9. In a system having first and second stepping motors for controlling movement along a rotational axis and a radial axis respectively, computer means for calculating the number of steps ( Delta theta ) required of said first motor for each straight line segment of a plurality of segments approximating a specified curve while maintaining within a specified error (E) in steps of said second motor, the error produced between said specified curve and a curve approximated by said plurality of straight line segments, said system comprising: A. computer means comprising means for determining a first value by dividing said error, E, by the total number of steps required of said second motor to trace said specified curve and for determining said number of steps, Delta theta , by multiplying the total number of steps required by said first motor to trace said specified curve times approximately the square root of said first value; B. means for generating a first plurality of commands for said first motor, each command of said first plurality indicating a number of steps to be moved by said first motor, and said first plurality of commands indicating the total number of steps to be moved by said first motor in order to trace said specified curve; C. means for generating a second plurality of commands equal in number to the number of commands in said first plurality, each command of said second plurality:
US00191262A 1971-10-21 1971-10-21 Method and apparatus for maximizing the length of straight line segments approximating a curve Expired - Lifetime US3806713A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US00191262A US3806713A (en) 1971-10-21 1971-10-21 Method and apparatus for maximizing the length of straight line segments approximating a curve

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US00191262A US3806713A (en) 1971-10-21 1971-10-21 Method and apparatus for maximizing the length of straight line segments approximating a curve

Publications (1)

Publication Number Publication Date
US3806713A true US3806713A (en) 1974-04-23

Family

ID=22704778

Family Applications (1)

Application Number Title Priority Date Filing Date
US00191262A Expired - Lifetime US3806713A (en) 1971-10-21 1971-10-21 Method and apparatus for maximizing the length of straight line segments approximating a curve

Country Status (1)

Country Link
US (1) US3806713A (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0068765A2 (en) * 1981-06-20 1983-01-05 Fanuc Ltd. Numerical control method
US4423481A (en) * 1981-05-26 1983-12-27 Rca Corporation Numerically controlled method of machining cams and other parts
US4648024A (en) * 1983-11-15 1987-03-03 Mitsubishi Denki Kabushiki Kaisha Curvilinear interpolation system and method
US4841430A (en) * 1985-09-05 1989-06-20 Matsushita Electric Industrial Co., Ltd. Method of teaching a path to a moving body
EP0331757A1 (en) * 1987-09-10 1989-09-13 Fanuc Ltd. High-speed machining system
EP0643343A1 (en) * 1993-09-14 1995-03-15 Siemens Aktiengesellschaft Numerical contouring control method for multiple axis machines
US5408598A (en) * 1991-05-23 1995-04-18 International Business Machines Corporation Method for fast generation of parametric curves employing a pre-calculated number of line segments in accordance with a determined error threshold
US7234899B2 (en) * 2003-05-19 2007-06-26 Tdy Industries, Inc. Cutting tool having a wiper nose corner
US20070189864A1 (en) * 2003-10-15 2007-08-16 Tdy Industries, Inc. Cutting Insert for High Feed Face Milling
US20080033699A1 (en) * 2006-08-04 2008-02-07 Okuma Corporation Program and method for generating approximate curve from approximate point group data
US20080170919A1 (en) * 2007-01-16 2008-07-17 Tdy Industries, Inc. Cutting Insert, Tool Holder, and Related Method
US20090279962A1 (en) * 2008-05-07 2009-11-12 Tdy Industries, Inc. Cutting tool system, cutting insert, and tool holder
US20100202839A1 (en) * 2009-02-12 2010-08-12 Tdy Industries, Inc. Double-sided cutting inserts for high feed milling
US20100272526A1 (en) * 2009-04-28 2010-10-28 Tdy Industries, Inc. Double-sided cutting insert for drilling tool
US20100303563A1 (en) * 2009-02-12 2010-12-02 Tdy Industries, Inc. Double-Sided Cutting Inserts for High Feed Milling
US20110150586A1 (en) * 2009-12-18 2011-06-23 Tdy Industries, Inc. Tool Holder for Multiple Differently-Shaped Cutting Inserts
US9011049B2 (en) 2012-09-25 2015-04-21 Kennametal Inc. Double-sided cutting inserts with anti-rotation features
US9283626B2 (en) 2012-09-25 2016-03-15 Kennametal Inc. Double-sided cutting inserts with anti-rotation features

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3450865A (en) * 1962-12-03 1969-06-17 Renault Methods and devices for generating a curve
US3538315A (en) * 1967-04-17 1970-11-03 Pratt & Whitney Inc Numerical control system
US3544968A (en) * 1966-08-16 1970-12-01 Nz Government Automatic control of machining operations
US3585478A (en) * 1970-01-23 1971-06-15 Superior Electric Co Method and apparatus for digital contouring using stepping motors with close approximation of desired path

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3450865A (en) * 1962-12-03 1969-06-17 Renault Methods and devices for generating a curve
US3544968A (en) * 1966-08-16 1970-12-01 Nz Government Automatic control of machining operations
US3538315A (en) * 1967-04-17 1970-11-03 Pratt & Whitney Inc Numerical control system
US3585478A (en) * 1970-01-23 1971-06-15 Superior Electric Co Method and apparatus for digital contouring using stepping motors with close approximation of desired path

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4423481A (en) * 1981-05-26 1983-12-27 Rca Corporation Numerically controlled method of machining cams and other parts
EP0068765A2 (en) * 1981-06-20 1983-01-05 Fanuc Ltd. Numerical control method
EP0068765A3 (en) * 1981-06-20 1984-07-04 Fanuc Ltd Numerical control method
US4506331A (en) * 1981-06-20 1985-03-19 Fanuc Ltd Numerical control method
US4648024A (en) * 1983-11-15 1987-03-03 Mitsubishi Denki Kabushiki Kaisha Curvilinear interpolation system and method
US4841430A (en) * 1985-09-05 1989-06-20 Matsushita Electric Industrial Co., Ltd. Method of teaching a path to a moving body
EP0331757A1 (en) * 1987-09-10 1989-09-13 Fanuc Ltd. High-speed machining system
EP0331757A4 (en) * 1987-09-10 1992-06-03 Fanuc Ltd High-speed machining system
US5408598A (en) * 1991-05-23 1995-04-18 International Business Machines Corporation Method for fast generation of parametric curves employing a pre-calculated number of line segments in accordance with a determined error threshold
EP0643343A1 (en) * 1993-09-14 1995-03-15 Siemens Aktiengesellschaft Numerical contouring control method for multiple axis machines
US7234899B2 (en) * 2003-05-19 2007-06-26 Tdy Industries, Inc. Cutting tool having a wiper nose corner
US7988387B2 (en) 2003-10-15 2011-08-02 Tdy Industries, Inc. Cutting insert for high feed face milling
US9446460B2 (en) 2003-10-15 2016-09-20 Kennametal Inc. Cutting insert for high feed face milling
US20090097929A1 (en) * 2003-10-15 2009-04-16 Tdy Industries, Inc. Cutting insert for high feed face milling, and milling cutter tool including same
US7600952B2 (en) 2003-10-15 2009-10-13 Tdy Industries, Inc. Cutting insert for high feed face milling
US8821080B2 (en) 2003-10-15 2014-09-02 Kennametal Inc. Cutting insert for high feed face milling
US8444352B2 (en) 2003-10-15 2013-05-21 TDY Industries, LLC Cutting insert for high feed face milling
US7806634B2 (en) 2003-10-15 2010-10-05 Tdy Industries, Inc. Cutting insert for high feed face milling, and milling cutter tool including same
US8162572B2 (en) 2003-10-15 2012-04-24 TDY Industries, LLC Cutting insert for high feed face milling
US20100284753A1 (en) * 2003-10-15 2010-11-11 Tdy Industries, Inc. Cutting Insert for High Feed Face Milling
US20070189864A1 (en) * 2003-10-15 2007-08-16 Tdy Industries, Inc. Cutting Insert for High Feed Face Milling
US20080033699A1 (en) * 2006-08-04 2008-02-07 Okuma Corporation Program and method for generating approximate curve from approximate point group data
US7792603B2 (en) * 2006-08-04 2010-09-07 Okuma Corporation Program and method for generating approximate curve from approximate point group data
US7905687B2 (en) 2007-01-16 2011-03-15 Tdy Industries, Inc. Cutting insert, tool holder, and related method
US20080170919A1 (en) * 2007-01-16 2008-07-17 Tdy Industries, Inc. Cutting Insert, Tool Holder, and Related Method
US7905689B2 (en) 2008-05-07 2011-03-15 Tdy Industries, Inc. Cutting tool system, cutting insert, and tool holder
US20090279962A1 (en) * 2008-05-07 2009-11-12 Tdy Industries, Inc. Cutting tool system, cutting insert, and tool holder
US8491234B2 (en) 2009-02-12 2013-07-23 TDY Industries, LLC Double-sided cutting inserts for high feed milling
US20100202839A1 (en) * 2009-02-12 2010-08-12 Tdy Industries, Inc. Double-sided cutting inserts for high feed milling
US20100303563A1 (en) * 2009-02-12 2010-12-02 Tdy Industries, Inc. Double-Sided Cutting Inserts for High Feed Milling
US7976250B2 (en) 2009-02-12 2011-07-12 Tdy Industries, Inc. Double-sided cutting inserts for high feed milling
US20100272526A1 (en) * 2009-04-28 2010-10-28 Tdy Industries, Inc. Double-sided cutting insert for drilling tool
US9586264B2 (en) 2009-04-28 2017-03-07 Kennametal Inc. Double-sided cutting insert for drilling tool
US8807884B2 (en) 2009-12-18 2014-08-19 Kennametal Inc. Tool holder for multiple differently-shaped cutting inserts
US20110150586A1 (en) * 2009-12-18 2011-06-23 Tdy Industries, Inc. Tool Holder for Multiple Differently-Shaped Cutting Inserts
US9011049B2 (en) 2012-09-25 2015-04-21 Kennametal Inc. Double-sided cutting inserts with anti-rotation features
US9283626B2 (en) 2012-09-25 2016-03-15 Kennametal Inc. Double-sided cutting inserts with anti-rotation features

Similar Documents

Publication Publication Date Title
US3806713A (en) Method and apparatus for maximizing the length of straight line segments approximating a curve
US3969615A (en) Interpolator for numerically controlled machine tools
US3911347A (en) Adaptive control system
US3720814A (en) Direct numerical control system
US3860805A (en) Method and apparatus for producing a fairing contour in numerical control systems
US3174367A (en) Control system
US3308279A (en) Error compensation circuit for control system
US3344260A (en) Lukens ii
CN112803846B (en) Stepping motor control circuit and method for controlling stepping motor
US3223830A (en) Position indicating device
Papaioannou Interpolation algorithms for numerical control
US4061907A (en) Interpolator for a numerically controlled machine with step size selected in response to feed rate
US3609319A (en) Digital plotter in which plotting speed is optimized in terms of a curve-fitting technique
US4243924A (en) System for interpolating an arc for a numerical control system
US3569814A (en) Programmed digital servo control including repeated command updating whereby output function becomes smoothly varying
US3916175A (en) Programmable digital frequency multiplication system with manual override
US3612841A (en) Method and apparatus for feedrate control of spindle-related numerical control systems
US3878372A (en) Improved feed rate generator for machine tool control
US3728528A (en) Circular interpolation by finite differences
US3443178A (en) Servo system
US3794900A (en) Pulse interpolation systems
US3939330A (en) Vector conversion system
US3825735A (en) Command pulse generator for computer-controlled machining
US3590226A (en) Machine tool control system
US4020331A (en) Feed rate control system for numerical control machine tool