Abstract:
In order to detect when a kinematic linkage ( 1 ) leaves workspaces (WS) and/or enters safe spaces (SS), using, little computing power, and therefore doing so more quickly, at least a part of the kinematic linkage ( 1 ) is modeled with a number of kinematic objects (K 1 , K 2 , K 3 , K 4 ), and a monitoring space (S) is specified, The number of kinematic objects (K 1 , K 2 , K 3 , K 4 ) is modeled in less than two dimensions D&lt;2. For each modeled kinematic object (K 1 , K 2 , K 3 , K 4 ), a geometric variable of a monitoring space (S) is modified by a distance (d 1 , d 2 , d 3 , d 4 ). Each distance (d 1 , d 2 , d 3 , d 4 ) is derived from at least one geometric parameter (P 1 , P 2 , P 3 ) of the modeled kinematic object (K 1 , K 2 , K 3 , K 4 ), The position of each of the number of kinematic objects (K 1 , K 2 , K 3 , K 4 ) is checked in relation to the modified monitoring spaces (S 1 , S 2 , S 3 , S 4 ).

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present application claims priority under 35 U.S.C. §119(a) of Austria Patent Application No. A50256/2016 filed Mar. 29, 2016, the disclosure of which is expressly incorporated by reference herein in its entirety. 
       BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
       [0002]    The present invention relates to a method for position monitoring of a kinematic linkage, wherein at least a part of the kinematic linkage is divided into a number of kinematic objects, and a monitoring area which will be monitored is prespecified. 
       2. Discussion of Background Information 
       [0003]    Since manufacturing processes using robots are increasingly carried out in smaller spaces, the workspaces of robots (also termed kinematic linkages more generally) often overlap with other objects, such as fixed installations, robots, machines or people. Kinematic linkages include both serial kinematics and parallel kinematics, as well as mixtures thereof, wherein serial or parallel kinematics have a number of joints connected to each other in series or in parallel via rigid connecting elements (e.g., a tripod or hexapod). Therefore, in order to guarantee smooth operation, it is necessary to ensure that no collisions occur between a robot and other objects in these shared workspaces. Likewise, the robot, or parts thereof, often must remain within, or must not pass through, areas which are defined for robots, or are defined as safe spaces. In particular, the protection of people and objects must be ensured due to high, and increasing, safety requirements. 
         [0004]    Various models of collision monitoring already exist, and usually pose a compromise between accuracy, flexibility and the required computational performance. In most cases, both robots (or their parts) and workspace boundaries are approximated by means of geometric bodies (spheres, pyramids, voxels), and a continuous monitoring during the movement of the robot determines whether there are spatial overlaps between these geometric bodies. This ensures that a robot does not leave a certain workspace and/or does not enter a certain safe space. This is usually accomplished by calculating intersecting points/lines/areas of geometric bodies (e.g., between a robot arm and a safe space). However, this is computationally demanding. DE 10 2007 037 077 A1, for example, determines whether a three-dimensional envelope end enters a boundary zone in a future pose. DE 10 2004 019 888 B2 models robot parts in the form of balls and also checks the penetration of the balls into safe spaces. However, particularly in the field of safety, lower computational demands, and thus a fast response time, are desirable. The lower the reaction time, the later the robot will react to critical situations. 
       SUMMARY OF THE EMBODIMENTS 
       [0005]    Therefore, embodiments of the present invention are directed to a method for recognizing when a kinematic linkage leaves workspaces and/or enters safe spaces, with lower computational demands which result in a faster recognition. 
         [0006]    Accordingly, embodiments of the invention are achieved by modeling a number of kinematic objects with less than two dimensions D&lt;2, wherein for each modeled kinematic object at least one geometric variable of the monitoring space is modified by a distance, wherein each distance is derived from at least one prespecified geometric parameter of the modeled kinematic object. The position of the number of kinematic objects is checked in relation to the modified monitoring spaces. The geometric size preferably corresponds to a geometric dimension of the monitoring space. Therefore, the expansion of the monitoring spaces changes as a result of the change in the geometric quantity. 
         [0007]    By way of example, the maximum diameter or the maximum spatial extent of a modeled part of a kinematic linkage can be specified as parameter. In this case, the distance of the monitoring space is found from the defined parameter in the form of the maximum diameter or the maximum spatial extent, using a known relationship—by way of example, by the distance corresponding to half the maximum diameter. 
         [0008]    In the case of a rectangular modeled part of a kinematic linkage, the maximum diameter can be calculated as parameter, by way of example from two further parameters in the form of the side lengths of the rectangle. The distance can then in turn be calculated from the parameter, using a known relationship, in the form of the maximum diameter. 
         [0009]    At least one kinematic object can represent a part of the kinematic linkage, and/or a space outside the kinematic linkage. However, in contrast to known methods, no kinematic object is modeled as a three-dimensional geometric body. Instead, relevant geometric information of the modeled kinematic object (by way of example, dimensions of a robot arm, tool, etc.) is utilized and applied to the monitoring space (the allowed workspace or the forbidden safe space) being monitored. In the context of this method, the monitoring space is increased (in the case of the safe space) or reduced (in the case of the workspace). The consequence of this is that there is no need to compute intersecting points of two three-dimensional geometric bodies—only to compute the intersecting point of a kinematic object having less than two dimensions (point or line) with a zero-, one-, two-, or three-dimensional monitoring space. Thus, for each modeled kinematic object, the relevant monitoring area is modified by inserting subtracting a distance, but the kinematic object itself is not modified. For this reason, the kinematic object need not be treated as a two-dimensional or three-dimensional object. The distance can be inserted on all sides of the monitoring space, or even only on individual sides and/or the sides facing the kinematic object. This safety monitoring is preferably absolutely independent of the dynamic properties of the kinematic object (for example, the robot), such as mass, inertia etc., and independent of the current or future path of the kinematic object under consideration. 
         [0010]    At least one kinematic object can be modeled in zero dimensions. In this way, the number of kinematic objects constitute points—for example hubs of a robot joint, tips of a tool, etc. 
         [0011]    At least one kinematic object can be modeled in one dimension. 
         [0012]    The kinematic object in one dimension can be composed of two modeled point-shaped kinematic objects in zero dimensions, and a defined distance between them. 
         [0013]    The monitoring space being monitored can be represented by a point, a line, an area or a body, and can also be composed of individual sub-monitoring spaces which must then be monitored in each case with regard to the number of kinematic objects. 
         [0014]    Advantageously, the monitoring space represents a safe space, such that the size of the safe space is increased by the distance for each modeled kinematic object. If the safe space is a rectangle and/or a cuboid, the rectangle and/or the cuboid is thus increased by the distance computed from the geometric parameter of the kinematic object—for example by extending the rectangle sides and/or cuboid sides by the distance. In doing so, the corners of the rectangle and/or the cuboid can again become corners, or can be rounded. 
         [0015]    Alternatively, the monitoring space represents a workspace, such that the size of the workspace is reduced by a distance. For example, if the workspace is a rectangle, the rectangles (for example, the side lengths or half the side lengths, . . .) are each reduced by the distance specified by the geometric parameter of the kinematic object. 
         [0016]    This modification can be carried out on all sides of the monitoring space—both in the case of a workspace and a safe space—or on individual sides, such as the side facing the object. If the monitoring space is a circle, the radius and/or diameter of the circle can be modified by the distance, or the radius and/or diameter of the circle can be modified only in the direction of the object, thereby naturally deforming the circle. The same considerations apply, of course, to other monitoring spaces of two dimensions, as well as to monitoring spaces of one dimension (lines) or three (bodies). 
         [0017]    The geometry of the monitoring space to be modified is determined in advance, but can also be modified during operation. In principle, the monitoring space is defined by the kinematic linkage itself, and by the movement of the kinematic linkage which will be performed (permitted range of motion, obstacles). However, this basic geometry can also be adapted, for example by means of an expected deviation between a computed position and a real position of the modeled kinematic object. This expected deviation can again be established via known error reaction times, difference quotients, discretization errors, extrapolation inaccuracies, computational inaccuracies, sensor and/or coupling resolutions, offset errors, mechanical deformations, etc. 
         [0018]    The distance for each kinematic object may be present in a kinematic table, for example, which uniquely assigns a distance to the kinematic object for the workspace in question. 
         [0019]    A great advantage of the method according to the invention is high accuracy. In addition, in the case where there is a tabular storage of the parameters of each kinematic object with respect to the monitoring spaces, a high degree of flexibility is provided. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0020]    The present invention is explained in more detail below with reference to the Figures, which show exemplary, schematic and non-limiting advantageous embodiments of the invention. 
           [0021]      FIG. 1  shows a modeled part of a robot arm; 
           [0022]      FIGS. 2A-2D  show a safe space with four kinematic objects; 
           [0023]      FIGS. 3A-3E  show a workspace with four kinematic objects. 
       
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
       [0024]      FIG. 1  shows a two-dimensional (to simplify the illustration) part of a robot arm (henceforth referred to as a robot arm) as part of a kinematic system  1 —in this case, a serial kinematic linkage—wherein the dashed lines describe the spatial limit of the robot arm  1 . The kinematic linkage  1 , or a part thereof, is modeled according to the invention with zero dimensional (0d) or one-dimensional (1d) objects—that is, with a dimension D&lt;2—in the following as kinematic objects. In the example of  FIG. 1 , the robot arm  1  is described by three point-shaped (0d) kinematic objects K 1 , K 2 , K 3 , which in this case represent the joint hubs of the robot arm  1 . The modeled kinematic objects K 1 , K 2 , K 3  could, of course, also describe objects under consideration which are located outside of the kinematic linkage, but which can still be considered part of the kinematic linkage. However, a simplified form of a wireframe model can also be used for modeling the kinematic linkage  1 . In this way, line-shaped (1d) kinematic objects K 4  are modeled, as shown in  FIG. 1 , by the connecting line between the first point-shaped kinematic object K 1  and the second point-shaped kinematic object K 2 . A line-shaped (1d) kinematic object K 4  preferably connects two point-shaped (0d) kinematic objects K 1 , K 2  or K 2 , K 3  in this case. In the embodiment in  FIGS. 2 b - c   , the point-shaped modeled kinematic objects K 1 , K 2 , K 3  are considered; in  FIG. 2 d   , the line-shaped kinematic object K 4  is considered. 
         [0025]    The extension to a wireframe model is optional, as is a possible parameterization of the linear distance of two point-shaped kinematic objects K 1 , K 2 , K 3 . This parameterization and the extension to a wireframe model can be performed separately for each kinematic object K 1 , K 2 , K 3 , K 4 . 
         [0026]      FIG. 1  also shows a prespecified safe space SS as the monitoring space S. The prespecified safe space SS is established, for example, from the installation location and the environment of the kinematic linkage  1  on site, and is defined in advance, and/or can be assumed to be prespecified. A safety function of a kinematic linkage  1  ensures that the kinematic linkage  1  (or a part thereof) does not penetrate into the safe space SS, or does not leave a defined. workspace WS of the kinematic linkage  1 . The safety function is, for example, implemented in the controller of the kinematic linkage  1 , but can also supplement the controller of the kinematic linkage  1  as an independent module. Fn the illustrated embodiment, the safe space SS is a rectangle with the side lengths r 1 , r 2  and/or half side lengths r 1 / 2 , r 2 / 2 . In the case of a robot arm moved in three dimensions, the safe space SS could, of course, also be defined in three dimensions. 
         [0027]    According to the prior art, to implement the safety function, the kinematic linkage  1  or a part thereof would be modeled as a three-dimensional object or a sum of three-dimensional objects, wherein an intersection of the object or the objects with the safe space would have to be computed. However, this monitoring is very computationally demanding. 
         [0028]    According to the invention, therefore, at least a part of the kinematic linkage  1  is modeled as a number of kinematic objects K 1 , K 2 , K 3 , K 4  which each have less than two dimensions (D&lt;2)—that is, in the form of a wireframe model. The position and orientation of the kinematic Objects K 1 , K 2 , K 3 , K 4  in the space is always unambiguously established from the known geometry and movement of the kinematic linkage  1 , and can therefore be presumed to be known. After the safety function is generally integrated in the control system of the kinematics  1 , or at least is connected to it, the safety function can always access the current positions and positions of the kinematic objects K 1 , K 2 , K 3 , K 4 . 
         [0029]    In order to be able to monitor the safe space SS despite the modeling of the kinematic linkage  1  according to the invention, at this point a defined or parameterizable geometrical parameter P 1 , P 2 , P 3 , P 4  is used according to the invention for each kinematic object K 1 , K 2 , K 3 , K 4 , and the prespecified safe space SS is thus modified. For example, a maximum diameter of the respective part of the kinematic linkage  1  is used as the parameter P 1 , P 2 , P 3 , P 4  on the number of kinematic objects K 1 , K 2 , K 3 , K 4  (the joint hubs, and/or a part of the robot arm). The kinematic linkage I (or a part thereof) is “scaled down” by the modeling, which is expressed by the parameters P 1 , P 2 , P 3 , P 4 . If, in return, the safe space SS/workspace WS is increased/decreased according to this parameter P 1 , P 2 , P 3 , P 4 , the modeling of the kinematic linkage  1  in the form of kinematic objects K 1 , K 2 , K 3 , K 4  can be “compensated” to realize the safety function. 
         [0030]    The geometric parameter P 1 , P 2 , P 3 , P 4  can follow from, for example, a stored allocation table, which can be parameterized in advance using the known geometry of the kinematic linkage  1 . For each modeled kinematic object K 1 , K 2 , K 3 , K 4 , a first, second and third distance d 1 , d 2 , d 3 , d 4  are then computed and/or derived from the geometric parameter P 1 , P 2 , P 3 , P 4 . In a simple embodiment, the parameter P 1 , P 2 , P 3 , P 4  can also correspond directly to the respective distance d 1 , d 2 , d 3 , d 4 , optionally with a predetermined safety margin. Thus, there is at least one characteristic parameter P 1 , P 2 , P 3 , P 4  for the distance d 1 , d 2 , d 3 , d 4 , wherein the distance d 1 , d 2 , d 3  d 4  can be computed with d 1 =f(P 1 ), d 2 =f(P 2 ), d 3 =f(P 3 ), d 4 =f(P 4 ) via a given, known, or derivable function f(P 1 ), f(P 2 ), f(P 3 ), f(P 4 ). If, for example, the part of the kinematic linkage  1  has a rectangular cross-section with the side lengths a and b as further parameters, then the parameter of the maximum diameter results from the further parameters, in the form of the root of a 2 +b 2 . The distance d 1 , d 2 , d 3  d 4  then again results from the parameter of the diameter, via a relationship—for example by the distance d 1 , d 2 , d 3  d 4  corresponding to half the diameter. The distance d 1 , d 2 , d 3 , d 4  modifies at least one geometric variable G (in this case, half the side lengths r 1 / 2 , r 2 / 2 ) of the safe space SS for each kinematic object K 1 , K 2 , K 3 , K 4  and thus leads to the modified safe spaces S 1 , S 2 , S 3 , S 4 . In the illustrated case, therefore, the geometric variable G in the form of half the side lengths r 1 / 2 , r 2 / 2  (not shown explicitly in  FIGS. 2A-2D  for the sake of clarity) is modified by the distance d 1 , d 2 , d 3 , d 4 , wherein each side of the rectangle is modified by double the distance  2 *d 1 ,  2 *d 2 ,  2 *d 3 ,  2 *d 4 , The distance d 1 , d 2 , d 3 , d 4  can therefore be derived if needed and as desired from the parameter P 1 , P 2 , P 3 , P 4 , Likewise, if needed, the geometric quantity G to be modified can be selected—in this case, the half side lengths r 1 / 2 , r 2 / 2 , by way of example. The safe space SS is thus individually modified for each modeled kinematic object K 1 , K 2 , K 3 , K 4 , and a separate modified monitoring space S 1 , S 2 , S 3 , S 4  (in this case, safe space) is assigned to each modeled kinematic object K 1 , K 2 , K 3 , K 4 . Therefore, in  FIG. 2A , for the first modeled kinematic object K 1 , the half side lengths r 1 / 2 , r 2 / 2  as the geometric variable G are increased by the first distance d 1 , which leads to the modified monitoring space S 1 . Likewise, in  FIGS. 2B-2D , the half side lengths r 1 / 2 , r 2 / 2 , as the geometric variable G, for the second, third, and/or fourth kinematic objects K 2 , K 3 , K 4 , are respectively increased by the second, third, and/or fourth distance d 2 , d 3 , d 4 , which leads to the monitoring spaces S 2 , S 3 , S 4 . 
         [0031]    At this point, for the safety function, the position and orientation of each monitored, modeled kinematic object K 1 , K 2 , K 3 , K 4  in space is checked in relation to the modified monitoring space S 1 , S 2 , S 3 , S 4  assigned in each case. If, in the example of  FIGS. 2A-2D , a modeled kinematic object K 1 , K 2 , K 3 , K 4  is situated in the modified monitoring space S 1 , S 2 , S 3 , S 4 , the monitored monitoring space of the kinematic linkage  1  (in this case, the safe space SS) has been violated, as is the case in  FIG. 2C  for the third kinematic object K 3  in conjunction with the third modified monitoring space S 3 , and in  FIG. 2D  for the fourth kinematic object K 4  in conjunction with the fourth modified monitoring space S 4 . For 1d objects as kinematic objects K 1 , K 2 , K 3 , K 4 , intersecting points of a straight line with an area or a space must be checked. For 0d objects, it is easy to check whether a point lies within an area or a space. Both checks can be carried out with very little computational power. 
         [0032]    Of course, a plurality of distances d 1 , d 2 , d 3 , d 4  per kinematic object K 1 , K 2 , K 3 , K 4  can also be computed for the monitoring space S—for example, in the case of a rectangular monitoring space S, to differentially modify the side lengths r 1 , r 2  and/or the half side lengths r 1 / 2 , r 2 / 2 . Likewise, the monitoring space S can represent a line (dimension one) or a body (dimension three) instead of the area (dimension two). In this case, the position of the number of kinematic objects K 1 , K 2 , K 3 , K 4  must also be checked in relation to the monitoring space S, for example in the form of an intersection. 
         [0033]      FIGS. 3A-3E  illustrate an analogous method for a workspace WS as the monitoring space S. The workspace WS defines a space which the kinematic linkage  1 , or a part thereof, is not permitted to leave. Therefore, the distances d 1 , d 2 , d 3 , d 4  reduce the at least one geometric variable G—i.e., the half side lengths r 1 / 2 , r 2 / 2  (not shown explicitly in  FIGS. 3A-3E  for clarity —in the illustrated embodiment. The position and orientation of each monitored, modeled kinematic object K 1 , K 2 , K 3 , K 4  are checked in relation to the respectively modified monitoring space S 1 , S 2 , S 3 , S 4  analogously to the safe space SS in  FIGS. 2A-2D , although, in contrast, a space violation occurs when a modeled kinematic object K 1 , K 2 , K 3 , K 4  is outside the modified monitoring space S 1 , S 2 , S 3 , S 4 , as shown in  FIG. 3D  for the third kinematic object K 3  in relation to the modified monitoring space S 3 , and in  FIG. 3E  for the fourth kinematic object K 4  in relation to the modified monitoring space S 4 . 
         [0034]    Of course, a plurality of different monitoring spaces S can also be defined. By way of example, each kinematic object K 1 , K 2 , K 3 , K 4 , or several kinematic objects K 1 , K 2 , K 3 , K 4 , can have its/their own assigned monitoring space S. In this case, according to the invention, the associated monitoring space S for the respective kinematic object K 1 , K 2 , K 3 , K 4  is again modified and checked for violation.