Device and method for determining the location and orientation of a drillhole
BACKGROUND OF THE INVENTION 
     The invention pertains to apparatus and methods for teaching a robot the position and orientation of drillhole centerlines, by examination of drillholes in a master part, so that the robot can perform a drill sequence in additional workpieces so as to produce production parts corresponding to the master part. 
     Techniques for programming a robot to carry out a drill sequence based upon numeric control information are well known, but it is time consuming and somewhat difficult even for a skilled person to develop such control information mathematically, especially when the position and orientation of the holes relative to the master part are not available in computer-readable form. Techniques also have been worked out for teaching a robot a drillhole configuration based upon manual sequencing of probing actions on a master part. During a single pass through the drill sequence under control of the human operator, the robot learns the sequence, and can thereafter duplicate the sequence. The drawback of this procedure is that it requires a skilled operator a significant period of time to go through the proper drill sequence. Under certain circumstances the operator will not be able to view the master part properly or have the dexterity in control required to locate the drillholes properly and particularly may not have the capability to provide the proper pitch and yaw coordinates to match the drillhole in the master part. 
     Most drillholes are drilled normal to the tangential plane of the hole or its approximation at the point of entry, which may be termed the &#34;scribe crosspoint.&#34; 
     In a typical robot hole drilling application, it is important that the robot orient the drill along the desired centerline of the drillhole and move the drill along the centerline while drilling the hole. Improperly locating the drill bit will cause the hole to be drilled in the wrong place; misorientation of the drill relative to the drillhole centerline will cause the hole to be misdirected; misorientation of the drill bit relative to the surface being drilled might cause the hole to be misshapen. The drill bit must contact the surface of the workpiece at a predetermined scribe crosspoint having determinable X, Y, Z coordinates in relation to the workpiece, and the drill axis must be controlled in pitch and yaw to follow the desired centerline orientation. In most drilling operations, the depth of the drillhole is not critical. 
     In order to use a robot drilling system, data is necessary to determine the scribe crosspoint surface position and centerline orientation of each hole to be drilled. If this data is unavailable in a design data base, then the data must be derived through some form of teaching. Furthermore, teaching may be necessary, even when design data is available, in order to compensate for positional inaccuracies in the robot itself. 
     Sophisticated programmable robots are capable of using drillhole coordinates relative to the coordinate system of the workpiece to be drilled. Sensory data and calibration software are then used to locate the workpiece and to compute how to position the robot&#39;s joints so as to provide proper juxtaposition of the workpiece and the drill bit. A teaching session for such robot drilling systems involves the following steps: 
     (1) Set up a master part at the robot drilling station. 
     (2) Calibrate the master part coordinate system. 
     (3) Teach the coordinates of each drillhole relative to the master part and store these coordinates for future playback. 
     The standard method of teaching drillhole coordinates is to operate the robot as a teleoperator, positioning the drill manually at each hole to be drilled. This procedure has a number of disadvantages as follows: 
     (1) It is tedious and time consuming. 
     (2) Its accuracy is limited, especially for determining drillhole centerline orientation. 
     (3) It may be necessary for the person doing the teaching to place his head inside the work envelope of the robot in order to see the precise relation of the drill bit to the drillhole in the master part. This may constitute a safety hazard. 
     Techniques in the prior art have been developed using special targets to ascertain the coordinates of the desired drillhole axis, by multiple contacts with a multiple probe under computer control, after an initial approximate orientation is made by manual control. D. M. Lambeth, &#34;An Approach to Tactile Feedback Programming for Robotic Drilling,&#34; Robot VI Conference, Society of Manufacturing Engineers (MS82-120), Mar. 2-4, 1982. 
     SUMMARY OF THE INVENTION 
     The invention provides a drillhole centerline determining interposer having a pocket, and a method using the drillhole centerline determining interposer to provide for relatively quick and efficient teaching of the position and orientation of drillhole centerlines to the robot by probing the interposers without actually contacting the master part. The advantage of the invention is that rough positioning can be made to the central pocket in the interposer, and exact positioning of the probe can be made with respect to the pocket accurately at a greater speed than with previously available methods and without danger of injury to the operator or damage to the master part through contact from the probe. 
     Another advantage is that the drill bit can be used as the probe, and that the same probing actions can be used both to calibrate the part and to locate and orient the drillholes. 
    
    
     DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a semischematic isometric view of a representative master part, the drillhole centerline determining interposer in place within a drillhole in the master part and the probe at an initial position above the approximate center of the drillhole centerline determining interposer. 
     FIG. 2 is an explanatory diagram of the drillhole centerline determining interposer, its platform plane and its contact plane. 
     FIG. 3 is an elevation cutaway view of the drillhole centerline determining interposer (in position in the master part) for teaching a robot the position and orientation of desired drillholes. 
     FIG. 4 is a composite drawing (FIGS. 4.1, 4.2, 4.3 and 4.4) showing the method of using the drillhole centerline determining interposer in teaching the robot. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The drillhole centerline determining interposer configuration and method according to the invention provide a simple and inexpensive multidimensional locating technique for a teachable robot drilling apparatus. 
     The technique of this invention combines simple sensors with programmable robot control to improve the teaching of drillhole coordinates, making use of a central cavity in each drillhole centerline determining interposer. The same location technique is usable both to calibrate the coordinates of the part (master part or workpiece) and to locate and orient the drillholes. 
     FIG. 1 shows a typical apparatus for use in teaching drillhole coordinates for a drilling application. In FIG. 1, master part 1 is located in a work envelope 2 in an orientation which may be fixed as shown in FIG. 1 on support pedestals 3 or may be variable but teachable to the robot. The location technique described in this invention may also be used to locate the part. With master part 1 fixed in place (or determined in space by coordinates known to the robot computer) it is desirable to train the robot. The robot includes a computer 4, positioning mechanism 5 and probe 6. Prior to the teaching operation a drillhole centerline determining interposer 7 according to this invention is placed in each of the several drillholes in the master part 1 for which it is desired to teach the robot the drillhole position and orientation information. Alternatively, a single interposer may be placed into each drill hole, in turn, before that hole is taught. Interposer 7 provides all necessary information to the probe 6 so that probe 6 need never actually contact master part 1. Depending on the requirements of the probe, interposer 7 may provide a fixed object for mechanical probing or, in the case of electrical probing, interposer 7 is provided with suitable electrical connection such as connection 8 to the computer. The interposer is held in place by a suitable mounting means such as mounting pin 9 so as to present a platform 10 which is normal to the drillhole axis, which is also the axis of pocket 11. 
     FIG. 2 shows the drillhole centerline determining interposer 7 in greater detail. Interposer 7 is generally a mushroom shape with its head forming a planarization platform and with its stem formed by mounting pin 9. Pin 9 is located perpendicular to the top surface of planarization platform 10. Planarization platform 10 has a central cavity 11, with the center of cavity 11 being on the centerline of pin 9 and by inference on the centerline of the drillhole, once pin 9 is inserted snugly into the drillhole of the master part. The drillhole centerline axis (shown by broken line 12) is perpendicular to the surface plane of planarization platform 10 of interposer 7, which platform plane is shown by broken lines 13. A second plane parallel to platform plane 13 is identified by broken line 14. Plane 14 is parallel to platform plane 13 and at a known distance below it so as to rest on the surface of master part 1. Plane 14 may be designated the contact plane. The bottom of the cavity is parallel to platform plane and at a known distance. Coordinates identifying interposer platform plane 13 relative to the master part and coordinates identifying the position of the center of the interposer pocket relative to the master part, thus fully define the (XYZ) location and the (pitch and yaw) orientation of the drillhole. Compliant material 15, while not always necessary for proper operation, helps to hold the interposer in position and helps to protect the master part and the probe from damage. The pin-in-hole contact provides a very good centerline determination where the master drillhole in the master part is deep enough to align precisely the interposer mounting pin 9 with drillhole centerline 12. For thin materials, or shallow holes, contact by the compliant material determines the contact plane. In certain situations, pinless interposers may be used, cemented or held magnetically in place, by mounting means alternative to mounting pin 9. 
     FIG. 3 shows in semidiagrammatic form a cutaway of interposer 7 in place in a drilled hole in master part 1 and in position for a teaching operation. Robot probe 6 is shown in phantom. Pin 9 is in place, positioned snugly in the hole in the master part, and backed by compliant material 15 so as to define rigorously the position of the desired drillhole. Planarization platform 10 of interposer 7 fully determines platform plane 13. The key is to locate the interposer with the cavity centered over the drillhole centerline and the contact plane perpendicular to the centerline axis. Cavity 11 is a conical section, circular in cross-section so as to present sides undercut as shown in FIG. 3. The conical section is not critical for most operations. The cavity may be cylindrical or tapered, but the inverted conical section is preferred. With the inverted conical section, when probe 6 is inserted and searches sideways, the probe contacts the side of the cavity unambiguously in platform plane 13. Interposer 7, when positioned as shown in FIG. 3, provides a rigorous location of the drillhole centerline and surface scribe crosspoint position. Any surface normal vector to platform plane 13 is parallel to the drillhole centerline axis. The orientation vector thus is parallel to the orientation vector for the drillhole, even though it may be at a finite distance from the XY location of the drillhole centerline axis. 
     Compliant material 15 is selected from rubber or a similar pad material which exhibits quick recovery time and low hysteresis, so as to minimize the introduction of errors into the drillhole centerline axis calculation. 
     Voltage input circuit 16 provides computer 4 with contact information. 
     ALTERNATIVES 
     The drillhole centerline determining interposer does not demand that any particular form of sensing be used. Contact or proximity sensing may be by any number of alternatives such as strain gauges, ultrasonic probes, electrical continuity, capacitance, etc, which may be generically described as means for sensing proximity, proximity in its wider meaning including both actual touching and near approach. For ease of understanding only, interposer 7 is shown grounded by lead 8, in an electric contact sensing digital input point on the robot controller. The other input is attached to the probe lead of the robot. Contact between probe 6 and the surface 10 of interposer 7 completes the circuit. That is, the robot controller senses contact between probe 6 and platform 10 of interposer 7 and converts this sensing information to positional coordinates. 
     The interposer may be mounted in place on the master part by adhesive or magnets as mounting means, even though no hole has been drilled in the master part, and still determine the drillhole. In this case, the drillhole orientation is determined by the contact plane 14. 
     The contact sensing mechanism may be located in the probe or in the interposer (for example, by mounting a piezoelectric strain gauge between the platform surface and the contact surface with electrical leads to the computer) or may involve both the probe and the interposer. 
     A probe-sensible physical feature other than cavity 11 (for example, a mesa on top of the planarization platform) can replace the cavity, with complementary probing actions, but more care must be taken, and a cavity is preferred. The probe-sensible feature must include an epicenter derivable from probing actions ascertaining its periphery. 
     METHOD 
     This invention provides a means by which programmable robots can learn drillhole coordinates and store these coordinates relative to the coordinate system of the workpiece. Sensory data and calibration software are then used to locate the workpiece and to compute how to position the robot&#39;s joints so as to position the drill. A teaching session involves the following steps: 
     1. Set up a master part within the robot work envelope. 
     2. Calibrate the master part coordinate system. 
     3. Teach each drillhole. 
     4. Compute coordinates of each drillhole relative to the master part and store the coordinates for future playback in drilling workpieces to match the master part. 
     Coordinates and vectors are automatically taken during each probing action and suitable data is preserved to define all probing actions. 
     FIGS. 4.1-4.4 diagram the method of teaching each drillhole using the drillhole centerline determining interposer and method of this invention. 
     Step 1. Preparation 
     A master part is placed in the work envelope of a teachable robot and fitted with one or more drillhole centerline determining interposers. The coordinate system of the master part is determined. The teaching method of this invention may be used to determine the coordinate system of the master part by locating selected holes on the part or on the fixture holding the part. 
     Step 2. Initial Axis Selection 
     The coordinate system of the master part having been determined, the operator positions the robot on an initial axis manually or through numeric control. The operator selects an initial axis in which the probe is approximately aligned with the centerline axis of the selected drillhole centerline determining interposer and in which the probe tip is located in or above the pocket of the selected drillhole centerline determining interposer. This establishes an initial probe position at the approximate position and orientation of the desired drillhole centerline. 
     Step 3. Planarization 
     Three probing actions grouped around the initial axis determine plane 13. Each such probing action consists of the following substeps: 
     (a) An approach line is calculated. This approach line is parallel to the initial axis and chosen so that it unambiguously intersects the top surface of planarization platform 10, and not the inside of the cavity. The preferred embodiment selects approach lines 2.5 times the cavity radius from the initial axis, and uses a platform radius equal to 5 times the pocket radius. The specific ratios and geometry should be chosen in accordance with the maximum expected initial misalignment, the geometry of the master part, and the precision of the robot. 
     (b) Keeping orientation, the probe tip is moved to a point on the approach line that is high enough to be unambiguously clear of planarization platform 10. 
     (c) Keeping orientation, the probe is moved downward along the approach line until it contacts planarization platform 10. 
     (d) Keeping orientation, the probe is backed off a short distance and then moved at low speed along the approach line for a second, more accurate contact. Alternatively, the probe may be backed off slowly until contact is broken. This substep may be omitted if the latency between actual contact and response is extremely short. 
     (e) Substeps a-d are repeated for a sufficient number of probing actions to provide a satisfactory determination of the platform plane of platform 10 of the drillhole centerline determining interposer 7. Three points determine the plane, but additional probing action iterations improve accuracy through use of statistical parameter estimation techniques. 
     Step 4. Orientation Vector Calculation 
     The direction of the orientation vector perpendicular to interposer planarization platform 10 is computed from the three or more contact points determined by the probing action substeps of step 3. This vector is parallel to the drillhole centerline axis and passes through the platform plane at the point where the initial axis intersects the platform plane, ensuring entry into the pocket. 
     Step 5. Reorientation 
     The probe is reorientated to the orientation vector parallel to the undetermined drillhole centerline axis. If desired, steps 3-5 may be repeated using the new orientation to verify that the correct orientation has been determined. 
     If this orientatation involves a large change in orientation, steps 2-5 are reiterated. This iterative procedure results in finding three or more new contact points, and the surface determination is repeated. This iterative procedure reduces the likelihood that imperfections in the probe tip will cause erroneous readings. This is especially important if a drill bit is used as the probe. 
     Step 6. Repositioning 
     The probe is oriented to the orientation vector and moved along its own axis to a point unambiguously within the pocket 11 of drillhole centerline determining interposer 7. 
     Step 7. Cavity Probing 
     The probe then is directed to take probing actions to search for contact points between the sides of the probe and the lip of the cavity. The search pattern includes the following substeps: 
     (a) Keeping orientation, move in the plane perpendicular to the drillhole centerline axis until the probe contacts the cavity lip. 
     (b) Keeping orientation, move in the opposite direction until the probe contacts the cavity lip. These two actions (7a and 7b) define a chord of the circle formed by the cavity lip in the platform plane of the surface of planarization platform 10. 
     (c) Keeping orientation, move the probe along the chord to the midpoint of the chord and repeat the two searches within the same plane and perpendicular to the chord. These actions define a diameter of the circle formed by the lip of the cavity. The midpoint of this diameter is on the drillhole centerline axis. 
     (d) Iterate a, b, c for better precision. 
     Step 8. Bottom Finding 
     Keeping orientation, move the probe along the drillhole centerline axis downward, searching along the drillhole centerline axis until the probe contacts the bottom of the cavity. This point lies on the drillhole centerline at a known distance above the surface of the master part. Alternatively, the drillhole surface scribe crosspoint coordinates may be calculated from the drillhole centerline axis determined in steps 1-7 and the contact plane located in steps 3-4. Calculations derived from these probing actions rigorously define the XYZ location (surface scribe crosspoint) at which the drill bit is to contact the workpiece and also rigorously define the pitch and yaw coordinates required to duplicate the orientation.