Systems and procedures for robot fleet management
The robot fleet management system optimizes task allocation by considering energy states and consumption, addressing inefficiencies in existing systems by ensuring robots remain productive during energy replenishment, thus enhancing overall fleet efficiency.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- SANCTUARY COGNITIVE SYSTEMS CORP VANCOUVER
- Filing Date
- 2024-10-18
- Publication Date
- 2026-06-11
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL AREA
[0001] The systems and procedures presented here generally relate to the management of robot fleets and, in particular, to the efficient allocation of mobile robots to wired and wireless tasks in an environment. BACKGROUND
[0002] Robots are machines that can assist or replace humans. They can be used in a wide variety of applications, including construction, manufacturing, surveillance, exploration, learning, and entertainment. For example, robots can be used in hazardous or uninhabitable environments. In many of these applications, robots can be assigned specific tasks.
[0003] Some robots require user input and can be operated by humans. Other robots possess a degree of autonomy and can operate without human intervention, at least in some situations. Some autonomous or semi-autonomous robots are designed to mimic human behavior. Autonomous or semi-autonomous robots can be particularly useful in applications where robots (for example, general-purpose robots) need to operate for extended periods without operator intervention, move around their environment, and / or adapt to changing circumstances. BRIEF SUMMARY
[0004] A method for operating a robot fleet management system comprises the robot fleet management system accessing (e.g., receiving) a set of available tasks that can be performed by a robot fleet; the robot fleet management system accessing (e.g., determining) a respective energy consumption for each task from the task set; the robot fleet management system accessing the respective energy state of each robot in the robot fleet; and the robot fleet management system assigning a first robot in the robot fleet to a first task from the task set, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task.
[0005] In some implementations, the assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system involves assigning a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the respective energy state of each robot in the robot fleet and the respective energy consumption for each task from the task set.
[0006] In some implementations, accessing (e.g., receiving) by the robot fleet management system to a set of available tasks that can be performed by a robot fleet involves accessing (e.g., receiving) a set of tasks that includes at least one wired task and at least one wireless task.
[0007] The assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, may include: determining by the robot fleet management system whether the first robot has sufficient energy to perform a wireless task selected from the at least one wireless task, and assigning the first robot to the selected wireless task by the robot fleet management system.
[0008] The assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, may include: determining by the robot fleet management system that the energy state of the first robot is above an upper threshold, and assigning the first robot from the robot fleet by the robot fleet management system to a wireless task selected from the at least one wireless task.
[0009] The assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, may include: determining by the robot fleet management system that the first robot does not have sufficient energy to perform a wireless task selected from the at least one wireless task, and assigning the first robot by the robot fleet management system to a wired task selected from the at least one wired task.
[0010] The assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, may include: determining by the robot fleet management system that the first robot does not have sufficient energy to perform any task selected from the at least one wireless task, and assigning the first robot by the robot fleet management system to a task selected from the at least one wired task.
[0011] The assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, may include: determining by the robot fleet management system that the energy state of the first robot is below a lower threshold, and assigning the first robot from the robot fleet by the robot fleet management system to a wired task selected from the at least one wired task.
[0012] The procedure may also include the robot fleet management system initiating a refill of the first robot's energy source while the first robot is performing a wired task.
[0013] In some implementations, the robot fleet management system's access (e.g., determination) of a specific energy consumption for each task in the task set includes accessing (e.g., determination) by the robot fleet management system to a specific energy consumption that is at least partially based on energy expected to be drawn by a robot in the robot fleet from a power source to perform each task in the task set. Accessing (e.g., determination) by the robot fleet management system to a specific energy consumption that is at least partially based on power expected to be drawn by a robot in the robot fleet from a power source to perform each task in the task set can involve accessing (e.g., determination)the determination) by the robot fleet management system of a respective energy consumption, which is based at least partially on an expected power consumption from a battery required to perform each task from the task set, wherein the battery is located on board a battery-powered robot in the robot fleet.
[0014] In some implementations, the robot fleet management system's access (e.g., determination) of the respective energy consumption for each task in the task set includes accessing (e.g., determination) the respective energy consumption that is at least partially based on respective historical energy consumption data for each task in the task set.
[0015] In some implementations, accessing (e.g., determining) a respective energy consumption for each task from the task set by the robot fleet management system includes accessing (e.g., determining) at least one respective energy consumption value and / or energy consumption category for each task from the task set.
[0016] In some implementations, accessing the energy state of each robot in the robot fleet by the robot fleet management system includes accessing the charge state of an onboard battery of each robot in the robot fleet.
[0017] In some implementations, the robot fleet management system's access to a respective energy state of each robot in the robot fleet involves accessing (e.g., determining) a respective energy state of each robot, which is based at least partially on a respective cumulative energy consumption of each robot for a respective at least one completed task of the at least one wireless task.
[0018] In some implementations, the procedure further includes the assignment of a second robot from the robot fleet to a second task from the task set by the robot fleet management system, at least partially based on the respective energy state of at least the second robot and the respective energy consumption for at least the second task. The assignment of a second robot from the robot fleet to a second task from the task set by the robot fleet management system can include the assignment of a second robot from the robot fleet to a second task from the task set by the robot fleet management system, where the assignment is based at least partially on the respective energy state of each robot in the robot fleet and the respective energy consumption for each task from the task set.
[0019] Accessing (e.g., receiving) a set of available tasks that can be performed by a robot fleet by the robot fleet management system can include accessing (e.g., receiving) a task set that includes at least one wired task and at least one wireless task, and assigning a first robot from the robot fleet to a first task from the task set by the robot fleet management system, and assigning a second robot from the robot fleet to a second task from the task set by the robot fleet management system.The robot fleet management system shall determine that the energy state of the first robot is lower than the energy state of the second robot, assign a wired task selected from the at least one wired task to the first robot, and assign a wireless task selected from the at least one wireless task to the second robot.
[0020] In some implementations, the allocation of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, includes the allocation of the first robot to the first task by the robot fleet management system, at least partially based on at least one of the following factors: a priority of the first task relative to other tasks from the task set and a state of the first robot.
[0021] In some implementations, the assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, involves the assignment of a first task from the task set to a first robot of the robot fleet in real time by the robot fleet management system.
[0022] In some implementations, accessing (e.g., receiving) by the robot fleet management system to a set of available tasks that can be performed by a robot fleet includes accessing (e.g., receiving) by the robot fleet management system to a set of available tasks that can be performed in a common environment by a robot fleet deployed in that common environment.
[0023] In some implementations, accessing (e.g., receiving) by the robot fleet management system to a set of available tasks that can be performed by a robot fleet includes accessing (e.g., receiving) a set of available tasks that includes a first set of available tasks that can be performed in a first environment by at least one first robot of the robot fleet, and a second set of available tasks that can be performed in a second environment by at least one second robot of the robot fleet.
[0024] A robot fleet management system comprises at least one processor and at least one non-transitory, processor-readable storage medium communicatively coupled to the processor, wherein the at least one non-transitory, processor-readable storage medium stores instructions and / or data executable by the processor which, when executed by the at least one processor, cause the robot fleet management system to perform a method for managing robot fleets, wherein the method includes: the robot fleet management system accessing (e.g., receiving) a list or set of available tasks that can be performed by a robot fleet, accessing (e.g.,Determining) by the robot fleet management system the respective energy consumption for each task from the list or task set, accessing by the robot fleet management system the respective energy state of each robot in the robot fleet, and assigning a first robot from the robot fleet to a first task from the list or task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task.
[0025] In some implementations, the assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system involves assigning a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the respective energy state of each robot in the robot fleet and the respective energy consumption for each task from the task set.
[0026] In some implementations, accessing (e.g., receiving) by the robot fleet management system to a set of available tasks that can be performed by a robot fleet involves accessing (e.g., receiving) a set of tasks that includes at least one wired task and at least one wireless task.
[0027] The assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, which is based at least partially on the energy state of at least the first robot and the energy consumption for at least the first task, may include: determining by the robot fleet management system whether the first robot has sufficient energy to perform a wireless task selected from the at least one wireless task, and assigning the first robot to the selected wireless task by the robot fleet management system.
[0028] The assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, may include: determining by the robot fleet management system that the energy state of the first robot is above an upper threshold, and assigning the first robot from the robot fleet by the robot fleet management system to a wireless task selected from the at least one wireless task.
[0029] The assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, may include: determining by the robot fleet management system that the first robot does not have sufficient energy to perform a task selected from the at least one wireless task, and assigning the first robot by the robot fleet management system to a task selected from the at least one wired task.
[0030] The assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, may include: determining by the robot fleet management system that the first robot does not have sufficient energy to perform any task selected from the at least one wireless task, and assigning the first robot by the robot fleet management system to a task selected from the at least one wired task.
[0031] The assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, may include: determining by the robot fleet management system that the energy state of the first robot is below a lower threshold, and assigning the first robot from the robot fleet by the robot fleet management system to a wired task selected from the at least one wired task.
[0032] The operating procedure may also include the robot fleet management system initiating a refill of the first robot's energy source while the first robot is performing a wired task.
[0033] In some implementations, the robot fleet management system's access (e.g., determination) of a specific energy consumption for each task in the task set includes accessing (e.g., determination) by the robot fleet management system to a specific energy consumption that is at least partially based on energy expected to be drawn by a robot in the robot fleet from a power source to perform each task in the task set. Accessing (e.g., determination) by the robot fleet management system to a specific energy consumption that is at least partially based on power expected to be drawn by a robot in the robot fleet from a power source to perform each task in the task set can involve accessing (e.g., determination)the determination) by the robot fleet management system to a respective energy consumption, which is based at least partially on an expected power consumption from a battery required to perform each task from the task set, wherein the battery is located on board a battery-powered robot in the robot fleet.
[0034] In some implementations, the robot fleet management system's access (e.g., determination) of the respective energy consumption for each task in the task set includes accessing (e.g., determination) the respective energy consumption that is at least partially based on respective historical energy consumption data for each task in the task set.
[0035] In some implementations, accessing (e.g., determining) a respective energy consumption for each task from the task set by the robot fleet management system includes accessing (e.g., determining) at least one respective energy consumption value and / or energy consumption category for each task from the task set.
[0036] In some implementations, accessing the energy state of each robot in the robot fleet by the robot fleet management system includes accessing the charge state of an onboard battery of each robot in the robot fleet.
[0037] In some implementations, accessing the energy state of each robot in the robot fleet by the robot fleet involves accessing (e.g., determining) the energy state of each robot, which is based at least partially on the cumulative energy consumption of each robot for at least one completed task of at least one wireless task.
[0038] In some implementations, the control procedure further includes the assignment of a second robot from the robot fleet to a second task from the task set by the robot fleet management system, at least partially based on the respective energy state of at least the second robot and the respective energy consumption for at least the second task. The assignment of a second robot from the robot fleet to a second task from the task set by the robot fleet management system can include the assignment of a second robot from the robot fleet to a second task from the task set, based at least partially on the respective energy state of each robot in the robot fleet and the respective energy consumption for each task from the task set.
[0039] Accessing (e.g., receiving) a set of available tasks that can be performed by a robot fleet by the robot fleet management system can enable accessing (e.g.,The robot fleet management system may include the assignment of a task set with at least one wired task and at least one wireless task (received) to a task set with at least one wired task and at least one wireless task, and the assignment of a first robot from the robot fleet to a first task from the task set, as well as a second robot from the robot fleet to a second task from the task set, wherein the robot fleet management system determines that the energy state of the first robot is lower than the energy state of the second robot, and may include the assignment by the robot fleet management system of a wired task selected from the at least one wired task to the first robot and the assignment by the robot fleet management system of a wireless task selected from the at least one wireless task to the second robot.
[0040] In some implementations, the allocation of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, includes the allocation of the first robot to the first task, at least partially based on at least one of the following factors: a priority of the first task relative to other tasks from the task set and a maintenance state of the first robot.
[0041] In some implementations, the assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, involves the assignment of a first task from the task set to a first robot of the robot fleet in real time by the robot fleet management system.
[0042] In some implementations, accessing (e.g., receiving) by the robot fleet management system to a set of available tasks that can be performed by a robot fleet includes accessing (e.g., receiving) by the robot fleet management system to a set of available tasks that can be performed in a common environment by a robot fleet deployed in that common environment.
[0043] In some implementations, accessing (e.g., receiving) by the robot fleet management system to a set of available tasks that can be performed by a robot fleet includes accessing (e.g., receiving) a set of available tasks that includes a first set of tasks that can be performed in a first environment by at least one first robot of the robot fleet, and a second set of available tasks that can be performed in a second environment by at least one second robot of the robot fleet. BRIEF DESCRIPTION OF THE DIFFERENT VIEWS OF THE DRAWINGS
[0044] The various elements and processes depicted in the drawings serve as illustrations to support the detailed description. Unless the specific context requires otherwise, the sizes, shapes, and relative positions of the depicted elements and processes are not necessarily to scale and are not intended to convey information or limitations. Generally, identical reference symbols are used to denote similar elements or processes. Fig. Figure 1 is a schematic diagram of a context of an example implementation of a robot fleet management system according to the systems, devices and procedures presented. Fig. Figure 2 is a block diagram of an example implementation of the robot fleet management system from Fig. 1 according to the systems, devices and methods presented. Fig. Figure 3 is a block diagram of an example implementation of a control system for a robot fleet management system (for example, the robot fleet management system of the Fig. 1 and Fig. 2) according to the systems, devices and procedures available. Fig. Figure 4 is a schematic diagram of an environment that includes a robot fleet management system (for example, the robot fleet management system of the Fig. 1 and Fig. 2) includes, according to the systems, devices and methods presented. Fig. Figure 5 is a schematic diagram of an example implementation of a robot in a robot fleet (for example, the robot fleet from Fig. 1) according to the systems, devices and procedures available. Fig. Figure 6 is a schematic diagram of another example implementation of a robot in a robot fleet (for example, the robot fleet from Fig. 1) according to the systems, devices and procedures available. Fig. Figure 7 is a flowchart of an example implementation of an operating procedure of a robot fleet management system (for example, the robot fleet management system of the Fig. 1 and Fig. 2) according to the systems, devices and procedures available. Fig. 8A, Fig. 8B, Fig. 8C and Fig. 8D diagrams are flowcharts of example implementations of operating procedures of a robot fleet management system (for example, the robot fleet management system of the Fig. 1 and Fig. 2) for assigning robots in a robot fleet to tasks in a task set according to the present systems, devices and methods. Fig. Figure 9 is a block diagram of an example implementation of a power station for a wired task according to the systems, devices and methods presented. Fig. Figure 10 is a schematic diagram of a context of another example implementation of a robot fleet management system according to the systems, devices and procedures presented. DETAILED DESCRIPTION
[0045] The following description contains specific details to illustrate and clarify various implementations and embodiments of the systems, devices, and methods presented here. A person skilled in the art will recognize that some of the specific details described here may be omitted or modified in alternative implementations and embodiments, and that the various implementations and embodiments described here may be combined with each other and / or with other methods, components, materials, etc., to create further implementations and embodiments.
[0046] In some cases, known structures and / or procedures related to computer systems and data processing have not been shown or described in detail in order to avoid unnecessary complication or ambiguity in the descriptions of the implementations and embodiments.
[0047] Unless the specific context requires otherwise, in this description and the accompanying claims the term “include” and its variants, such as “includes” and “comprehensive”, are used in an open, inclusive sense to mean “including but not limited to”.
[0048] Unless the specific context requires otherwise, the singular forms "a", "an", "a" and "the", "the" in this description and the attached claims also include plural forms. For example, references to "an embodiment" and "the embodiment" each include "elaborations" and "the embodiments", and references to "an implementation" and "the implementation" each include "implementations" and "the implementations". Likewise, the term "or" is generally used in its broadest sense and means "and / or" unless the specific context clearly requires otherwise.
[0049] The headings and summary of the disclosure are provided for convenience only and are not intended to interpret, nor should they be interpreted, the scope or meaning of the systems, devices and processes presented.
[0050] A robot generally includes or is coupled to at least one power source. A robot typically includes or is electrically coupled to a power source. A hydraulic robot may include motors, pumps, sensors, controllers, and / or processors powered by one or more electrical power sources.
[0051] Some robots are mobile and can move from one task to the next within their environment. Some tasks may be tethered, meaning the robot is connected to an electrical power source for at least part of the task. Other tasks may be wireless. For wireless tasks, the robot may rely on an integrated electrical power source. This integrated power source could be, for example, a battery, a fuel cell, or a supercapacitor. Some integrated power sources require a charge or fuel that is depleted over time and therefore need to be recharged, refilled, and / or replaced regularly.
[0052] A robot fleet can include robots that can be operated to perform one or more tasks. In some implementations, the robots in the fleet are of the same type and model. In some implementations, the robots in the fleet include general-purpose robots. In some implementations, the robot fleet includes at least one specialized robot.
[0053] The one or more tasks to be performed by robots in the robot fleet can be carried out simultaneously, sequentially, in the same environment, or in different environments. The environment can include, for example, a location, a facility, and / or a construction site.
[0054] Robots in a fleet may not have exactly the same specifications, functions, and / or operational capabilities. A robot fleet may include auxiliary systems and / or devices that are shared by the robots in the fleet and used to perform tasks. Assigning robots to tasks by a robot fleet management system may include assigning the auxiliary systems and / or devices, either separately or in conjunction with assigning robots to tasks.
[0055] Managing robot fleets, especially fleets of mobile robots, can present particularly complex challenges in (process) planning. For example, existing robot fleet management systems may not be well-suited for robot fleets, particularly those of mobile robots, with their diverse energy requirements. Mobile robots may be tethered to an electrical power source or operate wirelessly, relying on an integrated power source, depending on the task they are performing. Existing planning approaches may not account for the varying power needs arising from a multitude of tasks, some of which are performed with wires and others wirelessly. This can lead to inefficient allocation of robots from the fleet to the task set.
[0056] A mobile robot performing a tethered task (i.e., a mobile robot connected to an electrical power source) can obtain the electrical energy required to perform the task from the electrical power source to which the mobile robot is connected. During task execution and while the robot is powered by the electrical power source, excess power from the electrical power source can be used to recharge an energy storage device (e.g., a battery) on board the mobile robot.
[0057] In some implementations, a controller (e.g., an onboard controller of the mobile robot) can prevent the energy storage from being overcharged, for example, by temporarily using energy from the storage to perform the task. Once sufficient energy has been consumed from the storage, the controller can cause the mobile robot to draw power again from the electrical power source to which it is tethered to perform the task, using any excess energy to replenish the energy storage.
[0058] In some implementations, the power available from the electrical power source to which the mobile robot is connected is sufficient to perform the task assigned to the mobile robot. Excess energy from the electrical power source can be used to recharge an onboard energy storage device. In other implementations, the power available from the electrical power source to which the mobile robot is connected is insufficient to perform at least part of the task assigned to the mobile robot. An onboard energy storage device can be used to provide additional power for the execution of the assigned task.
[0059] One advantage of using a general-purpose robot to perform a task is that the robot can typically work longer than a human performing the same task. In some situations, the robot can perform a task without interruption, for example, around the clock. It may therefore be desirable for the robot system to be operated in such a way that the robot's energy source can be recharged, replenished, and / or replaced without significantly interrupting the robot's task; that is, without the robot remaining idle during the recharging, replenishing, and / or replacing of the energy source.
[0060] One advantage of an autonomous robot is that it can operate with little or no human supervision or intervention while performing its task. It may be desirable for the robot to be similarly autonomous during recharging, refilling, and / or replacing its energy source.
[0061] It is desirable that when assigning robots to tasks, the energy states of the robots in a robot fleet as well as the energy consumption of the tasks in a task set to which the robots are assigned are taken into account.
[0062] The "energy state" of a robot refers to a) an energy level at which the robot is capable of providing electrical energy to perform a task, and / or b) an amount of energy stored in the robot, which is available for performing a task. Performing a task can include partially completing a task, performing a task over a specific period of time, or completing a task entirely.
[0063] The "energy consumption" of a task refers to a) the amount of energy consumed per unit of time while performing the task and / or b) the amount of energy consumed to complete the task. Energy consumption can be based, at least in part, on the amount of energy per unit of time and / or the total amount of energy expected to be drawn from an energy source by a robot in the robot fleet to perform and / or complete the task. Energy consumption can be based on historical energy consumption data.
[0064] Assigning robots to tasks via a scheduler in a robot fleet management system can improve the efficiency with which a) tasks can be performed and b) high-energy states can be maintained by robots within the fleet. For example, it can be advantageous for a robot to be able to work productively while its energy source is being replaced, recharged, or replenished.
[0065] The technology described in the present application comprises systems, devices and methods for the autonomous or semi-autonomous efficient assignment of robots from a robot fleet to tasks.
[0066] Fig. Figure 1 is a schematic diagram of a context 100 of an example implementation of a robot fleet management system 102 according to the present systems, devices, and procedures. The robot fleet management system 102 is referred to below with reference to Fig. 2 described.
[0067] Context 100 comprises a task provider 104 and a robot fleet 106. In the example implementation of Fig. In example 1, the task provider 104 and the robot fleet 106 are arranged externally to the robot fleet management system 102. In other example implementations, the task provider 104 is a component of the robot fleet management system 102.
[0068] The robot fleet management system 102 is communicatively connected to the task provider 104. During operation, the robot fleet management system 102 accesses (e.g., receives) a task set 108 from the task provider 104. In some implementations, the task set 108 is retrieved by at least one processor of the robot fleet management system 102 from a non-transitory, processor-readable storage medium of the task provider 104. In some implementations, the task set 108 is received (e.g., via a telecommunications interface) in response to a request 110 from the robot fleet management system 102. In some implementations, the task set 108 is received periodically from the task provider 104. In some implementations, the task set 108 is received in response to an external event. The task set 108 can comprise a set of wired tasks and a set of wireless tasks.Task set 108 can contain sufficient information to assign robots from robot fleet 106 to tasks from task set 108.
[0069] The robot fleet management system 102 is communicatively connected to the robot fleet 106. The robot fleet management system 102 is designed to access (e.g., receive) the respective energy state 112 of each robot in the robot fleet 106. In some implementations, the energy state 112 of a robot in the robot fleet 106 includes the charge level of a battery installed in the robot.
[0070] During operation, the robot fleet management system assigns tasks from task set 108 to robots in robot fleet 102 and sends a robot assignment 114 to robot fleet 106. The robot assignment 114 can include one or more assignments of robots from robot fleet 106 to tasks from task set 108. In some implementations, the robot assignment 114 is sent directly to one or more robots in robot fleet 106. In other implementations, the robot assignment 114 is sent to one or more robots in robot fleet 106 via an intermediate controller 116.
[0071] In some implementations, the assignment of robots from Robot Fleet 106 to tasks from Task Set 108 will be based at least partially on the energy state 112 of at least one robot from Robot Fleet 106 and the energy consumption for at least one task from Task Set 108. In some implementations, the energy consumption is based at least partially on the power expected to be drawn from an energy source to perform the task. The energy source can be a general AC power supply. The energy source can be a battery. The battery can be located on board the robot.
[0072] In some implementations, the Robot Fleet 106 includes a humanoid robot. A humanoid robot is a robot whose appearance and / or behavior resembles that of a human.
[0073] Fig. Figure 2 is a block diagram of an example implementation of the robot fleet management system 102 from Fig. 1 according to the present systems, devices and methods. The robot fleet management system 102 comprises a scheduler 202, an interface 204 to the task provider (for example, to the task provider 104 from Fig. 1), an interface 206 to the robot fleet (for example, to the robot fleet 106 from Fig. 1) and a control panel 208.
[0074] The control unit 208 communicates with the scheduler 202 and interfaces 204 and 206. The control unit 208 can instruct the scheduler 202 to assign robots from a robot fleet to specific tasks from a task set. The control unit 208 can instruct interface 204 to send a request to the task provider and / or receive a task set from the task provider. The control unit 208 can instruct interface 206 to send a robot assignment to the robot fleet and / or receive the energy status of at least one robot in the robot fleet.
[0075] The robot fleet management system 102 comprises task data 210, fleet data 212, and environmental data 214. The task data 210 can include one or more task sets received from the task provider via interface 204. The task data 210 can contain data that identifies tasks as wired or wireless. The task data 210 can also include energy consumption data for wireless tasks.
[0076] Fleet data 212 can include data about one or more robots in the robot fleet. Fleet data 212 can include data indicating whether robots are available or unavailable. Fleet data 212 can include the energy status of each robot in the robot fleet.
[0077] Environmental data 214 can include data that describes the environment, for example, a floor plan of a facility or workplace, the number and locations of wired stations (see, for example, Fig. 9 and the associated description), number and locations (if applicable) of wireless tasks, movement paths for robots in the environment, and the like.
[0078] Fig. Figure 3 is a block diagram of an example implementation of a controller 300 of a robot fleet management system (e.g., the robot fleet management system 102 from the Fig. 1 and Fig. 2) according to the systems, devices and methods presented. The controller 300 can be a system controller (for example, the system controller 208 from Fig. 2) The controller 300 can be a controller integrated into the scheduler 202 and / or interfaces 204 and 206. In different implementations, the control functionality can be centralized or distributed.
[0079] The controller 300 comprises one or more processors 302, one or more non-volatile storage media 304, and a non-volatile memory 306. The one or more non-volatile storage media 304 contain a computer program product 308.
[0080] The controller 300 optionally includes a user interface 310 and / or an application programming interface (API) 312.
[0081] The one or more processors 302, the non-volatile storage media 304, the non-volatile memory 306, the user interface 310 and the API 312 are communicatively connected to each other via a bus 314.
[0082] The 300 controller can handle some or all of the functions in Fig. 7 and the Fig. 8A, Fig. 8B, Fig. 8C and Fig. Control and / or execute the processes depicted in 8D (as below with reference to Fig. 7 and the Fig. 8A, Fig. 8B, Fig. 8C and Fig. 8D described).
[0083] Fig. Figure 4 is a schematic diagram of an environment 400, which includes a robot fleet management system 402 (for example, the robot fleet management system 102 from the Fig. 1 and Fig. 2) according to the systems, devices and procedures available.
[0084] Environment 400 includes robots 404 and 406, each performing a wireless task, namely tasks 408 and 410, respectively. Environment 400 also includes robots 412 and 414, each performing a wired task, namely tasks 416 and 418, respectively. Environment 400 also includes an unassigned robot 420, which has not yet been assigned a task. Environment 400 further includes a wireless task 422 and a wired task 424, neither of which currently has a robot assigned to them.
[0085] In some implementations, at least one of the robots 404, 406, 412, 414 and 420 is a humanoid robot.
[0086] Each of the wired tasks 416, 418, and 424 includes an associated power station, namely power stations 426, 428, and 430, respectively. In some implementations, power stations 426 and 428 supply electrical power to robots 412 and 414, respectively, while robots 412 and 414 are connected to power stations 426 and 428 and perform the wired tasks 416 and 418, respectively. In some implementations, power stations 426 and 428 replenish the power source on board robots 412 and 414, respectively. In some implementations, at least one of power stations 426, 428, and 430 includes at least one of the following components: a universal AC power supply (e.g., a mains power supply), a universal DC power supply, a battery, a fuel cell, a supercapacitor, a charging station for recharging the power source, and a station for replacing the power source.Energy stations 426, 428 and 430 are referred to in . Fig. 9 described in more detail.
[0087] Depending on its energy state and energy consumption, robot 420 can be assigned to either wireless task 422 or wired task 424. In some implementations, the robot fleet management system 402 determines whether robot 420 has sufficient energy to perform wireless task 422. If so, the robot fleet management system 402 assigns robot 420 to wireless task 422. If not, the robot fleet management system 402 assigns robot 420 to wired task 424. This example implementation, along with several other example implementations for assigning a robot to a task, is described with reference to Fig. 7 and the Fig. 8A, Fig. 8B, Fig. 8C and Fig. 8D described in more detail.
[0088] The energy state of each of the robots 404, 406, 412, 414, and 420 is schematically represented by the counter displays 432, 434, 436, 438, and 440, respectively. For example, the energy state of robot 414 is higher than the energy state of robot 404. In some implementations, robots 414 and 404 each have their own battery, and counter displays 438 and 432 indicate that the battery of robot 414 is more charged than the battery of robot 404.
[0089] The robot fleet management system 402 is communicatively connected to robots 404, 406, 412, 414, and 420 via communication links 442, 444, 446, 448, and 450, respectively. In some implementations, the robot fleet management system 402 communicates wirelessly with robots 404, 406, 412, 414, and 420, and communication links 442, 444, 446, 448, and 450 include wireless communication links. In some implementations, the robot fleet management system 402 is also communicatively connected to energy stations 426, 428, and 430, e.g., via wireless communication (in Fig. 4 (shown by dashed lines). For example, the robot fleet management system 402 can receive a status update from energy stations 426, 428 and 430.
[0090] Fig. Figure 5 is a schematic diagram of an example implementation of a robot 500 in a robot fleet (for example, the robot fleet 106 from Fig. 1) according to the present systems, devices and methods. The robot 500 comprises an electrical energy source 502. The electrical energy source 502 can consist of at least a battery, a fuel cell or a supercapacitor.
[0091] The robot 500 further comprises a base 504 and a humanoid torso 506. The base 504 includes a pelvic region 508 and two legs 510a and 510b (collectively referred to as legs 510). Fig. Figure 5 shows only the upper part of the legs 510. In other embodiments, the base 504 can include a stand and (optionally) one or more wheels.
[0092] The upper body 506 comprises a torso 512, a head 514, a left arm 516a and a right arm 516b (collectively referred to as arms 516), as well as a left hand 518a and a right hand 518b (collectively referred to as hands 518). The arms 516 of the robot 500 are also referred to as robot arms in the present application. The arms 516 of the robot 500 are humanoid arms. In other implementations, the arms 516 have a shape that differs from the shape of a humanoid arm.
[0093] The hands 518 are also referred to as end effectors in the present application. In other implementations, the hands 518 have a shape that differs from that of a humanoid hand. Each of the hands 518 comprises one or more fingers, for example, finger 520 of hand 518b. The fingers may include fingers, thumbs, or similar structures of the hand or the end effector.
[0094] In some implementations, the robot 500 is a hydraulically driven robot. Components of a hydraulic control system may be housed, for example, in the base 504 and / or the torso 512 of the upper body 506. Hydraulic control components may also be located outside the robot, for example, on a wheeled unit that rolls with the robot as it moves, or in a fixed station to which the robot is tethered. In the embodiment according to Fig. 5 The robot 500 includes a hydraulic pump 522, a reservoir 524 and an accumulator 526, which is integrated into the arm 516b of the robot 500.
[0095] The robot 500 also includes hoses 528 and 530. Hose 528 establishes a hydraulic connection between the accumulator 526 and a pressure valve 532. Hose 530 establishes a hydraulic connection between an outlet valve 534 and the reservoir 524. The robot 500 also includes hose 536, which runs from the pressure valve 532 to the actuating piston 538, and hose 540, which runs from the actuating piston 538 to the outlet valve 534. Hoses 528 and 536, as well as the pressure valve 532, form a forward path to the actuating piston 538. Hoses 530 and 540, as well as the outlet valve 534, form a return path from the actuating piston 538. The hydraulic fluid in the hydraulic hoses of Fig. 5 (including hoses 528 and 530) can be an oil, for example peanut oil or mineral oil.
[0096] The pressure valve 532 and the outlet valve 534 can control the actuating piston 538 and cause a movement of the actuating piston 538, which can cause a corresponding movement of at least part of the hand 518b, for example the finger 520.
[0097] In some implementations, the pressure valve 532 and the outlet valve 534 are electrohydraulic servo valves controlled by a controller 542. The electrohydraulic servo valves are also referred to in this application as servo valves and servo-controlled valves. The controller 542 can be implemented by any suitable combination of hardware, software, and / or firmware. For example, the controller 542 can comprise one or more application-specific integrated circuits, standard integrated circuits, and / or computer programs executed by any number of computers, microcontrollers, and / or processors (including, for example, microprocessors and central processing units). In other implementations, other suitable valve types can be used.
[0098] Pump 522, pressure valve 532, and outlet valve 534 are examples of components of the robot 500's hydraulic control system that can be powered by electrical power source 502. Controller 542 is an example of an electronic system that can also be powered by electrical power source 502.
[0099] In other implementations, the hydraulic drive mechanism includes a motor and a drive piston. The motor and drive piston are further examples of components of the Robot 500 that can be powered by the Electrical Power Source 502. In other implementations, the Robot 500 is an electromechanical robot. In still other implementations, the Robot 500 is a cable-operated robot.
[0100] The power source 502 can be a primary electrical power source. A primary electrical power source is an electrical power source used by the robot 500 during normal operation to power electrical and / or electronic components of the robot 500 (for example, the pump 522 and the controller 542).
[0101] Fig. Figure 5 shows a single primary electrical power source 502. Experts will recognize that the robot 500 may include more than one primary electrical power source. In some implementations, each primary electrical power source is assigned to a specific subset of electrical or electronic components on the robot 500, as defined by the controller 542. In some implementations, multiple primary power sources may be provided to ensure redundancy in the event of a failure of one primary power source.
[0102] The robot 500 also includes a secondary power source 544. A secondary power source of the robot 500 (for example, the secondary power source 544) is an electrical power source that can be activated by the robot 500 (or by another element of a robot system to which the robot 500 belongs) to maintain the power supply to the electrical and / or electronic components of the robot 500 when a primary electrical power source (for example, the electrical power source 502) is unavailable. The primary electrical power source may be unavailable, for example, when the current electrical power source is being replaced by a backup primary electrical power source. The secondary power source may have a lower capacity than the primary power source. The secondary power source 544 may, for example, be a rechargeable battery.
[0103] Fig. Figure 6 is a schematic diagram of another implementation of a robot 600 in a robot fleet (for example, the robot fleet 106 from Fig. 1) according to the present systems, devices, and methods. The Robot 600 can be autonomous or semi-autonomous. The Robot 600 can be a general-purpose robot. The Robot 600 can be a robot in a robot fleet.
[0104] The robot 600 includes an electrical energy source 602. The electrical energy source 602 can consist of at least a battery, a fuel cell, or a supercapacitor.
[0105] Robot 600 is a humanoid robot. A humanoid robot is a robot whose appearance and / or behavior resembles that of a human. In some implementations, Robot 600 is capable of autonomous movement (for example, bipedal walking).
[0106] The robot 600 comprises a head 604, a torso 606, robot arms 608 and 610, and hands 612 and 614. The robot 600 is a bipedal robot and includes a joint 616 between the torso 606 and the robot legs 618. The joint 616 allows rotation of the torso 606 relative to the robot legs 618. For example, the joint 616 allows forward bending of the torso 606.
[0107] The robot legs 618 comprise thighs 620 and 622 with hip joints 624 and 626, respectively. The robot legs 618 also comprise lower legs 628 and 630, which are mechanically connected to the thighs 620 and 622 via knee joints 632 and 634, respectively. The lower legs 628 and 630 are also mechanically connected to the feet 636 and 638 via ankle joints 640 and 642, respectively. In various implementations, one or more of the hip joints 624 and 626, the knee joints 632 and 634, and the ankle joints 640 and 642 are controllable joints.
[0108] The Robot 600 can be a hydraulically driven robot. In some implementations, the Robot 600 has alternative or additional drive systems. For example, in some implementations, the Torso 606 houses a hydraulic control system. In some implementations, components of the hydraulic control system can alternatively be located outside the robot, for example, on a wheel attachment that rolls with the robot as it moves, or at a fixed station to which the robot is tethered. The Robot 600's hydraulic control system can include a hydraulic pump, a reservoir, and / or an accumulator. Hydraulic hoses can serve as hydraulic connections between the hydraulic control system and one or more pressure valves.
[0109] In some implementations, the Robot 600 can be part of a mobile robotic system that includes a mobile base. In some implementations, the robot is able to mount and dismount the mobile base. In some implementations, the mobile base includes wheels and / or tracks, and the robot is able to move around the environment as a passenger while mounted (also: housed) on the mobile base. In some implementations, the robot is capable of bipedal walking and can move around the environment independently of the mobile base after dismounting from it.
[0110] The Robot 600 can include sensors, such as acoustic, visual, tactile, and / or olfactory sensors. The Robot 600 can include a speech generator and / or a sound generator. The Robot 600 can use the speech generator and / or the sound generator when interacting with a human. The sensors can be used to perform a task. The task can be wireless or wired.
[0111] Fig. Figure 7 is a flowchart of an example implementation of a procedure 700 for operating a robot fleet management system (for example, the robot fleet management system 102 from the Fig. 1 and Fig. 2) according to the systems, devices and procedures available.
[0112] In case 702, the process begins in response to a start state (for example, switching on a controller). In case 704, the robot fleet management system (optionally) queries a task set (for example, a task list) from a task provider (for example, task provider 104). Fig. 1) At 706, the robot fleet management system accesses (i.e., receives) a task set (e.g., a task list) from the task provider.
[0113] In case 708, the robot fleet management system accesses (e.g., determines) energy consumption for a task from the task set. For example, the task set and the corresponding energy consumption can be stored in a non-transitory, processor-readable storage medium (within or outside the robot fleet management system), and to access the energy consumption for a task, a processor of the robot fleet management system can retrieve the relevant data from the non-transitory, processor-readable storage medium. As another example, energy consumption can be accessed based on energy consumption data for the task from task data (for example, task data 210 from Fig. 2) which are stored in the robot fleet management system, are accessed (e.g., determined or at least estimated by the robot fleet management system's processor). In some implementations, the energy consumption data for a task is provided by the task provider. In some implementations, the task set is sorted by energy consumption (for example, in ascending or descending order). If the robot fleet management system determines at 710 that another task is available, the procedure returns to 708 at 700 and accesses or determines the energy consumption for the next task.
[0114] Otherwise, procedure 700 continues with 712, where the robot fleet management system accesses the energy state of a robot in a robot fleet. The energy state can be provided by the robot in the robot fleet or determined or at least estimated by the robot fleet management system, based at least on data provided by the robot in the robot fleet and / or on fleet data (for example, the fleet data 212 from Fig. 2) which are stored in the robot fleet management system. In some implementations, the energy state can be determined by the robot fleet management system and / or by the robot, at least partially based on data from one or more sensors on board the robot that monitor the charge level of an onboard power source. In some implementations, the energy state of a robot can be determined at least partially based on a record of the cumulative energy drawn by the robot to perform various wireless tasks.
[0115] If the robot fleet management system at 714 detects that another robot is present, the procedure 700 returns to 712 and determines the energy state for the next robot.
[0116] Otherwise, procedure 700 continues with 716, where the robot fleet management system assigns each robot from at least one robot in the fleet a specific task from the task set. Procedure 700 ends at 718, for example, when all robots in the fleet have been assigned tasks or when the controller shuts down.
[0117] The Fig. 8A, Fig. 8B, Fig. 8C and Fig. 8D are flowcharts of example implementations of operating procedures of a robot fleet management system (for example, the robot fleet management system 102 from the Fig. 1 and Fig. 2) for assigning robots in a robot fleet to tasks in a task set according to the present systems, devices and methods. Fig. 8A, Fig. 8B, Fig. 8C and Fig. Figure 8D illustrates various example implementations of step 716 from Fig. 7. Assigning a robot to a task. The example implementations of the Fig. 8A, Fig. 8B, Fig. 8C and Fig. 8D are referred to as methods 716a, 716b, 716c and 716d respectively in the descriptions of the figures below.
[0118] Fig. Figure 8A shows a flowchart of an exemplary implementation (Procedure 716a) of step 716 from Fig. 7 for assigning a robot to a task in accordance with the present systems, devices and procedures.
[0119] Procedure 716a begins at 802. If the robot fleet management system determines at 802 that a robot has sufficient power for a wireless task, procedure 716a continues to 804, where the robot fleet management system assigns the robot to the wireless task and instructs the controller at 718. Fig. 7. Otherwise, procedure 716a continues to 806. If the robot fleet management system determines at 806 that there is another wireless task in the task set, procedure 716a returns to 802. Otherwise, procedure 716a continues to 808, where the robot fleet management system assigns the robot to a wired task and transfers the controller to 718. Fig. returns 7.
[0120] Fig. 8B is a flowchart of another execution variant (procedure 716b) of step 716 from Fig. 7 for assigning a robot to a task in accordance with the present systems, devices and procedures.
[0121] Procedure 716b begins at 810. If the robot fleet management system determines at 810 that a robot's energy state is above an upper threshold, procedure 716b continues to 812, where the robot fleet management system assigns the robot to a wireless task and transfers control to 718. Fig. 7 returns. Otherwise, procedure 716b continues to 814. If, at 814, the robot fleet management system determines that the robot's energy state falls below a lower threshold, procedure 716b continues to 816, where the robot fleet management system assigns the robot to a tethered task and transfers the control to 718. Fig. 7 returns. Otherwise, procedure 716b directly passes control to 718 in Fig. 7 back.
[0122] Fig. 8C is a flowchart of another execution variant (procedure 716c) of step 716 from Fig. 7 for assigning a robot to a task in accordance with the present systems, devices and procedures.
[0123] Procedure 716c begins at 818. If the robot fleet management system determines at 818 that a robot's energy state is above an upper threshold, procedure 716c continues to 820, where the robot fleet management system assigns the robot to a wireless task and transfers control to 718. Fig. 7 returns. Otherwise, procedure 716b continues to 822. If the robot fleet management system determines at 822 that the robot's energy state is below a lower threshold, procedure 716c continues to 824, where the robot fleet management system assigns the robot to a tethered task and transfers the control to 718 in Fig. 7 returns. Otherwise, procedure 716c directly passes control to 802 in Fig. 8A returns the robot to a task for which it has sufficient energy. Determining whether the robot has sufficient energy to perform the task can be based, at least in part, on the robot's energy state and the task's energy consumption.
[0124] Fig. 8D is a flowchart of a further embodiment (method 716d) of step 716 from Fig. 7 for assigning a robot to a task in accordance with the present systems, devices and procedures.
[0125] Procedure 716d begins at 826. If, at 826, the robot fleet management system determines that the energy state of a first robot is greater than that of a second robot, procedure 716d continues to 828, where the robot fleet management system assigns the first robot to a wireless task. At 830, the robot fleet management system assigns a wired task to the second robot and then returns to control at 718. Fig. 7. Otherwise, procedure 716d continues with 832. At 832, the robot fleet management system assigns a wired task to the first robot. At 834, the robot fleet management system assigns a wireless task to the second robot and then returns to control at 718. Fig. 7 back.
[0126] In some implementations, the references to the Fig. 7, Fig. 8A, Fig. 8B, Fig. 8C and Fig. The robot fleet management system procedures described in 8D are executed in real time or near real time.
[0127] In some implementations, the robot fleet management system considers additional factors when planning and assigning robots to tasks. For example, in some implementations, assigning a robot to a task is based at least partially on at least one of the following factors: the priority of the task relative to other tasks in the task set and the maintenance status of the robot.
[0128] Fig. Figure 9 is a block diagram of an example implementation of an Energy Station 900 for a wired task (for example, the Energy Station 426 from Fig. 4) according to the systems, devices and procedures available.
[0129] When a robot is assigned a tethered task, the robot's power source can be replaced and / or recharged while the robot performs the tethered task. The Power Station 900 includes a Power Source Storage Unit 902, which contains one or more electrical power sources compatible with the robot (for example, the Robots 500 and 600 from the series). Fig. 5 or 6). The Energy Station 900 also includes a storage facility for spent energy sources 904, which contains one or more spent, exhausted or discharged electrical energy sources received by robots from the robot fleet.
[0130] The Energy Station 900 can include a charger. The charger can be used to recharge an electrical power source (for example, a battery) of a robot from the robot fleet.
[0131] The Power Station 900 can include an auxiliary power outlet 908. The auxiliary power outlet 908 can provide at least either alternating current or direct current. The auxiliary power outlet 908 can be used to power a robot a) while the robot is exchanging a power source with the Power Source Exchange Station 900, b) while the robot is recharging (or otherwise waiting to recharge) a primary power source, and / or c) while the robot is performing the wired task.
[0132] The Energy Station 900 can include an Energy Management System 910. The Energy Management System 910 can include at least one processor. In some implementations (for example, if the robot is unable to determine the state of its power source itself), the Energy Management System 910 can be used to determine the robot's energy state (for example, a low-energy state or a charging state). The Energy Management System 910 can be used to provide automated replacement of the robot's electrical power source and / or automated recharging of the robot's electrical power source. The automatic replacement and / or automatic recharging can include switching an auxiliary power source on and off to maintain power to the robot during the replacement and / or while the robot performs its wired task.
[0133] The Energy Station 900 can be either mobile or stationary. In some implementations, the robot is mobile, and the Energy Station is located at a fixed location. In other implementations, the Energy Station is mobile and can be guided to a robot that is currently or impending a low-energy state. The robot can perform a task wirelessly or via a wired connection when the impending low-energy state is first detected.
[0134] Fig. Figure 10 is a schematic diagram of a context 1000 of a further example implementation of a robot fleet management system 1002 according to the present systems, devices and methods.
[0135] The robot fleet management system 1002 is similar to the robot fleet management system 102 from Fig. 1 and was mentioned above with reference to Fig. 2 described in more detail.
[0136] Context 1000 comprises an environment 1004, which contains a robot fleet 1006 and a task set 1008. Environment 1004 can include at least one location, facility, workplace, or the like.
[0137] Robot fleet management system 1002 is communicatively connected to robot fleet 1006. Robot fleet management system 1002 is designed to access and receive task set 1008.
[0138] Context 1000 also includes an environment 1010, which comprises a robot fleet 1012 and a task set 1014. Environment 1010 can include at least one location, facility, workplace, or the like. The robot fleet management system 1002 is communicatively connected to the robot fleet 1012. The robot fleet management system 1002 is capable of accessing and receiving a task set 1014.
[0139] The robot fleet management system 1002 can be assigned tasks 1008 and 1014 by one or more task providers (in Fig. (10 not shown) access or receive these. Task sets 1008 and 1014 can include wired and wireless tasks. Task sets 1008 and 1014 can contain sufficient information to assign robots in robot fleets 1006 and 1012 to the tasks, respectively.
[0140] In operation, the robot fleet management system assigns 1002 robots in robot fleets 1006 and 1012 to the tasks in task sets 1008 and 1014 respectively.
[0141] The functionality of the robot fleet management system 1002 is described with reference to the above. Fig. 7, Fig. 8A, Fig. 8B, Fig. 8C and Fig. 8D described.
[0142] In some implementations, the robots in robot fleets 1006 and 1012 are humanoid robots.
[0143] The various implementations described herein may incorporate some or all of those contained in U.S. Patent Application No. 18 / 089,517, U.S. Patent Application No. 16 / 940,566 (Publication No. US 2021-0031383 A1), U.S. Patent Application No. 17 / 023,929 (Publication No. US 2021-0090201 A1), U.S. Patent Application No. 17 / 061,187 (Publication No. US 2021-0122035 A1), U.S. Patent Application No. 17 / 098,716 (Publication No. US 2021-0146553 A1), U.S. Patent Application No. 17 / 111,789 (Publication No. US 2021-0170607 A1), U.S. Patent Application No. 17 / 158,244 (Publication No. US 2021-0234997 A1), the preliminary US patent application No. 63 / 001,755 (Publication No. US 2021-0307170 A1) and / or preliminary US patent application No. 63 / 057,461 as well as the preliminary US patent application No. 63 / 151,044, the preliminary US patent application No. 63 / 173,670, the preliminary US patent application No. 63 / 184,268, the preliminary US patent application No. 63 / 213.385, the provisional US patent application No. 63 / 232,694, the provisional US patent application No. 63 / 316,693, the provisional US patent application No. 63 / 253,591, the provisional US patent application No. 63 / 293,968, the provisional US patent application No. 63 / 293,973 and / or the provisional US patent application No. 63 / 278,817, each of which is hereby incorporated in its entirety by reference, comprise or are combined with the systems, devices and methods described therein.
[0144] This description and the accompanying claims frequently use infinitive forms of verbs. Examples include "to provide," "to control," and the like. Unless the specific context requires otherwise, such infinitive forms are used in an open, comprehensive sense, i.e., as "at least to provide," "at least to control," and so on.
[0145] This description, including the drawings and the summary, is not intended to be an exhaustive or limiting description of all implementations and embodiments of the systems, devices, and methods presented here. A person skilled in the art will recognize that the various descriptions and drawings can be modified without departing from the spirit and scope of the disclosure. In particular, the teachings contained herein are not intended to be limited by the illustrative examples of robots and hydraulic circuits given.
[0146] The claims of the disclosure are set forth below. This disclosure serves to support, enable, and illustrate the claims, but is not intended to limit the scope of the claims to any particular implementations or embodiments. In general, the claims are to be interpreted as encompassing all possible implementations and embodiments, as well as the full scope of equivalents to which such claims refer. QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] US 18 / 089,517
[0143] US 16 / 940,566
[0143] US 2021-0031383 A1
[0143] US 17 / 023,929
[0143] US 2021-0090201 A1
[0143] US 17 / 061,187
[0143] US 2021-0122035 A1
[0143] US 17 / 098.716
[0143] US 2021-0146553 A1
[0143] US 17 / 111.789
[0143] US 2021-0170607 A1
[0143] US 17 / 158,244
[0143] US 2021-0234997 A1
[0143] US 63 / 001,755
[0143] US 2021-0307170 A1
[0143] US 63 / 057,461
[0143] US 63 / 151,044
[0143] US 63 / 173,670
[0143] US 63 / 184.268
[0143] US 63 / 213.385
[0143] US 63 / 232.694
[0143] US 63 / 316.693
[0143] US 63 / 253.591
[0143] US 63 / 293.968
[0143] US 63 / 293.973
[0143] US 63 / 278.817
[0143]
Claims
[1] Method for operating a robot fleet management system, the method comprising: Accessing a set of available tasks that can be performed by a robot fleet through the robot fleet management system; Access by the robot fleet management system to the respective energy consumption for each task from the task set; Accessing the energy state of each robot in the robot fleet via the robot fleet management system; and Assigning a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption of at least the first task. [2] Method according to claim 1, wherein the assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system comprises the assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the respective energy state of each robot in the robot fleet and the respective energy consumption for each task from the task set. [3] Method according to claim 1, wherein the robot fleet management system accesses a set of available tasks that can be performed by a robot fleet, comprising the robot fleet management system accessing a set of tasks that includes at least one wired task and at least one wireless task. [4] Method according to claim 3, wherein the allocation of a first robot from the robot fleet to a first task from the set of tasks by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the following: the determination by the robot fleet management system that the first robot has sufficient energy to perform a task selected from the at least one wireless task, and the assignment of the first robot to the selected wireless task by the robot fleet management system. [5] Method according to claim 3, wherein the allocation of a first robot from the robot fleet to a first task from the set of tasks by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the following: the determination by the robot fleet management system that the energy state of the first robot is above an upper threshold; and the assignment of the first robot from the robot fleet by the robot fleet management system to a wireless task selected from at least one wireless task. [6] Method according to claim 3, wherein the allocation of a first robot from the robot fleet to a first task from the set of tasks by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the following: the determination by the robot fleet management system that the first robot does not have sufficient power to perform a wireless task selected from the at least one wireless task; and the assignment of the first robot by the robot fleet management system to a wired task selected from at least one wired task. [7] Method according to claim 3, wherein the allocation of a first robot from the robot fleet to a first task from the set of tasks by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the following: the determination by the robot fleet management system that the first robot does not have sufficient power to perform any wireless task selected from the at least one wireless task; and the assignment of the first robot by the robot fleet management system to a wired task selected from at least one wired task. [8] Method according to claim 3, wherein the allocation of a first robot from the robot fleet to a first task from the set of tasks by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the following: the determination by the robot fleet management system that the energy state of the first robot is below a lower threshold; and the assignment of the first robot from the robot fleet by the robot fleet management system to a wired task selected from the at least one wired task. [9] The method of claim 3, further comprising that the robot fleet management system initiates the refilling of an energy source of the first robot during the execution of a wired task by the first robot. [10] Method according to claim 1, wherein accessing a respective energy consumption for each task from the task set by the robot fleet management system comprises accessing a respective energy consumption by the robot fleet management system, which is at least partially based on energy that is expected to be taken from an energy source by a robot in the robot fleet to perform each task from the task set. [11] Method according to claim 10, wherein the access by the robot fleet management system to a respective energy consumption, which is based at least partially on an expected current consumption of a robot from the robot fleet from an energy source for performing each task from the task set, comprises the access by the robot fleet management system to a respective energy consumption, which is based at least partially on an expected current consumption from a battery required for performing each task from the task set, wherein the battery is located on board a battery-powered robot in the robot fleet. [12] Method according to claim 1, wherein the robot fleet management system accesses a respective energy consumption for each task from the task set, and the robot fleet management system accesses a respective energy consumption that is at least partially based on respective historical energy consumption data for each task from the task set. [13] Method according to claim 1, wherein the robot fleet management system accesses a respective energy consumption for each task from the task set, the robot fleet management system accesses a respective energy consumption value and / or an energy consumption category for each task from the task set. [14] Method according to claim 1, wherein the robot fleet management system's access to a respective energy state of each robot in the robot fleet comprises the robot fleet management system's access to a respective charge state of a battery on board each robot in the robot fleet. [15] Method according to claim 1, wherein the access by the robot fleet management system to a respective energy state of each robot in the robot fleet comprises access by the robot fleet management system to a respective energy state of each robot based at least partially on a respective cumulative energy consumption of each robot for a respective at least one completed task of the at least one wireless task. [16] The method of claim 1, further comprising the robot fleet management system assigning a second robot of the robot fleet to a second task from the set of tasks, at least partially based on the respective energy state of at least the second robot and the respective energy consumption for at least the second task. [17] Method according to claim 16, wherein the assignment of a second robot from the robot fleet to a second task from the task set by the robot fleet management system comprises the assignment of a second robot from the robot fleet to a second task from the task set by the robot fleet management system, at least partially based on the respective energy state of each robot in the robot fleet and the respective energy consumption for each task from the task set. [18] Method according to claim 16, wherein: Access by the robot fleet management system to a set of available tasks that can be performed by a robot fleet includes access by the robot fleet management system to a set of tasks, wherein the set of tasks includes at least one wired task and at least one wireless task, and The robot fleet management system assigns a first robot from the robot fleet to a first task from the task set and assigns a second robot from the robot fleet to a second task from the task set: Determining by the robot fleet management system that the energy state of the first robot is lower than the energy state of the second robot; the assignment of a task selected from the at least one wired task to the first robot by the robot fleet management system; and the assignment of a wireless task selected from at least one wireless task to the second robot by the robot fleet management system. [19] Method according to claim 1, wherein the allocation of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the allocation of the first robot to the first task by the robot fleet management system, at least partially based on at least one of the following factors: a priority of the first task in relation to other tasks from the task set and a maintenance state of the first robot. [20] Method according to claim 1, wherein the assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the assignment of a first task from the task set to a first robot of the robot fleet in real time by the robot fleet management system. [21] Method according to claim 1, wherein receiving a set of available tasks that can be performed by a fleet of robots by the fleet management system comprises receiving a set of available tasks by the fleet management system that can be performed in a common environment by a fleet of robots deployed in that common environment. [22] Method according to claim 1, wherein receiving a set of available tasks that can be performed by a robot fleet by the robot fleet management system comprises receiving a set of available tasks which includes: a first set of available tasks that can be performed in a first environment by at least one first robot of the robot fleet; and a second set of available tasks that can be performed in a second environment by at least one second robot from the robot fleet. [23] A robot fleet management system comprising at least one processor and at least one non-transitory, processor-readable storage medium communicatively coupled to the at least one processor, wherein the at least one non-transitory, processor-readable storage medium stores instructions and / or data executable by the processor which, when executed by the at least one processor of the robot fleet management system, cause the robot fleet management system to execute a method for managing the robot fleet, wherein the method for managing the robot fleet comprises: Accessing a set of available tasks that can be performed by a robot fleet through the robot fleet management system; Access by the robot fleet management system to the respective energy consumption for each task from the task set; Accessing the energy state of each robot in the robot fleet via the robot fleet management system; and Assigning a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task. [24] Robot fleet management system according to claim 23, wherein the assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system comprises the assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the respective energy state of each robot in the robot fleet and the respective energy consumption for each task from the task set. [25] Robot fleet management system according to claim 23, wherein the robot fleet management system's access to a set of available tasks that can be performed by a robot fleet comprises the robot fleet management system's access to a set of tasks that includes at least one wired task and at least one wireless task. [26] Robot fleet management system according to claim 25, wherein the assignment of a first robot from the robot fleet to a first task from the set of tasks by the robot fleet management system, which is based at least partially on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the following: the determination by the robot fleet management system that the first robot has sufficient energy to perform a wireless task selected from the at least one wireless task; and the assignment of the first robot to the selected wireless task by the robot fleet management system. [27] Method according to claim 26, wherein the allocation of a first robot from the robot fleet to a first task from the set of tasks by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the following: the determination by the robot fleet management system that the energy state of the first robot is above an upper threshold; and the assignment of the first robot from the robot fleet by the robot fleet management system to a wireless task selected from at least one wireless task. [28] Robot fleet management system according to claim 26, wherein the assignment of a first robot from the robot fleet to a first task from the set of tasks by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the following: the determination by the robot fleet management system that the first robot does not have sufficient power to perform a wireless task selected from the at least one wireless task; and the assignment of the first robot by the robot fleet management system to a wired task selected from at least one wired task. [29] Robot fleet management system according to claim 25, wherein the assignment of a first robot from the robot fleet to a first task from the set of tasks by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the following: the determination by the robot fleet management system that the first robot does not have sufficient power to perform any of the at least one wireless task selected; and the assignment of the first robot by the robot fleet management system to a wired task selected from at least one wired task. [30] Robot fleet management system according to claim 25, wherein the assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the following the determination by the robot fleet management system that the energy state of the first robot is below a lower threshold; and the assignment of the first robot in the robot fleet by the robot fleet management system to a wired task selected from the at least one wired task. [31] Robot fleet management system according to claim 25, wherein the method further comprises the robot fleet management system initiating a refill of an energy source of the first robot during the execution of a wired task by the first robot. [32] Robot fleet management system according to claim 23, wherein accessing a respective energy consumption for each task from the task set by the robot fleet management system comprises accessing a respective energy consumption by the robot fleet management system, which is based at least partially on energy that is expected to be taken from an energy source by a robot in the robot fleet to perform each task from the task set. [33] Robot fleet management system according to claim 32, wherein the robot fleet management system accesses a respective energy consumption, which is based at least partially on an expected current draw of a robot from the robot fleet from an energy source for performing each task from the task set, and the robot fleet management system accesses a respective energy consumption, which is based at least partially on an expected current draw from a battery required for performing each task from the task set, wherein the battery is located on board a battery-powered robot in the robot fleet. [34] Robot fleet management system according to claim 23, wherein the robot fleet management system accesses a respective energy consumption for each task from the task set, and the robot fleet management system accesses a respective energy consumption that is at least partially based on respective historical energy consumption data for each task from the task set. [35] Robot fleet management system according to claim 23, wherein access by the robot fleet management system to a respective energy consumption for each task from the task set comprises access by the robot fleet management system to a respective energy consumption value and / or an energy consumption category for each task from the task set. [36] Robot fleet management system according to claim 23, wherein accessing by the robot fleet management system to a respective energy state of each robot in the robot fleet includes accessing by the robot fleet management system to a respective charge state of a battery on board each robot in the robot fleet. [37] Robot fleet management system according to claim 23, wherein the access by the robot fleet management system to a respective energy state of each robot in the robot fleet comprises access by the robot fleet management system to a respective energy state of each robot based at least partially on a respective cumulative energy consumption of each robot for a respective at least one completed task of the at least one wireless task. [38] Robot fleet management system according to claim 23, wherein the method further comprises the robot fleet management system assigning a second robot in the robot fleet to a second task from the set of tasks, at least partially based on the respective energy state of at least the second robot and the respective energy consumption for at least the second task. [39] Robot fleet management system according to claim 38, wherein the assignment of a second robot from the robot fleet to a second task from the task set by the robot fleet management system comprises the assignment of a second robot from the robot fleet to a second task from the task set by the robot fleet management system, at least partially based on the respective energy state of each robot in the robot fleet and the respective energy consumption for each task from the task set. [40] Robot fleet management system according to claim 38, wherein: Access by the robot fleet management system to a set of available tasks that can be performed by a robot fleet includes access by the robot fleet management system to a set of tasks that includes at least one wired task and at least one wireless task, and The robot fleet management system assigns a first robot from the robot fleet to a first task from the task set and assigns a second robot from the robot fleet to a second task from the task set: Determining by the robot fleet management system that the energy state of the first robot is lower than the energy state of the second robot; the assignment of a task selected from the at least one wired task to the first robot by the robot fleet management system; and the assignment of a wireless task selected from at least one wireless task to the second robot by the robot fleet management system. [41] Robot fleet management system according to claim 23, wherein the allocation of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the allocation of the first robot to the first task by the robot fleet management system, at least partially based on at least one of the following factors: a priority of the first task in relation to other tasks from the task set and a maintenance state of the first robot. [42] Robot fleet management system according to claim 23, wherein the assignment of a first robot from the robot fleet to a first task from the task set by the robot fleet management system, at least partially based on the energy state of at least the first robot and the energy consumption for at least the first task, comprises the assignment of a first task from the task set to a first robot of the robot fleet in real time by the robot fleet management system.
Citation Information
Patent Citations
Mechanism with three degrees-of-freedom (DOF) output to provide independent control over roll, pitch, and yaw of output structure
US20210031383A1
Visual interface and communications techniques for use with robots
US20210090201A1
Machine vision parsing of three-dimensional environments employing neural networks
US20210122035A1
Mechanical hand, useful in robotics
US20210146553A1
Flexible mechanical joint
US20210170607A1