# US 11,305,429 B2 · Synchronization of multiple robots

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,305,429 B2
- Document ID: US11305429B2
- Status: Granted
- Kind: B2
- Application number: 15/767,949
- Filed: 2016-09-28
- Published: 2018-11-01
- Granted: 2022-04-19
- Earliest claimed: 2015-10-13
- Assignees: Atensor Engineering And Technology Systems GmbH; Convergent Information Technologies GmbH
- Applicants: Atensor Engineering And Technology Systems GmbH; Convergent Information Technologies GmbH
- Inventors: Bernhard Schierz; Wolfgang Stöcher; Gerald Umgeher
- Web page: https://patentgrep.com/patent/US11305429B2

## CPC

- B25J 9/1669: {characterised by special application, e.g. multi-arm co-operation, assembly, grasping}
- B25J 9/0084: {comprising a plurality of manipulators}
- B25J 9/1676: {Avoiding collision or forbidden zones}
- B25J 9/1682: {Dual arm manipulator; Coordination of several manipulators}
- G05B 2219/39082: Collision, real time collision avoidance
- G05B 2219/39083: Robot interference, between two robot arms
- G05B 2219/39097: Estimate own stop, brake time, then verify if in safe distance
- G05B 2219/39135: For multiple manipulators operating at same time, avoid collision
- B25J: MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES ({manipulators specially adapted for use in surgery A61B34/70; manipulators used in cleaning hollow articles B08B9/04}; manipulators associated with rolling mills B21B39/20; manipulators associated with forging machines B21J13/10; {manipulators associated with picking-up and placing mechanisms B23P19/007}; means for holding wheels or parts thereof B60B30/00; {vehicles with ground-engaging propulsion means, e.g. walking members B62D57/02, B62D57/032; devices for picking-up and depositing articles or materials between conveyors B65G47/90, B65G47/91; manipulators with gripping or holding means for transferring packages B65H67/065}; cranes B66C; {manipulators used in the protection or supervision of pipe-line installations F17D5/00; walking equipment adapted for nuclear steam-generators F22B37/006}; manipulators specially adapted for, or associated with, nuclear reactors G21C; {apparatus used for handling wafers during manufacture or treatment of semiconductor H10P72/50})
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

In the following, a method for synchronizing the motion sequences of at least two robots will be described. In accordance with one embodiment, the method comprises the following: During operation of a robot cell having at least two robots, a path parameter is regularly calculated for each of the at least two robots based on a current position of the respective robot and on a previously specified robot path of the respective robot. The path parameter represents the current position of the robot. Subsequently, a run-ahead limit is calculated for each robot based on the path parameters determined for the respective other robots. Based on the respective calculated run-ahead limit, the path speed of every robot can be adjusted.

## Claims

### Claim 1

A method for synchronizing motion sequences of at least two robots whose areas of operation overlap temporally and spatially; the method comprising:
during the motion of the at least two robots:
regularly determining a path parameter for every robot of the at least two robots based on a current position of a respective robot and a previously specified robot path of the respective robot, wherein the path parameter represents a current position of the respective robot;
for every robot:
calculating a run-ahead limit based on a path parameter determined for each respective other robot;
for every robot:
adjusting the path speed of the respective robot based on the corresponding calculated run-ahead limit; and
wherein the previously specified robot path of the respective robot is not altered.

### Claim 2 (depends on 1)

The method in accordance with claim 1, further comprising;
providing the specified robot paths in parametric representation for each of the at least two robots, wherein, for each robot, the path parameter designates a robot position on the specified robot path.

### Claim 3 (depends on 1)

The method in accordance with claim 1, further comprising;
for every ordered pair of robots of the at least two robots:
calculating, based on a simulation of the previously specified robot paths and for various path parameter values, a maximum run-ahead time, wherein the maximum run-ahead time is a time by which a first robot of the ordered pair of robots can run-ahead of a second robot of the ordered pair of robots without causing a collision.

### Claim 4 (depends on 3)

The method in accordance with claim 3, further comprising;
for every ordered pair of robots of the at least two robots and a given path parameter:
calculating an anticipatory maximum run-ahead time based on the maximum run-ahead time for the given path parameter and following path parameters.

### Claim 5 (depends on 4)

The method in accordance with claim 4, wherein the run-ahead limit for every robot is determined based on the anticipatory maximum run-ahead times for the determined path parameter of each respective other robot.

### Claim 6 (depends on 1)

The method in accordance with claim 1, wherein the determination of the path parameter of a robot is based on an interpolation between two positions that define a segment of the previously specified robot path of the respective robot.

### Claim 7

A system including at least two robots, each of which is controlled by a robot controller; each robot controller being configured to, while the robots are in operation:
regularly determine a path parameter for each robot representing a current position of the respective robot based on a current position of the respective robot and a previously specified robot path of the respective robot, wherein the previously specified robot path of the respective robot is not altered;
calculate a run-ahead limit for each robot based on the path parameters determined for each respective other robot; and adjust a path speed of the robot based on the run-ahead limit calculated for the respective robot.

### Claim 8 (depends on 7)

The system in accordance with claim 7, further comprising:
a robot simulator configured to determine for every ordered pair of robots of the at least two robots and for various path parameter values, based on a simulation of the previously specified robot paths, a maximum run-ahead time, wherein the maximum run-ahead time is the time by which a first robot of the robot pair can run ahead of a second robot of the robot pair without causing a collision.

### Claim 9 (depends on 8)

The system in accordance with claim 8, wherein the robot simulator is further configured to calculate, for every ordered pair of robots of the at least two robots and for a given path parameter, an anticipatory maximum run-ahead time based on the maximum run-ahead time for the specific path parameter and following path parameters.

### Claim 10 (depends on 7)

The system in accordance to claim 7, wherein the robot controllers are configured to;
determine, based on a interpolation between two positions and two corresponding path parameter values which define a segment of the previously specified robot path of the respective robot, the path parameter representing the current position of the respective robot.

### Claim 11 (depends on 1)

The method of claim 1,
wherein the path parameter is a time parameter identifying a specific position included in the previously specified robot path of the respective robot.

### Claim 12 (depends on 1)

The method of claim 1,
wherein the path parameter is a single time parameter.

### Claim 13 (depends on 1)

The method of claim 1,
wherein the run-ahead limit is determined based on the maximum run-ahead times, which are calculated for each robot in relation to another robot(s).

### Claim 14 (depends on 11)

The method of claim 11,
wherein the maximum run-ahead time of a robot represents the maximum time the robot may run ahead as compared the previously specified robot path in order to avoid a collision with another robot.
