System and method for load balancing of robots to create more equivalent task loads across task servers
AssigneeFetch Robotics, Inc.
InventorsMelonee Wise, Michael Ferguson
Life of this patent
Estimating the term…
Abstract
A method for load balancing of robots includes: receiving, by a first task server configured to manage a first spatial region, a task to be performed by a robot; determining, by the first task server, that the task cannot efficiently be performed within the first spatial region; finding, by the first task server, a second task server configured to manage a second spatial region to which the task can be assigned; and sending, by the first task server, the task to the second task server.
Claims37
A system for load balancing of robots, comprising:
- at least two robots;
- a first computer comprising a first task server;
- and
- a second computer comprising a second task server, the second task server
- operably connected to the first task server, the first task server configured to manage a first spatial region, the first task server operably connected to the at least two robots, the first task server configured to receive a task to be performed by a robot at a site comprising the first spatial region, the first task server further configured to assign the task to one of the two or more robots if the task can efficiently be performed within the first spatial region, thereby creating enhanced task loads across the first task server and the second task server, wherein the first task server and the second task server are configured to interactively assign spatial regions so as to approximately balance loads on the first task server and the second task server, wherein the load is defined as a length of a server's task queue.
A method for load balancing of robots, comprising:
- receiving, by a first task server configured to manage a first spatial region, a task to be performed by a robot;
- determining, by the first task server, that the task cannot efficiently be performed within the first spatial region;
- finding, by the first task server, a second task server configured to manage a second spatial region to which the task can be assigned;
- sending, by the first task server, the task to the second task server, thereby creating enhanced task loads across the first task server and the second task server;
- and
- changing, by the first task server, one or more of the first spatial region and the second spatial region, wherein the step of changing comprises reducing a load on one or more of the first task server and the second task server, wherein the load is defined as a length of a server's task queue.
A method for load balancing of robots, comprising:
- representing a task to be performed by a robot, by a first task server configured to manage a first spatial region, using a spatial data structure, as a minimum bounding box that encompasses spatial information relating to the task;
- querying against the spatial data structure, by the first task server;
- finding, by the first task server, using the minimum bounding box, a second task server that can perform the task, the second task server configured to manage a second spatial region;
- sending the task, by the first task server, to the second task server, thereby enhanced task loads across the first task server and the second task server;
- and
- changing, by the first task server, one or more of the first spatial region and the second spatial region, wherein the step of changing comprises reducing a load on one or more of the first task server and the second task server, wherein the load is defined as a length of a server's task queue.
A method for load balancing of robots, comprising:
- receiving, by a first task server comprising a first task queue, the first task server configured to manage a first spatial region, a task to be performed by a robot;
- determining, by the first task server, that the task cannot be performed by the robots that the first task server manages;
- finding, by the first task server, a second task server that can perform the task, the second task server configured to manage a second spatial region;
- sending the task, by the first task server, to the second task server, thereby creating enhanced task loads across the first task server and the second task server;
- and
- changing, by the first task server, one or more of the first spatial region and the second spatial region, wherein the step of changing comprises reducing a load on one or more of the first task server and the second task server, wherein the load is defined as a length of a server's task queue.
A method for load balancing of robots, comprising:
- checking, by a first task server comprising a first task queue, the first task server configured to manage a first spatial region, that there are tasks remaining in the first task server's task queue;
- checking, by the first task server, that there is not a robot available to perform the task;
- determining, by the first task server, that a task queue time for which the task has been queued exceeds a trigger time;
- finding, by the first task server, a second task server that can fulfill the task, the second task server configured to manage a second spatial region;
- sending, by the first task server, the queued task to the second task server;
- removing, by the first task server, the task from the first task server's task queue, thereby creating enhanced task loads across the first task server and the second task server;
- and
- changing, by the first task server, one or more of the first spatial region and the second spatial region, wherein the step of changing comprises reducing a load on one or more of the first task server and the second task server, wherein the load is defined as a length of a server's task queue.
A method for load balancing of robots, comprising:
- receiving, by a first task server comprising a task queue, the task server configured to manage a spatial region, a task to be performed by a robot;
- determining, by the first task server, that the task can be performed by the robots that the first task server manages;
- adding the task to the task queue, thereby creating enhanced task loads across the first task server and a second task server;
- and
- changing, by the first task server, one or more of the first spatial region and the second spatial region, wherein the step of changing comprises reducing a load on one or more of the first task server and the second task server, wherein the load is defined as a length of a server's task queue.
A method for load balancing of robots, comprising:
- checking, by a first task server, the first task server configured to manage a spatial region, that there are tasks remaining in the first task server's task queue;
- checking, by the first task server, that there is a robot available to perform the task;
- assigning, by the first task server, a best robot that is available, wherein the best robot is selected based on one or more of proximity to the first task server, a requirement of the task, and a most appropriate charge level of available robots, thereby creating enhanced task loads across the first task server and a second task server;
- and
- changing, by the first task server, one or more of the first spatial region and the second spatial region, wherein the step of changing comprises reducing a load on one or more of the first task server and the second task server, wherein the load is defined as a length of a server's task queue.
Dependencies are inferred from the claim text.