IP Library Granted Patent US 10,406,687
Granted Patent B2
US 10,406,687 · App. 15/390,006 · Granted Sep 10, 2019

Layered multi-agent coordination

Inventors: Geoffrey Lalonde (Mountain View, CA); Peter Anderson-Sprecher (Mountain View, CA)
Assignee: X Development LLC
B25J9/1666G05D1/0297G05D2201/0216Y10S901/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,406,687
App. No.
15/390,006
Granted
Sep 10, 2019
Kind
B2
Abstract

A method includes receiving first and second coordinated paths for first and second robotic devices. The first coordinated path comprises a dependency edge indicating a first position on the first coordinated path and a second position on the second coordinated path. The method also includes determining a first traversable portion extending to a first stopping position before or at the first position on the first coordinated path. The method also includes providing a first instruction to the first robotic device to traverse the first traversable portion; subsequently determining that the second robotic device has passed the second position on the second coordinated path; determining a second traversable portion of the first coordinated path extending to a second stopping position beyond the first position on the first coordinated path; and providing a second instruction to the first robotic device to traverse the second traversable portion.

Claims (55)

1. A method comprising:

receiving, by a computing device, first and second coordinated paths for respective first and second robotic devices, wherein the first coordinated path comprises a first dependency edge indicating a first position on the first coordinated path and a second position on the second coordinated path, wherein the second position on the second coordinated path is to be reached by the second robotic device before the first robotic device proceeds past the first position on the first coordinated path;

before the second robotic device has reached the second position on the second coordinated path, determining, by the computing device, a first traversable portion of the first coordinated path, wherein the first traversable portion extends to the first position on the first coordinated path when a distance between the first robotic device and the first position is less than a maximum length limit;

providing, by the computing device, a first instruction to the first robotic device to traverse the first traversable portion of the first coordinated path;

subsequently determining, by the computing device, that the second robotic device has passed the second position on the second coordinated path;

after the second robotic device has passed the second position on the second coordinated path, determining, by the computing device, a second traversable portion of the first coordinated path, wherein the second traversable portion has a length equal to the maximum length limit; and

providing, by the computing device, a second instruction to the first robotic device to traverse the second traversable portion of the first coordinated path.

2. The method of claim 1 , wherein the maximum length limit is based on a length of the first coordinated path that is traversable in a predetermined time unit.

3. The method of claim 1 , wherein the first and second coordinated paths are received from a path planning system, the method further comprising:

determining that the first robotic device is behind schedule by more than a threshold amount; and

responsive to determining that the first robotic device is behind schedule by more than the threshold amount, the computing device requesting updated first and second coordinated paths from the path planning system.

4. The method of claim 3 , further comprising:

receiving, by the computing device, updated first and second coordinated paths from the path planning system; and

providing, by the computing device, a plurality of instructions to the first robotic device to traverse a plurality of traversable portions of the first coordinated path during a time between the computing device requesting and receiving updated first and second coordinated paths from the path planning system.

5. The method of claim 1 , wherein the first traversable portion of the first coordinated path comprises a starting position, and wherein the starting position is a current position of the first robotic device at a time when the first traversable portion is determined.

6. The method of claim 1 , wherein the first traversable portion of the first coordinated path comprises a starting position, and wherein the starting position is a scheduled position of the first robotic device at a time when the first traversable portion is determined.

7. The method of claim 1 , wherein the first coordinated path further comprises a plurality of dependency edges indicating respective first positions on the first coordinated path, and the method further comprises:

identifying the first dependency edge to be a next unsatisfied dependency edge of the plurality of dependence edges before determining the first traversable portion of the first coordinated path.

8. The method of claim 1 , further comprising:

determining that a position of the first robotic device has changed by more than a threshold amount; and

responsive to determining that the position of the first robotic device has changed by more than the threshold amount, determining an updated first traversable portion of the first coordinated path, and providing an updated instruction to the first robotic device to traverse the updated first traversable portion of the first coordinated path.

9. The method of claim 1 , further comprising:

determining that a predetermined fixed amount of time has passed; and

responsive to determining that the predetermined fixed amount of time has passed, determining an updated first traversable portion of the first coordinated path, and providing an updated instruction to the first robotic device to traverse the updated first traversable portion of the first coordinated path.

10. A system comprising:

a first robotic device;

a second robotic device; and

a computing device, wherein the computing device is configured to:

receive first and second coordinated paths for the respective first and second robotic devices, wherein the first coordinated path comprises a first dependency edge indicating a first position on the first coordinated path and a second position on the second coordinated path, wherein the second position on the second coordinated path is to be reached by the second robotic device before the first robotic device proceeds past the first position on the first coordinated path;

before the second robotic device has reached the second position on the second coordinated path, determine a first traversable portion of the first coordinated path, wherein the first traversable portion extends to the first position on the first coordinated path when a distance between the first robotic device and the first position is less than a maximum length limit;

provide a first instruction to the first robotic device to traverse the first traversable portion of the first coordinated path;

subsequently determine that the second robotic device has passed the second position on the second coordinated path;

after the second robotic device has passed the second position on the second coordinated path, determine a second traversable portion of the first coordinated path, wherein the second traversable portion has a length equal to the maximum length limit; and

provide a second instruction to the first robotic device to traverse the second traversable portion of the first coordinated path.

11. The system of claim 10 , wherein the maximum length limit is based on a length of the first coordinated path that is traversable in a predetermined time unit.

12. The system of claim 10 , further comprising a path planning system, wherein the computing device is configured to receive the first and second coordinated paths from the path planning system, and wherein the computing device is further configured to:

determine that the first robotic device is behind schedule by more than a threshold amount; and

responsive to determining that the first robotic device is behind schedule by more than the threshold amount, request updated first and second coordinated paths from the path planning system.

13. The system of claim 12 , wherein the computing device is further configured to:

receive updated first and second coordinated paths from the path planning system; and

provide a plurality of instructions to the first robotic device to traverse a plurality of traversable portions of the first coordinated path during a time between the computing device requesting and receiving updated first and second coordinated paths from the path planning system.

14. A non-transitory, computer-readable medium having instructions stored thereon that when executed by at least one processor, cause the at least one processor to perform a set of acts comprising:

receiving first and second coordinated paths for respective first and second robotic devices, wherein the first coordinated path comprises a first dependency edge indicating a first position on the first coordinated path and a second position on the second coordinated path, wherein the second position on the second coordinated path is to be reached by the second robotic device before the first robotic device proceeds past the first position on the first coordinated path;

before the second robotic device has reached the second position on the second coordinated path, determining a first traversable portion of the first coordinated path, wherein the first traversable portion extends to the first position on the first coordinated path when a distance between the first robotic device and the first position is less than a maximum length limit;

providing a first instruction to the first robotic device to traverse the first traversable portion of the first coordinated path;

subsequently determining that the second robotic device has passed the second position on the second coordinated path;

after the second robotic device has passed the second position on the second coordinated path, determining a second traversable portion of the first coordinated path, wherein the second traversable portion has a length equal to the maximum length limit; and

providing a second instruction to the first robotic device to traverse the second traversable portion of the first coordinated path.

15. The non-transitory, computer-readable medium of claim 14 , wherein the maximum length limit is based on a length of the first coordinated path that is traversable in a predetermined time unit.

16. The non-transitory, computer-readable medium of claim 14 , wherein the first and second coordinated paths are received from a path planning system, the set of acts further comprising:

determining that the first robotic device is behind schedule by more than a threshold amount; and

responsive to determining that the first robotic device is behind schedule by more than the threshold amount, requesting updated first and second coordinated paths from the path planning system.

17. The non-transitory, computer-readable medium of claim 16 , the set of acts further comprising:

receiving updated first and second coordinated paths from the path planning system; and

providing a plurality of instructions to the first robotic device to traverse a plurality of traversable portions of the first coordinated path during a time between requesting and receiving updated first and second coordinated paths from the path planning system.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY ADDRESS PREVIOUSLY RECORDED AT REEL: 057650 FRAME: 0325. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 8, 2021
From: X DEVELOPMENT LLC
To: INTRINSIC INNOVATION LLC
Reel/Frame 057896/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2021
From: X DEVELOPMENT LLC
To: INTRINSIC INNOVATION LLC
Reel/Frame 057650/0325 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2017
From: LALONDE, GEOFFREY; ANDERSON-SPRECHER, PETER
To: X DEVELOPMENT LLC
Reel/Frame 041102/0169 →
Continuity (1)
Related Publication 20180178382A1 · Jun 28, 2018
Cited By (1)
US 12,434,384