Robotic movement of object over a workpiece surface

Abstract: A system for robotic control of an object having x, y and z axis translational movement and C and D axis rotational movement capability. The object, which may be a robotic element such as a manipulator or machining tool or a laser beam positioner is controlled by the system for automatic tracking and orientation of the object over the surface of a workpiece including automatically determining the normal vector to the surface of the workpiece. It provides controllable movement and orientation of the object along selectable axes for accurate tracking of the workpiece surface by the object. The system allows processing of the workpiece by the object even when the axis of the object is oriented at an angle other than normal to the surface of the workpiece. The system when used to control a laser beam provides for control of the of the focal point of the beam at a particular displacement from the machining nozzle tip, using a least mean squares curve fitting technique and a sampled capacitive sensing device operative in the refractory interval between laser pulses and further provides for identification of a mounting fixture unique to a workpiece by sensing coding on the surface of the fixture thereby to select a particular part machining program.

Description: Background of the Invention This invention relates generally to the automatic or robotic control of the movement and positioning of an object relative to the surface of a workpiece. In specific embodiments it may relate to the control of an object such as a machine tool relative to the surface of a workpiece which is to be machined or, alternatively, to the control of an object which may be a laser beam positioner for directing a laser beam to a impinge upon a particular point on the surface of a workpiece for machining or working the surface. While the invention generally relates to methods for determining and controlling the position and orientation of a tool head relative to a workpiece for carrying out programmed instructions for manufacturing operations, in its laser machining embodiment it more specifically relates to controlling the distance between the tool and the workpiece as the machine operates, determining the location of the focal point of the laser beam and optimally aligning the beam axis to a desired orientation relative to the surface of the workpiece and for calculating the orientation of a tool control axis normal to a complex surface of a workpiece. Determining Normal vector to part surface In many robotic or automatic positioning systems it is often necessary to have the ability to orient an object such a a tool to a specific angle and to bring an operating point of a workpiece engaging portion of the object into position at a single point or a along a series of points on the surface of a workpiece. In such instances it is necessary to determine the unit normal vector at a series of points along the surface of the workpiece. Specifically, in multi-axis laser machining or processing (i.e. cutting and welding), two alternative methods are commonly used to cause the focus point of the beam to follow a precisely programmed path on the surface of a three dimensional part. 1. Beam motion. Two orthogonal rotary axes fitted with appropriate 45° tilted mirrors, are carried on a 3 dimensional linear coordinate system to move the beams in the preferred embodiment of the invention. In alternative embodiments optical fibers may be used to move and aim the laser beam in place of the mirrors. 2. The part being processed is rotated under a beam pointed downward by two orthogonal rotary axes commonly called a rotary tilt table. The two methods theoretically achieve the same purpose, that is, causing the focal point of the beam to follow a precise path on the part surface while keeping the orientation of the beam to the part surface at a programmed angle, usually 90°. Cutting and welding normal (90°) to the part surface has several beneficial effects. Less reflection of the laser beam occurs, causing more power to be absorbed by the workpiece, resulting in faster cutting and deeper penetration welding. The part is effectively thinner when cutting normal to the surface. Other advantages to orienting the beam to be normal to the surface include better processing gas flow dynamics through the nozzle and through the cut part and an ability to assure the forming of a square cut edge. When programming the machining operations for a part, using a full three dimensional cad cam system, for example, the computer calculates the precise angles of the two rotary stages of the laser positioner so that in practice the unit normal vector which points out of the part surface at the point of incidence is exactly aligned with the axis of the focused beam, the so called vector. While computers are adept at calculating the compound angles necessary to produce a correct vector of a laser beam that will "poke into" the part surface unit normal vector, humans are not nearly as good at estimating the correct vector when "teaching" a part program how to follow the specific contours of an actual workpiece. Even with special software such as tool center point (focal lock) which causes motion of the rotary axes without losing the focal point (nozzle tip) location, axis estimations are often poor. Errors of 5° to 10° are common. When the errors are then embedded in the part machining program, they can cause jerky motion of the beam positioner, which results in poor cut quality, particularly if the taught reference points are closely spaced. Automatic focus control is mandatory in laser cutting and welding processes if the shape of the part being cut or welded does not exactly conform to the part program which guides the laser nozzle or other tool over the part at, desirably, a constant separation or gap between the nozzle tip and the part. It is often the case that the part is either warped or fixtured slightly out of the correct position or moves due to stress relief as it is being cut or welded. If the gap varies appreciably from the specified value, the focal point of the laser beam, located a small distance below the nozzle tip, will not be in the correct location relative to the part and the beam will be "out of focus." If this occurs, the machining processes of cutting, welding, etc. are no longer under control and unsatisfactory cuts or welds will usually result. Most automatic focus controls also referred to as AFCs, utilized in laser machining systems utilize a small, often easily damaged, linear servo system which moves the lens/nozzle assembly in a direction parallel to the beam and nozzle under the control of a gap sensor which may use either a capacitor, an eddy current sensor, or some combination thereof. Such a system is disclosed in US-A-4 794 222. Such sensors sense the gap between the nozzle and the workpiece and command the lens servo system of the beam positioner to keep the gap constant when the workpiece deviates from its expected position relative to the part program. This may be caused by the part's motion while being laser cut or simply that the part is not exactly the same shape as called for in the part program. In any case, motion of the AFC axis is fixed parallel to the beam and nozzle. This method of control of the laser tool or nozzle has several disadvantages. 1. The linear lens/nozzle servo is delicate, easily damaged in a collision with a part or fixture, and is expensive. 2. The AFC does not know the exact position of the focal point if the lens servo is off of its nominal programmable position (due to part displacement error), which is usually the case. This is due to the fact that the positioner control using the gap sensor is only in a local position loop, which is dedicated only to keeping the gap constant. Information relative to its displacement of the focal point from the programmed location is not known by the main position loop. 3. Although it is sometimes necessary for an AFC to seek the part surface and maintain a constant gap in an axis not parallel to the axis of the laser beam and lens/nozzle assembly, the prior art AFC systems do not permit such control. It is an object of this invention to provide an automatic control system for automatically orienting an axis of an object with a predetermined vector while tracking an operating point of a workpiece engaging portion of the object over a predetermined and selected path on the surface of the workpiece. It is also an object of this invention to provide an AFC system for a laser machining system which automatically aligns the laser beam normal to the surface of the workpiece. These objects are achieved by a method according to claim 1. Preferred embodiments are defined in the subclaims. The automatic control according to the present invention is unique in that it uses the existing x, y and z translational axes upon which the two rotary axes, C and D, of the beam positioner ride to effect control of the distance between the operating point of the workpiece engaging portion of the object and the surface of the workpiece to allow, in some cases the point to trace the surface of the workpiece. In the case of a laser beam control the system is operated to hold focus, or, a constant gap between the tip of the nozzle and the workpiece. Since the direction of the laser beam emitted from the beam positioner is a function only of angles C and D, the laser process controller computer uses the C/D angle data to produce a vector equal to using the three linear axes. Translation in this case is parallel to the direction of the beam. In a preferred laser machining embodiment of the present invention a capacitive sensor measures the capacitance between the nozzle tip and the workpiece and a servo position loop causes the linear axes to move in the direction of the vector or any other desired vector to achieve a constant value of capacitance and hence a constant distance between the nozzle tip and the part. Other gap sensing means can also be used in connection with the determination of the unit normal vector. With the automatic focus control ("AFC") arrangement of the preferred embodiment of the present invention, the location of the focal point is always known and it is used to compute the amount of travel required of the linear axes to achieve a constant distance between the nozzle tip and the workpiece. This contrasts with other types of focus control which use a small linear servo system to move the lens and nozzle assembly to keep a constant gap between the nozzle tip and the workpiece. Brief Description of the Drawings Fig. 1 is a perspective view of a beam positioning device used in a preferred embodiment of the present invention with the x, y and z translational and C and D rotational axes labelled and showing, in phantom outline, rotation of the machining nozzle 90° about both the C and D rotational axes; Fig. 2 is an illustration showing variation of the radius of a workpiece as a function of rotation; Fig. 3 shows the orientation of the and axes in the x, y, z and C D system; Fig. 4 shows vector translation; Fig. 5 illustrates transformation of the and coordinates into the x, y, z system; Figs. 6 and 7 further illustrate the y coordinate transformations; and Fig. 8 shows the errors in the normal vector which occur due to nozzle gap errors when the workpiece radius is small relative to the radius of points , and ; Detailed Description of the Invention The various aspects of the present invention are all related to either robotic positioning systems or a machining system for performing various machining operations on a workpiece under control of a computer numerical control (CNC) system. The system in all instances positions an object such as a robotic manipulator, a machining tool or laser beam positioner at a desired orientation and aligns a operating point of a workpiece engaging portion of the object with predetermined selected points on the surface of the workpiece. In a preferred embodiment of the invention, the machining operations involve use of a laser beam to perform the machining operations although the various embodiments of the present invention are not necessarily limited to laser machining systems. A suitable CNC laser machining system is disclosed in U.S. Patent 4,555,610, assigned to the assignee of the present application. The machining system of U.S. Patent 4,555,610 is a system which moves a cutting head along three translational axes. Addition of a beam positioning head 12 to the x axis translational beam 20 of the machining system allows for rotational movement of nozzle 30 about additional axes C and D as shown in Fig. 1. Normal vector determining The ability to constantly monitor the distance between the nozzle and the surface of the workpiece provided using the sampled sensing apparatus above allows improved operation of the automatic focus control of a laser beam tool typically used for cutting or welding. The automatic focus control according to the present invention differs from prior systems by using the existing x y z system axes upon which the two rotary axes C and D ride to effect focus control, or, a by controlling a constant gap between the tip of the nozzle and the workpiece. Since the direction of the beam delivered by the positioner is a function only of angles C and D, as shown in Fig. 3, the laser process controller or computer uses the C/D angle data to produce a vector equal to using the three linear axes. Vector translation in this case is parallel to the direction of the beam. The capacitive sensor of Fig. 2, as illustrated in Fig. 4, measures the capacitance between the nozzle tip and the workpiece and the servo position loop of the CNC, and causes the linear axes of the machine to move in the direction of the vector to maintain a constant value of capacitance and hence a constant distance between the nozzle tip and the part as the nozzle is moved across the surface of the part in response to the machining program. With the automatic control of the present invention, the location of the focal point is always known and it is used to compute the amount of travel required of the linear axes to achieve a constant gap. The control methodology of the present invention contrasts with other types of focus control known in the prior art which use a small linear servo system to move the lens and nozzle assembly on the beam axis only in order to keep a constant gap between the nozzle tip and the workpiece. In such systems lens/nozzle servo has a limited range, typically 0 ±0.2 inches (± 0,5 cm) from nominal, and operates independently of the part program. Thus the location of the focal point is known only when the lens servo is in its nominal or "no error" position, a situation which is not usually the case or focus control wouldn't be needed. The success of the method of measuring the part surface normal vector in accordance with the present invention depends on two distinguishing features of the inventive system. 1. The location of the focal point in space is always known due to the unique AFC method. 2. The ability to establish a new focal coordinate system whose normal is the axis vector, e.g. the direction of the beam. The local coordinate system has coordinates which are uniquely transformable back to the xyz coordinate system of the machine, as shown in Fig. 5. A point in uvw local space can be written in vector form, as = ( . ) + ( . ) + ( . ) where "." indicates the dot product, a scalar. Thus ( . ) is the component of , etc. The focal point becomes the origin of the new coordinate system and is also known in the machine coordinate system. Likewise , and are known in terms of the machine coordinate system. A point programmed with respect to the origin (0,0,0) of the local coordinate system can be translated into the machine coordinate system at will. Steps for finding unit normal vector: 1. The beam positioning head ( axis) is pointed approximately normal to the part surface after translating the focal point of the laser beam to the correct point, usually a point located on a scribed line on a part to be processed. This is the usual teaching process. 2. At this point a plane is set perpendicular to the beam positioning head axis and a local orthogonal coordinate system is established based on user criteria but where = - . The focal point becomes the origin of the new coordinate system. 3. A part program for the machine is then written in the local coordinate system with respect to its original focal point. The program is written to define three points on the part surface in the u/v plane which must be non-collinear and preferably equidistant from the local origin. The distance from the three points to the origin is user selectable, as will be explained later. See Fig. 6. The part program causes the beam positioning head focal point to move from the origin to point , and while under automatic focus control, while maintaining a constant gap between nozzle and workpiece, and the coordinates of all points P 1 , P 2 , P 3 plus the focal point are then recorded for each point. These three points define the actual plane of the part surface, a plane whose normal vector is the unit normal vector. The points may be recorded in either coordinate system so each point in one coordinate system in transformable into the other. What is important is that the part program be executed in the local coordinate system with AFC on to avoid collision between the nozzle and the part since the part program was written in the , plane (e.g. w = 0), the part surface itself will not generally be in the uv plane unless a perfect guess was made and = - exactly. AFC then, causes the plane of the part to be measured, since the gap between the nozzle and the part is constant. 4. A vector is established from to and a second vector is established between and . See Fig. 7 9. Vector X produces a vector normal to the plane of the part and where I, J, K are the components of the unit normal vector and is the true unit surface normal vector. In this case, it is important that the points be programmed in order with counterclockwise rotation or else the crossproduct will reverse direction. 5. The objective now is to cause the C and D axes to move, by changing their angles, in such a way as to cause to equal - n , the true normal vector, thus causing the beam positioning head to sense the surface normal vector and automatically align itself to it. A number of relationships exist for relating angles C and D to the unit normal vector, . Among them: C = - tan -1 (I/J), D = - sin -1 (K) where I, J and K are the components of the calculated unit normal vector in the machine coordinate system. When angles C and D are changed to the new calculated values, then vector will be parallel to and point is the opposite direction, e.g. = . 6. The programmed radius of points , , above the data point which is the origin of the local system provides a good estimation of at the origin if the radius is small compared to the radius of curvature of the part at that point. However, if the radius is too small, changes in height of the nozzle above the part, due perhaps to slight focus control errors in the direction will cause larger relative angular movement of than if the radius were larger. See Fig. 8, which shows that is deflected a much greater amount with a constant error δ in sensing the true part surface. We have found that a radius of .05" for the points surrounding the taught point is satisfactory in most instances. What is important is: 1. Knowing the coordinates of the focal point while under control. 2. Establishing a local coordinate system whose origin and focal point (a desired point on the part surface) and the orthogonal system is known with respect to the machine coordinate system. 3. Writing a part program in the local coordinate system to cause the machine to move to P 1 , P 2 and P 3 and record the coordinates with AFC active to avoid collisions between the nozzle and the part. 4. Defining the true unit normal vector as the cross product of the vectors 5. Causing angles C and D to change to the new coordinate values such the new = - . Note that 3 above allows a standard part program defining , and be written regardless of the orientation of the beam positioner head.As an added refinement, one could allow points , and to be taken in any order or any rotation (clockwise or counterclockwise, e.g. CW or CCW) if the following test is made. (This could occur if manual teaching of P 1 , P 2 and P 3 were done).We expect that the calculated normal vector will be of opposite sign of the taught axis vector since they are pointed roughly 180° from each other. Thus the dot product of and , • should be <0. If it is not, then the sign of the cross product should be reversed since it was taken in the wrong order or rotation. e.g.:

Claims: A method for determining a unit normal vector at a point on a surface of a workpiece, applied in a system for a robotic control of an operating point of a workpiece engaging portion of an object along orthogonal object translation axes x, y, and z and orthogonal rotational axes C and D of a multiaxis object positioning apparatus, said method comprising the steps of: a) positioning an operating point of the workpiece engaging portion of the object at a reference point on the surface of the workpiece; b) adjusting the C and D object positioning axes to orient a major axis of the object substantially normal to the surface of the workpiece and the x, y, and z axis to position the operating point of the workpiece engaging portion of the object coincident with the reference point to orient the major axis, of the object approximately normal to the surface of the workpiece at the reference point; c) defining a local orthogonal coordinate system u, v, and w where is the unit normal vector of the workpiece, is aligned with the by varying the C and D axis rotations and the origin of said local coordinate system is positioned coincident with the operating point of the workpiece engaging portion of the object by variation of the x, y and z axis positions; d) creating an object moving program in the local coordinate system to move the operating point of the workpiece engaging portion of the object to three points P1, P2 and P3 on the workpiece surface which are non-collinear and define a plane to which the true unit normal vector is normal, said points positioned preferably equidistant from the origin of the local coordinate system; e) executing the object moving program in the local coordinate system while the object positioning apparatus is active thereby to avoid collision between the object and the workpiece and while recording the coordinates of the x, y, z, C and D axes at points p1, p2 and p3 while the object moving program maintains constant positioning of the operating point of workpiece engaging portion of the object relative to the workpiece surface; f) computing the orientation of a true unit normal vector to the workpiece at the reference point by calculating the cross product of the vectors v1 between P1 and P2 and v2 between P1 and P3, or g) adjusting the angles of C and D rotational axes to orient of the workpiece engaging portion of the object such that an adjusted is aligned with and in opposition to the unit normal vector at the reference point of the workpiece. The method of claim 1 wherein the object is a laser beam tool and the tool workpiece engaging portion is the focal point of a laser beam delivered by the tool and the laser beam is aligned with the major axis of the tool. The method of claim 1 wherein the operating point of the workpiece engaging portion of the object is a rotating tool for performing a machining operation on the surface of the workpiece. The method of claim 2 wherein the object moving program is an automatic focus control.

Inventors: MARTIN DAN, SCHMIDT H ROBERT, MARTIN, DAN, SCHMIDT, H. ROBERT
Applicants: LUMONICS CORP, LUMONICS CORPORATION
Application year: 1993
Main classification: B23K26
IPC codes: B23K26