Abstract:
In order to determine a virtual sensor tool center point sensor TCP of a light section sensor, the invention provides that: the sensor TCP is placed in sufficient concordance with a point on a line on a surface a so-called feature of a reference part with a known location; a normal to the surface of the reference part is determined; the Z direction of the sensor is brought in concordance with the normal of the surface of the reference part, and; a defined alignment of the sensor with the line of the feature is determined.

Description:
BACKGROUND 
     The invention relates to a method for determining a virtual tool centerpoint in reference to a known coordinate system of a robot that has a measuring sensor for measuring objects, and a corresponding control device. 
     Virtual tool centerpoints (TCPs) refer to spatial coordinates and orientations that lie for example outside of real bodies such as a tool. Such points are located freely in space, and because they lack any reference to real bodies a robot cannot move to them directly. In laser processing by robot, for example, a virtual TCP lies in the focus of the laser; that is, it is located freely in space and not at a geometric point on a real body. Light section sensors are used for example by preference for readjusting during laser processing. 
     Light section sensors are employed to register surfaces by means of static triangulation. Here a semiconductor laser uses a linear optic unit such as a cylinder lens to produce a flat-fanned laser beam in the form of a light curtain, which strikes an object of measurement and is reflected at the so-called triangulation angle to a camera with signal processing, such as a CCD array. A signal processor analyses the laser lines reflected from the object of measurement to determine the spatial position of the object and any edge transitions. The light section sensor can thereby provide interval measurements and profile sections of the measured object. 
     Before the values provided by the light section sensor can be used to control a robot or to correct its robot program or for a machine in general, the measured values initially provided by the light section sensor must be made available to the robot in the latter&#39;s robot coordinate system, or else in the world coordinate system that is related to the latter in a known way. In so doing, a virtual sensor tool center point—sensor TCP—is defined, whose position is defined in the sensor coordinate system. 
     In particular after detaching the light section sensor and re-attaching it to the robot arm, for example after the failure of a sensor, and/or in more general terms when the attachment position is not clearly defined, the location of the sensor TCP relative to the robot coordinate system or world coordinate system has usually shifted. This shift is not known at first, and according to the invention is to be determined by simple means. 
     BRIEF SUMMARY 
     The object of the invention is therefore to specify a method whereby the position of a virtual sensor TCP relative to the robot or world coordinate system can be determined in a simple way. 
     Position is understood to mean at least the spatial position within a known coordinate system such as X, Y, Z. It can also include the orientations in space, such as the rotations A, B and C around the X, Y and Z axes. 
     According to the invention, the named problem is solved in a method of the type named at the beginning by determining the position of the virtual tool center point in reference to the known coordinate system of the robot from the known position of the virtual tool center point in reference to a sensor coordinate system and a determination of the robot axis positions for a robot position in which the virtual tool center point lies at a measuring point of a reference component. 
     Known coordinate systems of a robot are for example the world coordinate system, the so-called robot coordinate system, and the manual coordinate system. The positions of the robot axes are preferably measured through teaching, by means of teach functions implemented in the robot control system. 
     The invention also provides for the determination of a virtual TCP by means of a light section sensor in that the virtual TCP, whose position in the sensor coordinate position is known, is brought to an adequate match with a measurement point, also referred to below as a feature, for example of a reference component, this feature being in a special application case a “joint geometry,” one of the types of welded joint construction, for example an overlap joint, in which two flat parts lie with one of them partially flat on top of the other; a T joint, in which a first flat part is situated perpendicular to a second flat part and the end face of the first flat part is in contact with the flat plane of the second part; or an I joint, in which the end face of the first part is in contact with an end face of the second part in such a way that that both parts are lying in the same plane. As a generality, the measurement point or feature could possibly also be referred to as a “discontinuity” in the pattern of the surface. Geometrically, it is then defined as a line or edge on a plane with a defined face normal. 
     One formulation of the invention provides for the perpendicular to the plane of the component to be determined by triangulation. 
     A preferred formulation of the method according to the invention provides that the virtual tool center point be moved to the measurement point of the reference component on the basis of measurements from the measuring sensor, where in particular the sensor is moved into spatial proximity with the measurement point of the reference component, at which position the measurement point is registered by the measurement sensor; that a difference of position between the virtual tool center point and the measurement point in the sensor coordinate system is determined by means of at least one positional value (Y MESS , Z MESS ) measured by the measurement sensor; and that the virtual tool center point is brought into agreement with the measurement point in terms of position on the basis of that difference in position. Preferably, the sensor is brought into such spatial proximity to the measurement point of the reference component that the measurement point can be registered by the measurement sensor. A difference in orientation between the virtual tool center point and the measurement point is then determined in the sensor coordinate system by means of at least one orientation value (A MESS , B MESS , C MESS ) of the measurement point measured by the measurement sensor, and the virtual tool center point is then brought into agreement with the measurement point in terms of orientation on the basis of this difference in orientation. 
     Other alternative designs can provide that the agreement of the virtual tool center point with the measurement point be achieved by operating the robot until the virtual tool center point is located at the measurement point, or else that to simplify the manually controlled approach of the virtual tool center point to the measurement point a notification should be issued as to the manner in which the robot should proceed in order to reach the measurement point. 
     In the case of the first alternative, to simplify the manually controlled approach of the virtual tool center point to the measurement point, a notification is issued as to the manner in which the robot should proceed in order to reach the measurement point, while in the second alternative the agreement is achieved through automated operation of the robot until the virtual tool center point is located at the measurement point. 
     When light section sensors are used by preference as the measurement sensors, the measurement values from them are used to determine at least two (Y MESS , Z MESS ) of the three spatial coordinates of the measurement point in the sensor coordinate system, and the third spatial coordinate is determined by an intersection of a straight line extending through the measurement point in the direction of the third spatial coordinate and the plane of a light curtain of the light section sensor. 
     It is thus possible by means of the measurement values from the light section sensor to determine a perpendicular (Z MESS ) to the surface of the reference component, and furthermore to bring a coordinate direction (Z SENS ) of the sensor coordinate system into agreement with the perpendicular (Z MESS ) to the surface of the reference component by aligning the light section sensor to the measurement position. 
     A preferred refinement of the method provides in addition that the measurement point is located in a line or at an edge in the surface of the reference component, and that a planar light curtain of the light section sensor is rotated around a perpendicular to the surface of the reference component until the step response of the light section sensor caused by the line or edge disappears and this orientation forms a first angular position; that the light section sensor is rotated in the opposite direction until the step response of the light section sensor caused by the line or edge again disappears and this new orientation forms a second angular position; and the angle bisector between the first and second angular positions is registered as the relevant angular orientation. 
     The invention also includes, in particular to carry out the method according to the invention, a control device with a display means that is designed to depict the spatial position of a virtual tool center point. 
     Preferred refinements of the control device according to the invention also provide that the display means is designed to display a notification about the direction in which the robot must proceed until the virtual tool center point comes to be located at the measurement point, and/or that the display means is designed to display a notification that shows when the virtual tool center point is located at the measurement point. 
     The invention enables teaching at a virtual TCP, which is not visible to the human eye and therefore cannot be moved to directly—mechanically—by the robot programmer. By means of the method according to the invention, the light section sensor “sees” for the robot programmer. This can be depicted visually at the control unit in such a way that the robot programmer can move to the virtual TCP by means of the depictions at the control unit. 
     Additional benefits and features of the invention derive from the claims and from the description below, in which one exemplary embodiment of the invention is explained in detail with reference to the drawings. The figures show the following: 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1 : a depiction of a robot according to the invention with a light section sensor attached to the robot hand, and a reference component with a feature whose position in space is known; 
         FIG. 2 : an enlarged depiction of the light section sensor with the reference component of  FIG. 1 ; 
         FIG. 3 : the light section sensor of  FIG. 2  in a side view; and 
         FIG. 4 : a control device according to the invention. 
     
    
    
     DETAILED DESCRIPTION 
     An industrial robot  1  has in a known manner a base  2 , a carousel that is rotatable around a vertical A 1  axis, a rocker arm  4  that is pivotable around a horizontal A 2  axis, and a robot arm  5  at the free end of the latter that is pivotable in an articulated manner around a horizontal A 3  axis, with a hand  6  situated at the free end of the latter with three axes of rotation A 4  through A 6 . The free end of the hand  6  is formed by a flange  7 . As the hand pivots around the A 5  axis, the A 6  axis no longer matches the A 4  axis, which is true only in the special case of the extended position depicted in the drawing. 
     The flange  7  is used for attaching tools. In  FIG. 1  a light section sensor is attached to it. The light section sensor  8  has a light source, preferably in the form of a semiconductor laser, which produces a laser beam that is flat-fanned from its Y-Z plane—a light curtain  10 ; also a detector such as a camera, preferably in the form of a CCD array. 
     The light section sensor  8  has its own coordinate system. The Y direction Y SENS  and the Z direction Z SENS  in the sensor coordinate system are depicted in the figures, while the X direction X SENS  is oriented firmly perpendicular to the plane of the page in the depicted orientation. A virtual tool center point—TCP  15 —is assigned to the sensor at the location X TCP , Y TCP , Z TCP  in the sensor coordinate system. 
     Also depicted is a reference component  11  having a measurement point or feature  12 . In the specific exemplary embodiment the feature  12  consists of a step in a reference component  11 . The X coordinate X MESS  of the measurement point runs along the longitudinal course of the step. The Z coordinate Z MESS  of the measurement point runs perpendicular to the surface  14  of the reference component. 
     As can be discerned from  FIG. 2 , first the robot hand is moved by shifting the individual robot axes so that the feature  12  come into the field of view or viewing window of the CCD camera. The sensor then produces a signal that the feature  12  has been detected. This arrival in the target window can also be announced visually or audibly for example on an operating unit. As soon as the sensor has registered feature  12 , light section sensor  8  determines the position of feature  12  in both the Y direction Y SENS  and the Z direction Z SENS  of the sensor coordinate system. From the actual present position of feature  12  in reference to the coordinate system of light section sensor  8  and the mathematically known position of the virtual TCP  15  in reference to the coordinate system of light section sensor  8 , the difference in the positions of feature  12  and the virtual TCP is determined. Next, the robot arm is moved forward (+) or backward (−) in the direction Y SENS  or Z SENS  until the corresponding coordinates of feature  12  and of virtual TCP  15  are (adequately) matched. The robot can either be moved automatically by a control system, or a robot operator is requested to move the robot manually in an appropriate way. 
     The movement of the virtual TCP  15  to feature  12  in the Z direction Z SENS  of the sensor coordinate system until they agree at least approximately is accomplished in the same way, with the position of the feature in the Z direction Z SENS  being determined by light section sensor  8  according to the known method of static triangulation. 
     In this way the virtual TCP  15  is brought to agreement with the feature  12 ; this can be accomplished manually or automatically. 
     It is not necessary to achieve exact agreement, but rather a certain tolerance R is acceptable, with the breadth of tolerance being on the order for example of one to five times the sensor resolution, i.e. for example 1 mm. Exact positioning is not necessary, since despite the inexactness of the positions moved to, the actual location of the TCP can be calculated mathematically exactly by means of known three-point and four-point methods. 
     The third coordinate X is always zero, since light section sensor  8  produces a flat beam, that is, a light curtain that has no spatial extension in the X direction, i.e. that is infinitesimally small or thin. On the condition that the system has first produced a “Feature reached” and a signal, there is assurance that feature  12  is located in the Y direction in the plane of the light curtain of light section sensor  8 . 
     All in all, it is possible from the thus-measured actual present position of feature  12  in reference to the coordinate system of light section sensor  8  and the mathematically known position of the virtual TCP  15  in the coordinate system of the light section sensor to ascertain the difference in position between feature  12  and virtual TCP  15 , and to determine the position of the latter in the world or robot coordinate system. 
     In addition, it is possible to ascertain at least two of three angular positions. 
     To determine the first angular position, the flat sensor beam is first rotated around an X direction with respect to reference component  11  or feature  12 , as depicted in  FIG. 2 . As this is done, the normal of the surface of reference component  1  is computed by means of the known triangulation method of light section sensor  8 . The Z direction Z SENS  of the sensor&#39;s own coordinate system is known. Light section sensor  8  is pivoted, and during the pivoting the Z direction Z SENS  of light section sensor  8  is measured relative to the calculated normal of the Z direction Z MESS  of feature  12 . The motion continues until the relative angle between Z SENS  und Z MESS  reaches zero. Next, light section sensor  8  is rotated around its Y direction, as depicted in  FIG. 3 , and as this is done the distance between light section sensor  8  and feature  12  is measured. The rotation should be in the direction in which the measured distance values become continuously smaller. As soon as the measured values begin to grow larger again, the turning point is recognized at which the distance is smallest. In this rotational position, the Y direction of light section sensor  8  is vertical on reference component  11 . 
     Thus the Z direction Z SENS  of light section sensor  8  matches the Z direction Z MESS  of feature  12 . 
     In a further step, a second angle is determined. To that end, light section sensor  8  is rotated around its own Z axis Z SENS , with the known axis as the axis of rotation intersecting the edge of feature  12  with sufficient precision. As soon as the flat-fanned light beam of light section sensor  8  is in the Y direction Y MESS  of the edge, the step response in the signal produced by light section sensor  8 , which is otherwise there because of the edge, disappears, and the angular position is detected whereby the Y direction Y SENS  of light section sensor  8  is brought to a certain agreement with the Y direction of feature  12  or of the edge of reference component  11 . 
     To increase precision, light sensor  8  can be rotated again, in the same direction or contrary to the prior direction—this time for example by 180°—until the direction of the flat light beam again matches the edge, i.e. so that the step response again disappears. The angular position between the two registered (Y) angular positions, as a second angular position, is registered as the second angular orientation of the virtual TCP  15 . 
     The third angular position is derived in the Cartesian coordinate system as the perpendicular to the two previously determined angular positions. 
     The virtual TCP  15  is now congruent with feature  12  or with the measurement point, both in regard to its three orientations and in regard to its position in the Cartesian coordinate system. This position is then taught by the usual three-point or four-point methods, which gives an unambiguous determination of the position of the virtual TCP  15  in the robot or world coordinate system. 
       FIG. 4  illustrates a display means of a control device according to the invention. While numerical information is given in the left part and messages in the bottom field, the control device according to the invention is designed to indicate the spatial position of a virtual tool center point in the right part of the display means. In the illustration in  FIG. 4  the latter is not at the spatial position of a measurement sensor, but rather too far to the left and too far away. Accordingly, the identifiers in the display for “too far away” and “too far to the left” light up, signaling the absence of spatial proximity of the measuring sensor to a measurement point of a reference component and showing the direction in which the robot must travel to bring the virtual tool center point to the measurement point. The measurement sensor returns to the display the position of the feature relative to its coordinate step. The display is achieved by comparing the measured positions with the tool center point, which causes the necessary direction of travel to be indicated. When the measurement sensor comes into sufficiently close proximity to a measurement point of a reference component, and the measurement point accordingly is detectable by the measurement sensor, the area defined by the display of the measurement point can be depicted within the area defined by the light spots of the display, and thus a notification that the virtual tool center point is located at the measurement point (allowing for the specified tolerance or within adequate proximity).