Patent GB-863125-A (GB)
Title: Numerically controlled curve interpolating machine
IPC: G05B19/37
Filed: 1957-02-01
Abstract: 863,125. Programmed electric control systems. INDUCTOSYN Ltd. Feb. 1, 1957 [Nov. 15, 1956], No. 3574/57. Class 38 (6). [Also in Groups XXIV and XXXVI] General.-In a curvilinear interpolation apparatus for controlling machine-tools, recorded control data defines the rectangular coordinates of the ends of successive straight lines representing chords of a curve corresponding to that described by a flexible member intersecting such points, as an approximation to the curve which the tool is required to describe; the recorded signals being reproduced in succession to operate electromechanical computing apparatus to produce signals representing each appropriate chordal segment of the curve, in response to signals representing the perpendicular distance between each chord and its appropriate segment at an interpolation point, the difference between the co-ordinates of the end points of each segment, and the angle between the chord and the tangent to the curve at the interpolation point; and electromechanicallyoperated rectangularly-co-ordinated mechanism defining the controlled movement of a tool to follow the interpolation point along the curve in response to the slope of each chord, computed in terms of the chord/tangent angle and the end point co-ordinates, and in response to the chord/curve perpendicular resolved into its components along the co-ordinate axes, which are combined with the sums of the co-ordinates defining each chord of the curve. Theory.-A smooth curve intersecting a plurality of discrete independent co-ordinated points 1 to 6 (Fig. 4a) may be represented by the curve of a flexible strip bent to pass through such points; adjacent pairs of points defining successive chords D 1,2,  D 2,3,  D 4,5,  D 5,6,  &c. whose segments are equivalent in curvature to those of strips bent to intersect these points and also other adjacent points of constraint, so that the curve is defined by a set of four three-point superimposed flexibles 1, 2, 3; 2, 3, 4; 3, 4, 5; 4, 5, 6 (Figs. 4b to 4e). It is shown by mathematical analysis that each successive curve segment is generated from (a) the co-ordinated positional differences of the end points, (b) the chord/tangent angle # at a critical or cutting point of the curve, (c) the perpendicular displacement H of the curve from the chord at the critical or cutting point according to the expressions where # a =starting interpolation angle of segment; α b =ending interpolation angle of segment; S= distance of perpendicular along chord ; D=length of chord between datum points ; and in which or more accurately where # N  is chord/tangent angle of 1st data point N of the segment, and α N+1  is chord/ tangent angle at second data point N + 1. The instantaneous co-ordinates of points X<SP>1</SP>, Y<SP>1</SP> of the curved path of the centre of the cutter of a machine-tool controlled to follow the curve are given by where X N , Y N  are abscissa and ordinate of a first data point; #X, #Y the abscissal and ordinal differences between adjacent data points, and X R , Y R  the abscissal and ordinal components of the cutter radius. For the superimposed partial 3-point curves (Figs. 4b-4e), in combination the chord/ tangent end angles αN, #N are given in general terms by where α a N, α b N, # a N, # b N are the chord/ tangent angles of the respective superimposed partials, and it is shown that for chords joining points N - 1, N, N+1 where C N-1 , C N , C N+1  are constants, and for computing the constants for a chord C( N,N+1 ) it is shown that where # N-1  to # N+2  represent the inter-chordal angles at successive data points; from which equations the values of C N  &c. may be determined; and where N - 1, N, N+1 denote three consecutive data points. A method of computing the values of α a , α b , # b , # a , H, #, and the requisite constants C for the first, second, penultimate, and ultimate segments of a curved profile and for correcting errors in computing the chord/tangent angles α n  and # n , is described using the above equations. In computing a correction for the machine-tool cutter radius R (Fig. 5) in following a predetermined curve through data points X 1  Y 1 , X 2  Y 2  defining a chord of length D, the cutter must be centred at X<SP>1</SP>, Y<SP>1</SP> to cut tangentially to the curve at critical point Xp, Yp. It is shown by mathematics that wherein # is the angle between the tangent and the X axis and # is the chord/tangent angle at the cutting point, S is the distance along the chord of the foot of the perpendicular of height H from the cutting point; X R , Y R  are the coordinate components of cutter radius, and #X, #Y are the abscissal and ordinal intervals of the data points X 1  Y 1  and X 2  Y 2 . The error between the generated curve and a required function curve (assumed circular) is shown to be (27) E = 8r<SP>2</SP>-D<SP>2</SP>/4#4r<SP>2</SP>-D<SP>2</SP> (Fig. 23, not shown) wherein r is the required functional radius of curvature ; D is the distance between the data points. Structure. The interpolating system for machine-tool control according to the contours of the required curve approximation comprises (Fig. 10) a record tape 1<SP>1</SP> (or a keyboard input) feeding in successive co-ordinates X, Y and Z of the data points of the required curve, from which a digital computer 2<SP>1</SP> derives successive values of the chord length D, the intervals #X, #Y between the co-ordinates of each data point and the values of interpolation parameters α N  and # N  representing the chord/tangent angles at the data points defining the beginning and end of each segment of the curve in response to equations (15) and (16); the proportionality constants C being also computed in response to equations (17)-(20). The results α, #, X, Y, Z, #X, #Y are re-recorded, e.g. on punched tape 3<SP>1</SP> in binary form, which is passed through an electrical contacting tape reader 4<SP>1</SP> (Fig. 11), converted to binary decimal coded voltage pulses, and routed by stepping switch distributer 5<SP>1</SP> to the appropriate relay stores 11 for the (α,#) information, to store 214 (Fig. 12) for the #X #Y information, and to relay circuit translator 6<SP>1</SP> for the binary decimal coded data point position co-ordinate and feed rate signals X, Y, Z, which feeds this information in decimal coded form to positional data units 7, 8, 9 which may be digital to analogue converters. When required, the computed α and # information is discharged into a two-channel linear digital to analogue converter and multiplier 12 (shown in detail in Fig. 22) also supplied with a reference voltage, and the computed #X, #Y information is also cyclically discharged into a similar but six-way linear digital to analogue converter and multiplier unit 15 in response to reading switch 53 operated by cam 52 driven by shaft 45 (Fig. 14), which also causes tape reader 4<SP>1</SP> to advance and store new data in 11 and 214 while the previous data is being processed. The unit 15 comprising six of the devices shown in Fig. 22 is supplied with a tan # signal from amplifier 23 at the first and fourth sections, a reference signal 194 at the second and third sections, and a H/D signal from amplifier 24 at the fifth and sixth sections, while #X and #Y signals are supplied to the sixth section. Summation circuit 16 combines signals #Y and #X tan #, while summation circuit 17 combines signals #X and - #Y tan #, to energize respective windings of resolver 18, which is rotated by chord slope angle servomotor 21 and shaft 192 in response to amplifier 22, whose gain is controlled so as to be inversely proportional to the resolver output and whose control input is arranged to be zero when the resolver shaft position represents #, the tangent slope angle, so that the motor 21 is then de-energized, and when the output is other than zero the motor is energized to drive the shaft into the appropriate null position. Resolver 19 on shaft 192 is energized by voltages #Y, #X to yield a voltage representing chord length D, which is applied to control the excitation of tachometer 44 (Fig. 15) so that the speed of the feed rate servomotor 43 is held inversely proportional to the chord length D. Resolver 20 on shaft 192 is energized from manual potentiometer 85 representing cutter-radius R and polarity reversing switch 86, and by rotation through angle #(=#+#), where # is the chord/X axis angle (Fig. 5) develops signals X R  = R sin # Y R  = R cos # A summation amplifier for Y co-ordinates receives a signal Y R  from resolver 20 and a # 1 Y H signal from multiplier 15 (= #Y -) in response D H to an input - signal from amplifier 24 while an D X co-ordinate amplifier similarly receives a signal X R  from resolver 20 and a # 1 X signal H from multiplier 15 (= #X-). The resultant D sum signals represent the X and Y components of the perpendicular distance H of the chord from the curve cutting-point plus the components Y R  and X R  of the cutter radius offset, and also represent the necessary path of the cutter centre to maintain its face tangential to the desired profile curve. The X resultant sum signal together with a feed-back signal from potentiometer 70 operates the servomotor 65 (Fig. 15) whose rotation is added in differential 64 proportionally to X R + # 1 X and its equivalent - H #Y/D + X R , to the rotation of shafts 61 and 62 driven from variable gear unit 41 described below (Figs. 18, 19, 20), representing the X co-ordinate of the foot of the perpendicu- S #X lar from cutting-point to chord, X 1  + -, D so that the output of differential 37 represents the required corrected abscissal value X<SP>1</SP> of the cutter centre (Equation 25). A similar arrangement utilizing feed-back servomotor 224 (Fig. 15) responsive to the Y resultant sum above, rotations of the inputs to differential 226 represent Y 1  + S