NON-CONTACT PROFILE CONTROL APPARATUS

Abstract: This invention relates to a non-contact profile control apparatus which performs profile machining or digitizing on a work while profiling non-contactingly the shape of a model. The coordinates value of each apex of a very small square on the plane of a model (6) is obtained from the measured values at previous and current samplings from two non-contact range finders (5a, ab) and the direction of normal is obtained by use of the coordinates values of three predetermined apexes among them. Two rotary shafts (B1, C1) of a tracer head (4) are controlled in this direction. Accordingly, the measuring optical axes of the non-contact range finders are always kept perpendicular to the model plane and high precision range finding can be conducted.

Description: The present invention relates to a noncontact tracing control system, and more particularly, to a noncontact tracing control system using distance detectors having a high measuring accuracy. Recently, a noncontact tracing control system using a noncontact distance detector as a tracer head has been developed, and, for example, an optical distance detector is used for this noncontact distance detector, and a model is traced by using this detector to detect the distance to the model surface. This system eliminates fears of damage to the model, and therefore, a soft material can be used for a model, which will enable a wider applicability thereof for machining and digitizing. The conventional noncontact tracing control system, however, has a problem in that the tracing accuracy is lowered at portions of a model where an inclination thereof is large. Namely, at this portion, an optical measuring axis of a distance detector is not at a right angle to the model surface, and accordingly, the spot of light on the model surface is distorted into the shape of an ellipse, and thus the resolution of the distance detector is lowered and the tracing accuracy becomes low. Particularly, for a trigonometrical distance detector, a measurement sometimes becomes impossible because the optical measuring axis interferes with the model surface due to the angle thereof. To solve this problem, the applicant filed a Japanese patent application no. 1-194500, entitled "NON-CONTACT TRACING CONTROL SYSTEM", on July 27, 1989, corresponding to EP-A-0436735. In EP-A-0436735, tracing accuracy is improved by acquiring a normal vector of a model surface based on measured values of a sampling taken at this time and at the previous time by two non-contact distance detectors of a tracer head, and by controlling the rotation of the tracer head in the direction of the projection of this normal vector when projected on a predetermined plane, to thereby carry out a distance measuring with a high accuracy. Nevertheless, the optical measuring axis of the non-contact distance detector cannot be made to conform perfectly to the normal direction, depending on an inclination of the model surface, and thus in some cases, the measuring accuracy cannot be improved as much as expected. EP-A-0313801 discloses a machine for defining the surface of three-dimensional models in which a tracing head is moved over the surface of the model and maintained at right angles to the model surface. The present invention has been made in view of the aforesaid drawbacks, and an object of the present invention is to provide a non-contact tracing control system having an improved tracing accuracy by obtaining measured values with a higher accuracy from non-contact distance detectors. According to the present invention, there is provided a non-contact tracing control system for machining or digitising a workpiece through tracing the shape of a model without contact therewith, the system comprising: a tracing head having first and second non-contact distance detectors for measuring the distance to a model surface without contact therewith; sampling means for sampling measured values of each of the first and second non-contact distance detectors at predetermined sampling times; storing means for storing a first measured value of the first non-contact distance detector and a second measured value of the second non-contact distance detector at the previous sampling; and, normal direction calculating means for obtaining a normal direction of the model surface; characterised by: the normal direction calculating means using at least three of the first measured value, the second measured value, a third measured value of the first non-contact distance detector, and a fourth measured value of the second non-contact distance detector of the present sampling, the normal direction calculating means calculating the normal direction by obtaining coordinate values of three points on the model surface using the three measured values, by obtaining first and second vectors heading from one point of the three coordinate values to the other two points, and by operating a vector product between the first and second vectors; means for controlling the inclinations of respective measuring axes of the first and second non-contact distance detectors to the model surface to be constant using first and second rotation axes which cross each other, the second axis being inclined to the first axis; and by: rotation axis drive means for rotating the tracing head about the first rotation axis and the second rotation axis by angles determined according to said calculated normal direction. A coordinate value of each vertex of a micro quadrangle on the model surface is obtained from the measured values at the sampling of the previous time and the present time from two non-contact distance detectors, and a normal direction is acquired using three necessary vertex coordinate values thereof to control the rotation of two axes of the tracer head in this direction. Accordingly, the optical measuring axis of the non-contact distance detector is always at a right angle to the model surface, and thus a distance measuring with a high accuracy can be obtained. In the drawings: Fig. 1 is a block diagram showing the constitution of a non-contact tracing control system according to an embodiment of the present invention; Fig. 2 is an explanatory view of a calculation method of a rotation command in an embodiment of the present invention; Fig. 3 is an illustration showing an angle of a normal vector in an embodiment of the present invention; and, Fig. 4 is a flow chart of a calculation processing of a rotation command in an embodiment of the present invention. An embodiment of the present invention will hereinafter be described with reference to the drawings. Figure 1 is a block diagram showing a noncontact tracing control system and the peripheral constitution thereof according to the present invention. In Fig. 1, a processor 11 reads a system program stored in a ROM 12, through a bus 10, and controls the overall operation of a tracing control system 1 according to this system program. A RAM 13 is used as a data temporary storing device and stores measured values from distance detectors, which will be described later, and other temporary data. A nonvolatile memory 14 is constituted by a CMOS backed up by a battery, and stores various parameters such as a tracing direction and tracing speed, etc. input from a control panel 2 through an interface 15. A tracer head 4 of a tracing machine 3 is constituted by distance detectors 5a and 5b. A reflected light amount type distance detector using a semiconductor laser or a light emitting diode as a light source is used for the distance detectors 5a and 5b, each of which measures a distance to a model 6 without a contact therewith. Measured values La and Lb of these distance detectors are digital converted by A/D converters 16a and 16b in the tracing control system 1, and sequentially read by the processor 11. The processor 11 calculates displacement amounts of each axis based on the measured values La and Lb and signals from current position registers 19x, 19y, and 19z and generates speed commands Vx, Vy, and Vz of the respective axes based on these amounts of displacement, and commanded tracing direction and tracing speed, according to the known process. These speed commands are analog converted by D/A converters 17x, 17y, and 17z and input to servo amplifiers 18x, 18y, and 18z. The servo amplifiers 18x and 18y drive servomotors 32x and 32y of the tracing machine 3 based on these speed commands, to thereby move a table 31 in the X-axis direction and the Y-axis direction at right angles to the sheet surface. Also, the servo amplifier 18z drives the servomotor 32z, and a column 7 is moved in the Z-axis direction to maintain a constant distance between the distance detector 5a and the model 6, as mentioned later. Pulse coders 33x, 33y, and 33z are provided in these servomotors 32x, 32y, and 32z for generating pulses FPx, FPy, and FPz at a predetermined amount of rotation of these servomotors. The current position registers 19x, 19y, and 19z store current position data Xa, Ya, and Za in each axial direction by counting up/down the detection pulses FPx, FPy, and FPz according to the respective rotation direction, and input the data to the processor 11. At the same time, the processor 11 samples the measured values La and Lb of the distance detectors 5a and 5b at predetermined sampling times, while simultaneously controlling the above axes, acquires a normal vector on the model 6 using this sampling data, and generates a rotation command Θc in the direction of an angle of a projection of the normal vector on the X-Y plane and a rotation command Θb in the direction of an angle of the normal vector against the X-Y plane. The rotation commands Θc and Θb are analog converted by D/A converters 17c and 17b, respectively, and input to servo amplifiers 18c and 18b. The servo amplifier 18c drives a servomotor 32c and the servo amplifier 18b drives a servomotor 32b. When the servomotor 32b is driven, the tracer head 4 is rotated in the B1 axis direction, with the rotation center of a measured point P1 being at a measuring axis 51, a predetermined distance from the distance detector 5a, through a drive mechanism 36 constituted by a pinion gear and an arc-shaped rack gear. Also, when the servomotor 32c is driven to rotate in the C1 axis direction, with the measuring axis 51 of the distance detector 5a as the center, by the drive mechanism 36, the distance detector 5b is rotated by the same angle of the circumference of a predetermined radius. During this rotation, a point P1 (intersection of the centers of the C1 and the B1 axes) is controlled to be constantly positioned on the surface of the model 6, by the above-mentioned Z-axis control, and at the same time, the table 31 is moved in the commanded tracing direction at the commanded speed to enable a workpiece 35 to be machined to the same shape as that of the model 6, by a cutter 34 attached to the column 7. Next, the obtaining of the rotation commands Θc and Θb will be explained. In Fig. 2, the tracing is carried out by moving the tracer head 4 in the X-axis direction relative to the model 6 and at a predetermined speed, the measured values of the distance detectors 5a and 5b are sampled at predetermined times, and coordinate values of points P1₁, ... P1 n-1 , P1 n , and P2₁, ... P2 n-1 , P2 n on the model 6 are obtained based on these measured values and the current position data output from the current position registers. Further, for example, a surface vector S1n [X2 n - X1 n , Y2 n - Y1 n , Z2 n - Z1 n ] is obtained from the coordinate value of the point P1 n (X1 n , Y1 n , Z1 n ) and the coordinate value of the point P2 n (X2 n , Y2 n , Z2 n ), and a surface vector S2n [X1 n-1 - X1 n , Y1 n-1 - Y1 n , Z1 n-1 - Z1 n ] is obtained from the coordinate value of the point P1 n (X1 n , Y1 n , Z1 n ) and the coordinate value of the point P1 n-1 (X1 n-1 , Y1 n-1 , Z1 n-1 ). Next, a normal vector Nn at the point Pn is obtained by deriving an outer product of the surface vectors S1n and S2n from the following equation: Nn = S1n × S2n (where Nn, S1n, and S2n are vectors) Then, an angle Θcn between the X-axis and a projection N1n of the normal vector Nn projected on the X-Y plane is obtained by the following equation, and the angle Θcn is output as a command value for the C1 axis: Θcn = tan⁻¹(Jn/In) where In: X component of the vector Nn; Jn: Y component of the vector Nn. Also, an angle Θbn between the normal vector Nn and the X-Y plane is obtained by the following equation, and this angle Θbn is output as a command value for the B1 axis: Θbn = tan⁻¹(Kn/(In² + Jn²) 1/2 ) where Kn: Z component of the vector Nn. As a result, the measuring axes of the distance detectors 5a and 5b are always at a right angle to the surface of the model 6, and thus a distance measuring having a high accuracy is obtained. Figure 4 is a flow chart of a calculation processing of the rotation commands in an embodiment according to the present invention. In Fig. 4, the numerical values following the letter S show step numbers. [S1] The measured values of the distance detectors 5a and 5b are sampled at predetermined times. [S2] The surface vector S1 is obtained from the measured values of the respective distance detectors at the present time. [S3] The surface vector S2 is obtained from the measured values of the distance detector 5a, at the present time and at the previous time. [S4] The normal vector N is obtained by deriving an outer product of the surface vector S1 and the surface vector S2. [S5] The angle Θc between the X-axis and the projection of the normal vector N projected on the X-Y plane is calculated. [S6] The angle Θb between the normal vector N and the X-Y plane is calculated. Note, the normal vector was obtained based on the measured value of one of the distance detectors at the previous sampling and the measured values of both of the distance detectors at the present sampling in the above embodiment, but this is not limited thereto in that the normal direction can be also obtained from at least three points by other combinations of the four measured values obtained by sampling at the present time and at the previous time. Also, other than reflected light amount type of detector, an optical trigonometrical type, eddy-current type, or ultrasonic type distance detector can be used as the distance detector. Note, as a cutter has a radius but a noncontact sensor measures a "point" on a model, there is no guarantee that the same point as the measured point will be cut, but if the cutter diameter is small enough, the difference between the measured point and the cutting point can be ignored. On the other hand, for the digitising, the whole shape of a model can be reproduced as numerical data by obtaining successive points on the model, and thus a tracing control system using a noncontact sensor has a greater effect when applied to a digitizing system. According to the present invention as described above, a normal direction on a model surface is obtained based on measured values from two noncontact distance detectors at the previous sampling and the present sampling and the rotation of a tracer head is controlled in this direction, and therefore, the measuring axes of the noncontact distance detectors are always at a right angle to the model surface, which enables a distance measuring with a high accuracy and improves tracing accuracy. Also, as no blind spot is generated due to interference with the model surface, a complicated three-dimensional model can be traced.

Claims: A non-contact tracing control system for machining or digitising a workpiece through tracing the shape of a model (6) without contact therewith, the system comprising: a tracing head (4) having first and second non-contact distance detectors (5a,5b) for measuring the distance to a model surface without contact therewith; sampling means (11) for sampling measured values of each of the first and second non-contact distance detectors at predetermined sampling times; storing means (13) for storing a first measured value of the first non-contact distance detector and a second measured value of the second non-contact distance detector at the previous sampling; and, normal direction calculating means (11) for obtaining a normal direction of the model surface; characterised by: the normal direction calculating means using at least three of (i) the first measured value, (ii) the second measured value, (iii) a third measured value of the first non-contact distance detector, and (iv) a fourth measured value of the second non-contact distance detector of the present sampling, the normal direction calculating means calculating the normal direction by obtaining coordinate values of three points on the model surface using the three measured values, by obtaining first and second vectors heading from one point of the three coordinate values to the other two points, and by operating a vector product between the first and second vectors; means for controlling the inclinations of respective measuring axes of the first and second non-contact distance detectors to the model surface to be constant using first and second rotation axes (C1,B1) which cross each other, the second axis (B1) being inclined to the first axis (C1); and by: rotation axis drive means (32c,32b) for rotating the tracing head (4) about the first rotation axis (C1) and the second rotation axis (B1) by angles determined according to said calculated normal direction. A system according to claim 1, wherein the tracing machining or digitising is executed by calculating a displacement amount based on measured values of at least one of the first and second non-contact distance detectors. A system according to claim 1 or claim 2, wherein the first and second non-contact distance detectors are optical distance detectors.

Inventors: MATSUURA HITOSHI, MATSUURA, HITOSHI
Applicants: FANUC LTD, FANUC LTD.
Application year: 1990
Main classification: B23Q35
IPC codes: B23Q35, G05B19