IP Library Granted Patent US 10,500,718
Granted Patent B2
US 10,500,718 · App. 15/828,487 · Granted Dec 10, 2019

Systems and methods for allocating tasks to a plurality of robotic devices

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,500,718
App. No.
15/828,487
Granted
Dec 10, 2019
Kind
B2
Abstract

Methods and systems for allocating tasks to robotic devices are provided. An example method includes receiving information associated with task logs for a plurality of robotic devices and in a computing system configured to access a processor and memory, determining information associated with a health level for the plurality of robotic devices based on the information associated with the task logs. A health level for a given robotic device may be proportional to a current level of ability to perform a function, which may change over a lifespan of the given robotic device. Information associated with a plurality of tasks to be performed by one or more or the robotic devices may also be determined. The computing system may optimize an allocation of the plurality of tasks such that a high precision task may be allocated to a robotic device having a greater current health level than another robotic device.

Claims (51)

1. A method comprising:

determining, for a plurality of tasks to be performed by a plurality of robotic devices, a first task associated with a first amount of precision that is greater than a second amount of precision associated with a second task, wherein the first amount of precision specifies a force range for the first task;

based on a health level and a capability for each of the plurality of robotic devices and the determined first and second amount of precision for the first and second task, a computing system configured to access a processor and a memory allocating the first task associated with the more precise first amount of precision to a first robotic device of the plurality of robotic devices having a first health level that is greater than a second health level of a second robotic device of the plurality of robotic devices, wherein the health level for each of the plurality of robotic devices comprises an estimate of an expected remaining amount of time until maintenance of the robotic device, and wherein the capability for each of the plurality of robotic devices is based on the determined health level; and

the computing system communicating instructions to the first robotic device to perform the allocated first task.

2. The method of claim 1 , further comprising allocating the second task to the second robotic device.

3. The method of claim 1 , further comprising:

modifying robotic device capability information for the plurality of robotic devices such that respective robotic device capability information for the plurality of robotic devices is demoted over time.

4. The method of claim 1 , further comprising:

allocating the plurality of tasks to the plurality of robotic devices based on amounts of time associated with performance of the plurality of tasks and the respective health levels for the plurality of robotic devices.

5. The method of claim 1 , further comprising:

receiving maintenance log information for the plurality of robotic devices; and

scheduling maintenance appointments for the plurality of robotic devices based on the respective health levels for the plurality of robotic devices and the maintenance log information.

6. The method of claim 1 , further comprising:

the computing system receiving real-time information from the plurality of robotic devices indicating a status of the plurality of robotic devices, wherein the status of a given robotic device indicates an availability to perform a task; and

the computing system allocating the plurality of tasks to the plurality of robotic devices based on the real-time information and the respective health levels for the plurality of robotic devices.

7. The method of claim 1 , further comprising:

sending information to the first robotic device instructing the first robotic device to perform the first task;

receiving from the first robotic device an indication of the first robotic device performing the first task; and

receiving a task status of the first task, wherein the task status indicates whether the first task is completed.

8. A non-transitory computer readable memory having stored therein instructions executable by a computing device to cause the computing device to perform functions comprising:

determining, for a plurality of tasks to be performed by a plurality of robotic devices, a first task associated with a first amount of precision that is greater than a second amount of precision associated with a second task, wherein the first amount of precision specifies a force range for the first task;

based on a health level and a capability for each of the plurality of robotic devices and the determined first and second amount of precision for the first and second task, allocating the first task associated with the more precise first amount of precision to a first robotic device of the plurality of robotic devices having a first health level that is greater than a second health level of a second robotic device of the plurality of robotic devices, wherein the health level for each of the plurality of robotic devices comprises an estimate of an expected remaining amount of time until maintenance of the robotic device and the capability for each of the plurality of robotic devices is based on the determined health level; and

communicating instructions to the first robotic device to perform the allocated first task.

9. The non-transitory computer readable memory of claim 8 , wherein the second task is allocated to the second robotic device.

10. The non-transitory computer readable memory of claim 8 , further comprising instructions executable by the computing device to perform functions comprising:

modifying robotic device capability information for the plurality of robotic devices such that the robotic device capability information for the plurality of robotic devices is demoted over time.

11. The non-transitory computer readable memory of claim 8 , further comprising instructions executable by the computing device to perform functions comprising:

allocating the plurality of tasks to the plurality of robotic devices based on amounts of time associated with performance of the plurality of tasks and the respective health levels for the plurality of robotic devices.

12. The non-transitory computer readable memory of claim 8 , further comprising instructions executable by the computing device to perform functions comprising:

receiving maintenance log information for the plurality of robotic devices; and

scheduling maintenance appointments for the plurality of robotic devices based on the respective health levels for the plurality of robotic devices and the maintenance log information.

13. The non-transitory computer readable memory of claim 8 , further comprising instructions executable by the computing device to perform functions comprising:

receiving real-time information from the plurality of robotic devices indicating a status of the plurality of robotic devices, wherein the status of a given robotic device indicates an availability to perform a task; and

allocating the plurality of tasks to the plurality of robotic devices based on the real-time information and the respective health levels for the plurality of robotic devices.

14. The non-transitory computer readable memory of claim 8 , further comprising instructions executable by the computing device to perform functions comprising:

sending information to the first robotic device instructing the first robotic device to perform the first task;

receiving from the first robotic device an indication of the first robotic device performing the first task; and

receiving a task status of the first task, wherein the task status indicates whether the first task is completed.

15. A system comprising:

a processor and a memory coupled to the processor, wherein the processor is capable of communicating with a plurality of robotic devices over a network, the processor configured to:

determine, for a plurality of tasks to be performed by a plurality of robotic devices, a first task associated with a first amount of precision that is greater than a second amount of precision associated with a second task, wherein the first amount of precision specifies a force range for the first task;

based on a health level and a capability for each of the plurality of robotic devices and the determined first and second amount of precision for the first and second task, allocate the first task associated with the more precise first amount of precision to a first robotic device of the plurality of robotic devices having a first health level that is greater than a second health level of a second robotic device of the plurality of robotic devices, wherein the health level for each of the plurality of robotic devices comprises an estimate of an expected remaining amount of time until maintenance of the robotic device and the capability for each of the plurality of robotic devices is based on the determined health level; and

communicate instructions to the first robotic device to perform the allocated first task.

16. The system of claim 15 , wherein the processor is further configured to allocate the plurality of tasks to the plurality of robotic devices based on amounts of time associated with performance of the plurality of tasks and the respective health levels for the plurality of robotic devices.

17. The system of claim 15 , wherein the processor is further configured to:

schedule maintenance appointments for the plurality of robotic devices based on the respective health levels for the plurality of robotic devices and maintenance log information.

18. The system of claim 15 , wherein the processor is further configured to:

determine robotic device capability information for the plurality of robotic devices; and

allocate the plurality of tasks to the plurality of robotic devices based on the robotic device capability information and the respective health levels for the plurality of robotic devices.

19. The system of claim 15 , wherein the processor is further configured to:

modify robotic device capability information for the plurality of robotic devices such that the robotic device capability information for the plurality of robotic devices is demoted over time.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2025
From: GOOGLE LLC
To: GDM HOLDING LLC
Reel/Frame 071109/0342 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2023
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 064658/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2019
From: HICKMAN, RYAN; KUFFNER, JAMES J., JR.
To: GOOGLE INC.
Reel/Frame 050868/0004 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2019
From: GOOGLE INC
To: X DEVELOPMENT LLC
Reel/Frame 050890/0516 →
CHANGE OF NAME Recorded Oct 30, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 051798/0273 →