Abstract:
According to a method according to the invention for controlling a robot, in particular a human-collaborating robot, a robot- or task-specific redundancy of the robot is resolved, wherein, in order to resolve the redundancy, a pose-dependent inertia variable of the robot is minimized.

Description:
TECHNICAL FIELD 
     The present invention relates to a method and control means for controlling a robot, in particular human-collaborating robot while resolving a robot- or task-specific redundancy. 
     BACKGROUND 
     Presently designated as a human-collaborating robot in particular is a robot that physically interacts with a human being, for example by providing for a stay of the human being in a workspace of the robot. In particular in the case of such robot applications it is desirable to reduce the consequences of a collision of a contact point of the robot with its surroundings, in particular the human being. Up to now, to this end, for example under ISO-10218, limits were predefined, for example a maximum TCP speed of 0.2 to 0.25 m/s. However, this worst-case approach impedes the performance of in particular human-collaborating robots. 
     SUMMARY 
     In general the pose or position of a robot can be unambiguously described with f degrees of freedom by its joint coordinates q∈           ′. At the same time, the position and orientation of a reference point or system of the robot, in particular of its TCP, can be predefined by its coordinates z T =(x T ∈           m≦3 α T ∈           n≦3 ), where x for example describes the Cartesian coordinates of the TCP, α describes its orientation, say in Euler or Cardan angles. The difference f−(m+n) defines the redundancy of the manipulator. A robot-specific redundancy always arises when the manipulator has more than 6 degrees of freedom or joints, while a task-specific redundancy arises when fewer reference point coordinates are predefined than the manipulator has degrees of freedom, for example only the position of the TCP of a six-axle robot f−(m+n)=6−(3+0)=3). For more compact representation, also a six-axle manipulator with one or more additional axles, for example a portal or a tool bench, as well as a system of several manipulators cooperating with one another are generally referred to as a robot in terms of the present invention.
     Descriptively, a redundant robot can constitute a predefined reference point coordinate vector in at least two, in particular in an infinite number of different redundant poses. In order to determine control quantities for the joint drives of the robot from predefined reference point coordinates, the redundancy must thus be resolved by calculation or one of the redundant poses must be selected. 
     To this end, up to now different quality criteria were minimized: thus the redundancy can be used to minimize the reciprocal value of the distance to singular poses and/or obstacles, to plan energy-efficient paths or the like. 
     The problem addressed by the present invention is that of improving the operation of a robot, in particular of a human-collaborating robot. 
     This problem is solved by a method with the features of claim  1  or a control means with the features of claim  10 . Claim  11  protects a computer program product, in particular a storage medium or a permanent or volatile storage medium with a computer program for carrying out an inventive method stored on it, the subsidiary claims relate to advantageous improvements. A means in terms of the present invention can be designed likewise by software or by hardware; in particular it can comprise a program or program module and/or a processing and memory unit. A control means can hence likewise be a hardware control of a robot, in particular its control cabinet and/or a computer for programming the robot as well as also a program (subroutine) running in it. 
     The invention is based on the idea of using a redundancy of a robot to reduce the consequences of a collision of a contact point of the robot with its surroundings, in particular with the human being: a redundant robot has a different hazard potential in different redundant poses. By selecting a favorable pose, for example in the case of a path plan, thus the consequences of a collision can be reduced in the case of constant operating speed. Similarly, it is possible to increase the operating speed and thus increase the performance of the robot. 
     In accordance with the invention, it is therefore proposed to minimize a pose-dependent inertia variable of the robot to resolve the redundancy. A reduction of an inertia variable reduces the impulse or impact which the robot maps onto the obstacle in the event of a collision and thus its hazard potential. 
     In one preferred design this inertia variable, in particular on the basis of joint coordinates and/or a predefined direction, is determined in advance, i.e. offline, or during operation, i.e. online. The determination on the basis of joint coordinates projects the physical inertias, for example link masses, in the direction of the degrees of freedom of the robot and is therefore advantageous in order to resolve its redundancy. The determination on the basis of one or more predefined directions makes it possible to specifically minimize the hazard potential for this direction(s). In particular, the inertia variable can be determined on the basis of a predefined direction of movement and/or at least of a possible collision-direction of impact of the robot, which for example can arise from a path plan, a manual control for teaching or the like. If the robot moves in this predefined direction, it has a reduced hazard potential in the case of a collision. 
     In particular, the inertia variable can comprise, preferably be an effective mass, an effective moment of inertia and/or a pseudo matrix of the kinetic energyΛ v , Λ w . In square format 
               1   2     ⁢         q   .     T     ·     M   ⁡     (   q   )       ·     q   .             
of the kinetic energy the mass matrix M(q) describes the inertia properties of the manipulator in the configuration space. Also for redundant manipulators the Jacobi matrices of the translation and rotation
 
             J   =     (           J   v               J   ω           )           
the translational or rotational pseudo matrix of the kinetic energy Λ v ,Λ w  is defined by:
 
     
       
         
           
             
               
                 
                   
                     
                       
                         Λ 
                         v 
                         
                           - 
                           1 
                         
                       
                       ⁡ 
                       
                         ( 
                         q 
                         ) 
                       
                     
                     = 
                     
                       
                         
                           ( 
                           
                             
                               ∂ 
                               x 
                             
                             
                               ∂ 
                               q 
                             
                           
                           ) 
                         
                         
                           ︸ 
                           
                             
                               J 
                               v 
                             
                             ⁡ 
                             
                               ( 
                               q 
                               ) 
                             
                           
                         
                       
                       · 
                       
                         
                           M 
                           
                             - 
                             1 
                           
                         
                         ⁡ 
                         
                           ( 
                           q 
                           ) 
                         
                       
                       · 
                       
                         
                           J 
                           v 
                           T 
                         
                         ⁡ 
                         
                           ( 
                           q 
                           ) 
                         
                       
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     
                       
                         Λ 
                         ω 
                         
                           - 
                           1 
                         
                       
                       ⁡ 
                       
                         ( 
                         q 
                         ) 
                       
                     
                     = 
                     
                       
                         
                           ( 
                           
                             
                               ∂ 
                               
                                 α 
                                 . 
                               
                             
                             
                               ∂ 
                               
                                 q 
                                 . 
                               
                             
                           
                           ) 
                         
                         
                           ︸ 
                           
                             
                               J 
                               ω 
                             
                             ⁡ 
                             
                               ( 
                               q 
                               ) 
                             
                           
                         
                       
                       · 
                       
                         
                           M 
                           
                             - 
                             1 
                           
                         
                         ⁡ 
                         
                           ( 
                           q 
                           ) 
                         
                       
                       · 
                       
                         
                           J 
                           ω 
                           T 
                         
                         ⁡ 
                         
                           ( 
                           q 
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
     where preferably one or more possible contact points of the robot, with which it could collide with its surroundings, in particular with a cooperating human being, or also an outstanding reference point such as in particular its TCP, a center of mass of a robot-guided useful load or an operating point of a robot-guided tool can be selected as a reference point with the coordinates z T =(x T α T ). 
     For a direction predefined by the unit vector u 
     
       
         
           
             
               
                 
                   
                     
                       1 
                       
                         
                           m 
                           u 
                         
                         ⁡ 
                         
                           ( 
                           
                             Λ 
                             v 
                           
                           ) 
                         
                       
                     
                     = 
                     
                       
                         u 
                         T 
                       
                       · 
                       
                         
                           Λ 
                           v 
                           
                             - 
                             1 
                           
                         
                         ⁡ 
                         
                           ( 
                           q 
                           ) 
                         
                       
                       · 
                       u 
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     
                       1 
                       
                         
                           I 
                           u 
                         
                         ⁡ 
                         
                           ( 
                           
                             Λ 
                             ω 
                           
                           ) 
                         
                       
                     
                     = 
                     
                       
                         u 
                         T 
                       
                       · 
                       
                         
                           Λ 
                           ω 
                           
                             - 
                             1 
                           
                         
                         ⁡ 
                         
                           ( 
                           q 
                           ) 
                         
                       
                       · 
                       u 
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
     describes the effective mass m u (Λ v ) or the effective moment of inertia I u (Λ ω ). along the direction or around the axis of rotation u, i.e. in each case on the basis of the direction u. They graphically describe the translational or rotational inertia of the (redundant) manipulator along the direction or around the axis of rotation. 
     In the following the invention will be further explained in particular using the example of the effective mass which arises for the TCP as a reference point and whose direction of movement is predefined by u. However, in addition or as an alternative, other directions, for example directions of movement, as result in the event of a malfunction of drives of the robot, and/or other points, for example vertices of the robot, which are especially collision-endangered, can be applied. In addition or as an alternative to one or more effective masses, for example eigenvalues of the pseudo matrices of the kinetic energy can be applied as inertia variables. 
     With the effective mass m u (Λ v (q)), a mathematical inertia variable can be determined for each pose of the robot clearly predefined by the joint angle q. This can be used in one design as a quality criterion of a path plan. In the process, the inventive minimized inertia variable can constitute the only quality criterion of a path plan. Similarly, it can be taken into consideration, in particular as a weighted quality, together with other quality criteria such as an energy optimality, a distance to obstacles, unique, target and/or previous poses, for example in a Pareto- or functional optimization. Thus, for example in the case of a path plan the achievement of target poses can be predefined as a quality criterion or second-order condition, the minimization of the inertia variable as (a further) quality criterion. 
     In particular in the case of an optimization within the scope of a path plan or in the case of online control of the robot, for example when approaching reference poses to be taught, in one advantageous improvement a gradient of the inertia variable, preferably numerical, in particular discretized, can be determined and a pose of the robot can be varied in one direction of this gradient. If the effective mass m u (Λ v (q)) is again applied as an example, a gradient has 
     
       
         
           
             
               
                 
                   
                     ∇ 
                     
                       m 
                       u 
                     
                   
                   = 
                   
                     
                       ( 
                       
                         
                           ∂ 
                           
                             m 
                             u 
                           
                         
                         
                           ∂ 
                           q 
                         
                       
                       ) 
                     
                     ≈ 
                     
                       ( 
                       
                         
                           
                             
                               m 
                               u 
                             
                             ⁡ 
                             
                               ( 
                               
                                 q 
                                 2 
                               
                               ) 
                             
                           
                           - 
                           
                             
                               m 
                               u 
                             
                             ⁡ 
                             
                               ( 
                               
                                 q 
                                 1 
                               
                               ) 
                             
                           
                         
                         
                           
                             q 
                             2 
                           
                           - 
                           
                             q 
                             1 
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
     in the direction of the greatest increase of the effective mass. By changing the pose in negative gradient direction corresponding poses can be determined with lower effective masses. 
     In addition or as an alternative to such a gradient-based minimization, an inertia variable can also be minimized in one preferred design by determining the associated inertia variable in each case for two or more redundant poses and selecting the pose with a lower, in particular with the lowest inertia variable. As becomes clear in particular from this, a minimization within the meaning of the present invention is defined in particular as the selection of a pose which has a smallest inertia variable at least locally. In the process however, the invention is not restricted to such an absolute minimization; on the contrary, for improvement of the operation of the robot, in particular for reduction of its hazard potential and/or improvement of its performance through a higher operating speed it can be sufficient to select the pose with the smaller inertia variable of two or more redundant poses. Therefore, for more compact representation, also a reduction of an inertia variable will be referred to generally as minimization of the inertia variable within the meaning of the present invention. 
     In particular, when a path of the robot is planned in advance, in one preferred improvement the inertia variable can be minimized for one or more, preferably discrete, in particular equidistant or signalized, for example taught path points. In the process, preferably the path tangent is applied as the predefined direction in the respective path point. If the robot leaves the path that has ben planned in such a way, it has a reduced hazard potential preferably in its movement and thus one possible collision direction or said robot will be able to travel the path more rapidly at equal hazard potential. 
     In addition or as an alternative, the pose with a minimized inertia variable can be determined in advance and, saved preferably in tabular form, also for one or more, preferably equidistantly distributed spatial points, in particular points of the configuration or workspace of the robot, in each case preferably for one or more directions, for example coordinate axle directions of a global coordinate system. During operation or in the event of planning a path, it is then possible to interpolate or extrapolate from the closest saved poses in order to resolve the redundancy. In this way in the event of low computer performance or CPU time a minimization of the inertia variable can be carried out by resolving the redundancy of the robot. In one preferred improvement the resolution of the redundancy can also take place in several stages, on the one hand for example by determining one or more redundant degrees of freedom in such a way that the inertia variable is minimized, and using other degrees of freedom for representation of predefined reference point coordinates and/or for optimization of other quality criteria. Similarly, optimum poses can also be determined with respect to the inertia variable and other criteria for redundancy resolution and from these poses, for example by averaging, interpolation or the like a pose can be selected. 
     In one preferred design a pose with minimal inertia variable is predefined as a reference pose, for example as the initial value of an optimization. In one preferred improvement a virtual force is imprinted in the null space of the redundant robot, said virtual force harnessing its kinematics to the reference pose, so that the robot approaches during operation or in the event of path planning of the reference pose. Such null space can for example be imprinted in the case of path planning considering other quality criteria and/or second-order conditions in order at the same time to reduce the hazard potential or achieve better performance. 
     In the case of the minimization of the inertia variable one or more selected or likewise all degrees of freedom of the robot can be varied. For example, six joints, which represent a complete mapping of the workspace, can be used to achieve a predefined reference point pose, further joints for minimization of the inertia variable. Similarly, it can be advantageous to vary one or more joint coordinates that are closest in basis, for example an angle of rotation for a link arm or carousel, which are ordinarily represented by heavier robot links, for minimization of the inertia variable. 
     As explained above, by means of an inventive resolution of the redundancy while minimizing a pose-dependent inertia variable of the robot its hazard potential, in particular in the case of constant speed of the robot, can be lowered. Likewise it is possible to increase the speed of the robot at constant or reduced hazard potential. To this end, in one preferred design of the present invention a speed of the robot is predefined such that a pose-dependent motion variable does not exceed a threshold. 
     The motion variable can in particular contain, or in particular be a product of the inertia variable and of a power of a speed of the robot or one of its derivatives. If in one preferred improvement the inertia variable is the effective mass, its product with the speed of the reference point in the predefined direction of movement or also its product with the square of this speed can be determined as the motion variable. The former corresponds to an impulse projected in the direction of movement; the latter corresponds to a kinetic energy projected in the direction of movement. If one correspondingly predefines the speed of the robot, at which for example it travels a geometrically predefined path, it can travel the path as quickly as possible, wherein its hazard potential, described by the projected impulse or the projected kinetic energy, remains below a predefined threshold. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
       Additional advantages and features arise from the subsidiary claims and the exemplary embodiments. To this end, the figures, partially in schematic form, show the following: 
         FIG. 1 : shows a task-redundant robot in different poses, and 
         FIG. 2 : shows the course of an inventive method. 
     
    
    
     DETAILED DESCRIPTION 
     In an exemplary embodiment simplified for illustrative purposes,  FIG. 1  shows a three-joint robot  1  with a heavy link arm  1 . 1  supported on a fixed base, a distinctly lighter arm  1 . 2  flexibly mounted to it and a light hand  1 . 3  flexibly supported on its end opposite the link armwith the TCP. All three rotary joints have parallel axes of rotation that are vertically upright on the drawing plane of  FIG. 1 . 
     If the task of a robot  1  consists in traveling a path B on the drawing plane with its TCP without consideration of its orientation, the robot is redundant with its three degrees of freedom q(q 1 , q 2 , q 3 ) T  with respect to the predefined position z=x=(x y) T : one recognizes that different, redundant poses exist to the same Cartesian TCP position (x, y) on path B on the drawing plane of  FIG. 1  or the workspace of the robot, said different, redundant positions of which  FIG. 1  shows three. 
     If one calculates the effective mass m u (Λ v (q)) for each of these poses according to Eq (2) with respect to the tangent unit vector u to path b in the point (, y), the lowest effective mass results for the pose represented in solid lines, since here the projection of the mass of the massive link arm  1 . 1  disappears. Accordingly, in the case of planning a path for traveling path B with the TCP the redundancy is resolved as a result of the fact that for each sampling point the pose with the lowest effective mass is selected and predefined as the target pose. This can, as explained above, take place by determining the inertia variables m u (Λ v (q i,j )) for different redundant joint angle sets q i , which each yield the same TCP sampling position (x, y) j , and the selection of the joint angle combination with the lowest effective mass. Similarly, it is possible to determine in advance and save the pose q* a,b,c,  with the minimum effective mass for equidistant spatial points (x a , y b ) and directions u c . In the planning of path B or likewise also with a manual online control of the robot  1  a position can then be automatically varied in the direction of the closest of these saved, hazard optimal poses while retaining the TCP position and considering the predefined direction of movement. Instead of this, the effective mass, in analytical or numerical form equally, can also be considered as a quality criterion in the planning of the path. 
       FIG. 2  illustrates this method in schematic form: in a first step S 1  sampling points (x, y) 1 , (x, y) 2 , . . . are predefined for the TCP in order to travel path B with said TCP. 
     Then, in step S 2  a predefined direction of movement u 1  is first determined for each of these sampling points (x, y) as a unit tangent vector to the path. 
     Then, in an optimization the pose q* i  is determined, which meets the second-order condition (“NB”): (x,y)(q* i )=(x, y) i , i.e. in which pose the TCP occupies the predefined sampling point, and in the event that the effective mass m u (Λ v (q* i )) according to Eq (2) is minimal, i.e. less than the effective mass m u (Λ v (q i )) or at least one other redundant pose, for which the following applies: (x, y)(q i )=(x, y) i . 
     Finally, in a step S 3  the driving speed {dot over (q)} i  of the robot is defined such that a function, in particular the product of the effective mass and the Cartesian TCP speed ({dot over (x)},{dot over (y)}) i =ψ({dot over (q)} i ) remains below a threshold. As becomes clear from this, the speed which is predefined (here the joint angle speed {dot over (q)} i ) and the speed which is used for determining the inertia variable do not have to be identical, however this can be the case if for example the TCP speed is predefined. 
     REFERENCE LIST 
     
         
           1  Robot 
           1 . 1  Link arm (light) 
           1 . 2  Arm (light) 
           1 . 3  Hand 
         B Path 
         TCP Tool Center Point (reference point)