IP Library Granted Patent US 12,099,343
Granted Patent B2
US 12,099,343 · App. 17/711,997 · Granted Sep 24, 2024

Scheduler for robot fleets

Inventor: Adrian Kaehler (Campbell, CA)
Assignee: Sanctuary Cognitive Systems Corporation
G05B19/4155G05B23/0283G05B19/418G05B2219/50391
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 12,099,343
App. No.
17/711,997
Filed
Apr 1, 2022
Granted
Sep 24, 2024
Kind
B2
Art Unit
3664
USPC
700/248
Abstract

Provided is a process, including: obtaining, with a computer system, a set of tasks to be performed by a fleet of robots; obtaining, with the computer system, for each task in the set of tasks, a respective plurality of duty cycles, each corresponding to an amount of usage of a respective actuator of a robot among the fleet of robots upon performing the respective task; accessing, with the computer system, for each robot in the fleet of robots, a current wear-state vector having dimensions corresponding to cumulative wear on actuators of the respective robots; and based on the current wear-state vectors and the duty cycles of the tasks, with the computer system, assigning the tasks to the robots in the fleet of robots.

Claims (50)

1. A non-transitory, computer-readable medium storing instructions that when executed effectuate operations comprising:

obtaining, with a computer system, a set of tasks to be performed by a fleet of robots;

obtaining, with the computer system, for each task in the set of tasks, a respective plurality of duty cycles, each corresponding to an amount of usage of a respective actuator of a robot among the fleet of robots upon performing the respective task;

accessing, with the computer system, for each robot in the fleet of robots, a current wear-state vector having dimensions corresponding to cumulative wear on actuators of the respective robots; and

based on the current wear-state vectors and the duty cycles of the tasks, with the computer system, assigning the tasks to the robots in the fleet of robots.

2. The medium of claim 1 , wherein assigning the tasks to the robots in the fleet of robots comprises:

determining an assignment of the tasks that brings maintenance on the robots closer into being synchronized than other candidate assignments of the tasks among the robots.

3. The medium of claim 1 , wherein assigning the tasks to the robots in the fleet of robots comprises:

determining that a given one of the tasks will cause wear on a robot component among a plurality of components of the robots;

determining that a first instance of the robot component on a first robot among the fleet has a first amount of usage remaining before failure or maintenance;

determining that a second instance of the robot component on a second robot among the fleet has a second amount of usage remaining before failure or maintenance; and

determining that the first amount is greater than the second amount and, in response, assigning the task to the first robot.

4. The medium of claim 1 , wherein:

each robot in the fleet of robots has more than 15 components that wear during usage;

the fleet of robots comprises more than 5 robots;

the tasks comprise more than 5 tasks that are different from one another and cause different amounts of wear on the more than 15 components; and

at least some of the robots in the fleet of robots have different amounts of wear from one another.

5. The medium of claim 4 , wherein assigning the tasks to the robots in the fleet of robots comprises:

determining assignments based on how evenly resulting wear on more than 15 components on the more than 5 robots will be after performing the tasks.

6. The medium of claim 4 , wherein:

at least some of the more than 5 tasks are not obtained before others of the more than 5 tasks are assigned to the robots in the fleet of robots.

7. The medium of claim 6 , wherein:

assigning the at least some of the more than 5 tasks comprises predicting likelihood of the others of the more than 5 tasks and determining likelihood-weighted wear amounts on the more than 15 components; and

assignments are based on both wear from the at least some of the more than 5 tasks and the likelihood-weighted wear amounts on the more than 15 components.

8. The medium of claim 1 , wherein:

each of the robots has a plurality of components that wear during operation; and

assigning the tasks to the robots in the fleet of robots comprises:

for each of the tasks, determining a respective hyperrectangle volume of a wear space, wherein dimensions of the wear space correspond to wear on corresponding components among the plurality of components imparted by respective task; and

determining assignments of the tasks that minimizes amount of the wear space unoccupied by the hyperrectangle volumes of the task without exceeding a wear envelope, the wear envelope indicating the amount of wear in each dimension at which the corresponding component is expected to fail or undergoes maintenance.

9. The medium of claim 8 , wherein:

minimizing comprises determining a global minimum among all possible assignments of tasks.

10. The medium of claim 8 , wherein:

minimizing comprises determining at least a local minimum among all possible assignments of tasks.

11. The medium of claim 8 , wherein:

assignments for more than 5 tasks are determined on a task-by-task basis with a greedy optimization.

12. The medium of claim 8 , wherein:

assignments are determined on a task-by-task basis with a greedy optimization.

13. The medium of claim 8 , wherein:

assignments are determined collectively for more than 10 of the tasks to collectively minimize the amount of the wear space unoccupied by the hyperrectangle volumes attributable to the more than 10 of the tasks.

14. The medium of claim 1 , wherein accessing the current wear-state vector comprises inferring at least some dimensions of the current wear state vector based on feedback from a corresponding robot among the fleet of robots.

15. The medium of claim 14 , wherein the feedback comprises oscillations indicative of wear on a gear of an actuator.

16. The medium of claim 14 , wherein the feedback comprises a voltage or current measurement indicative of torque applied by a motor while performing a previous task.

17. The medium of claim 1 , wherein the assignments are determined with steps for online bin packing.

18. The medium of claim 1 , wherein the assignments are determined with steps for offline bin packing.

19. The medium of claim 1 , the operations comprising performing the tasks with the robots in the fleet.

20. A method, comprising:

obtaining, with a computer system, a set of tasks to be performed by a fleet of robots;

obtaining, with the computer system, for each task in the set of tasks, a respective plurality of duty cycles, each corresponding to an amount of usage of a respective actuator of a robot among the fleet of robots upon performing the respective task;

accessing, with the computer system, for each robot in the fleet of robots, a current wear-state vector having dimensions corresponding to cumulative wear on actuators of the respective robots; and

based on the current wear-state vectors and the duty cycles of the tasks, with the computer system, assigning the tasks to the robots in the fleet of robots.