PROFILE CONTROLLER IN ANY DIRECTION

Abstract: The invention is to improve machining precision of a profile controller which moves a tracer head and a model relative to each other along a path instructed by numerical data. Profile operation means (4, 5, 30-33) prepare a speed signal (Va) in a profile direction and a speed signal (Vz) in the Z-axis direction based upon displacement signal (ε X , ε Y , ε Z ) from the tracer head (1) and direction signals (sin α, cos α) that indicate a profile direction sent from a direction signal preparation means (36). Speed signal preparation means (18, 19) prepare instruction pulse signals in the X-­ axis and Y-axis directions based upon the numerical data that indicate the moving path of the tracer head (1) and based upon the speed signal (Va) in the profile direction prepared by the profile operation means (4, 5, 30-33). Moving means (10X, 10Y) in the X-axis and Y-axis directions move the tracer head (1) and the model (3) in the X-axis and Y-axis directions relative to each other based upon the signals produced by the instruction pluse signal preparation means (18, 19), and a moving means (10Z) in the Z-axis direction moves the tracer head (1) and the model (3) in the Z-axis direction relative to each other based upon a signal (Vz) produced by the profile operation means (4, 5, 30-33). The direction signal preparation means (36) prepares direc­ tion signals (sin α, cos α) that indicate the profile direction based upon the signals produced by the instruction pulse signal preparation means, and supplies them to the profile operation means (4, 5, 30-33).

Description: The present invention relates to an arbitrary-direction tracer control unit which enables a tracer head and a model to be moved relative to each other along a path defined by numerical information. A conventional unit of this kind is such, for example, as shown in Fig. 2. In Fig. 2, reference numeral 1 indicates a tracer head, 2 a stylus, 3 a model, 4 a composite displacement signal generator, 5 an adder, 6 a multiplier, 7 a voltage-to-frequency converter, 8X, 8Y, and 8Z X-, Y- and Z-axis error registers, 9X, 9Y, and 9Z X-, Y- and Z-axis amplifiers, 10X, 10Y, and 10Z X-, Y- and Z-axis motors for moving the tracer head 1 and the model 3 relative to each other in the X-, Y-and Z-axis directions, 11X, 11Y, and 11Z X-, Y- and Z-axis position sensors, 12 a microprocessor, 13 a command tape, 14 a tape reader, 15 a RAM, 16 a ROM, 17 an output section, 18 a linear interpolator, 19 a circular interpolator, 20 an override value setting register, 21 and 22 multipliers, and 23 and 24 OR gates. The tracer head 1 outputs X-, Y- and Z-axis displacement signals ε x , ε y and ε z which correspond to displacement of the stylus 2 in the X, Y and Z directions which moves in contact with the model 3. The composite displacement signal generator 4 derives a composite displacement signal, ε = √ ε x ² + ε y ² + ε z ² , from the displacement signals ε x , ε y and ε z available from the tracer head 1. The adder 5 obtains the difference, Δε = ε - ε₀ , between the composite displacement signal ε and a reference displacement signal ε₀ and applies it to the multiplier 6 and the override value setting register 20. The multiplier 6 multiplies the above-mentioned difference Δε by a predetermined constant K and supplies the voltage-to-frequency converter 7 with a voltage corresponding to the result of the multiplication. The voltage-to-frequency converter 7 provides to the error register 8Z pulses of a frequency proportional to the output voltage of the nultiplier 6. The error register 8Z applies to the amplifier 9Z a voltage proportional to the difference between the number of pulses from the voltage-to-frequency converter 7 and the number of feedback pulses from the position sensor 11Z. The output of the amplifier 9Z is provided to the motor 10Z to drive it, moving the tracer head 1 and the model 3 relative to each other in the Z direction. That is, the relative movement of the tracer head 1 and the model 3 in the Z direction is controlled in accordance with the displacement signals ε x, ε y and ε z which are provided from the tracer head 1. The relative movement of the tracer head 1 and the model 3 in the X and Y directions is controlled on the basis of numerical information recorded on the command tape 13. For instance, in the case of moving the tracer head 1 from a point A to a point B directly in Fig. 3(A), numerical information of a format (A) shown below is prerecorded on the command tape 13, and in the case of moving the tracer head 1 from a point C to a point D along a circular arc with the center at a point E in Fig. 3(B), numerical information of a format (B) shown below is prerecorded on the command tape 13. GO1 X x1Y y1F f1 (A) GO2 X x2Y y2I i1K k1F f2 (B) In the above, x1 and y1 indicate the X and Y coordinates of the point B, x2 and y2 the X and Y coordinates of the point D, f1 and f2 specified feed rates, i1 the distance between the center E of the circular arc and the point C in the X direction, and k1 the distance between the center E of the circular arc and the point C in the Y direction. When the tape reader 14 reads the numerical information of the format (A) recorded on the command tape 13, the microprocessor 12 provides via the output section 17 the X and Y coordinates x1 and y1 of the point B to the linear interpolator 18 and the specified feed rate f1 to the multiplier 21. The multiplier 21 performs a multiplication of the specified feed rate f1 from the microprocessor 12 and an override value from the override value setting register 20 and supplies the linear interpolator 18 with the multiplied output as a signal indicating the velocity of movement of the tracer head 1 in the X-Y plane. The override value setting register 20 outputs an override value which is inversely proportional to the difference Δε between the composite displacement ε and the reference displacement ε₀ which is available from the adder 5. That is, since the above difference Δε increases with an increase in the inclination of the surface of the model 3, the velocity of movement which is commanded to the linear interpolator 18 decreases with an increase in the inclination of the surface of the model 3. Based upon the coordinate values (x1, y1) of the point B supplied from the microprocessor 12 and the velocity command from the multiplier 21, the linear interpolator 18 produces command pulses for the movement of the tracer head in the X and Y directions and provides the X-direction command pulses via the OR gate 23 to the error register 8X and the Y-direction command pulses via the OR gate 24 to the error register 8Y. As a result of this, the motors 10X and 10Y are driven, by which the tracer head 1 travels along a path A-B at a speed corresponding to the output of the multiplier 21. Where the numerical information of the format (B) recorded on the command tape 13 is read by the tape reader 14, the microprocessor 12 applies numerical information x2, y2, i1 and k1 to the circular interpolator 19 and the specified feed rate f2 to the multiplier 22. The multiplier 22 multiplies the specified feed rate f2 from the microprocessor 12 and the override value from the override value setting register 20, and supplies the circular interpolator 19 with the multiplied output as a signal indicating the velocity of movement of the tracer head 1 in the X-Y plane. Based on the numerical information x2, y2, i1 and k1 from the microprocessor 12 and the velocity command from the multiplier 22, the circular interpolator 19 creates command pulses for the movement of the tracer head in the X and Y directions and provides the X-direction command pulses to the error register 8X via the OR gate 23 and the Y-direction command pulses to the error register 8Y via the OR gate 24. As a result of this, the motors 10X and 10Y are driven, by which the tracer head 1 travels along a circular arc centered at the point E, at a speed corresponding to the output of the multiplier 22. As described above, the conventional unit depicted in Fig. 2 achieves arbitrary-direction tracing by moving the tracer head 1 and the model relative to each other in the X and Y directions in accordance with numerical information and in the Z direction in accordance with the displacement signals available from the tracer head 1. In this case, however, since the tracing is one-dimensional, a follow-up error occurs on a steep surface portion of the model 3, making it impossible to achieve high accuracy machining. The present invention addresses the problem described above, with a view to improving machining accuracy. EP-A-0 076 330 discloses a tracer control unit having the features of the preamble of the accompanying claim. According to the present invention, there is provided an arbitrary-direction tracer control unit for controlling relative movement of a tracer head and a model in an XYZ co-ordinate space, comprising:- profile arithmetic means for producing a velocity signal in a tracing feed direction in the XY plane and a velocity signal in the Z direction by performing profile arithmetic operations for tracing on the basis of X-, Y-and Z-direction displacement signals from the tracer head tracing the surface of the model and a direction signal indicating the tracing feed direction; Z-direction drive means for driving the model and the tracer head relative to each other in the Z direction in accordance with the Z-direction velocity signal produced by the profile arithmetic means; command pulse signal generating means for producing a command pulse signal in the X direction and a command pulse Signal in the Y direction on the basis of numerical information specifying the path of movement of the tracer head in the XY plane and the velocity signal in the tracing feed direction produced by the profile arithmetic means; X- and Y-direction drive means for driving the model and the tracer head relative to each other in the X and Y directions in accordance with the X- and Y-direction command pulse signals created by the command pulse signal generating means; and direction signal generating means for generating the direction signal indicating the tracing feed direction in the XY plane, the direction signal being supplied to the profile arithmetic means; characterised in that:- said profile arithmetic means is also responsive to a velocity command signal indicating a feed rate corresponding to numerical information; said command pulse generating means include a linear interpolator for generating command pulses in response to numerical information specifying a linear movement of the tracer head in the XY plane, and a circular interpolator for generating command pulses in response to numerical information specifying a circular movement of the tracer head in the XY plane, both interpolators receiving said velocity signal in the tracing feed direction; and in that said direction signal generating means comprises an arithmetic circuit connected to receive output signals of both said interpolators. The velocity signal can be obtained in the tracing feed direction by the profile arithmetic means, and the X-and Y-direction velocity signals can be obtained by the velocity signal generating means on the basis of the velocity signal in the tracing feed direction and the numerical information defining the path of travel of the tracer head. Since the velocities in the X, Y and Z-directions are all obtained by profile arithmetic operations for tracing, machining can be achieved with a high degree of accuracy. Reference is made, by way of example, to the accompanying drawings, in which:- Fig. 1 is a block diagram illustrating an embodiment of the present invention; Fig. 2 is a block diagram showing a prior art example; and Fig. 3 shows paths of travel of the tracer head. Referring to Fig. 1, 30 indicates an indexing circuit, 31 and 32 velocity signal generating circuits for producing a tangential-direction velocity signal V T and a normal-direction velocity signal V N , respectively, 33 a distribution circuit, 34 a voltage-to-frequency converter, 35 an A-D converter, and 36 an arithmetic circuit. The other reference numerals identical with those in Fig. 2 represent the same parts as in Fig. 2. The tracer head 1 applies to the composite displacement signal generator 4 and the indexing circuit 30 the displacement signals ε x , ε y , ε z corresponding to the displacement of the stylus 2 in the X, Y and Z directions which moves in contact with the model 3. The composite displacement signal generator 4 creates the composite displacement signal, ε = √ ε x ² + ε y ² + ε z ² , the adder 4 obtains the difference Δε between the composite displacement signal ε and the reference displacement signal ε₀, and the velocity signal generating circuits 31 and 32 produce the tangential-direction velocity signal V T and the normal-direction velocity signal V N on the basis of the above difference Δε. The indexing circuit 30 obtains a displacement component signal in the direction of displacement, ε a = ε x cosA + ε y sinA , from the displacement signals ε x and ε y in the X and Y directions which are provided from the tracer head 1 and direction signals sinA and cosA (where A indicates the angle between the X-axis and the tracing feed direction) indicating the tracing feed direction, which are provided from the arithmetic circuit 36 described later. Then the indexing circuit obtains a sine signal, sinβ = ε z /√ ε a ² + ε z ² , and a cosine signal, cosβ = ε a /√ ε a ² + ε z ² , on the basis of the displacement component signal ε a and the displacement signal ε z in the Z direction which is provided from the tracer head 1. The indexing circuit 30 can be formed by, for example, a combination of a displacement direction indexing circuit 17 and a coordinate transformer 22 disclosed in Japanese Pat. Appln. No. 14098/79. The distribution circuit 33 derives a velocity signal V a in the tracing feed direction and a velocity signal V z in the Z direction from the sine signal sinβ and the cosine signal cosβ supplied from the indexing circuit 32 and the tangential-direction velocity signal V T and the normal-direction velocity signal V N from the velocity signal generators 31 and 32. The velocity signal V z in the Z direction is converted by the voltage-to-frequency converter 34 into pulses of a frequency proportional to the voltage value of the velocity signal. The pulses thus obtained are provided to the error register 8Z, by which the motor 10Z is driven, moving the tracer head 1 relative to the model 3 in the Z direction at a speed corresponding to the velocity signal V z . That is, the relative displacement of the tracer head 1 and the model 3 in the Z direction is controlled in accordance with the displacement signals ε x , ε y and ε z which are output from the tracer head 1. The relative displacement of the tracer head 1 and the model 3 in the X and Y directions is controlled in accordance with the numerical information defining the path of travel of the tracer head 1, recorded on the command tape 13, and the velocity signal V a in the tracing feed direction which is provided from the distribution circuit 33. Now, assuming that the numerical information of the format (A) is read by the tape reader 14, the microprocessor 12 provides, via the output section 17, the X and Y coordinates (x1 and y1) of the point B to the linear interpolator 18 and the specified feed rate f1 to the velocity signal generator 31. Incidentally, the input/output characteristics of the velocity signal generator 31 are set so that when it is supplied with the specified feed rate f1, the tangential-direction velocity signal V T at the time when the difference Δε between the composite displacement signal ε and the reference displacement signal ε₀ is zero assumes a value corresponding to the specified feed rate f1. Based on the coordinate value (x1, y1) of the point B which is provided from the microprocessor 12 and the velocity signal V a in the tracing feed direction which is provided from the distribution circuit 33 via the A-D converter 35, the linear interpolator 18 outputs X- and Y-direction command pulses for driving the tracer head 1 along the path A-B at a speed corresponding to the velocity signal V a . The X-direction command pulses are provided via the OR gate 23 to the error register 8X and the arithmetic circuit 36. The Y-direction command pulses are provided via the OR gate 24 to the error register 8Y and the arithmetic circuit 36. The motors 10X and 10Y are driven by the outputs of the error registers 8X and 8Y, and the tracer head 1 is driven along the path A-B in the X-Y plane at a speed corresponding to the velocity signal V a . The arithmetic circuit 36 performs the following processing every unit time ΔT. Based on the numbers N x and N y of the X- and Y-direction command pulses which are applied thereto for each unit time ΔT, the arithmetic circuit 36 performs operations of the following equations (1) and (2) to create the directions signals sinA and cosA indicating the tracing feed direction, which signals are provided to the indexing circuit 30. sinA = N y /√ N x ² + N y ² (1) cosA = N x /√ N x ² + N y ² (2) That is, since the amounts of travel in the X and Y directions are in proportion to the numbers N x and N y of the X- and Y-direction command pulses, the tracing feed direction for each unit time ΔT can be obtained by performing the operations of the equations (1) and (2). When the numerical information of the format (B) is read by the tape reader 14, the microprocessor 12 provides, via the output section 13, the numerical information x2, y2, i1, and k1 to the circular interpolator 19 and the specified feed rate f2 to the velocity signal generator 31. Based on the numerical information x2, y2, i1 and k1 from the microprocessor 12 and the velocity signal V a in the tracing feed direction from the distribution circuit 33, the circular interpolator 19 outputs X- and Y-direction command pulses for driving the tracer head 1 along the circular arc with the center at the point E at a speed corresponding to the velocity signal V a . As a result of this, the motors 10X and 10Y are driven by the outputs of the error registers 8X and 8Y which are applied to the motors via the amplifiers 9X and 9Y, and the tracer head 1 travels along the circular arc with the center at the point E at the speed corresponding to the velocity signal V a . Furthermore, the arithmetic circuit 36 produces directions signals sinα and cosα indicating the tracing feed direction and applies them to the indexing circuit 30 in the same manner as described above. In the case of moving the tracer head along a circular arc, the arithmetic circuit 36 sequentially obtains sines and cosines of the circular arc in directions tangential thereto. While the above embodiment is constituted by hardware, it is also possible, of course, to perform the same processing by software. As described above, the tracer control unit of the present invention comprises: profile arithmetic means (composed of the composite displacement signal generator 4, the adder 5, the indexing circuit 30, the velocity signal generating circuits 31 and 32, and the distribution circuit 33 in the embodiment) which produces a velocity signal (V a in the embodiment) in the tracing feed direction and a velocity signal in the Z-axis direction by performing profile arithmetic operations for tracing on the basis of displacement signals in the X-axis, Y-axis and Z-axis directions available from a tracer head tracing the model surface and direction signals (sinα and cosα from the arithmetic circuit 36 in the embodiment) indicating the tracing feed direction in the X-Y plane; Z-direction drive means (composed of the motor 10Z and so on in the embodiment) for moving the model and the tracer head relative to each other in the Z direction in accordance with the Z-direction velocity signal produced by the profile arithmetic means; command pulse signal generating means (composed of the linear interpolator 18, the circular interpolator 19, and so forth in the embodiment) for generating a command pulse signal in the X direction and a command pulse signal in the Y direction on the basis of numerical information indicating the path of movement of the tracer head in the X-Y plane and the velocity signal in the tracing feed direction created by the profile arithmetic means; X- and Y-direction drive means (composed of the motors 10X, 10Y, and so on in the embodiment) for moving the model and the tracer head relative to each other in the X and Y directions in accordance with the X- and Y-direction command pulse signals produced by the command pulse signal generating means; and direction signal generating means (composed of the arithmetic circuit 36 in the embodiment) for generating the direction signal indicating the tracing feed direction in the X-Y plane on the basis of the X- and Y-direction command pulse signals produced by the command pulse signal generating means and supplying the direction signal to the profile arithmetic means. Since the velocities of movement in the X, Y and Z directions are all obtained by profile arithmetic operations for tracing, the present invention possesses the advantage that the machining accuracy is higher than would be obtainable with the prior art example which performs one-dimensional tracing.

Claims: An arbitrary-direction tracer control unit for controlling relative movement of a tracer head (1) and a model (3) in an XYZ co-ordinate space, comprising:- profile arithmetic means (4, 5, 30 to 33) for producing a velocity signal (V a ) in a tracing feed direction in the XY plane and a velocity signal (V z ) in the Z direction by performing profile arithmetic operations for tracing on the basis of X-, Y- and Z-direction displacement signals (ε x , ε y , ε z ) from the tracer head (1) tracing the surface of the model (3) and a direction signal (sin α, cos α) indicating the tracing feed direction; Z-direction drive means (10Z) for driving the model (3) and the tracer head (1) relative to each other in the Z direction in accordance with the Z-direction velocity signal (V z ) produced by the profile arithmetic means; command pulse signal generating means (18, 19) for producing a command pulse signal in the X direction and a command pulse signal in the Y direction on the basis of numerical information specifying the path of movement of the tracer head in the XY plane and the velocity signal (V a ) in the tracing feed direction produced by the profile arithmetic means; X- and Y-direction drive means (10X, 10Y) for driving the model (3) and the tracer head (1) relative to each other in the X and Y directions in accordance with the X- and Y-direction command pulse signals created by the command pulse signal generating means (18, 19); and direction signal generating means (36) for generating the direction signal (sin α, cos α) indicating the tracing feed direction in the XY plane, the direction signal being supplied to the profile arithmetic means (4, 5, 30 to 33); characterised in that:- said profile arithmetic means (4,5,30 to 33) is also responsive to a velocity command signal from f1 indicating a feed rate corresponding to numerical information; said command pulse generating means (18, 19) include a linear interpolator (18) for generating command pulses in response to numerical information specifying a linear movement of the tracer head in the XY plane, and a circular interpolator (19) for generating command pulses in response to numerical information specifying a circular movement of the tracer head in the XY plane, both interpolators receiving said velocity signal (V a ) in the tracing feed direction; and in that said direction signal generating means (36) comprises an arithmetic circuit connected to receive output signals of both said interpolators (18, 19).

Inventors: MATSUURA, HITOSHI, YAMAZAKI, ETSUO
Applicants: FANUC LTD.
Application year: 1986
Main classification: B23Q35
IPC codes: B23Q35, B23Q33