Path generating apparatus and method particularly for generating a two-lobed epitrochoid contour
[4 1 Apr. 1, 1975 PATH GENERATING APPARATUS AND METHOD PARTICULARLY FOR GENERATING A TWO-LOBED EPITROCHOID CONTOUR Primary ExaminerMalcolm A. Morrison Assistant E.raminer.lerry Smith Attorney, Agent, or Firm-Benjamin J. Barish [57] ABSTRACT [76] Inventor: Hyrnie Cutler, 16230 Santer Rosa,  
  Detroit, Mich. 4822l The system described is particularly useful for tracing a two-lobed epitrochoid contour in order to produce [22] July this complex shaped housing for the Wankel rotary [2]] Appl. No.: 382,862 engine. The system generates the precise tool-center path in the form of incremental motion command pulses which are supplied to X-axis and Y-axis posi- [52] Cl zssllsl&#39;n 318/570 5 tioning systems to effect the relative displacement of a &#39;5&#39;] 1m Cl G0 /46 tracing tool (e.g. a cutter or grinding wheel) with re- [58] Fieid 318/570 spect to an ob ect (e.g. the workpiece) to trace on the &#34;Ms/571 90/ latter the two-lobed epitrochoid surface, and at the commanded feedrate velocity. The system described is [56] Rderences and a hard-wired one arranged to perform all the operations in parallel to achieve a very high output rate. UNITED STATES PATENTS The required calculations are performed by approxi- 3.555,253 l/l97l Seki 235/l52 X mation techniques involving only simple addition, subi ill r dig /1 5 traction or numerical comparison. but no trigonomete mg 3,720.814 3/1973 Klein 318/573 x V operat&#39;ons&#39; 22 Claims, 21 Drawing Figures 2 1 DATAlNPUT &#39;7 V PR0ERA h l &#34;4 STORES 32 6 v l .l o FAJXIUARY YGRINDNGWHEEL 25 &#39;FUNWONS WSPLAYs DRESSING &#39;Z-LOBED T l ROUTINEESIZE C OlD {CONTOUR CUTTER 30 MONITOR 1 q PATH GENERATOR R 15 3 1,4 8 am ([WZL&#39;I&#39;L&#39;TII&#39;! Mm SERVO I l J E1 &#39;AXL Ay l x-axns POSITIONING J 1 SYSTEM 1 ev W a r 24 r L l h 2 AXES l \-LINEAR 7 i icoNTouR SYSTEM Y&#39;AXIS posmowue SYSTEM PATENIEBAPII I I975 SHEEI ClGF 13 2 DATA INPUT PROGRAM STORES l 6 I T 28 P26 7 AUXILIARY GRINDINGWHEEL FUNCTIONS D&#39;SPLAYS OREssINO 2I OBEO I ROuTINEasIzE EPITROEHOID 3O N TOR CONTOUR cuTTER I PATH GENERATOR 3 16 1/4 ORIvE MTR sERvO 12 MC MC X-AXIS POSITIONING bi SYSTEM 2 AxEs ORIvE 22 LINEAR MTR CONTOUR SYSTEM 20 Y-AXIS POSITIONING SERVO SYSTEM PATENTEDAFR 1197s 75,3532  
 SHEET czar 13 PATENTEOAPR 1 1975 3.875.382  
 SHEET on HF 13 A X R1 1 [PM R y1 GENERATE 5 VECTOR CIRCLE AX CONTOUR AX 1 SURFACE s VELOCITY 4O- GENERATOR y PULSES AYS 1 CONTROL LFP1 I R I 5X1 SIGN 5y DETECTOR 46 X R2 R 2 a 2 y 2 CIRCLE CIRCLE *m r COORDINATOR -GENERATOR Ty J O1 Q06 INCRX CCw/Cw 5s 1 2 sic-TN OENERATE y OETECTOR T Egg? R3 R3 X3 PATH y 4 PULSES CRCLE A3X3 I CIRCLE I x N GENOERATOR y COORDINATOR L FP3 1 F DIRECTION INCRX3 ROTATION CONTROL I 52 l Q XT Fl6.8 I TANGENT YT A 4 PROGRAM 4 GENERATOR AXT 0LT y I [BASED ON CCW ROTATION] PATENTEL 5 3.875.382  
 SHEET (35 HF 13 F 64 as 68 I F T y L I 1 i T I &#39;T X1 R l 1 YES COMPL 1 G STORE CIRCLE [T {3&#39; I GENERATOR: 1 -y 72 I AAXI 7O z I I I AV 1 l I LNCR x 1 9 [BAs p qN c c w Ro TA |o N] 42 as E&#34; I YES 6 C OMPL STORE I T [3 1 I I I 2 I YES COMPL STORE CIRCLE &#34;&#39;EJ I I I l GENERATOR I i Y2 72 I I T 7 6 I I AY 2 l L 1 Wmcm SIGNAL STATES VS COORDINATE SIGN +x x +y -y Sx O 1 5y 0 1 PATENTEDAPR 1 1975 3875,3832  
 sum as ar 13 1 L i F &#34;1 1 I R1 I {clRcLE GENERATOR I CC] I L ERRoR REGISTER 90 H I B 28 35 85 i+ 88 I i FP I 2 YES EOL 0 I L I I 1 i I l. u I  
 FIG.  
 PATENTEUAPII H975 3.875.382  
 SHEET 070F 13 (START CONTOUR) [INITIAL VALUE= x REGISTER x +Ax 100 T AXT=AX1+3(AX2) AY =.AY +3(AY 5 x T 1 A 1 5 X1 1 30 M 138 140 REGISTER 1 0 YT+AYT 5 I (START I 2 CONTOUR) PATENTEDAPR H975 SHEET USUF 13 REGISTER I R3CIRCLE :GENERATOR L INCR x +DECR x PATH GENERATING APPARATUS AND METHOD PARTICULARLY FOR GENERATING A TWO-LOBED EPITROCHOID CONTOUR RELATED APPLICATIONS This application is related to my pending US. Pat. application Ser. No. 319,3[6 filed Dec. 29, I972 for Feedrate Control System for Numerical Control Apparatus, now U.S. Pat. No. 3,792,333, granted Feb. 12, 1974, and also to my pending U.S. Pat. application Ser. No. 3l9,3l7 filed Dec. 29, I972 for Path Generator System for Numerical Control Apparatus. The appara tus and method of the present application preferably use the systems ofthese pending applications, as will be described below.  
 BACKGROUND OF THE INVENTION The present invention relates to a path generating system, and particularly to a two-lobed epitrochoid generating system for numerical control apparatus, to enable such apparatus to produce the complex shaped housing for the Wankel rotary engine.  
  As known, the Wankel rotary engine has many advantages over conventional internal combustion engines, including less weight, more compactness, smoother operation, and fewer parts. Its housing, however, is a complex shape called a two-lobed epitrochoid. This is the figure traced by a point in a generating circle as it rolls around a base circle, the radius of the base circle being twice that of the generating circle. This complex shape must be produced with the highest degree of precision since it directly affects the sealing of the rotor and thereby the efficiency of the engine.  
  Such a shape is now generally produced by the use of a templet following machine, but such machines have a number of disadvantages. One serious disadvantage is that the templets are subject to wear thereby affecting the accuracy of the housing produced and requiring frequent replacement. Also, a separate templet is required for each size housing. Further, templet following machines are relatively expensive because of the need of a drive for the templet and the tracer mechanism.  
 SUMMARY OF THE INVENTION The present invention provides apparatus and also a method for generating the epitrochoid contour in an electronic manner.  
  More specifically, the present invention, and particularly the preferred embodiment thereof described below, provides a control system that mathematically generates the precise tool center path so that the prescribed two-lobed epitrochoid surface and the prescribed velocity along that surface will be produced. This control system consists of digital electronics, highly amenable to design by integrated circuits, arranged to accept the numerical data of the basic parameters that define the required two-lobed epitrochoid surface, the velocity that the surface is to be generated, and the radius of the cutter that is to produce that surface. The output from this control is two streams of pulses, where each pulse represents a command to move a small incremental distance. Each pulse stream is supplied to an axis servo that drives a machine slide. The slides are in a Cortesian coordinate configuration so as to position the tool as commanded. The control performs the necessary computations so that the tool following the output commands will produce the contour at the surface velocity that was called for in the program.  
  This control system may be used for milling, grinding, honing, inspection, drafting, or other machines that require the two-lobed epitrochoid shape to be accurately traced. The method employed in this generating system for the tool path permits precise contours to be pro duced at high velocities. For example, for the commonly used contour parameters, rates up to 300 [PM can be produced with axes feedback of 0.000] inch per pulse.  
  Allowances can be made for the dimensions of the apex seals by simply entering the data for the tool radius that much less than the actual tool size. The result will be that the control system will generate a contour parallel to and larger than the two-lobed epitrochoid shape by precisely that difference between the actual and the entered tool size. Similarly, stock can be left for subsequent machining operations by simply entering the data larger than the actual tool radius by the amount later to be removed.  
  Easily appended to the control system is the necessary logic to provide for bringing the tool into and out of the workpiece, for automatic homing of the axes to simplify set-up, and in the case of grinders, to provide for periodic wheel dressing and a corresponding updating of the grinding wheel radius data register.  
  The external control provides a start signal to the two-lobed epitrochoid generating system. After one complete pass of the contour has been generated, a cycle done&#34; signal is supplied to the external control. A number of different means such as push button keyboards, thumb switches, or read only memories (ROMs) may be provided to enter the numerical data. Once entered, the data needs to be resupplied only if it is to be changed.  
  Such a machine is inherently simpler than a templet following machine since it obviates the need for drives for the templet and tracer mechanism. Also, nonwearing electronics replaces the templets which are subject to wear, and a wide range of sizes can be produced by a simple change of input data, Further, the invention enables very accurate control of the surface cutting velocity thereby provided improved finish, better tool life, and optimum production rates. In addition, the use of a Cortesian coordinate system rather than a Polar one, makes multi-spindle machines possible to greatly increase production rates at a modest increase of capital and operating costs. Still further, the numerical control of the axes motions facilitates rapidly achieving precise set-up dimensions; this permits short runs without suffering the penalty of a considerable production loss while setting up for the next part.  
  An alternative method of electronically generating the required contour is to utilize a general purpose computer rather than the special hardwired control of the preferred system described below. One difficulty of using a computer for a real-time application is the time it takes to operate. While it may perform each individual arithmetic operation very quickly. it can perform only one operation at a time. To perform the trigonometric calculations required to locate the position of the cutter center so that the two-lobed epitrochoid surface and proper velocity are produced, takes an appreciable number of computational steps. Because of the time that it takes to calculate the cutter position, the greater the velocity at which the contour is to be generated, the greater the distance between the calculated contour points. This can affect the accuracy of the resulting contour.  
  The hard-wired control system of the preferred embodiment of the invention described below is arranged to perform all of its operations in parallel so a very high output rate can be achieved. lts output is in terms of incremental motion command pulses having the same fine resolution as the axes feedback. The method of performing the required calculations that is provided by this invention involves only addition, subtraction or numerical comparison operations. All direct trigonometric calculations are eliminated.  
  There are further advantages provided by the invention or various features thereof described below. including the following:  
  The velocity control system of the apparatus described is applied so as to maintain the velocity on the generated surface at the programmed rate, rather than controlling the velocity at the center of the cutting tool. When generating curves, the velocity of the tool center differs from the velocity at the surface being machined. This difference is greater for larger cutters or for sharper curves.  
  The numerical control systems in present use do not provide a correction for the commanded tool center path velocity so that a programmed velocity will be realized along the surface of the shape created by the tool. But it is obviously desirable in order to produce truly uniform machining rates so the resulting surface will be smoother. In the apparatus described below, maintaining of the prescribed velocity on the surface being machined is inherent.  
  The described apparatus provides a scheme which generates electronically with mathematical digital precision the desired shape that is to be produced by the cutter. From the current generated point on that surface, the control locates the cutter center position in a digital manner so that its radius vector is normal to the contour at the point of contact. In the usual NC system the programmer calculates the tool center path that must be programmed for the particular size of tool he intends to use so the desired shape will be cut.  
  Further, one of the sub-systems herein disclosed provides a simple digital means of coordinating the generating of two separate circles so their angles will be related precisely by the ratio of three-to-one. For other applications. the same principle can be applied to realize other ratios.  
  While the system described herein refers to the English units of measure. it will be appreciated that it could just as well be based on the metric units.  
 BRIEF DESCRIPTION OF THE DRAWINGS The invention is herein described, by way of example only, with respect to a preferred embodiment thereof illustrated in the accompanying drawings. wherein:  
  FIG. 1 is a block diagram illustrating numerical control apparatus constructed in accordance with the invention for producing two-lobed epitrochoid housings for rotary engines;  
  FIGS. 2 6 are diagrams helpful in explaining the apparatus of FIG. I;  
  FIG. 7 is a diagram illustrating the inputs and outputs of the toolcenter path generator that produces the two-lobed epitrochoid;  
  FIG. 8 is a block diagram of the tool-center path generator system in the apparatus of FIG. 1;  
  FIG. 9 illustrates the sign detectors in the system of FIG. 8;  
  FIGS. 10a and 10h are diagrams helpful in understanding the operation of the R2 circle coordinator in the system of FIG. 8;  
  FIG. II is a block diagram of the R2 circle coordinator in the system of FIG. 8;  
  FIG. 12 is a block diagram illustrating the tangent generator in the system of FIG. 8;  
  FIG. 13 is a block diagram of the R3 circle coordinator in the system of FIG. 8;  
  FIG. I4 is a block diagram of the direction of the R3 circle rotation control sub-system in the system of FIG.  
  FIG. 15 illustrates different stages in direction of the R3 circle rotation;  
  FIG. I6 is a block diagram of the contour generator in the system of FIG. 8;  
  FIGS. 17 19 are diagrams helpful in understanding the contour generator of FIG. 15; and  
  FIG. 20 is a block diagram of the cutter-center path pulse generator of FIG. 8.  
 DESCRIPTION OF THE PREFERRED EMBODIMENT General System Configuration of the Numerical Control Apparatus FIG. 1 illustrates the general system configuration of numerical control apparatus constructed in accordance with the invention for producing two-lobed epitrochoid housings for rotary engines of the Wankel type.  
  Briefly, the apparatus includes a data input 2 for entering the required data, the data being stored in a program store 4. The entered data controls a system, generally designated by block 6, which electronically generates the two-lobed epitrochoid contour cutter path. The output of generator 6 is in the form of two trains of pulses AX,- and AY,., each pulse representing a command to move a small incremental distance along the X-axis and Y-axis respectively.  
  The contour is traced by displacing a tool, in this case a multiple-spindle cutter machine 8, along one orthogonal axis (the Xaxis), while at the same time displacing the work-piece holder 10 along the other orthogonal axis (the Y-axis). The AX pulses from the path generator 6 are fed to the X-axis positioning system 12 which controls servo 14 for drive motor 16 driving cutter 8 along the X-axis. The AY pulses are fed to the Y-axis positioning system I8 which controls servo 20 for drive motor 22 driving the work-piece holder 10 along the Y-axis.  
  The steps of motion produced by the two axes drives as commanded by the AX and AY pulses are so small and so rapidly performed that the relative motion between the cutter and work-piece holder is effectively smooth and continuous.  
  Actually, the Xaxis and Y-axis drives are controlled by AX and AY pulses derived from the epitrochoid contour generator 6 and also from a two-axes linear contour system 24, to produce other programmed contours, to provide automatic homing of the axes, etc. The programmed information further includes data specifying whether the system is to operate according to a position or linear contour mode, such data being supplied via line 26 to the two-axes linear contour system 24 and to the two axes positioning systems 12 and 18. The system illustrated further includes grinding wheel dressing routine and size monitor. generally designated by box 28; displays, generally designated by box and auxiliary functions (such as controls of valves and motor starters), generally designated by box 32. All of the foregoing are controlled by the program information entered through the date input 2.  
  Except for the epitrochoid contour path generator 6, all the foregoing sub-systems are well known in numerical control machine tools, and therefore the remainder of this description will be substantially restricted to the epitrochoid contour path generator per se. Calculating the Cutter-Center Path for Tracing a Two- Lobed Epitrochoid Surface FIG. 2 illustrates a two-lobed epitrochoid contour EC defined by the trace of a point P in a generating circle C as it rolls around a base circle C The distance of the trace point P from the center of the generating circle is indicated as a and the radius of the base circle is indicated as b. The base circle radius is twice that of the generating circle, so the radius of the latter is indicated as b/Z.  
  FIG. 3 is an enlarged diagram illustrating the generation of the foregoing contour, wherein. it will be seen that point P on the radius of the generating circle C generates the two-lobed epitrochoid contour as angle a, formed by the radius of the base circle with the X- axis, progresses from zero to 360.  
  HO. 4 diagrammatically illustrates how the coordinates of the two-lobed epitrochoid contour may be calculated. From this figure we have the following relationships:  
 Substituting equations (2) and (3) into equation (I) yields:  
 it cos 3::  
 1,- sin a a sin 3:!  
  Y where X and Y;, are the 01; Arc Tan axial components of the radius vector R The object is to continually control the position of the cutter (Point P so that the required two-lobed epitrochoid will be produced. That requires that the vector R must be normal to the surface at the point of contact. P. That means:  
 or Tan 01;, Tan a substituting equations (6) and (7) into the above:  
 dxs dys Differentiation of equations (4) and (5) yields the following:  
 dxs sina 3 a sin 3a 1, com 3 :1 cos 30:  
 Substituting into the above the relationships expressed by equations (2) and (3) results in the following:  
 Substituting the above into equations (8) yields:  
  Y, 3Y2 x 3x From the geometry of the figure we can write the following:  
 Equations 10), (l l) and (12) define the cutter center where, as previously shown:  
 maximum value. This point will be determined off-line and fed into the apparatus with the other data determining the parameters of the contour to be generated. It can be shown that:  
 General System Configuration of Epitrochoid Contour Generator FIG. 7 illustrates the various inputs and outputs of the 2-lobed contour cutter-center path generator 6 used in the numerical control apparatus of FIG. I. and FIG. 8 illustrates in block diagram form the main subsystem included in contour generator 6.  
  Referring first to FIG. 7. it will be seen that the inputs to the contour generator 6 include data R and R These relate to the parameters a and I) mentioned above which determine the size of the epitrochoid contour to be generated. More particularly R is equal to 3b/2 and R is equal to u. The input further includes data R which is the cutter size. namely the length from the center of the cutter to its cutting edge. In the case of a grinding wheel this would be its radius. Further included is the feedrate command data. expressed as IPM (inches per minute). determining the cutting velocity; the commanded direction of path generation (CCW or CW the inflection point Y, mentioned above. and the &#34;start contour signal.  
  The outputs front contour generator 6 include the AX,- and AY pulses which command the step motions to the axes servo drives. and the contour done&#34; signal.  
  The main sub-systems included in the contour generator 6 are illustrated in FIG. 8. These include A. Three circle generators 40,42,44. generating electrical signals representing three circular paths having radii designated R. R and R respectively:  
  The AX&#34; and *AY signals outputted from these circle generators. as well as from the other sub-systems described below. represent the increments of motion along the respective X-axis and Y-axis on the circular arc. They are assigned a pulse weight equal to the minimum axis motion step. e.g. 0.000] inch per pulse. The X and Y signals outputted from the circle generators and the other sub-systems described below are the respective axial distances from the arc center to the current point on the circular arc.  
  B. An R circle coordinator 46 which produces feed pulses FPZ to control the rotation of the R circle generator 42 with respect to the R circle generator 40 so that Here a, is the angle of rotation of the R circle. while no is the R circle angle of rotation. The angles are measured with respect to the X-axis. This results in establishing the relationships given by equations (2) and (3).  
  C. A logic section 48 that combines the data from the R and the R circle generators 40,42 to produce the X and Y data. the latter being the coordinates of the twolobed epitrochoid surface as per equation l D. A vector velocity control sub-system 50 which re ceives the X. and Y,. data together with the feedrate command data (IPM). and produces feed pulses FP which control the rate of operation of the R circle generator 40 so that the combined X and Y rate of motion on the two-lobed epitrochoid surface will be at the programmed feedrate.  
  E. A tangent generator 52 which produces two numbers designated Y and X These quantities are used to satisfy equation [0).  
 Here:  
 These numbers establish the angle (01 of the line tangent to the Z-Iobed epitrochoid surface. so that:  
  F. An R circle coordinator 54 which produces feed pulses Fl to control the rotation of the R; circle so as to maintain the angle formed by the line between the point of contact of the cutter on the two-lobed epitrochoid surface and the cutter center ((13) normal to that surface. That is accomplished by satisfying equation {10) in this logic section.  
  G. A logic section 56 which combines the R,. R and R circle data so as to produce the X. and Y,- cutter center position data. as per equations (II) and (12}. That X, and Y data is supplied to the X and Y axis drive systems. either servos or open loop steppers. This will move the milling cutter or the grinding wheel. whichever is used. through a path that causes a twolobed epitrochoid surface to be generated at a constant rate equal to the programmed feedrate.  
  The system further includes sign detectors 58 and 60 for the R, and R circle generators 40 and 42, and a direction rotation control 62 which controls the R circle generator 44, as to be described more fully below. The R,, R and R Circle Generators 40,42,44  
  The three circle generators 40.42.44 are preferably of the type described in my copending patent application Ser. No. 3l9,3l7. filed Dec. 29. 1972. Each includes three inputs. designated R&#34;. INCR X, and FP. and four outputs. designated Y, AX&#34; and AY&#34;. The four output signals have been described above. Of the three input signals. R is the programmed radius such that X Y&#39;-&#39; R&#34;; &#34;FF&#34; is the feed pulse signal which causes either a AX&#34; or a AY motion pulse to be generated; and &#34;INCR X&#34; is the signal which controls the direction that the circular arc is generated. so that:  
  Further details of such a circle generator may be had from the above-cited patent application.  
  In the system described in that patent application. the lNCR R&#34; signal was supplied from the programmed data. Here. it is supplied by the respective sign detector 58,60, the details of which are illustrated in FIG. 9.  
  In the present system. the X. Y. AX and AY data are all handled as positive numbers. The signs of each axis coordinate are stored separately, and when the are crosses an axis. the sign of the axis whose data was zero changes state.  
  This is shown in the block diagram of FIG. 9, wherein (with respect to the R, circle generator 40) a zero detector 64 detects when the X signal passes zero and when it does. gate 66 passes the next AX, pulse to a flip-flop store 68 to provide a high signal on its output line SX, or its complement line S X,, depending upon the previous state of the store. Thus. the signal on the output lines is indicative of the sign of the X value. A similar arrangement is provided with respect to the Y&#34; signal of the R, circle generator, and also with respect to the X and Y&#34; signals ofthe R, circle generator 42.  
  The output lines of each sign store 68 are connected to two gates 70.72 as shown. so that an INCR X signal is fed to the R, circle generator {(Lwhenever there is coincidence between the SX, and SY, signals. or between the and SY, signals; and similarly an INCR X,&#34; signal is fed to the R, circle generator 42 whenever there is coincidence between the SX, and W, signals. or between the X, and SY, signals. The foregoing is based on a programmed counter-clockwise rotation. if the rotation is clockwise. the signs would be inverted.  
  As shown in FIG. 8, the sign signals are also fed to the direction rotation control system 62 and the tangent generator 52 described below.  
 The Vector Velocity Control System 50 The vector velocity control system 50 is preferably of the type described in my copending patent application Ser. No. 319.3l6 filed Dec. 29. I972. Briefly. it receives the contour axis signals AX,,, AY, from the contour generator 48 (described more fully below) supplied from the R, circle generator 40, and also receives the programmed feedrate command data 1PM. and produces output feed pulses FP, controlling the rate of pulse generation of the R, circle generator so that the generation ofthe contour axis pulses AX, and AY,, is at the feedrate commanded by the programmed feedrate command data.  
  An operators feedrate override may be provided to vary the actual velocity that the contour is generated, e.g. from zero to 125% of the programmed value. as described in the above-cited patent application. Further details of the system may be had from that patent application.  
  The programmed feedrate is retained in the machine program store 4 (FIG. 1) until a new feedrate is programmed.  
 Circle Coordinator 46 As noted above. the present method of generating the two-lobed epitrochoid requires that one circle (R,) follow another (R,) so as to maintain the precise angular relationship:  
 Where:  
 0:, Circle R, angle of rotation.  
  01, Circle R, angle of rotation. That precise angular relationship can be accomplished by maintaining the following equality:  
  Equations l4). l5) and (16) are the control algorithms that result in satisfying equality (l3) and thereby realizing the relationship a, =3a,. Here:  
 (lhl  
 T One value of the error register Next value of the error register Ea, New value of Ea due to either A X, or AY,  
 pulses.  
 Ea, New value of Ea due to either the AX, or AY,  
 pulses.  
  The circle coordinator circuit of FIG. 11 solves the equality of equation (13) in the following manner.  
  As the R, circle generator 40 operates (under the control of FF] feed pulses as described above) to generate the train of AX,. AY, pulses representing the R, circle (having a radius equal to 3h/2 each AX, or AY, pulse causes the error register Ea to be incremented in one direction (in this case, a subtraction) by three times the sum of X, and Y, distances. i.e. the X-axis and Y-axis distances of the current point on the R, circle radius as shown in FIG. 10b. This is accomplished by summing points 80,82 gate 84, and summing points 86, 88, 90,91 in FIG. 11.  
  The circle coordinator circuit of FIG. 11 further includes a sign detector 92 which detects the sign of error register Ea. If the error register is less than zero (a negative number), sign detector 92 generates a feed pulse FP, which causes the R, circle generator to produce either a AX, or AY, pulse.  
  When either a AX, or AY, pulse is generated. it causes the error register Ea to be incremented in the opposite direction (in this case, an addition) by the sum of the X, and Y, values, i.e. the X-axis and Y-axis distances of the current point on the R, circle radius as shown in FIG. [a. This is accomplished by summing points 92.94 gate 96. and summing point 98 in FIG. I I.  
  When the error register finally becomes zero or positive. the generation of further FP: pulses as well as AX and AY pulses. will cease; and only when additional AX, or AY, pulses are generated. will the error register again become negative to produce further feed pulses FP and thereby further AX and AY: pulses.  
  Thus. the system behaves so as to always tend to keep the contents of the error register Ea equal to zero. and thereby to realize the equality of equation I3 I.  
  The equality of equation (13] has also been derived mathematically but such derivation is not essential to an understanding of the invention and therefore is not included herein.  
  In a numerical example. wherein R, I50 and R 40. the circle coordination a2 3011 was found to be non-cumulative and to an accuracy where the error was less than one pulse of motion. For a digital system. that is zero error.  
 Control of R Circle Generator 44 As noted above one of the things need in order to generate the cutter&#39;center path that will produce the specified Z-Iobed epitrochoid is to maintain precisely the following angular relationship: a3 aT Where:  
 013 Angle formed by the X-axis and the cutter radius vector. R; that contacts the current generated point on the two-lobed epitrochoid surface; and  
 a Angle with respect to the Y-axis formed by the tangent to the current generated point on the twolobed epitrochoid surface.  
  This function is performed by circle coordinator 54. As shown in FIG. 8. this circle coordinator has an input from tangent generator 52 (illustrated in FIG. I2) and a second input from R circle generator 44. FIG. 13 illustrates a block diagram of the circle coordinator 54. Its output is in the form of FP feed pulses which control the R circle generator 44 to maintain the foregoing relationship :13 o The direction of rotation of R circle generator 44 is controlled by sub-system 62 (illustrated in FIG. 14) which determines the direction of rotation by its output INCR X signal.  
 Tangent Generator 52 From FIG. 8. it will be seen that tangent generator 52 includes inputs from the R. and R circle generators 40,42 and from their respective sign detectors 58,60 and produces the following outputs:  
  a. X and Y data. which defines the angle aat the current generated point on the two-lobed epitrochoid surface. and  
 AX, and AY pulses. which have a value of one unit.  
 the basic system pulse value. These pulses modify the X and the Y data respectively such that:  
 where X and Y&#39;I&#39;l) are the initial values.  
  The quantities X and Y are the X and Y components of a line normal to the current generated point of the two-lobed epitrochoid surface. It can be shown that they can be derived from the above-mentioned inputs to the tangent generator as follows:  
 The initial values X and Y are based on a starting for generating the contour at angle a. (J. The signs of the delta quantities AX AY AX; and AY from the circle generators are as defined earlier.  
  The block diagram of FIG. 12 illustrates such a tangent generator. based on counter-clockwise rotation, with the starting point of the contour on the X axis at a 0.  
  The X data is outputted from a register which receives the initial data (R, 3R via summing points 102. I04. 106 and gate I08. The AX pulses AX AX 3 AX are produced by gating the AX. pulses in accordance with the respective sign of Y (i.e. SY or W.) via gates I10, I12; and summing them. in summing points 114,116. with three times the AX pulses supplied from gates [18,120, in acgordance with the respective sign of Y (Le. 5Y or 8Y and summing points I22. 124. 126.  
  The Y data is outputted from a register which receives the initial data (0. in this case) from gate 132. The AY pulses (AY AY 3 AY are produced by gating the AY, pulses in accordance with the respective sign of X (i.e. SX, or $1) via gates 134, I36. and summing them, in summing points 138. with three times the AY pulses supplied from gates 142. 144 in accordance with the respective sign of X (i.e. SX or $72) and summing points 146, 148.  
 Circle Coordinator 54 Circle coordinator 54 receives on the one hand the foregoing outputs of tangent generator 52, and on the other hand. the following inputs from the R circle generator 44:  
  a. X;. and Y circle coordinate data with respect to the R. arc center; that data defines the angle a b. AX and AY pulses; these have a value of one unit. the basic system pulse value. and are the motion pulses that generate the R circular arc.  
  The output of circular coordinator 54 is an FPf feed pulse. which causes the R circle generator to produce either aAX or a AY pulse rotating the R radius vector and thereby modifying the 0: angle. When the generated motion along the surface of the two-lobed epitrochoid causes a change in the angle of the tangent to that current point such that (I becomes greater than a then circle coordinator 54 generates one or more FP;, pulses until the a angle becomes either equal to 01 or until the last AX; or AY pulse produced causes angle 01;, to go just beyond angle w.  
  The AX and AY pulses are used to continuously position the cutter tool so that it will produce the required contour.  
  It can be shown (again the derivation is herein omitted as not essential to an understanding of the present invention) that this a a relationship can be effected by fulfilling the following:  
  This is the basic control equation that allows to control the rotation of the R (cutter radius) circle generator 44, to produce a precise a (1 This equation is implemented by the use of an error register ET in FIG. 13, as shown below: