Abstract:
A method for monitoring a payload-handling robot assembly having at least one robot includes identifying a robot-handled payload arrangement on the basis of a current position of the robot assembly relative to a specified change position of the robot assembly. In another aspect, a robot assembly includes at least one robot, a monitoring apparatus configured to determine a current position of the robot assembly and to identify a robot-handled payload arrangement on the basis of the current position of the robot assembly relative to a specified change position of the robot assembly, and a payload receptacle for receiving a plurality of different payloads. The robot is configured for handling the plurality of payloads in an alternating manner.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to a method and a monitoring means for monitoring a payload-handling robot assembly, a robot assembly comprising such a monitoring means as well as a computer program product for carrying out such a method. 
       BACKGROUND 
       [0002]    In order to increase the productivity, robots can carry different payloads. For example, a robot can carry a variety of tools in an alternating manner; and for this purpose said robot can put down a tool that is no longer needed and can pick up a new tool. That is, said robot can change tools. 
         [0003]    In this case it is necessary to know the tool that is currently being handled, in particular, in order to consider its contours during a collision monitoring operation. According to in-house practice, special tool sensors have been used to date for this purpose. With these tool sensors it is possible to identify accurately and reliably the tool that is currently handled by the robot. The drawback with these sensors is that each tool has to have at least one dedicated sensor. 
       SUMMARY 
       [0004]    The object of the present invention is to improve the operation of a robot assembly. 
         [0005]    According to one aspect of the present invention, a payload arrangement that is handled by a robot is identified on the basis of a current position of a robot assembly relative to a specified change position of this robot assembly. 
         [0006]    This aspect of the present invention is based on the idea that robots have to move to a specific change position, in order to change the payload. Correspondingly it can be assumed that after having moved to the respective change position, the payload that is associated with this change position has been picked up by the robot assembly and will now be handled by said robot assembly. Correspondingly the new payload can be identified on the basis of the current position of the robot assembly relative to a specified change position. In one embodiment this strategy can reduce the number of tool sensors in an advantageous way; in a further development it is possible to dispense with these tool sensors altogether. As an alternative, each payload can be provided with a maximum of one, in particular, inaccurate payload sensor, which, however, can provide in combination with a payload identification on the basis of a change position an accurate payload identification. This feature makes it possible to reduce, in particular, the complexity and/or the failure probability of a monitoring system based on an identified payload. 
         [0007]    A payload can be, as explained in the introductory part, in particular, a tool. In addition or as an alternative, a payload can also be a workpiece and/or a component. Therefore, for a more concise presentation the tools and the workpieces can be referred to collectively as the payload. 
         [0008]    In one embodiment the robot assembly comprises at least one, in particular, exactly a single robot or a plurality of robots, in particular, industrial robots. In one embodiment at least one robot, preferably all of the robots of the robot assembly are configured for handling in an alternating manner a variety of tools and/or workpieces. In particular, one or more robots can comprise in each instance a payload attachment, for example, a tool gripper or more specifically a tool coupling. 
         [0009]    In one embodiment the robot assembly comprises a receptacle, in particular, a stationary receptacle for receiving and/or storing and/or depositing various tools and/or workpieces in different payload storage positions; in particular, this receptacle is a tool change station. 
         [0010]    A position for the purpose of the present invention can include, in particular, can be, in particular, a pose of one or more robots of the robot assembly. In one embodiment a position can have one or more, in particular, all of the joint coordinates of one or more robots of the robot assembly. 
         [0011]    In addition or as an alternative, one embodiment provides that a position, as defined for the purpose of the present invention, may comprise, in particular, may be a one, two, or three dimensional position, described, for example, by Cartesian, cylindrical or polar coordinates, and/or a one, two or three dimensional orientation, described, for example, by Euler or Cardan angles, of a robot-fixed reference of one or more robots of the robot assembly. In one embodiment the position comprises, in particular, is the position and/or the orientation of the tool reference point (“tool center point”, TCP) of one or more robots of the robot assembly. 
         [0012]    In one embodiment the robot assembly is moved to one payload or to different payloads, which are stored or more specifically placed in various payload storage positions, for example, manually during the setup of the robot assembly or virtually in a simulation. Similarly it is also possible to move the payload-handling robot assembly to the empty payload storage positions. That is, a payload, which is handled by a robot, can be positioned in its payload storage position. Similarly it is also possible to move a robot assembly without a payload to a payload storage position; and/or it is possible to move to a payload storage position without a payload that is handled by a robot. That is, it is possible to position only virtually a payload in its payload storage position. 
         [0013]    On the basis of a position of the robot assembly, in which the robot assembly has moved to a payload storage position, in particular, without a payload has moved to a payload, which is stored in a payload storage position, or with a payload has moved to a free payload storage position, one embodiment provides that this payload and/or this payload storage position is and/or are assigned a change position; and/or a change position, which is assigned to the payload, which is associated with this payload storage position, is predetermined, in particular, is saved on the basis of the position of the robot assembly. In this case preferably different payloads will be and/or are assigned different change positions. As a result, a robot-handled payload can be moved to a payload storage position; and/or the robot assembly without a payload can be moved to a payload in a payload storage position. In this case a change position, which is assigned to this payload, can be predetermined, in particular, can be saved, on the basis of the position that is assumed by the robot assembly. 
         [0014]    In particular, at least in essence the position itself, in which the robot assembly has moved to the payload, for example, the position and/or orientation of the TCP of a robot, can be specified as the change position, if the robot has moved to a tool to be picked up or has moved with a tool to the payload receptacle, in order to deposit this tool. Similarly the change position can be defined in such a way that said change position is offset in relation to this position, in which the robot assembly has moved to the payload, in particular, on the basis of a maximum amount of the payload contour. In the event that, as explained below, initially, when a robot without a payload moves to a new payload that is to be picked up, a payload, which had been previously handled and has been put down in the meantime, continues to be identified, then this situation can initiate a collision monitoring of the payload, which continues to be identified, with the payload receptacle, to which said robot moved. In order to avoid this situation, one embodiment provides that the change position can be offset accordingly. 
         [0015]    In one embodiment a payload is identified as a robot-handled payload arrangement, when a deviation between the current position of the robot assembly and a change position, which is assigned to this payload, falls below a specified limit value. This limit value can be fixed or variable; in one embodiment it can be identical for all payloads and/or for all change positions or can also be specified individually and/or can be specified specifically with respect to the change position. 
         [0016]    The deviation and/or the limit value can be one dimensional or multi-dimensional. If a position r is defined, for example, by six dimensions owing to a three dimensional position x, y, z and a three dimensional orientation alpha, beta, gamma of the TCP (r=(x, y z, alpha, beta, gamma)), then the deviation Δ (delta) between the current position r and the change position r w  can be defined, for example, by a norm, for example, a one dimensional norm or a maximum norm Δ=|r−r w | and/or Δ=MAX {x−x w , y−y w , z−z w , alpha−alpha w , beta−beta w , gamma−gamma w } or also by multiple dimensions for each component Δ=(x−x w , y−y w , z−z w , alpha−alpha w , beta−beta w , gamma−gamma w ). 
         [0017]    In addition or as an alternative to a sufficient approximation of a change position, an actuation of the robot assembly can also be considered; in particular, it is possible to determine a payload change on the basis of an actuation of the robot assembly, in particular, a contact force and/or an operation, in particular, an opening and/or closing, of a payload attachment, for example, a tool gripper or more specifically a tool coupling. One embodiment provides that in order to identify a (new) payload, a deviation between the current position of the robot assembly and a change position, assigned to this payload, has to drop below the specified limit value in the course of an actuation, in particular, while opening and/or closing a payload attachment of the robot assembly and/or at the time between the opening and closing. If, for example, a robot moves to a change position without finally closing a tool gripper, then no new tool is identified. 
         [0018]    In one embodiment a robot-handled payload arrangement is identified on the basis of a current position of the robot assembly relative to a specified change position of the robot assembly during a payload change. In particular, a payload is identified as a robot-handled payload arrangement, when during a payload change a deviation between the current position of the robot assembly and a change position, which is assigned to this payload, falls below a specified limit value. In this case a payload change can be determined, in particular, on the basis of an actuation of the robot assembly, for example, as explained above, on the basis of operating a payload attachment of the robot assembly, for example, a tool coupling. Similarly a current position of the robot assembly can also be determined continuously, in particular, periodically and/or at specified time intervals and can be compared with one or more specified change positions. In this case a payload is identified as a (new) robot-handled payload arrangement, as soon as a deviation between the current position of the robot assembly and a change position, assigned to this payload, drops below a specified limit value. 
         [0019]    In one embodiment one payload arrangement with at least one payload will be and/or is always identified as a robot-handled payload arrangement at least during a movement of the robot assembly, preferably during the complete operation. This approach makes it possible in one embodiment to improve, in particular, the reliability of a collision monitoring system. 
         [0020]    In particular, for this purpose it is possible in one embodiment that an identified robot-handled payload arrangement can be replaced, in particular, only, or more specifically exclusively, by a new identified payload arrangement. If a payload is unintentionally not uncoupled, then this payload shall continue to be identified as the robot-handled payload, in particular, in order to guarantee a correct collision monitoring process. This feature can be achieved, in particular, by the fact that the identified payload can be replaced only by a new identified payload arrangement. 
         [0021]    For this purpose one embodiment provides that each payload arrangement that can be identified has at least one payload. Similarly it is possible to provide an identifiable payload arrangement that does not have a payload, in order to be able to monitor even an empty robot assembly or more specifically a robot assembly without a payload. If after depositing a payload the robot assembly moves, for example, to a predetermined empty change position, optionally subject to the actuation of its payload attachment, then this empty payload arrangement without a payload can be identified as a new robot-handled payload arrangement. That is, the empty robot assembly can be correctly monitored. 
         [0022]    In addition or as an alternative, one embodiment provides that in one predetermined state of the robot assembly a payload arrangement with two or more payloads is identified as a robot-handled payload arrangement. 
         [0023]    The predetermined state of the robot assembly can be, in particular, the start of operation or the start of movement. Even in the case of a payload, which was inadvertently coupled initially, a reliable collision monitoring can be carried out, in particular, at the start of a first tool change, due to the fact that, first of all, even in the case of a robot assembly without a payload, a payload arrangement with two or more payloads, in particular, with all of the payloads of the payload receptacle, for example, the tool change station, is identified fictitiously and is considered in a collision monitoring system. If a (first) payload change is carried out correctly, then the payload that has been picked up at the same time, is identified and replaces this fictitious payload arrangement. 
         [0024]    In addition or as an alternative, the predetermined state of the robot assembly may be, in particular, a fault state, for example, after a payload loss, an unsuccessful uncoupling of a payload, a collision or the like. Even in the case of such a fault, a reliable collision monitoring can be carried out in that a payload arrangement with two or more payloads, in particular, with all of the payloads of the payload receptacle, in particular, the tool change station, is identified (again) fictitiously and is considered in a collision monitoring system. If (then) a payload change is correctly executed, the payload that was picked up at the same time is identified and replaces this fictitious payload arrangement. 
         [0025]    Monitoring a payload-handling robot assembly with identification of a robot-handled payload arrangement can be carried out, in particular, for a collision. Correspondingly in one embodiment of the present invention the robot assembly is monitored for a collision on the basis of the respectively identified robot-handled payload arrangement, in that a contour, which is saved for the respectively identified payload arrangement, is considered during the collision monitoring operation. Similarly a monitoring of a payload-handling robot assembly with identification of a robot-handled payload arrangement can ensure, for example, that a permissible handling load and/or a specified tool or workpiece time is or are not exceeded or the like. 
         [0026]    A monitoring means, according to one aspect of the present invention, can be designed in hardware and/or software. In particular, said monitoring means can comprise, a processing unit, which is connected preferably to a memory system and/or a bus system by means of data and/or signals, and is, in particular, a digital processing unit, in particular, a microprocessor unit (CPU), and/or can comprise one or more programs or program modules. For this purpose the CPU can be configured to execute commands, which are implemented as a program, which is stored in a memory system, to acquire input signals from a databus and/or to send output signals to a databus. A memory system can comprise one or more, in particular, different storage mediums, in particular, optical, magnetic, solid state and/or other non-volatile mediums. The program can be configured in such a way that it embodies or more specifically is capable of executing the method described herein, so that the CPU can carry out the steps of such a method and, as a result, can monitor, in particular, the robot assembly. A monitoring means can be implemented, in particular, in a control system or more specifically by means of a control system of the robot assembly. 
         [0027]    In one embodiment the monitoring means is configured for determining a current position of the robot assembly, in particular, during a payload change. For this purpose said monitoring means can comprise, in particular, one or more sensors for detecting the joint coordinates of the robot assembly. In one embodiment the current position of the robot assembly during a payload change is determined reliably by means of the monitoring means or more specifically in a fail-safe technology, in particular, through redundancy, preferably diversity, for example, by means of two sensors each for detecting the same joint coordinates or the like. 
         [0028]    According to one aspect of the present invention, a computer program product can be, in particular, a computer readable storage medium, for example, a data carrier, with a program code, by means of which a method, described herein, is carried out, when the program runs in a monitoring means, in particular, a control system, of a robot assembly. 
         [0029]    Additional advantages and features will be apparent from the dependent claims and the exemplary embodiments. For this purpose the drawings show to some extent in schematic form the following. 
     
    
     
       BRIEF DESCRIPTION OF FIGURES 
         [0030]      FIG. 1 : a portion of a robot assembly according to one embodiment of the present invention; and 
           [0031]      FIG. 2 : a method for monitoring the robot assembly from  FIG. 1  according to one embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0032]      FIG. 1  shows a portion of a robot  1 , which is not handling a tool at this instance and is in the process of leaving or moving to a tool change station  2 , which is designed to receive different tools N 1  to N 3 . Tools N 1 , N 2 , N 3 , which are not being handled by the robot at the present time, are placed in the tool change station. A current position and orientation of the TCP of the robot is determined on the basis of a pose, which is detected by the joint sensors (not illustrated), by means of forward kinematics and is indicated by a coordinate system in  FIG. 1 . 
         [0033]      FIG. 2  shows a method for monitoring the robot assembly from  FIG. 1  according to one embodiment of the present invention. In this case the monitoring sequence runs in a control system (not illustrated) of the robot  1 . 
         [0034]    At the start of the operation, a payload arrangement {N 1 , N 2 , N 3 } with all of the payloads of the tool change station  2  is identified as a robot-handled payload arrangement N in a step S 10 ; and the robot  1  monitors for a collision on the basis of this identified robot-handled payload arrangement N={N 1 , N 2 , N 3 }. 
         [0035]    During a first tool change the robot opens its tool gripper, moves to the corresponding tool, for example, the tool N 2 , closes its tool gripper and leaves the tool change station (cf.  FIG. 1 ). 
         [0036]    Based on this opening and closing of a tool gripper, a tool change is determined in a step S 20  by checking whether the tool gripper has been opened and closed again (S 20 : “Y”) or not (S 20 : “N”). 
         [0037]    If an opening and closing of the tool gripper is determined (S 20 : “Y”), then a deviation Δ (delta) between the current position of the TCP of the robot  1  and a specified change position Pi (i=1, 2, 3) is determined, in the example, the change position P 2 . 
         [0038]    If this deviation Δ falls below a specified limit value (S 30 : “Y”), as is indicated with the cross hatching in  FIG. 1 , then the tool, assigned to this change position, in the example, the tool N 2 , is identified as the (new) payload arrangement N; and the robot  1  monitors for a collision on the basis of this identified robot-handled payload arrangement N=N 2 . Otherwise (S 30 : “N”), the initially identified robot-handled payload arrangement N={N 1 , N 2 , N 3 } shall continue to apply. 
         [0039]    Then during a subsequent tool change the robot puts down the tool that it had been handling up to this point for example, the tool N 2 . In this case then the identified robot-handled payload arrangement N=N 2  shall continue to apply. 
         [0040]    Then the robot moves to the new tool, for example, the tool N 1 , in order to pick it up in the same way as described above. When an opening and closing of the tool gripper is determined (S 20 : “Y”), a deviation Δ (delta) between the position of the TCP and the specified change position P 1  is determined. 
         [0041]    If this deviation Δ (delta) falls below a specified limit value (S 30 : “Y”), then this tool N 1 , which is assigned to this change position, is identified as a new payload arrangement N; and the robot  1  monitors for a collision on the basis of this identified payload arrangement that is handled by the robot N=N 1 . Otherwise (S 30 : “N”), the identified payload arrangement that is handled by the robot N=N 2  shall continue to apply. 
         [0042]    This procedure makes it possible to ensure that the collision monitoring will continue to be reliable, even in the event that the tool N 2  was not successfully uncoupled. 
         [0043]    In order to be able to identify a robot without a tool in a consistent manner, a free or more specifically an empty change position P 4 , to which an empty payload arrangement without a payload (N−{}) is assigned, continues to be provided. If after depositing a tool N 1 , N 2  or N 3 , the robot  1  moves to this empty change position P 4  and opens and closes its tool gripper (S 20 : “Y”, S 30 : “Y”) at said empty change position, then this empty payload arrangement N={} is identified, so that from now on the empty, tool-less robot is correctly monitored for a collision, until said robot picks up again a tool; and this state is identified in the same way as described above. 
         [0044]    In order to specify the different change positions P 1  to P 3 , the empty robot  1  was moved initially to the different tools N 1  to N 3 . Similarly it is also possible for the robot-handled tools N 1 , N 2  and/or N 3  to be moved to the storage positions in the tool change station  2 . 
         [0045]    The positions, in which the robot moved to the tools N 1  and N 2  and/or their storage positions, were saved directly as the change positions. 
         [0046]      FIG. 1  shows by way of example a tool N 3  with a smaller outside contour. If the position of the TCP of the robot  1  at a tool N 3 , to which the robot has moved, is defined as a change position and, in the course of moving to this tool, the robot was monitored for a collision during the normal operation until it reached this change position with one of the other, larger tools N 1 , N 2  as the identified robot-handled payload arrangement N, then this collision monitoring was already initiated before it reached this change position. Therefore, in the exemplary embodiment the change position P 3 , assigned to the tool N 3 , is specified to be offset relative to the position, in which this tool N 3  is approached, and, in particular, on the basis of the maximum tool contour, in the example, the contour of the tools N 1  and N 2 . In addition, the specified limit value Δ (delta) for this change position is specified correspondingly larger. As an alternative, the collision monitoring could also be, for example, deactivated in the region of the change positions or more specifically the tool change station. 
         [0047]    In a modification it is also possible to dispense with the step S 20 , so that whenever there is a move to one of the change positions P 1  to P 3  within the tolerance range defined by the limit value Δ (delta), the assigned tool N 1 , N 2  and/or N 3  is identified, i.e., even without determining a tool change. 
         [0048]    The tolerance range Δ (delta) around the free change position P 4  is defined smaller, in order to depict a higher accuracy for an identification of a robot without a tool. 
         [0049]    While the present invention has been illustrated by the description of one or more embodiments thereof, and while the embodiments have been described in considerable detail, they are not intended to restrict or in any way limit the scope of the appended claims to such detail. The various features shown and discussed herein may be used alone or in combination. Additional advantages and modifications will readily appear to those skilled in the art. The invention in its broader aspects is therefore not limited to the specific details, representative apparatus and methods and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the scope or spirit of Applicants&#39; general inventive concept. 
       LIST OF REFERENCE NUMERALS AND SYMBOLS 
       [0000]    
       
           1  robot 
           2  tool change station (payload receptacle) 
         N 1 , . . . , N 3  tool (payload) 
         P 1 , . . . , P 4  change position 
         TCP current position of the tool center point 
         Δ (delta) deviation