Method and apparatus for automated coordination of the activities of a plurality of robots
Patent Information
- Application Number
- EP2023700527
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-02-21
- Filing Date
- 2023-01-13
- Publication Date
- 2025-01-01
AI Technical Summary
Manual programming of multi-robot cells is error-prone and time-consuming, leading to increased production downtime and costs due to unforeseen robot malfunctions, especially in complex tasks where no replacement robot is available.
An automated method for coordinating robot activities in a multi-robot cell, where planned tasks are recorded, assigned, and optimized based on current robot cell status and dependencies, allowing for reallocation of tasks among robots to minimize downtime and energy consumption, using wireless communication and machine learning algorithms.
Enhances flexibility and productivity by enabling autonomous and self-adaptive operation of multi-robot cells, reducing production downtime and energy consumption, and allowing for proactive anticipation and mitigation of potential disruptions.
Smart Images

Figure 1.1
Abstract
Description
[0001] Description
[0002] Method and device for the automated coordination of the activities of several robots
[0003] The present invention relates to a method for the automated coordination of the activities of several robots, which can be used, for example, in multi-robot cells for production systems in body construction, and to a device for carrying out the method.
[0004] Due to the versatility and flexibility of industrial robots, they are now widely used, especially in manufacturing, where they perform a wide variety of tasks. This flexibility can be used, for example, to produce variants of the same component or even different components in the same robot cell, which corresponds to the workspace for an industrial robot.
[0005] In a multi-robot cell, a group of several robots can perform various operations on a component simultaneously. By programming the multi-robot cell or the robots within this multi-robot cell, the operations are distributed among the robots in such a way that the total time required to process a component is as short as possible, while ensuring that the robots in the group do not collide with each other or with the component. Even though multi-robot cells are usually digitally controlled in production, they are usually still programmed manually. This is an error-prone and time-consuming task. Furthermore, problems can arise during the operation of the multi-robot cell in production, for example due to a malfunction in one of the robots, such as the failure of a robot tool, or a task that the robot cannot complete for other reasons.Such unexpected events are difficult to take into account in programming.
[0006] If a problem occurs with one robot in the shared multi-robot cell, this can result in the other robots in the shared multi-robot cell being unable to continue their work until the fault is rectified. Particularly if a robot requires repair, this can lead to a lengthy production downtime and thus a reduction in productivity and a corresponding increase in production costs. If larger and more expensive robots are involved that perform complex tasks, this can lead to a significant delay, especially if there is no suitable backup robot available for such cases. In addition, the larger the number of robots in the multi-robot cell working together on a component, the greater the probability that one of these robots will experience a malfunction.
[0007] US 11,110,606 B2 discloses a method for coordinating robots within a multi-robot cell formed by a group of robots that jointly perform work on a component. If it is determined that a robot within the group is unable to continue working on the component at a first location, that robot is removed from the group while other robots in the group continue the work. A functioning robot is then added to the group, which then resumes work on the component at a second location. This allows the robots to continue working on the component according to a predetermined schedule, thus reducing downtime and the effort required for collision avoidance testing.
[0008] It is an object of the invention to provide an improved method for coordinating the activities of several robots that perform activities as a group in a common robot cell, as well as a corresponding device.
[0009] This object is achieved by the independent claims. Preferred embodiments of the invention are the subject of the dependent claims.
[0010] In a method according to the invention for the automated coordination of the activities of several robots that perform activities as a group in a shared robot cell, planned tasks of the robots in the shared robot cell are recorded, with dependencies existing between the tasks. The planned tasks are assigned to individual robots in the shared robot cell during operation of the shared robot cell. Instructions for executing the planned tasks are transmitted to the individual robots in the shared robot cell. During the execution of the tasks, the robot cell status is recorded. The execution of tasks not yet executed is optimized during the operation of the shared robot cell, taking into account the current robot cell status and the dependencies existing between the tasks.
[0011] This increases the flexibility of planning, programming, and executing tasks during operation of the shared robot cell and further optimizes task processing within the shared robot cell. Furthermore, it enables production systems with multi-robot cells to operate as autonomously and self-adaptively as possible.
[0012] According to one embodiment of the invention, at least one of the tasks can be performed by several robots of the common robot cell, wherein a task that was originally assigned to a first robot of the common robot cell is assigned to a second robot of the common robot cell as part of the optimization of the execution of the tasks not yet executed.
[0013] This task reallocation during operation can further increase the productivity of production plants with multi-robot cells. It can also potentially reduce energy consumption.
[0014] In particular, in the event that a malfunction of the first robot is identified which results in this first robot being unable to perform an assigned task, a robot of the common robot cell which is suitable for taking over the execution of the task assigned to the first robot can be selected as the second robot, and the task can be performed by the second robot.
[0015] In this way, a production plant with a multi-robot cell can continue to operate even in the event of a malfunction, thus reducing the risk of production downtime and reducing downtime in the event of a malfunction.
[0016] In particular, in the method according to the invention, the robot cell state for the robots of the common robot cell can comprise the current position of the robot or grippers, tools or other production means of the robot, the current task, the last completed task and / or the current operating state.
[0017] By taking these parameters into account, the task transfer can be adapted particularly well to the shared robot cell and the robots of this shared robot cell.
[0018] The current operating state of a robot can indicate, in particular, whether the robot is currently free, performing an assigned task, experiencing a malfunction, or being repaired. This allows the reallocation to be adapted to the respective operating states of the various robots in the shared robot cell and prevents the task from being assigned to a robot that is currently unsuitable for processing the task.
[0019] Furthermore, a current status can be recorded for each task, indicating whether this task is currently in progress, completed or not yet completed.
[0020] This makes it possible to optimise the reallocation during operation, also with regard to the tasks assigned to the robot cell.
[0021] Furthermore, it is possible to record how much time the individual robots need to complete the various tasks when the shared robot cell is in operation and / or how frequently and under what conditions malfunctions occur, whereby the allocation of tasks to individual robots in the shared robot cell is adjusted accordingly.
[0022] Through such a learning process, reallocation within the company can be further optimized over time.
[0023] Likewise, based on the detected faults, it is possible to predict when a robot will malfunction in the future, and the assignment of tasks is adjusted accordingly.
[0024] This makes it possible to react to potential disruptions at an early stage and, if necessary, to reallocate tasks before such a disruption occurs.
[0025] Likewise, in one embodiment, it can be provided that robot control code with instructions for the execution of planned tasks is transmitted from a task planning unit to the robots of the common robot cell by means of wireless radio transmission, and data on the robot cell status is transmitted to the task planning unit by means of wireless radio transmission.
[0026] This ensures the greatest possible flexibility in communication with the individual robots of the shared robot cell, which is particularly advantageous for robot cells that comprise a large number of robots or for modifications of the robot cell. A device according to the invention for the automated coordination of the activities of several robots that perform activities as a group in a shared robot cell comprises:
[0027] Means for recording planned tasks of the robots of the common robot cell, whereby dependencies exist between the tasks;
[0028] Means for assigning the planned tasks to individual robots of the common robot cell during operation of the common robot cell;
[0029] Means for transmitting instructions for the execution of the planned tasks to the individual robots of the common robot cell;
[0030] Means for detecting the robot cell state during the execution of the tasks; and
[0031] Means for optimizing the execution of the tasks not yet executed during the operation of the shared robot cell, taking into account the current robot cell state and the dependencies existing among the tasks.
[0032] The invention further comprises a computer program with instructions which cause a device according to the invention to carry out the steps of the method according to the invention.
[0033] Finally, the invention also comprises a multi-robot cell and a production plant with at least one multi-robot cell, which is configured to carry out a method according to the invention or has a device according to the invention.
[0034] Further features of the present invention will become apparent from the following description and claims in conjunction with the figures.
[0035] Fig. 1 shows a flow chart of a method according to the invention;
[0036] Fig. 2 shows schematically a multi-robot cell with two robots; and
[0037] Fig. 3 schematically shows the execution of various tasks by the robots of Fig. 2 (A) according to the prior art and (B) according to the method of the invention. To better understand the principles of the present invention, embodiments of the invention are explained in more detail below with reference to the figures. It is understood that the invention is not limited to these embodiments and that the described features can also be combined or modified without departing from the scope of the invention as defined in the claims.
[0038] Figure 1 shows a flowchart of a method according to the invention. The method can be used, for example, for the automated coordination of the activities of multiple robots in a spot-welding robot cell in automotive production, but is not limited thereto.
[0039] In a method step 11, the planned tasks that are to be carried out by the robots of a shared robot cell are recorded. There are dependencies between the individual tasks. For example, these dependencies can consist in the fact that for different processing steps the respective robot or tools, grippers or other production equipment of the robot must always assume the same position and therefore collisions must be avoided by path planning. Another example of such dependencies is that a processing step of a workpiece can only take place after a previous processing step has been completed. In this case, it can also happen, for example, that robot A cannot carry out task X while robot B carries out task Y, but conversely it is possible for robot A to carry out task Y while robot B carries out task X.
[0040] In a process step 12, the planned tasks are then assigned to the shared robot cell. This also involves automatic and efficient planning of robot paths. Based on the image of the shared robot cell and the tasks to be performed, optimal robot paths for the various robots are calculated, and robot programs are generated accordingly. Optimization criteria such as path length, time, and energy consumption can be used, to which various priorities can also be assigned.
[0041] Robot tasks are not entered by assigning them to an individual robot in the shared robot cell. Instead, the accessibility and feasibility of each task is first checked for the various robots, and based on this, a suitable algorithm is used to determine which task should ideally be performed by which of the various robots. In particular, this also determines which tasks can be performed by multiple robots in the shared robot cell. In addition, the travel times of the various robots are recorded, and combinations of tasks that could lead to a collision are identified. For this purpose, offline data can be pre-calculated using a 3D model. This data indicates, for a large number of simulated movements, when a collision would occur during a movement. In order to eliminate such movements leading to collisions by adjusting the robot trajectories.
[0042] Only during operation of the shared robot cell are the planned tasks assigned to individual robots in the shared robot cell. For this purpose, an automatic task planning unit can calculate the most optimal assignments of individual tasks to the robots in the shared robot cell based on suitable artificial intelligence methods and models of the recorded travel times. For example, the automatic task planning unit can be trained using reinforcement learning or Q-learning with the aid of machine learning algorithms. Furthermore, the current status of the shared robot cell is continuously monitored in order to automatically identify and respond to malfunctions, for example.
[0043] In the subsequent process step 13, instructions for executing the planned tasks are then transmitted to the individual robots of the shared robot cell. This can be achieved, in particular, through wireless communication. For this purpose, radio technologies according to a WLAN or Bluetooth standard or a mobile communications standard, for example, the fourth or fifth generation (abbreviated to 4G or 5G), can be used. Communication protocols such as OPC UA ("Open Platform Communications Unified Architecture") or from the HoT ("Industrial Internet of Things") area can be used for data exchange.
[0044] In process step 14, the current robot cell status is recorded during the execution of the various tasks. For this purpose, various data, such as a malfunction, the current position of the various robots, or the status of a task, can be transmitted to the automatic task scheduling unit via wireless communication. The data can be recorded by the respective robots themselves and made available via interfaces, or it can be recorded and evaluated by additional sensors, such as one or more 3D cameras in combination with suitable image processing and analysis. On this basis, during the operation of the shared robot cell, in process step 15, the execution of the not yet executed tasks is optimized, taking into account the current robot cell status and the dependencies between the tasks.
[0045] The robot cell status can include various parameters for the robots in the shared robot cell, such as the current position of the robot or of tools, grippers, or other production equipment of the robot, the current task, the last completed task, and / or the current operating status. The current operating status of a robot can indicate, in particular, whether the robot is currently free, is executing an assigned task, is experiencing a malfunction, or is being repaired. Furthermore, the robot cell status contains information for the tasks assigned to the robot cell, in particular the current status, which indicates whether the task is currently being processed, completed, or not yet completed by the robot cell.
[0046] The automatic task scheduling unit can react to unexpected events that are identified by evaluating the transmitted data. For example, if a robot in the shared robot cell malfunctions, the most suitable robot can be selected to take over a task from the malfunctioning robot and the task can be assigned to this robot. If there are only two robots in the shared robot cell, it only needs to be checked whether the other robot can take over the task of the malfunctioning robot. If, on the other hand, there are more than two robots in the shared robot cell, the task can also be taken over by more than one other robot if necessary. In this case, a determination is then made as to which of the other robots can reduce the cycle time loss as much as possible when taking over the task.In this case, it is also possible to divide several tasks assigned to the malfunctioning robot among several other fully functional robots in the shared robot cell. However, if the task cannot be transferred within the shared robot cell, for example, because there is only one other fully functional robot in addition to the malfunctioning robot, but this robot cannot take over the task of the malfunctioning robot, it is also possible for the task to be transferred to a robot in a neighboring robot cell. Optimization takes place in real time, taking into account parameters such as cycle time and required energy consumption, and continues until the shared robot cell has completed processing.
[0047] As already mentioned, machine learning algorithms can be used to optimize automatic task scheduling at runtime by evaluating the quality of the automatically performed task assignments. Furthermore, they can learn how often various events, such as disruptions, occur and how long they last. Based on this and other information, such as the travel time model, the decision-making process can then be automatically adjusted.
[0048] Figure 2 shows a schematic representation of a robot cell in which the method according to the invention can be carried out. This can, for example, be a welding robot cell. In the example shown, two robots R1 and R2 are shown, each of which can perform tasks on a component BT in a task area AB1 or AB2. Even though only two robots are shown in the example shown, the robot cell can also consist of more than two robots. For example, the robot cell can contain five robots, four of which can perform spot welds on a component, and a fifth robot checks the quality of the spot welds performed by these four robots.
[0049] In the example shown, a total of ten positions 0 to 9 are shown for the tools or grippers of the two robots when completing the respective tasks, with robot 1 initially assuming the home position 0 and robot 2 initially assuming the home position 5. On the component, tasks 1, 2, 3, 4 and 8 can be carried out by robot 1, and tasks 3, 6, 7, 8 and 9 by robot 2. Tasks 3 and 8 can therefore be carried out by both robot 1 and robot 2. For the above example of a welding robot cell, this can mean, for example, that the two robots in the robot cell are to carry out eight welding points at positions 1 to 4 and 6 to 9, with each of the two robots being able to weld five points and there being two points 3 and 8 that can be welded by both robots.
[0050] The execution of the tasks by the two robots R1 and R2, for example the execution of the eight spot welds, is shown for methods according to the prior art in sub-figure 3A. In this case, robot R1 initially executes the first task 1 on the component, while robot R2 simultaneously executes task 6, which cannot be performed by robot R1. After the parallel execution of these two tasks by the two robots R1 and R2, robot R1 next executes task 2 and robot R2 executes task 7. If a malfunction occurs in robot R2 which means that the tasks assigned to it can only be completed again once the malfunction has been rectified by repairing or replacing parts of robot R2 or by replacing the entire robot R2, this can result in a significant delay AtisT compared to the cycle time t during trouble-free operation.
[0051] For example, the failure of the welding gun of robot R2 during or immediately after the execution of spot welding 7 may result in spot weldings 8 and 9 only being able to be carried out after the welding gun has been replaced.
[0052] According to the invention, this delay can be significantly reduced, as can be seen in Figure 3B. Here, too, task 1 is initially performed in parallel by robot R1 and task 6 by robot R2, followed by task 2 by robot R1 and task 7 by robot R2.
[0053] If a malfunction now occurs again with robot R2, the invention checks whether one or more of the not yet performed tasks, which were originally assigned to robot R2, can also be performed by another robot in the robot cell, in this case robot R1. It is then determined that, as schematically shown in Figure 2, tasks 3 and 8 can be performed by both robots R1 and R2. In the present example, robot R1 can therefore take over task 8 from robot R2. This task 8 is now being performed by robot R1 while robot R2 is malfunctioning. Thus, if in the above example, robot R2 is initially unable to continue spot welding due to a failure of the welding gun, this task can be taken over by robot R1 for the jointly possible spot welding tasks. Robot R1 then performs the remaining tasks 3 and 4.After the malfunction of robot R2 has been rectified, it can then complete the remaining task 9 assigned to it. Overall, an additional time expenditure AtsoLL is still required for the completion of the new tasks by robot R1 compared to the cycle time t for trouble-free operation, but compared to the method in sub-figure 3A, the cycle time loss is significantly reduced by the time period t. re d reduced. List of reference symbols
[0054] 11 - 15 process steps
[0055] R1 robot
[0056] R2 Robot
[0057] 0 Home position robot R1
[0058] 5 Home position robot R2
[0059] AB1 Task area Robot R1
[0060] AB2 Task area Robot R2
[0061] 1 - 4, 6 - 9 robot tasks
[0062] BT component
Claims
Patent claims 1. Method for the automated coordination of the activities of several robots (R1, R2) performing activities as a group in a common robot cell, the method comprising the following: Identifying (1) planned tasks (1 - 4, 6 - 9) of the robots (R1 , R2) of the common robot cell, wherein there are dependencies between the tasks (1 - 4, 6 - 9); Assigning (2) the planned tasks (1 - 4, 6 - 9) to individual robots (R1 , R2) of the common robot cell during the operation of the common robot cell; Transmitting (3) instructions for the execution of the planned tasks (1-4, 6-9) to the individual robots (R1, R2) of the common robot cell; capturing (4) the robot cell state during the execution of the tasks (1-4, 6-9); and Optimizing (5) the execution of the tasks not yet executed (3, 4, 8, 9) during the operation of the common robot cell, taking into account the current state of the robot cell and the dependencies existing between the tasks.
2. Method according to claim 1, wherein at least one of the tasks (3, 8) can be performed by several robots (R1, R2) of the common robot cell and a task that was originally assigned to a first robot (R2) of the common robot cell is assigned to a second robot (R1) of the common robot cell as part of the optimization of the execution of the tasks not yet performed.
3. The method of claim 2, wherein a malfunction of the first robot (R2) is identified which causes this first robot (R2) to be unable to perform an assigned task; a robot of the common robot cell is selected as the second robot (R1) which is suitable to take over the execution of the task assigned to the first robot (R2), and the task is performed by the second robot (R1).
4. Method according to one of the preceding claims, wherein the robot cell state for the robots (R1 , R2) of the common robot cell comprises the current position of the robot or of grippers, tools or other manufacturing means of the robot, the current task, the last completed task and / or the current operating state.
5. Method according to claim 4, wherein the current operating state of a robot (R1, R2) indicates whether this robot is currently free, is performing an assigned task, has a malfunction or is undergoing repair.
6. A method according to any of the preceding claims, wherein for each task a current state is recorded which indicates whether this task is currently being processed, completed or not yet completed.
7. Method according to one of the preceding claims, wherein the time required by the individual robots (R1, R2) to complete the various tasks during operation of the common robot cell is recorded and / or how frequently and under what conditions malfunctions occur, and the assignment of tasks to individual robots (R1, R2) of the common robot cell is adjusted accordingly.
8. Method according to claim 7, wherein, based on the detected disturbances, it is predicted when a future disturbance of a robot (R1 , R2) is to be expected and the assignment of tasks is adjusted accordingly.
9. Method according to one of the preceding claims, wherein robot control code with instructions for the execution of planned tasks is transmitted by a task planning unit to the robots (R1, R2) of the common robot cell by means of wireless radio transmission and data on the robot cell status is transmitted to the task planning unit by means of wireless radio transmission.
10. Device for the automated coordination of the activities of several robots (R1, R2) performing activities as a group in a common robot cell, the device comprising the following: Means for recording planned tasks of the robots in the shared robot cell, whereby dependencies exist among the tasks; Means of assigning the planned tasks to individual robots of the shared robot cell during the operation of the shared robot cell; Means of transmitting instructions for the execution of the planned tasks to the individual robots of the shared robot cell; Means for recording the robot cell state during task execution; and Means for optimizing the execution of tasks not yet performed during the operation of the shared robot cell, taking into account the current state of the robot cell and the dependencies existing between the tasks.