Involute interpolation method
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an involute interpolation method for machining operations in a numerical control apparatus or the like, and more particularly to an involute interpolation method in which an involute curve can readily be interpolated in the numerical control apparatus. 
     2. Description of the Related Art 
     In curve interpolation with a numerical control apparatus, interpolation of an involute curve has particularly been needed for machining gears, vanes of pumps and the like, and it has been a general practice to interpolate the involute curve with a computer or an NC program producing system which are distinctly provided from the numerical control apparatus to analyze curve data into straight line data, whereupon numerical control machinings are performed with the use of a tape. 
     Accordingly, an instruction tape producing system has additionally been required other than the numerical control apparatus. In addition, the tape is extremely long because it contains minutely analyzed lines, so that the management of the tape is intricate. Furthermore, there has been a problem such that pulse distribution is interrupted during a high-speed driving, and thus a smooth cutting operation is not ensured. 
     DISCLOSURE OF THE INVENTION 
     An object of this invention is to resolve the above problem and to provide an involute interpolation method in which an involute curve can readily be interpolated in the numerical control apparatus. 
     In order to resolve the above-noted problem, the invention provides an involute interpolation method for machining operations in a numerical control apparatus comprising the steps of: 
     instructing a rotational direction of an involute curve, a moving distance of the involute curve or a moving angle thereof, a center position of a base circle and a radius (R) of the base circle; and 
     interpolating the involute curve at every predetermined distance or every predetermined angle. 
     The rotational direction, the moving distance or moving angle, the center position of the base circle and the radius of the base circle are initially instructed to specify the involute curve. 
     From the given instructions, equations for the curve are determined and based upon such equations pulse interpolation is carried out at every predetermined moving distance or every predetermined angle. 
     The processing above is implemented with a numerical control apparatus so that pulse distribution is continuously carried out. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1(a) is a diagram showing an involute curve rotating in the counterclockwise direction leaving from a base circle; 
     FIG. 1(b) is a diagram showing an involute curve rotating in the counterclockwise direction approaching a base circle; 
     FIG. 1(c) is a diagram showing an involute curve rotating in the clockwise direction approaching a base circle; 
     FIG. 1(d) is a diagram showing an involute curve rotating in the clockwise direction leaving from a base circle; and 
     FIG. 2 is a block diagram of a numerical control apparatus according to one embodiment of the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     One embodiment of the present invention will be described with reference to the accompanying drawings. Involute curves are exemplified in FIGS. 1(a) through 1(d). FIG. 1(a) shows the involute curve rotating in the counterclockwise direction leaving from a base circle, in response to the instruction G03.1. FIG. 1(b) shows another involute curve rotating in the counterclockwise direction approaching the base circle, in response to the instruction G03.1. FIG. 1(c) shows still another involute curve rotating in the clockwise direction approaching the base circle, in response to the instruction G02.1. FIG. 1(d) shows yet another involute curve rotating in clockwise direction leaving from the base circle, in response to the instruction G02.1. 
     Although there are four types of involute curves as above, they are the same in principle. Accordingly, the following description will be made with reference to the curve illustrated in FIG. 1(a). In FIG. (2), the involute curve is depicted with reference to a base circle C having a center, represented by 0 at coordinates, by O (X 0 , Y 0 ) and a radius R. The involute curve starts with a point P 0  and an angle θ1 formed by a line connecting the point P 0  and the center O, and the axis X. 
     A point Ps (Xs, Ys) is the start point for interpolation. A tangential line ls is drawn from this point Ps to the base circle C and a point of contact of this tangential line ls with the base circle C is represented by P1 (X1, Y1). An angle θ 2  is defined by the X axis and a line connecting the point P1 and the center O of the base circle. 
     A point Pe (Xe, Ye) is the end point for interpolation. From this point, a tangential line le is drawn to the base circle C and the point of contact of this tangential line le with the base circle C is represented by P2 (X2, Y2). An angle θ 3  is defined by the X axis and a line connecting the point P2 and the center O of the base circle. 
     An instruction for the involute interpolation is given by G17G03.1X--Y--I--J--R--F--:. The instruction G17 specifies the X-Y plane, G18 specifies the Z-X plane and G19 specifies the a Y-Z plane. G03.1 is an instruction of interpolation for an involute curve rotating in the counterclockwise direction. Interpolation for an involute curve rotating in the clockwise direction is given by G02.1. Whether the curve approaches the base circle or it leaves from the base circle is determined depending upon the coordinate values of the start and end points of the involute curve. 
     X-Y represents coordinates of the end point of the involute curve, which in FIG. 1(a), corresponds to Pe (Xe, Ye). The instruction uses absolute values (P e  is in the first quadrant). 
     I-J represents the coordinates of the center of the base circle C as viewed from the start point Ps (Xs, Ys). Thus, incremental values along the X and Y axes used. 
     R is the radius of the base circle C and F is the feeding speed. The &#34;;&#34; end-of-block. 
     Next, values for defining the involute curve are obtained based upon the above instructions. 
     (1) Center Coordinate 0 of Base Circle 
     The coordinates of the start point Ps (Xs, Ys) of the involute curve are not contained in the instructions. However, such have been stored in the interior of the numerical control apparatus as a current position. Based upon a distance (I, J) from the start point Ps (Xs, Ys) to the center of the base circle of the involute curve as viewed from the start point, the center coordinates O (X 0 , Y 0 ) of the base circle are obtained from the following equations. 
     
         X.sub.0 =Xs+I 
    
     
         Y.sub.0 =Ys+J 
    
     (2) Angle θ2 at Start Point on Involute Curve 
     A tangential line ls is drawn to the base circle C from the start point Ps and the point of contact of this tangential line ls with the base circle C is represented by P1 (X1, Y1). Upon connecting the point P1 and the center O of the base circle C with a straight line, an angle that this line intersects the X axis is obtained. The angle thus obtained represents the angle θ2 of the start point on the involute curve. 
     (3) Angle θ3 at End Point on Involute Curve 
     A tangential line le is drawn to the base circle C from the end point Pe (Xe, Ye) on the involute curve and the point of contact of this tangential line with the base circle C is represented by P2 (X2, Y2). Upon connecting the point P2 and the center of the base circle C with a straight line, the angle between this line and the X axis is the angle θ3 of the end point on the involute curve. 
     (4) Curve Start Point Angle θ1 of Involute Curve 
     The distance between the point P1 and the point P 0   is equal to the length of the line segment ls according to the definition of the involute curve. Accordingly, representing the length of the line segment ls with L, 
     
         θ1=θ2-L/R (unit: radian) 
    
     the curve start point angle θ1 of the involute curve can be obtained from the above equation. 
     (5) From the foregoing values, coordinates of an arbitrary point on the involute curve are given by the following equations. 
     
         X=R{cos(θ+θ1)+θ sin(θ+θ1)}+X.sub.0 
    
     
         Y=R{sin(θ+θ1)-θ cos(θ+θ1)}+Y.sub.0 
    
     The angle θ is incremented by a predetermined value from θ=(θ2-θ1) to θ=(θ3-θ1) to sequentially obtain the points on the involute curve, whereupon the distances between two adjacent points may be obtained and straight line interpolation may be performed with respect thereto. The involute curve can thus be interpolated. 
     From the above equation, three consecutively plotted points may be obtained while incrementing the angle θ by the predetermined value so that the involute curve may be interpolated with a segment. 
     Although the above description has been made with respect to an interpolation method based upon specific instructions, interpolation can be performed if instructions relating to the rotational direction of the involute curve, the distance between points on the curve, the radius of the base circle and its center coordinates are given, and the equations for interpolation may be modified in various way depending upon the format of the instructions. Furthermore, the distance between points on the curve can be defined by an incremental angle as viewed from the center of the base circle. 
     Next, description will be made with reference to a numerical control apparatus for carrying out the of the involute curve. FIG. 2 is a diagram of a numerical control apparatus according to this embodiment. A tape instruction 1 is a punched tape containing the afore-mentioned instructions, and a tape reader 2 reads the tape 1. A preprocessing unit 3 discriminates an involute interpolation instruction from the G codes. An involute interpolation data producing unit 4 produces data needed for involute interpolation from the instructions. Designated by reference numeral 5 is a pulse distribution unit. From the data produced by the involute interpolation data producing unit 4, an angle θ is incremented by a predetermined value to obtain a sequence of points on the involute curve, whereupon line interpolation or segmental interpolation and pulse distribution are carried out. A servo control circuit 6 drives a servo motor in accordance with each instruction. The servo motor 7 moves a machine 8 through a ball screw, etc. 
     As described, according to the present invention, data for the interpolation of the involute curve is computed in the numerical control apparatus, and based upon the data thus computed the involute curve is interpolated with a straight line or the like. Accordingly, while dispensing with a specific program producing system or the like, the interpolation of the involute curve can be accomplished.