DETAILED ACTION
Notice to Applicant
The following is a NON-FINAL Office action upon examination of application number 18/920,622 filed on 10/18/2024. Claims 1-20 are pending in this application, and have been examined on the merits discussed below.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Priority
Application 18/920,622 filed 10/18/2024 claims Priority from Provisional Application 63/544,800, filed 10/19/2023.
Information Disclosure Statement
The information disclosure statement (IDS) filed on 02/03/2025 has been acknowledged. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Double Patenting
5. The non-statutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A non-statutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on non-statutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP §§ 706.02(l)(1) - 706.02(l)(3) for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp.
6. Claims 1-20 are rejected on the ground of non-statutory double patenting as being unpatentable over claims 1-20 of Patent No. US 12,400,158 B2 since the claims, if allowed, would improperly extend the "right to exclude" already granted in the patent. Although the claims at issue are not identical, they are not patentably distinct from each other because claim 1 of the instant application is obvious in view of claim 1 in the listed patent. Claim 1 of the ‘158 patent recites “A method of operation of a robot fleet management system, the method comprising: accessing, by the robot fleet management system, a set of tasks available to be performed by a fleet of robots; accessing, by the robot fleet management system, a respective power consumption for each task from the set of tasks; accessing, by the robot fleet management system, a respective power state of each robot in the fleet of robots; and allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power state of at least the first robot and the power consumption for at least the first task.” Claim 1 of the ‘158 patent recites similar steps to those recited in claim 1 of the instant application. Claim 1 of the instant application recites: “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, the at least one non-transitory processor-readable storage medium storing processor-executable instructions and/or data that, when executed by the at least one processor, cause the robot fleet management system to perform a method of operation of the robot fleet management system, wherein the method of operation includes: accessing, by the robot fleet management system, a set of tasks available to be performed by a fleet of robots; accessing, by the robot fleet management system, a respective power consumption for each task from the set of tasks; accessing, by the robot fleet management system, a respective power state of each robot in the fleet of robots; and allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power state of at least the first robot and the power consumption for at least the first task.” Although the claims are directed to inventions in different statutory classes (i.e., a system versus a method), the distinction in statutory class does not, by itself, render the claims patentably distinct. The subject matter of claim 1 of the instant application is not patentably distinct from the subject matter of claim 1 of the ‘158 patent because the claimed “system” in the instant application is merely a hardware embodiment configured to perform the same method steps as those recited in the ‘158 patent. Accordingly, it would have been obvious to one of ordinary skill in the art at the time of the invention to provide a system configured to perform the method steps of the ‘158 patent, since the method and system clams define the same overall invention in different claim formats, and therefore these claims are not patentably distinct from one another despite these slight differences.
Claims of instant application (as filed on 10/18/2024)
Claims of U.S. Pat. 12,400,158 B2
(issued on 08/26/2025)
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
The chart above maps claims of the instant application to corresponding claims of U.S. Patent 12,400,158 B2 that are patentably indistinct, though not identical. One of ordinary skill in the art would have recognized the slight differences between the claim language of the corresponding claims as being directed towards intention, slight variations in terminology, or obvious variants of claim elements and therefore these claims are not patentably distinct from one another despite these slight differences.
Claim Rejections - 35 USC § 112
7. The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
8. Claim 15 is rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention.
9. Claim 15 recites “The robot fleet management system of claim 1…based at least in part on a respective cumulative power consumption of each robot for a respective at least one completed task of the at least one untethered tasks.” There is no antecedent basis for the term “the at least one untethered tasks,” and therefore the claim is rendered indefinite. While claim 1 recites “a set of tasks,” claim 1 does not introduce untethered tasks. The term “at least one untethered tasks” in claim 15 is not introduced or defined in any prior claim of the dependency chain. Appropriate correction is required.
10. All claims dependent from above rejected claims are also rejected due to dependency.
Claim Rejections - 35 USC § 101
11. 35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
12. Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
13. Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The eligibility analysis in support of these findings is provided below, in accordance with MPEP 2106.
With respect to Step 1 of the eligibility inquiry (as explained in MPEP 2106), it is first noted that the system (claims 1-20) is directed to at least one potentially eligible category of subject matter (i.e., machine). Thus, Step 1 of the Subject Matter Eligibility test for claims 1-20 is satisfied.
With respect to Step 2A Prong One, it is next noted that the claims recite an abstract idea that falls into the “Certain Methods of Organizing Human Activity” abstract idea set forth in MPEP 2106 because the claims recite steps for managing task assignments, which encompasses activity for managing personal behavior or relationships or interactions (e.g., social activities, following rules or instructions), and steps that can be performed in the human mind (including observation, evaluation, judgment, opinion), and therefore fall under the “Mental Processes” abstract idea grouping. With respect to independent claim 1, the limitations reciting the abstract idea are indicated in bold below: at least one processor and at least one non-transitory processor-readable storage medium communicatively coupled to the at least one processor, the at least one non-transitory processor-readable storage medium storing processor-executable instructions and/or data that, when executed by the at least one processor, cause the robot fleet management system to perform a method of operation of the robot fleet management system, wherein the method of operation includes: accessing, by the robot fleet management system, a set of tasks available to be performed by a fleet of robots; accessing, by the robot fleet management system, a respective power consumption for each task from the set of tasks; accessing, by the robot fleet management system, a respective power state of each robot in the fleet of robots; and allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power state of at least the first robot and the power consumption for at least the first task. These steps cover organizing human activity because the accessed information directly pertains to task allocation. Claim 1 recites limitations such as: accessing a set of tasks available to be performed by a fleet of robots; accessing a respective power consumption for each task ; accessing a respective power state of each robot; and allocating a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power state of at least the first robot and the power consumption for at least the first task. These steps describe data collection and analysis followed by a decision-making process (allocation of tasks). This amount to organizing and scheduling tasks based on information, which falls within the abstract die grouping of “certain methods of organizing human activity” and “mental processes.” Considered together, these steps set forth an abstract idea falling under the “Certain methods of organizing human activity” and “Mental Processes” abstract idea groupings set forth in MPEP 2106.
Because the above-noted limitations recite steps falling within the “Certain methods of organizing human activity” abstract idea grouping and the “Mental Processes” abstract idea grouping, they have been determined to recite at least one abstract idea when evaluated under Step 2A Prong One of the eligibility inquiry.
With respect to Step 2A Prong Two, the judicial exception is not integrated into a practical application. With respect to independent claim 1, the additional elements are: at least one processor and at least one non-transitory processor-readable storage medium communicatively coupled to the at least one processor, the at least one non-transitory processor-readable storage medium storing processor-executable instructions and/or data that, when executed by the at least one processor, cause the robot fleet management system to (claim 1). These additional elements have been evaluated, but fail to integrate the abstract idea into a practical application because they amount to using generic computing elements or computer-executable instructions (software) to perform the abstract idea, similar to adding the words “apply it” (or an equivalent), and merely serve to link the use of the judicial exception to a particular technological environment. See MPEP 2106.05(f) and 2106.05(h). Even if the “accessing” steps are evaluated as additional elements, these steps amount at most to insignificant extra-solution activity, which is not indicative of a practical application, as noted in MPEP 2106.05(g). In addition, these limitations fail to provide an improvement to the functioning of a computer or to any other technology or technical field, fail to apply the exception with a particular machine, fail to apply the judicial exception to effect a particular treatment or prophylaxis for a disease or medical condition, fail to effect a transformation of a particular article to a different state or thing, and fail to apply/use the abstract idea in a meaningful way beyond generally linking the use of the judicial exception to a particular technological environment. The robots recited in claim 1 are not considered additional elements because they are used only as data objects whose attributes (power state) are evaluated during the allocation process, without any control or modification to the robot themselves. As the claim never causse a robot to perform an action or produces a physical effect, the robots function merely as resources within the abstract task assignment process rather than as technological components providing concrete application. The claim does not require transmission of controls commands to robots or improvement in the functioning of the robot themselves.
Accordingly, because the Step 2A Prong One and Prong Two analysis resulted in the conclusion that the claims are directed to an abstract idea, additional analysis under Step 2B of the eligibility inquiry must be conducted in order to determine whether any claim element or combination of elements amount to significantly more than the judicial exception.
With respect to Step 2B of the eligibility inquiry, it has been determined that the claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. With respect to independent claim 1, the additional elements are: at least one processor and at least one non-transitory processor-readable storage medium communicatively coupled to the at least one processor, the at least one non-transitory processor-readable storage medium storing processor-executable instructions and/or data that, when executed by the at least one processor, cause the robot fleet management system to (claim 1). These elements have been considered individually and in combination, but fail to add significantly more to the claims because they amount to using generic computing elements or instructions (software) to perform the abstract idea, similar to adding the words “apply it” (or an equivalent), and merely serve to link the use of the judicial exception to a particular technological environment and does not amount to significantly more than the abstract idea itself. Notably, Applicant’s Specification describes that generic computer devices that may be used to implement the invention, which cover virtually any computing device under the sun (Specification at paragraph [0056, 0106]). Accordingly, the generic computer involvement in performing the claim steps merely serves to generally link the use of the judicial exception to a particular technological environment, which does not add significantly more to the claim. See, e.g., Alice Corp., 134 S. Ct. 2347, 110 USPQ2d 1976.).
With respect to the “accessing” steps, even if considered as an addition element, these steps at most amounts to receiving/transmitting data, which has been recognized as well-understood, routine, and conventional, and thus insufficient to add significantly more to the abstract idea. See MPEP 2106.05(d) iv. - Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93. See also MPEP 2106.05(d) i. - Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information); TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 610, 118 USPQ2d 1744, 1745 (Fed. Cir. 2016) (using a telephone for image transmission); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014).
In addition, when taken as an ordered combination, the ordered combination adds nothing that is not already present as when the elements are taken individually. There is no indication that the combination of elements integrates the abstract idea into a practical application. Their collective functions merely provide generic computer implementation. Therefore, when viewed as a whole, these additional claim elements do not provide meaningful limitations to transform the abstract idea into a practical application of the abstract idea or that, as an ordered combination, amount to significantly more than the abstract idea itself.
Dependent claims 2-20 recite the same abstract ideas as recited in the independent claims, and have been found to either recite additional details that are part of the abstract idea itself (when analyzed under Step 2A Prong One) along with, at most, additional elements that fail to integrate the abstract idea into a practical application or add significantly more. In particular, dependent claims 2-20 further narrow the abstract ideas recited in independent claim 1 by reciting limitations that fall under the “Certain methods of organizing human activity” abstract idea grouping. For example, dependent claims 2-20 recite “wherein allocating a first robot in the fleet of robots to a first task from the set of tasks includes allocating a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the respective power state of each robot in the fleet of robots and the respective power consumption for each task from the set of tasks,” “wherein accessing a set of tasks available to be performed by a fleet of robots includes accessing a set of tasks comprising at least one tethered task and at least one untethered task,” “wherein allocating a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power state of at least the first robot and the power consumption for at least the first task includes: determining the first robot has sufficient power to complete an untethered task selected from the at least one untethered task; and allocating the first robot to the selected untethered task,” “wherein allocating a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power state of at least the first robot and the power consumption for at least the first task includes: determining the power state of the first robot is above an upper threshold; and allocating the first robot in the fleet of robots to an untethered task selected from the at least one untethered task,” “wherein allocating a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power state of at least the first robot and the power consumption for at least the first task includes: determining the first robot has insufficient power to complete an untethered task selected from the at least one untethered task; and allocating the first robot to a tethered task selected from the at least one tethered task,” “wherein allocating a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power state of at least the first robot and the power consumption for at least the first task includes: determining the first robot has insufficient power to complete any untethered task selected from the at least one untethered task; and allocating the first robot to a tethered task selected from the at least one tethered task,” “wherein allocating a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power state of at least the first robot and the power consumption for at least the first task includes: determining the power state of the first robot is below a lower threshold; and allocating the first robot in the fleet of robots to a tethered task selected from the at least one tethered task,” “wherein the method further comprises initiating a replenishment of a power source of the first robot during performance of a tethered task,” “wherein accessing, a respective power consumption for each task from the set of tasks includes accessing a respective power consumption based at least in part on a power anticipated to be drawn by a robot in the fleet of robots from a power source to complete each task from the set of tasks,” “wherein accessing a respective power consumption based at least in part on a power anticipated to be drawn by a robot in the fleet of robots from a power source to complete each task from the set of tasks includes accessing a respective power consumption based at least in part on an anticipated power to be drawn from a battery to complete each task from the set of tasks,” “wherein accessing a respective power consumption for each task from the set of tasks includes accessing a respective power consumption based at least in part on respective historical power consumption data for each task from the set of tasks,” “wherein accessing a respective power consumption for each task from the set of tasks includes accessing at least one of a respective power consumption score and a power consumption category for each task from the set of tasks,” “wherein accessing a respective power state of each robot in the fleet of robots includes accessing a respective state of charge of a battery onboard each robot in the fleet of robots,” “wherein accessing a respective power state of each robot in the fleet of robots includes determining a respective power state of each robot based at least in part on a respective cumulative power consumption of each robot for a respective at least one completed task of the at least one untethered tasks,” “wherein the method further comprises allocating a second robot in the fleet of robots to a second task from the set of tasks based at least in part on the respective power state of at least the second robot and the respective power consumption for at least the second task,” “wherein allocating a second robot in the fleet of robots to a second task from the set of tasks includes allocating a second robot in the fleet of robots to a second task from the set of tasks based at least in part on the respective power state of each robot in the fleet of robots and the respective power consumption for each task from the set of tasks,” “wherein: accessing a set of tasks available to be performed by a fleet of robots includes accessing a set of tasks comprising at least one tethered task and at least one untethered task, and allocating a first robot in the fleet of robots to a first task from the set of tasks and allocating a second robot in the fleet of robots to a second task from the set of tasks includes: determining the power state of the first robot is lower than the power state of the second robot; allocating a tethered task selected from the at least one tethered task to the first robot; and allocating an untethered task selected from the at least one untethered task to the second robot,” “wherein allocating a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power state of at least the first robot and the power consumption for at least the first task includes allocating the first robot to the first task based at least in part on at least one of a priority of the first task relative to other tasks from the set of tasks and a maintenance condition of the first robot,” “wherein allocating a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power state of at least the first robot and the power consumption for at least the first task includes allocating a first task from the set of tasks to a first robot of the fleet of robots in real-time,” however, these steps recite limitations that fall within the “certain methods of organizing human activity.” Dependent claims recite additional elements of a power source of the first robot (claim 9) and the battery onboard a battery-powered robot in the fleet of robots (claim 11). However, when evaluated under Step 2A Prong Two and Step 2B, these additional elements do not amount to a practical application or significantly more since they merely require generic computing devices (or computer-implemented instructions/code) which as noted in the discussion of the independent claims above is not enough to render the claims as eligible. With respect to the limitation “wherein the method further comprises initiating a replenishment of a power source of the first robot during performance of a tethered task”, this limitation does not amount to a practical application or significantly more because the claim does not specify how the replenishment is performed or controlled. The limitation does not specify whether the action is performed automatically, by issuing control signals, or by prompting human intervention, leaving the step as a high-level result rather than a concrete technical operation. There is no technological detail tying the replenishment to concrete robot control or a specific technical mechanism.
The ordered combination of elements in the dependent claims (including the limitations inherited from the parent claim(s)) add nothing that is not already present as when the elements are taken individually. There is no indication that the combination of elements improves the functioning of a computer or improves any other technology. Their collective functions merely provide generic computer implementation. Accordingly, the subject matter encompassed by the dependent claims fails to amount to a practical application or significantly more than the abstract idea itself.
For more information, see MPEP 2106.
Claim Rejections - 35 USC § 103
14. In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
15. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
16. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
17. Claims 1-2, 14-17, and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Natarajan et al., Pub. No.: US 2022/0100184 A1, [hereinafter Natarajan], in view of Chen et al., Pub. No.: US 2022/0269284 A1, [hereinafter Chen].
As per claim 1, Natarajan teaches 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 (paragraph 0145, discussing that the computing device 1200 may perform the various functionality as described with respect to…allocating AMRs (Autonomous Mobile Robots) 102 to tasks, performing enhanced path planning functions, calculating AMR health and failure probabilities with respect to the AMRs performing or completing tasks, communicating with the AMRs 102 to identify new tasks, etc. To do so, the computing device 1200 may include processing circuitry 1202, a transceiver 1204, communication interface 1206, and a memory 1208; paragraph 0146, discussing that the processing circuitry 1202 may be configured as any suitable number and/or type of computer processors, which may function to control the computing device 1200 and/or other components of the computing device 500…; paragraph 0150, discussing that the memory 1208 is configured to store data and/or instructions such that, when the instructions are executed by the processing circuitry 1202, cause the computing device 1200 to perform various functions as described, such as those described with reference to the MRTA system 200. The memory 1208 may be implemented as any well-known volatile and/or non-volatile memory, including, for example, read-only memory (ROM), random access memory (RAM), flash memory, a magnetic storage media, an optical disc, erasable programmable read only memory (EPROM), programmable read only memory (PROM), etc. The memory 1208 may be non-removable, removable, or a combination of both. The memory 1208 may be implemented as a non-transitory computer readable medium storing one or more executable instructions such as, for example, logic, algorithms, code, etc.),
the at least one non-transitory processor-readable storage medium storing processor-executable instructions and/or data that, when executed by the at least one processor, cause the robot fleet management system to perform a method of operation of the robot fleet management system (paragraph 0147, discussing that the processing circuitry 1202 may be configured to carry out instructions to perform arithmetical, logical, and/or input/output (I/O) operations, and/or to control the operation of one or more components of computing device 1200 to perform various functions associated with the MRTA (multi-robot, multi-task allocation) system 200 as described. The processing circuitry 1202 may include one or more microprocessor cores, memory registers, buffers, clocks, etc., and may generate electronic control signals associated with the components of the computing device 1200 to control and/or modify the operation of these components. The processing circuitry 1202 may communicate with and/or control functions associated with the transceiver 1204, the communication interface 1206, and/or the memory 1208. The processing circuitry 1202 may additionally perform various operations to control the communications, communications scheduling, and/or operation of other network infrastructure components that are communicatively coupled to the computing device 1200; paragraph 0150, discussing that the memory 1208 is configured to store data and/or instructions such that, when the instructions are executed by the processing circuitry 1202, cause the computing device 1200 to perform various functions as described, such as those described with reference to the MRTA system 200. The memory 1208 may be implemented as any well-known volatile and/or non-volatile memory, including, for example, read-only memory (ROM), random access memory (RAM), flash memory, a magnetic storage media, an optical disc, erasable programmable read only memory (EPROM), programmable read only memory (PROM), etc. The memory 1208 may be non-removable, removable, or a combination of both. The memory 1208 may be implemented as a non-transitory computer readable medium storing one or more executable instructions such as, for example, logic, algorithms, code, etc.), wherein the method of operation (paragraphs 0150, 0217) includes :
accessing, by the robot fleet management system, a set of tasks available to be performed by a fleet of robots (paragraph 0001, discussing task allocation for autonomous systems; paragraph 0203, discussing receive autonomous agent task data including (i) a set of tasks to be performed by a plurality of autonomous agents operating within an environment);
accessing, by the robot fleet management system, a respective power state of each robot in the fleet of robots (paragraph 0030, discussing that the continuous monitoring of tasks and AMR actions facilitates a quick response to any AMR performance-related malfunctions, battery life issues, etc. Moreover, once an AMR completes its task, it is re-assigned to a new task by a task allocation engine, and thus the AMRs are continuously and efficiently assigned to tasks autonomously. In addition, in the techniques discussed, the task allocation engine provides additional logic to support urgent unexpected scenarios such as robot malfunctions or low battery etc., which may require emergency AMR back-up; paragraph 0031, discussing that the allocation of AMRs [i.e., robots] to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining [i.e., respective power state], the distance to charging stations, etc.). Then, each task may be allocated to the AMRs for each task having the highest reward metric value, which thus represents the “best” AMR to perform each task); and
allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power state of at least the first robot (paragraph 0031, discussing that the allocation of AMRs to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining [i.e., power state], the distance to charging stations, etc.). Then, each task may be allocated to the AMRs for each task having the highest reward metric value, which thus represents the “best” AMR to perform each task; paragraph 0034, discussing that the AMRs 102 may also receive commands (which may be in the form of transmitted control signals) with respect to allocated tasks to perform as well as the details associated with how and when to perform the allocated tasks, and/or planned path information from the computing device 108; paragraph 0042, discussing that the computing device may thus receive state-related information from each for the AMRs 102…, which may include…data related to the operating state of the AMRs 102, or any other suitable feedback related to the state of the AMRs… In any event, the computing device 108 may optionally use this state-related information, together with other information about the environment 100 that is already known, for task allocation; paragraph 0203, discussing generating autonomous agent task allocation data that allocates each one of the plurality of autonomous agents to a respective one of the set of tasks; and a communication means for transmitting commands to each one of the plurality of autonomous agents to perform the respectively allocated tasks).
While Natarajan describes cost factors that may include the required energy to perform a task (paragraph 0067), Natarajan does not explicitly teach accessing, by the robot fleet management system, a respective power consumption for each task from the set of tasks; and allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task. However, Chen in the analogous art of systems for robot fleet management teaches these concepts. Chen teaches:
accessing, by the robot fleet management system, a respective power consumption for each task from the set of tasks (paragraph 0052, discussing an amount of energy to be used in each mission of the mission profile; paragraph 0066, discussing a computer-implemented method of managing a fleet of robots comprises receiving a first task, determining at least one factor for the first task indicating information related to accomplishing the first task, receiving data indicating information related to an environment in which the first task is to be accomplished, determining at least one mission capability for accomplishing a mission that includes the first task, wherein the at least one mission capability is based on one or more of the at least one factor or the data, and creating a mission profile based on the first task and one or more of the at least one factor, the data, or the at least one mission capability; paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots…; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraph 0211, discussing that a mission may be characterized as requiring a highest quality level of mission or task performance, performing the mission or the task in the shortest amount of time, performing the mission or the task using the least amount of energy; paragraph 0067); and
allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task (paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots, monitoring the health and maintenance status of robots and their components, and scheduling maintenance of robots…Fleet manager 628 may assign missions and tasks to robots based on mission requirements and robot capabilities. For instance, if fleet manager 628 determines that a mission can be supported by only a robot type of type A, fleet manager 628 may assign the mission to only a robot among robots 110A, 110B, and 110C of type A… For another mission that can be assigned to a robot of type A or B, fleet manager 628 may assign the mission to a robot among robots 110A, 110B, and 110C of type A or B based on the availability of each robot 110A, 110B, and 110C. The availability of each robot 110A, 110B, and 110C may be determined by fleet manager 628 using metrics such as, for example, communications state and battery life, etc. In some embodiments, operations management system 200 may specify a mission or task to be performed by a specific robot or a robot among a specific group of robots; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraphs 0046, 0047, 0218).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s features for including accessing, by the robot fleet management system, a respective power consumption for each task from the set of tasks, and allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 2, the Natarajan-Chen combination teaches the robot fleet management system of claim 1. Natarajan further teaches wherein allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks includes allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the respective power state of each robot in the fleet of robots (paragraph 0031, discussing that the allocation of AMRs to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining [i.e., power state], the distance to charging stations, etc.). Then, each task may be allocated to the AMRs for each task having the highest reward metric value, which thus represents the “best” AMR to perform each task; paragraph 0034, discussing that the AMRs 102 may also receive commands (which may be in the form of transmitted control signals) with respect to allocated tasks to perform as well as the details associated with how and when to perform the allocated tasks, and/or planned path information from the computing device 108; paragraph 0042, discussing that the computing device may thus receive state-related information from each for the AMRs 102…, which may include…data related to the operating state of the AMRs 102, or any other suitable feedback related to the state of the AMRs… In any event, the computing device 108 may optionally use this state-related information, together with other information about the environment 100 that is already known, for task allocation; paragraph 0203, discussing generating autonomous agent task allocation data that allocates each one of the plurality of autonomous agents to a respective one of the set of tasks; and a communication means for transmitting commands to each one of the plurality of autonomous agents to perform the respectively allocated tasks).
Natarajan does not explicitly teach allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the respective power consumption for each task from the set of tasks. However, Chen in the analogous art of systems for robot fleet management teaches this concept. Chen teaches:
allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the respective power consumption for each task from the set of tasks (paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots, monitoring the health and maintenance status of robots and their components, and scheduling maintenance of robots…Fleet manager 628 may assign missions and tasks to robots based on mission requirements and robot capabilities. For instance, if fleet manager 628 determines that a mission can be supported by only a robot type of type A, fleet manager 628 may assign the mission to only a robot among robots 110A, 110B, and 110C of type A… For another mission that can be assigned to a robot of type A or B, fleet manager 628 may assign the mission to a robot among robots 110A, 110B, and 110C of type A or B based on the availability of each robot 110A, 110B, and 110C. The availability of each robot 110A, 110B, and 110C may be determined by fleet manager 628 using metrics such as, for example, communications state and battery life, etc. In some embodiments, operations management system 200 may specify a mission or task to be performed by a specific robot or a robot among a specific group of robots; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraphs 0046, 0047, 0218).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s feature for including allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the respective power consumption for each task from the set of tasks, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 14, the Natarajan-Chen combination teaches the robot fleet management system of claim 1. Natarajan further teaches wherein accessing, by the robot fleet management system, a respective power state of each robot in the fleet of robots includes accessing, by the robot fleet management system, a respective state of charge of a battery onboard each robot in the fleet of robots (paragraph 0030, discussing that the continuous monitoring of tasks and AMR [i.e., robot] actions facilitates a quick response to any AMR performance-related malfunctions, battery life issues, etc. Moreover, once an AMR completes its task, it is re-assigned to a new task by a task allocation engine, and thus the AMRs are continuously and efficiently assigned to tasks autonomously. In addition, in the techniques discussed, the task allocation engine provides additional logic to support urgent unexpected scenarios such as robot malfunctions or low battery etc., which may require emergency AMR back-up; paragraph 0031, discussing that the allocation of AMRs [i.e., robots] to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining, the distance to charging stations, etc.); paragraph 0034, discussing that the AMRs 102 may transmit data to the computing device 108 indicative of current tasks being executed, new tasks to be executed, and/or other detected conditions within the environment 100, and may additionally or alternatively transmit any suitable type of state-related data such as an identified location, orientation, velocity, trajectory, heading, battery life, etc. within the environment 100; paragraph 0056).
As per claim 15, the Natarajan-Chen combination teaches the robot fleet management system of claim 1. While Natarajan describes a cumulative cost of each robot for a respective at least one task (paragraph 0066, discussing a weighted sum of a set of cost factors for each AMR 102 to perform the task) and identifying the overall health of the robots (paragraph 0109). Natarajan does not explicitly teach wherein accessing, by the robot fleet management system, a respective power state of each robot in the fleet of robots includes determining a respective power state of each robot based at least in part on a respective cumulative power consumption of each robot for a respective at least one completed task of the at least one untethered tasks. However, Chen in the analogous art of systems for robot fleet management teaches this concept. Chen teaches:
wherein accessing, by the robot fleet management system, a respective power state of each robot in the fleet of robots includes determining a respective power state of each robot based at least in part on a respective cumulative power consumption of each robot for a respective at least one completed task of the at least one untethered tasks (paragraph 0157, discussing that coordinate-collect-control module 470 may provide overall management of robot-assigned activities, coordination or robot-assigned activities, and collection of data returned from robot-assigned activities; paragraph 0286, discussing that RSP (robotics services platform) 672 may record a success rate and/or mission completion times for one or more missions supported by multiple robot types. RSP 672 may adjust the assignment of missions based on this historical data by revising the assignment algorithm to assign the missions to robots to perform the missions at a higher success rate, to more quickly complete the missions, or the like. In some examples, a mission may be determined to be inconclusive or otherwise deemed a failure if, e.g., a photo is taken with a below-optimal resolution. In this instance, RSP 672 may revise the assignment algorithm to schedule similar missions to a robot having a better imaging package. RSP 672 may also select a power consumption of all robots by adjusting the assignment algorithm to assign the missions to robots that will have lower or higher power outputs based on the power demands of each robot. For example, if high quality images are desired but these robots require high power, assigning a mission to a robot to deliver high quality images may increase the overall power of the robots; paragraph 0226).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s feature for including wherein accessing, by the robot fleet management system, a respective power state of each robot in the fleet of robots includes determining a respective power state of each robot based at least in part on a respective cumulative power consumption of each robot for a respective at least one completed task of the at least one untethered tasks, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 16, the Natarajan-Chen combination teaches the robot fleet management system of claim 1. Natarajan further teaches wherein the method further comprises allocating, by the robot fleet management system, a second robot in the fleet of robots to a second task from the set of tasks based at least in part on the respective power state of at least the second robot (paragraph 0031, discussing that the allocation of AMRs to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining, the distance to charging stations, etc.). Then, each task may be allocated to the AMRs for each task having the highest reward metric value, which thus represents the “best” AMR to perform each task; paragraph 0034, discussing that the AMRs 102 may also receive commands with respect to allocated tasks to perform as well as the details associated with how and when to perform the allocated tasks, and/or planned path information from the computing device 108; paragraph 0042, discussing that the computing device may thus receive state-related information from each for the AMRs 102…, which may include…data related to the operating state of the AMRs 102, or any other suitable feedback related to the state of the AMRs…In any event, the computing device 108 may optionally use this state-related information, together with other information about the environment 100 that is already known, for task allocation; paragraph 0049, discussing that a user may interact with the GUI 202 to provide the appropriate specifications for the environment 100 so that the task allocation engine 210 may perform AMR [i.e., robot] task allocation functions. Thus, the use of the GUI 202 may be considered as part of an initial setup step, or used when the environment 100 changes significantly to provide additional information regarding tasks, AMRs 102, the environment 100, etc. The GUI 202 may also provide users with information of the environment 100, such as the status of AMRs, their current tasks, or other information obtained from the state-related information; paragraph 0051, discussing that the autonomous agent task data may define which tasks are potentially to be performed by the AMRs 102 within the environment 100 (i.e. the set of tasks), and details regarding the requirements with respect to how each of these tasks should be executed; paragraph 0058, discussing that the DL neural network architecture 300 may receive inputs related to the aforementioned autonomous agent task data, which may include the set of tasks to be performed, the task parameters identified with each one of the set of tasks, the AMR availability data, the AMR state estimation data, etc. As further discussed below, the DL neural network architecture also receives, as input, target vectors that identify preferred AMR and task pairings. Thus, the DL neural network architecture 300, once trained using a training dataset of similar types of data, functions to perform AMR task allocation based upon the data received at the inputs...Thus, the trained DL neural network architecture 300 implemented via the DL neural network architecture 300 may dynamically and intelligently allocate AMRs 102 to specific tasks as conditions in the environment 100 change, as AMRs 102 complete other tasks, as AMRs 102 are identified as malfunctioning, as new tasks are identified, etc. In other words, the task allocation engine 210 implements the DL neural network architecture 300 to output AMR task allocation data at block 212 using the autonomous agent task data and target vectors received via the input layer(s)…; paragraphs 0078, 0094, 0118, 0203).
Natarajan does not explicitly teach allocating, by the robot fleet management system, a second robot in the fleet of robots to a second task from the set of tasks based at least in part on the respective power consumption for at least the second task. However, Chen in the analogous art of systems for robot fleet management teaches this concept. Chen teaches:
allocating, by the robot fleet management system, a second robot in the fleet of robots to a second task from the set of tasks based at least in part on the respective power consumption for at least the second task (paragraph 0052, discussing an amount of energy to be used in each mission of the mission profile; paragraph 0068, discussing that the method may further include receiving, by a processor of a system in which the fleet of robots is configured to operate, a second task, different from the first task, determining, by the processor of the system, at least one factor for the second task, wherein the at least one factor associated with the first task and the second task may instruct an order in which the first task is to be completed relative to the second task, creating, by the processor of the system a second mission profile based on the second task and the at least one factor of the second task; paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots, monitoring the health and maintenance status of robots and their components, and scheduling maintenance of robots…Fleet manager 628 may assign missions and tasks to robots based on mission requirements and robot capabilities. For instance, if fleet manager 628 determines that a mission can be supported by only a robot type of type A, fleet manager 628 may assign the mission to only a robot among robots 110A, 110B, and 110C of type A… For another mission that can be assigned to a robot of type A or B, fleet manager 628 may assign the mission to a robot among robots 110A, 110B, and 110C of type A or B based on the availability of each robot 110A, 110B, and 110C. The availability of each robot 110A, 110B, and 110C may be determined by fleet manager 628 using metrics such as, for example, communications state and battery life, etc. In some embodiments, operations management system 200 may specify a mission or task to be performed by a specific robot or a robot among a specific group of robots; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraph 0211, discussing that a mission may be characterized as requiring a highest quality level of mission or task performance, performing the mission or the task in the shortest amount of time, performing the mission or the task using the least amount of energy; paragraph 0235, discussing that robot status 1416 may show the status of the robot, e.g., via a list 1500 shown in FIG. 15. For example, a first robot 1510 and a second robot 1520 may be shown in a list format on the dashboard 1400 when robot status 1416 is selected. Robot status 1416 may show various robot capabilities or other information relating to each robot, such as robot name 1530, robot type 1532, robot status 1534, communication status 1536, battery level and battery status 1538, odometer reading 1539, mission status 1540, mission progress 1542, the most recent communication update with the robot 1544…; paragraph 0243, discussing that in the event of an insufficient match, a next robot in the queue, e.g. a second robot, may be compared to determine if there is a sufficient match. If so, the mission may be assigned to the second robot…If the determination in Step 1650 is no, flowchart 1600 flows to Step 1670 to determine if any robots are remaining. If there are robots remaining to be searched, all robots are searched to determine if the mission may be accomplished by any of the robots. Each robot may be evaluated until the mission is assigned, or no robots remain; paragraph 0244, discussing that in the event the second mission is not able to be assigned to a robot, a robot that was previously assigned to a prior mission may be evaluated; paragraph 0245, discussing that once all missions have been evaluated, a schedule of missions assigned to robots may be determined. In Step 1698, a robot schedule may be output; FIG. 15; paragraphs 0046, 0047, 0218).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s feature for including allocating, by the robot fleet management system, a second robot in the fleet of robots to a second task from the set of tasks based at least in part on the respective power consumption for at least the second task, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 17, the Natarajan-Chen combination teaches the robot fleet management system of claim 16. Natarajan further teaches wherein allocating, by the robot fleet management system, a second robot in the fleet of robots to a second task from the set of tasks includes allocating, by the robot fleet management system, a second robot in the fleet of robots to a second task from the set of tasks based at least in part on the respective power state of each robot in the fleet of robots (paragraph 0031, discussing that the allocation of AMRs to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining, the distance to charging stations, etc.). Then, each task may be allocated to the AMRs for each task having the highest reward metric value, which thus represents the “best” AMR to perform each task; paragraph 0034, discussing that the AMRs 102 may also receive commands with respect to allocated tasks to perform as well as the details associated with how and when to perform the allocated tasks, and/or planned path information from the computing device 108; paragraph 0042, discussing that the computing device may thus receive state-related information from each for the AMRs 102…, which may include…data related to the operating state of the AMRs 102, or any other suitable feedback related to the state of the AMRs…In any event, the computing device 108 may optionally use this state-related information, together with other information about the environment 100 that is already known, for task allocation; paragraph 0049, discussing that a user may interact with the GUI 202 to provide the appropriate specifications for the environment 100 so that the task allocation engine 210 may perform AMR [i.e., robot] task allocation functions. Thus, the use of the GUI 202 may be considered as part of an initial setup step, or used when the environment 100 changes significantly to provide additional information regarding tasks, AMRs 102, the environment 100, etc. The GUI 202 may also provide users with information of the environment 100, such as the status of AMRs, their current tasks, or other information obtained from the state-related information; paragraph 0051, discussing that the autonomous agent task data may define which tasks are potentially to be performed by the AMRs 102 within the environment 100 (i.e. the set of tasks), and details regarding the requirements with respect to how each of these tasks should be executed; paragraph 0058, discussing that the DL neural network architecture 300 may receive inputs related to the aforementioned autonomous agent task data, which may include the set of tasks to be performed, the task parameters identified with each one of the set of tasks, the AMR availability data, the AMR state estimation data, etc. As further discussed below, the DL neural network architecture also receives, as input, target vectors that identify preferred AMR and task pairings. Thus, the DL neural network architecture 300, once trained using a training dataset of similar types of data, functions to perform AMR task allocation based upon the data received at the inputs...Thus, the trained DL neural network architecture 300 implemented via the DL neural network architecture 300 may dynamically and intelligently allocate AMRs 102 to specific tasks as conditions in the environment 100 change, as AMRs 102 complete other tasks, as AMRs 102 are identified as malfunctioning, as new tasks are identified, etc. In other words, the task allocation engine 210 implements the DL neural network architecture 300 to output AMR task allocation data at block 212 using the autonomous agent task data and target vectors received via the input layer(s)…; paragraphs 0078, 0094, 0118, 0203).
Natarajan does not explicitly teach wherein allocating, by the robot fleet management system, a second robot in the fleet of robots to a second task from the set of tasks includes allocating, by the robot fleet management system, a second robot in the fleet of robots to a second task from the set of tasks based at least in part on the respective power consumption for each task from the set of tasks. However, Chen in the analogous art of systems for robot fleet management teaches this concept. Chen teaches:
wherein allocating, by the robot fleet management system, a second robot in the fleet of robots to a second task from the set of tasks includes allocating, by the robot fleet management system, a second robot in the fleet of robots to a second task from the set of tasks based at least in part on the respective power consumption for each task from the set of tasks (paragraph 0052, discussing an amount of energy to be used in each mission of the mission profile; paragraph 0068, discussing that the method may further include receiving, by a processor of a system in which the fleet of robots is configured to operate, a second task, different from the first task, determining, by the processor of the system, at least one factor for the second task, wherein the at least one factor associated with the first task and the second task may instruct an order in which the first task is to be completed relative to the second task, creating, by the processor of the system a second mission profile based on the second task and the at least one factor of the second task; paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots, monitoring the health and maintenance status of robots and their components, and scheduling maintenance of robots…Fleet manager 628 may assign missions and tasks to robots based on mission requirements and robot capabilities. For instance, if fleet manager 628 determines that a mission can be supported by only a robot type of type A, fleet manager 628 may assign the mission to only a robot among robots 110A, 110B, and 110C of type A… For another mission that can be assigned to a robot of type A or B, fleet manager 628 may assign the mission to a robot among robots 110A, 110B, and 110C of type A or B based on the availability of each robot 110A, 110B, and 110C. The availability of each robot 110A, 110B, and 110C may be determined by fleet manager 628 using metrics such as, for example, communications state and battery life, etc. In some embodiments, operations management system 200 may specify a mission or task to be performed by a specific robot or a robot among a specific group of robots; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraph 0211, discussing that a mission may be characterized as requiring a highest quality level of mission or task performance, performing the mission or the task in the shortest amount of time, performing the mission or the task using the least amount of energy; paragraph 0235, discussing that robot status 1416 may show the status of the robot, e.g., via a list 1500 shown in FIG. 15. For example, a first robot 1510 and a second robot 1520 may be shown in a list format on the dashboard 1400 when robot status 1416 is selected. Robot status 1416 may show various robot capabilities or other information relating to each robot, such as robot name 1530, robot type 1532, robot status 1534, communication status 1536, battery level and battery status 1538, odometer reading 1539, mission status 1540, mission progress 1542, the most recent communication update with the robot 1544…; paragraph 0243, discussing that in the event of an insufficient match, a next robot in the queue, e.g. a second robot, may be compared to determine if there is a sufficient match. If so, the mission may be assigned to the second robot…If the determination in Step 1650 is no, flowchart 1600 flows to Step 1670 to determine if any robots are remaining. If there are robots remaining to be searched, all robots are searched to determine if the mission may be accomplished by any of the robots. Each robot may be evaluated until the mission is assigned, or no robots remain; paragraph 0244, discussing that in the event the second mission is not able to be assigned to a robot, a robot that was previously assigned to a prior mission may be evaluated; paragraph 0245, discussing that once all missions have been evaluated, a schedule of missions assigned to robots may be determined. In Step 1698, a robot schedule may be output; FIG. 15; paragraphs 0046, 0047, 0218).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s feature for including wherein allocating, by the robot fleet management system, a second robot in the fleet of robots to a second task from the set of tasks includes allocating, by the robot fleet management system, a second robot in the fleet of robots to a second task from the set of tasks based at least in part on the respective power consumption for each task from the set of tasks, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 19, the Natarajan-Chen combination teaches the robot fleet management system of claim 1. Natarajan further teaches wherein allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power state of at least the first robot and the power consumption for at least the first task includes allocating, by the robot fleet management system, the first robot to the first task based at least in part on at least one of a priority of the first task relative to other tasks from the set of tasks and a maintenance condition of the first robot (paragraph 0031, discussing that the allocation of AMRs [i.e., robots] to tasks is determined by several factors such as task parameters (which may include start/stop times, task deadlines, manipulation parameters, task priority and sequence, etc.) and AMR state parameters and availability information. To enable the training dataset creation, task priority parameters are defined to quantify the priority of a given task amongst a set of tasks, as well as cost parameters that correspond to the cost incurred due to allocating a specific AMR to a given task and, finally, a reward metric for every AMR-task set that is the result of combining the task priority parameters and the cost parameters. The reward metrics may thus be calculated for each task that is to be allocated by calculating a reward metric for each AMR for each task. Then, each task may be allocated to the AMRs for each task having the highest reward metric value, which thus represents the “best” AMR to perform each task; paragraph 0131, discussing that the task allocation engine may thus utilize the task-identification to update the set of tasks and thus generate updated AMR task allocation data that allocates the additional identified task to one of the AMRs 102. This may be performed in one scenario by updating the task priority parameters, task priority parameter weights, cost factors, cost factor weights, reward metric weights, etc.; paragraph 0063).
Natarajan does not explicitly teach allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task. However, Chen in the analogous art of systems for robot fleet management teaches this concept. Chen teaches:
allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task (paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots, monitoring the health and maintenance status of robots and their components, and scheduling maintenance of robots…Fleet manager 628 may assign missions and tasks to robots based on mission requirements and robot capabilities. For instance, if fleet manager 628 determines that a mission can be supported by only a robot type of type A, fleet manager 628 may assign the mission to only a robot among robots 110A, 110B, and 110C of type A… For another mission that can be assigned to a robot of type A or B, fleet manager 628 may assign the mission to a robot among robots 110A, 110B, and 110C of type A or B based on the availability of each robot 110A, 110B, and 110C. The availability of each robot 110A, 110B, and 110C may be determined by fleet manager 628 using metrics such as, for example, communications state and battery life, etc. In some embodiments, operations management system 200 may specify a mission or task to be performed by a specific robot or a robot among a specific group of robots; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraphs 0046, 0047, 0218).
Examiner notes that Chen, in addition to Natarajan as cited above, also teaches: allocating, by the robot fleet management system, the first robot to the first task based at least in part on at least one of a priority of the first task relative to other tasks from the set of tasks and a maintenance condition of the first robot (paragraph 0051, discussing that the one or more missions may include a plurality of missions capable of being assigned to a plurality of robots from the one or more robots, wherein each mission profile may include one or more priorities each having a desired level of importance to the mission, and wherein the assigning the one or more missions may further include assigning the one or more missions based on the one or more priorities; paragraph 0211, discussing that the mission may be assigned to one of the multiple robots based on one or more priorities of the mission).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s feature for including allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 20, the Natarajan-Chen combination teaches the robot fleet management system of claim 1. Natarajan further teaches wherein allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power state of at least the first robot includes allocating, by the robot fleet management system, a first task from the set of tasks to a first robot of the fleet of robots in real-time (paragraph 0094, discussing that the cluster-level logic block 218 may function to ensure all the AMRs [i.e., robots] 102 in the same cluster are in the correct location and pose prior to beginning the task. As another scenario, if any AMR 102 has a problem or failure, the cluster-level logic block 218 functions to make an appropriate decision to solve this problem. This may include switching the AMR to another role in the task cluster; paragraph 0110, discussing that the AMR health and failure prediction block 226 may provide data to the autonomous agent task data block 208 to update the AMR availability pool by generating a list of available AMRs for task allocation. Any information calculated via the AMR health and failure prediction block 226 may additionally or alternatively be provided to the GUI 202, which may be used to manually adjust the AMR availability pool or otherwise provide real-time monitoring functionality; paragraph 0130, discussing that any information calculated via the execution of the algorithm as discussed above with respect to the process flow 900 may additionally or alternatively be provided to any suitable components of the MRTA (multi-robot multi-task allocation) system 200. In one scenario, this data may be provided to the GUI 202, which may be used to manually adjust the AMR availability pool or otherwise provide real-time monitoring functionality. This may include information such as…an action plan that is defined in accordance with the task parameters for that task, a status of the task, etc.).
Natarajan does not explicitly teach allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task. However, Chen in the analogous art of systems for robot fleet management teaches this concept. Chen teaches:
allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task (paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots, monitoring the health and maintenance status of robots and their components, and scheduling maintenance of robots…Fleet manager 628 may assign missions and tasks to robots based on mission requirements and robot capabilities. For instance, if fleet manager 628 determines that a mission can be supported by only a robot type of type A, fleet manager 628 may assign the mission to only a robot among robots 110A, 110B, and 110C of type A… For another mission that can be assigned to a robot of type A or B, fleet manager 628 may assign the mission to a robot among robots 110A, 110B, and 110C of type A or B based on the availability of each robot 110A, 110B, and 110C. The availability of each robot 110A, 110B, and 110C may be determined by fleet manager 628 using metrics such as, for example, communications state and battery life, etc. In some embodiments, operations management system 200 may specify a mission or task to be performed by a specific robot or a robot among a specific group of robots; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraphs 0046, 0047, 0218).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s feature for including allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
18. Claims 3-8, 10-13, and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Natarajan in view of Chen, in further view of Singh et al., Pub. No.: US 2022/0201441 A1, [hereinafter Singh].
As per claim 3, the Natarajan-Chen combination teaches the robot fleet management system of claim 1. Natarajan further teaches wherein accessing, by the robot fleet management system, a set of tasks available to be performed by a fleet of robots includes accessing, by the robot fleet management system, a set of tasks comprising at least one untethered task (paragraph 0030, discussing allocating AMRs (Autonomous Mobile Robots) to tasks based on high level task inputs and AMR state and availability information…Once, the task begins execution, the techniques described further include monitoring the task progress and AMR actions. The continuous monitoring of tasks and AMR actions facilitates a quick response to any AMR performance-related malfunctions, battery life issues, etc. Moreover, once an AMR completes its task, it is re-assigned to a new task by a task allocation engine as described, and thus the AMRs are continuously and efficiently assigned to tasks autonomously. In addition, in the techniques discussed, the task allocation engine provides additional logic to support urgent unexpected scenarios such as robot malfunctions or low battery etc., which may require emergency AMR back-up; paragraph 0056, discussing that the task allocation engine block 210 represents the execution of a MRTA (multi-robot, multi-task allocation) algorithm that functions to allocate AMRs 102 to specific tasks within the set of tasks included as part of the autonomous agent task data…The task allocation engine 210 may optionally include additional logic to support AMR allocation for urgent and/or unexpected scenarios such as AMR malfunctions, low battery, etc.,...).
The Natarajan-Chen combination does not explicitly teach wherein accessing, by the robot fleet management system, a set of tasks available to be performed by a fleet of robots includes accessing, by the robot fleet management system, a set of tasks comprising at least one tethered task. However, Singh in the analogous art of resource-based task allocation for robots teaches this concept. Singh teaches:
wherein accessing, by the robot fleet management system, a set of tasks available to be performed by a fleet of robots includes accessing, by the robot fleet management system, a set of tasks comprising at least one tethered task (paragraph 0001, discussing autonomous mobile robot (AMR) scaling and resource-based task allocation for AMRs; paragraph 0045, discussing that the AMR may be configured to self-select a task profile from a plurality of task profiles. That is, the AMR may be configured with one or more predetermined task profiles, which may be locally stored and/or which may be remotely stored in a manner to which the AMR has access. The AMR may include one or more processors, which may be configured to determine one or more tasks, which the AMR is required to perform, and to select a task profile from the one or more task profiles based on the one or more required tasks; paragraph 0062, discussing that in some cases, the offloaded task may be purely or principally computational in nature. Such tasks may be performable by any nearly any entity with one or more processors. In this situation, data for the computation may be transmitted to the receiving device, which may then process the data in an appropriate fashion. For example, an AMR's sensor data representing a vicinity of the AMR may require one or more robust computational calculations to localize and/or navigate. Based on the task profile, the AMR may be unable to perform such a calculation. In this case, it may be power saving to simply transmit the data and await a response including localization information and/or navigation information. In this manner, such robust computations may be offloaded as a power saving matter. As a general matter, such calculations may be performed on-site or remotely. Under some circumstances, these tasks may be performed by one or more devices that are not dependent on a battery (e.g., devices connected to a mains voltage) [i.e., tethered tasks]).
The Natarajan-Chen combination describes features related to task allocation and robot fleet management. Singh is directed to systems and methods for task allocation for robots. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the Natarajan-Chen combination with Singh because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying the Natarajan-Chen combination to include Singh’s feature for including wherein accessing, by the robot fleet management system, a set of tasks available to be performed by a fleet of robots includes accessing, by the robot fleet management system, a set of tasks comprising at least one tethered task, in the manner claimed, would serve the motivation of improving efficiency in robot resource utilization (Singh at paragraph 0026); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 4, the Natarajan-Chen-Singh combination teaches the robot fleet management system of claim 3. Natarajan further teaches wherein allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power state of at least the first robot and the power consumption for at least the first task includes: determining, by the robot fleet management system, the first robot has sufficient power to complete an untethered task selected from the at least one untethered task (paragraph 0030, discussing that the task allocation engine provides additional logic to support urgent unexpected scenarios such as robot malfunctions or low battery etc., which may require emergency AMR back-up; paragraph 0031, discussing that the allocation of AMRs to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining, the distance to charging stations, etc.); paragraph 0060, discussing that in a multi-robot environment such as a warehouse or a factory, as a practical matter several parameters need to be considered to ensure a proper AMR task allocation, which may include the aforementioned set of task parameters, the priority and the urgency of a task, as well as cost parameters such as AMR distance to a specific task location, AMR battery life, distance and time required to navigate to a destination (such as a recharging station), etc.; paragraph 0114, discussing re-allocating AMRs [i.e., robots] that have a battery capacity less than a predetermined threshold value to charge at a charging station etc.; paragraphs 0067, 0111); and
allocating, by the robot fleet management system, the first robot to the selected untethered task (paragraph 0031, discussing that the allocation of AMRs to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining, the distance to charging stations, etc.). Then, each task may be allocated to the AMRs for each task having the highest reward metric value, which thus represents the “best” AMR to perform each task; paragraph 0034, discussing that the AMRs 102 may also receive commands (which may be in the form of transmitted control signals) with respect to allocated tasks to perform as well as the details associated with how and when to perform the allocated tasks, and/or planned path information from the computing device 108; paragraph 0042, discussing that the computing device may thus receive state-related information from each for the AMRs 102…, which may include…data related to the operating state of the AMRs 102, or any other suitable feedback related to the state of the AMRs… In any event, the computing device 108 may optionally use this state-related information, together with other information about the environment 100 that is already known, for task allocation; paragraph 0203, discussing generating autonomous agent task allocation data that allocates each one of the plurality of autonomous agents to a respective one of the set of tasks; and a communication means for transmitting commands to each one of the plurality of autonomous agents to perform the respectively allocated tasks).
Natarajan does not explicitly teach allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power consumption for at least the first task. However, Chen in the analogous art of systems for robot fleet management teaches this concept. Chen teaches:
allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power consumption for at least the first task (paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots, monitoring the health and maintenance status of robots and their components, and scheduling maintenance of robots…Fleet manager 628 may assign missions and tasks to robots based on mission requirements and robot capabilities. For instance, if fleet manager 628 determines that a mission can be supported by only a robot type of type A, fleet manager 628 may assign the mission to only a robot among robots 110A, 110B, and 110C of type A… For another mission that can be assigned to a robot of type A or B, fleet manager 628 may assign the mission to a robot among robots 110A, 110B, and 110C of type A or B based on the availability of each robot 110A, 110B, and 110C. The availability of each robot 110A, 110B, and 110C may be determined by fleet manager 628 using metrics such as, for example, communications state and battery life, etc. In some embodiments, operations management system 200 may specify a mission or task to be performed by a specific robot or a robot among a specific group of robots; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraphs 0046, 0047, 0218).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s feature for including allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power consumption for at least the first task, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 5, the Natarajan-Chen-Singh combination teaches the robot fleet management system of claim 4. Natarajan further teaches wherein allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power state of at least the first robot includes: determining, by the robot fleet management system, the power state of the first robot is above an upper threshold (paragraph 0030, discussing that the task allocation engine provides additional logic to support urgent unexpected scenarios such as robot malfunctions or low battery etc., which may require emergency AMR back-up; paragraph 0031, discussing that the allocation of AMRs to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining, the distance to charging stations, etc.); paragraph 0060, discussing that in a multi-robot environment such as a warehouse or a factory, as a practical matter several parameters need to be considered to ensure a proper AMR task allocation, which may include the aforementioned set of task parameters, the priority and the urgency of a task, as well as cost parameters such as AMR distance to a specific task location, AMR battery life, distance and time required to navigate to a destination (such as a recharging station), etc.; paragraph 0111, discussing that one or more of these metrics may be used as conditions that may form part of the autonomous agent task data, and thus part of the logic used by the AMR task allocation engine block 210 to perform AMR task allocation. In one scenario, an AMR health metric being below a certain threshold may result in the AMR being decommissioned and/or removed from the AMR availability pool. In another scenario, the allocation of the task may be conditioned upon the AMR 102 having an expected probability of task completion that is above a predetermined threshold value. In this way, the AMR task allocation engine block 210 may adapt the manner in which task allocation is performed based upon the data provided by the AMR health and failure prediction block; paragraph 0114, discussing re-allocating AMRs [i.e., robots] that have a battery capacity less than a predetermined threshold value to charge at a charging station etc.; paragraphs 0067); and
allocating, by the robot fleet management system, the first robot in the fleet of robots to an untethered task selected from the at least one untethered task (paragraph 0031, discussing that the allocation of AMRs to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining, the distance to charging stations, etc.). Then, each task may be allocated to the AMRs for each task having the highest reward metric value, which thus represents the “best” AMR to perform each task; paragraph 0034, discussing that the AMRs 102 may also receive commands (which may be in the form of transmitted control signals) with respect to allocated tasks to perform as well as the details associated with how and when to perform the allocated tasks, and/or planned path information from the computing device 108; paragraph 0042, discussing that the computing device may thus receive state-related information from each for the AMRs 102…, which may include…data related to the operating state of the AMRs 102, or any other suitable feedback related to the state of the AMRs… In any event, the computing device 108 may optionally use this state-related information, together with other information about the environment 100 that is already known, for task allocation; paragraph 0203, discussing generating autonomous agent task allocation data that allocates each one of the plurality of autonomous agents to a respective one of the set of tasks; and a communication means for transmitting commands to each one of the plurality of autonomous agents to perform the respectively allocated tasks).
Natarajan does not explicitly teach allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task. However, Chen in the analogous art of systems for robot fleet management teaches this concept. Chen teaches:
allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task (paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots, monitoring the health and maintenance status of robots and their components, and scheduling maintenance of robots…Fleet manager 628 may assign missions and tasks to robots based on mission requirements and robot capabilities. For instance, if fleet manager 628 determines that a mission can be supported by only a robot type of type A, fleet manager 628 may assign the mission to only a robot among robots 110A, 110B, and 110C of type A… For another mission that can be assigned to a robot of type A or B, fleet manager 628 may assign the mission to a robot among robots 110A, 110B, and 110C of type A or B based on the availability of each robot 110A, 110B, and 110C. The availability of each robot 110A, 110B, and 110C may be determined by fleet manager 628 using metrics such as, for example, communications state and battery life, etc. In some embodiments, operations management system 200 may specify a mission or task to be performed by a specific robot or a robot among a specific group of robots; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraphs 0046, 0047, 0218).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s feature for including allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 6, the Natarajan-Chen-Singh combination teaches the robot fleet management system of claim 4. Natarajan further teaches wherein allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power state of at least the first robot includes: determining, by the robot fleet management system, the first robot has insufficient power to complete an untethered task selected from the at least one untethered task (paragraph 0030, discussing that the task allocation engine provides additional logic to support urgent unexpected scenarios such as robot malfunctions or low battery etc., which may require emergency AMR back-up; paragraph 0031, discussing that the allocation of AMRs to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining, the distance to charging stations, etc.); paragraph 0060, discussing that in a multi-robot environment such as a warehouse or a factory, as a practical matter several parameters need to be considered to ensure a proper AMR task allocation, which may include the aforementioned set of task parameters, the priority and the urgency of a task, as well as cost parameters such as AMR distance to a specific task location, AMR battery life, distance and time required to navigate to a destination (such as a recharging station), etc.; paragraph 0114, discussing re-allocating AMRs [i.e., robots] that have a battery capacity less than a predetermined threshold value to charge at a charging station etc.; paragraphs 0067, 0111).
Natarajan does not explicitly teach allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power consumption for at least the first task. However, Chen in the analogous art of systems for robot fleet management teaches this concept. Chen teaches:
allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power consumption for at least the first task (paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots, monitoring the health and maintenance status of robots and their components, and scheduling maintenance of robots…Fleet manager 628 may assign missions and tasks to robots based on mission requirements and robot capabilities. For instance, if fleet manager 628 determines that a mission can be supported by only a robot type of type A, fleet manager 628 may assign the mission to only a robot among robots 110A, 110B, and 110C of type A… For another mission that can be assigned to a robot of type A or B, fleet manager 628 may assign the mission to a robot among robots 110A, 110B, and 110C of type A or B based on the availability of each robot 110A, 110B, and 110C. The availability of each robot 110A, 110B, and 110C may be determined by fleet manager 628 using metrics such as, for example, communications state and battery life, etc. In some embodiments, operations management system 200 may specify a mission or task to be performed by a specific robot or a robot among a specific group of robots; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraphs 0046, 0047, 0218).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s feature for including allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power consumption for at least the first task, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
The Natarajan-Chen combination does not explicitly teach allocating, by the robot fleet management system, the first robot to a tethered task selected from the at least one tethered task. However, Singh in the analogous art of resource-based task allocation for robots teaches this concept. Singh teaches:
allocating, by the robot fleet management system, the first robot to a tethered task selected from the at least one tethered task (paragraph 0045, discussing that the AMR (autonomous mobile robot) may include one or more processors, which may be configured to determine one or more tasks, which the AMR is required to perform, and to select a task profile from the one or more task profiles based on the one or more required tasks; paragraph 0058, discussing that upon receiving a task, the receiving station/AMR may perform the task and may communicate a result of the perform task to the offloading station. For example, AMR 202 may receive data from its telemetry circuit that its battery charge is likely insufficient to operate for the remainder of its required duty cycle/shift. Upon receiving this information, AMR 202 may iteratively select an alternative task profile, in which one or more resources are (additionally) restricted. This restriction may require that the AMR 202 offload one or more tasks. In performing the communication, the AMR may select one or more stations to which it may offload one or more tasks. The corresponding station may accept the task, perform the task, and transmit a result of the perform task to the AMR 202. In this manner, the AMR 202 has the results of the task, without the power expense of having perform the task itself; paragraph 0062, discussing that in some cases, the offloaded task may be purely or principally computational in nature. Such tasks may be performable by any nearly any entity with one or more processors. In this situation, data for the computation may be transmitted to the receiving device, which may then process the data in an appropriate fashion. For example, an AMR's sensor data representing a vicinity of the AMR may require one or more robust computational calculations to localize and/or navigate. Based on the task profile, the AMR may be unable to perform such a calculation. In this case, it may be power saving to simply transmit the data and await a response including localization information and/or navigation information. In this manner, such robust computations may be offloaded as a power saving matter. As a general matter, such calculations may be performed on-site or remotely. Under some circumstances, these tasks may be performed by one or more devices that are not dependent on a battery (e.g., devices connected to a mains voltage); paragraph 0064).
The Natarajan-Chen combination describes features related to task allocation and robot fleet management. Singh is directed to systems and methods for task allocation for robots. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the Natarajan-Chen combination with Singh because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying the Natarajan-Chen combination to include Singh’s feature for including allocating, by the robot fleet management system, the first robot to a tethered task selected from the at least one tethered task, in the manner claimed, would serve the motivation of improving efficiency in robot resource utilization (Singh at paragraph 0026); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 7, the Natarajan-Chen-Singh combination teaches the robot fleet management system of claim 3. Natarajan further teaches wherein allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power state of at least the first robot includes: determining, by the robot fleet management system, the first robot has insufficient power to complete any untethered task selected from the at least one untethered task (paragraph 0030, discussing that the task allocation engine provides additional logic to support urgent unexpected scenarios such as robot malfunctions or low battery etc., which may require emergency AMR back-up; paragraph 0031, discussing that the allocation of AMRs to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining, the distance to charging stations, etc.); paragraph 0060, discussing that in a multi-robot environment such as a warehouse or a factory, as a practical matter several parameters need to be considered to ensure a proper AMR task allocation, which may include the aforementioned set of task parameters, the priority and the urgency of a task, as well as cost parameters such as AMR distance to a specific task location, AMR battery life, distance and time required to navigate to a destination (such as a recharging station), etc.; paragraph 0114, discussing re-allocating AMRs [i.e., robots] that have a battery capacity less than a predetermined threshold value to charge at a charging station etc.; paragraphs 0067, 0111).
Natarajan does not explicitly teach allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power consumption for at least the first task. However, Chen in the analogous art of systems for robot fleet management teaches this concept. Chen teaches:
allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power consumption for at least the first task (paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots, monitoring the health and maintenance status of robots and their components, and scheduling maintenance of robots…Fleet manager 628 may assign missions and tasks to robots based on mission requirements and robot capabilities. For instance, if fleet manager 628 determines that a mission can be supported by only a robot type of type A, fleet manager 628 may assign the mission to only a robot among robots 110A, 110B, and 110C of type A… For another mission that can be assigned to a robot of type A or B, fleet manager 628 may assign the mission to a robot among robots 110A, 110B, and 110C of type A or B based on the availability of each robot 110A, 110B, and 110C. The availability of each robot 110A, 110B, and 110C may be determined by fleet manager 628 using metrics such as, for example, communications state and battery life, etc. In some embodiments, operations management system 200 may specify a mission or task to be performed by a specific robot or a robot among a specific group of robots; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraphs 0046, 0047, 0218).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s feature for including allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks based at least in part on the power consumption for at least the first task, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
The Natarajan-Chen combination does not explicitly teach allocating, by the robot fleet management system, the first robot to a tethered task selected from the at least one tethered task. However, Singh in the analogous art of resource-based task allocation for robots teaches this concept. Singh teaches:
allocating, by the robot fleet management system, the first robot to a tethered task selected from the at least one tethered task (paragraph 0045, discussing that the AMR (autonomous mobile robot) may include one or more processors, which may be configured to determine one or more tasks, which the AMR is required to perform, and to select a task profile from the one or more task profiles based on the one or more required tasks; paragraph 0058, discussing that upon receiving a task, the receiving station/AMR may perform the task and may communicate a result of the perform task to the offloading station. For example, AMR 202 may receive data from its telemetry circuit that its battery charge is likely insufficient to operate for the remainder of its required duty cycle/shift. Upon receiving this information, AMR 202 may iteratively select an alternative task profile, in which one or more resources are (additionally) restricted. This restriction may require that the AMR 202 offload one or more tasks. In performing the communication, the AMR may select one or more stations to which it may offload one or more tasks. The corresponding station may accept the task, perform the task, and transmit a result of the perform task to the AMR 202. In this manner, the AMR 202 has the results of the task, without the power expense of having perform the task itself; paragraph 0062, discussing that in some cases, the offloaded task may be purely or principally computational in nature. Such tasks may be performable by any nearly any entity with one or more processors. In this situation, data for the computation may be transmitted to the receiving device, which may then process the data in an appropriate fashion. For example, an AMR's sensor data representing a vicinity of the AMR may require one or more robust computational calculations to localize and/or navigate. Based on the task profile, the AMR may be unable to perform such a calculation. In this case, it may be power saving to simply transmit the data and await a response including localization information and/or navigation information. In this manner, such robust computations may be offloaded as a power saving matter. As a general matter, such calculations may be performed on-site or remotely. Under some circumstances, these tasks may be performed by one or more devices that are not dependent on a battery (e.g., devices connected to a mains voltage); paragraph 0064).
The Natarajan-Chen combination describes features related to task allocation and robot fleet management. Singh is directed to systems and methods for task allocation for robots. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the Natarajan-Chen combination with Singh because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying the Natarajan-Chen combination to include Singh’s feature for including allocating, by the robot fleet management system, the first robot to a tethered task selected from the at least one tethered task, in the manner claimed, would serve the motivation of improving efficiency in robot resource utilization (Singh at paragraph 0026); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 8, the Natarajan-Chen-Singh combination teaches the robot fleet management system of claim 3. Natarajan further teaches wherein allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power state of at least the first robot and the power consumption for at least the first task includes: determining, by the robot fleet management system, the power state of the first robot is below a lower threshold (paragraph 0030, discussing that the task allocation engine provides additional logic to support urgent unexpected scenarios such as robot malfunctions or low battery etc., which may require emergency AMR back-up; paragraph 0031, discussing that the allocation of AMRs to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining, the distance to charging stations, etc.); paragraph 0060, discussing that in a multi-robot environment such as a warehouse or a factory, as a practical matter several parameters need to be considered to ensure a proper AMR task allocation, which may include the aforementioned set of task parameters, the priority and the urgency of a task, as well as cost parameters such as AMR distance to a specific task location, AMR battery life, distance and time required to navigate to a destination (such as a recharging station), etc.; paragraph 0114, discussing re-allocating AMRs [i.e., robots] that have a battery capacity less than a predetermined threshold value to charge at a charging station etc.; paragraphs 0067, 0111).
Natarajan does not explicitly teach allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task. However, Chen in the analogous art of systems for robot fleet management teaches this concept. Chen teaches:
allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task (paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots, monitoring the health and maintenance status of robots and their components, and scheduling maintenance of robots…Fleet manager 628 may assign missions and tasks to robots based on mission requirements and robot capabilities. For instance, if fleet manager 628 determines that a mission can be supported by only a robot type of type A, fleet manager 628 may assign the mission to only a robot among robots 110A, 110B, and 110C of type A… For another mission that can be assigned to a robot of type A or B, fleet manager 628 may assign the mission to a robot among robots 110A, 110B, and 110C of type A or B based on the availability of each robot 110A, 110B, and 110C. The availability of each robot 110A, 110B, and 110C may be determined by fleet manager 628 using metrics such as, for example, communications state and battery life, etc. In some embodiments, operations management system 200 may specify a mission or task to be performed by a specific robot or a robot among a specific group of robots; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraphs 0046, 0047, 0218).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s feature for including allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks, based at least in part on the power consumption for at least the first task, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
The Natarajan-Chen combination does not explicitly teach allocating, by the robot fleet management system, the first robot in the fleet of robots to a tethered task selected from the at least one tethered task. However, Singh in the analogous art of resource-based task allocation for robots teaches this concept. Singh teaches:
allocating, by the robot fleet management system, the first robot in the fleet of robots to a tethered task selected from the at least one tethered task (paragraph 0045, discussing that the AMR (autonomous mobile robot) may include one or more processors, which may be configured to determine one or more tasks, which the AMR is required to perform, and to select a task profile from the one or more task profiles based on the one or more required tasks; paragraph 0058, discussing that upon receiving a task, the receiving station/AMR may perform the task and may communicate a result of the perform task to the offloading station. For example, AMR 202 may receive data from its telemetry circuit that its battery charge is likely insufficient to operate for the remainder of its required duty cycle/shift. Upon receiving this information, AMR 202 may iteratively select an alternative task profile, in which one or more resources are (additionally) restricted. This restriction may require that the AMR 202 offload one or more tasks. In performing the communication, the AMR may select one or more stations to which it may offload one or more tasks. The corresponding station may accept the task, perform the task, and transmit a result of the perform task to the AMR 202. In this manner, the AMR 202 has the results of the task, without the power expense of having perform the task itself; paragraph 0062, discussing that in some cases, the offloaded task may be purely or principally computational in nature. Such tasks may be performable by any nearly any entity with one or more processors. In this situation, data for the computation may be transmitted to the receiving device, which may then process the data in an appropriate fashion. For example, an AMR's sensor data representing a vicinity of the AMR may require one or more robust computational calculations to localize and/or navigate. Based on the task profile, the AMR may be unable to perform such a calculation. In this case, it may be power saving to simply transmit the data and await a response including localization information and/or navigation information. In this manner, such robust computations may be offloaded as a power saving matter. As a general matter, such calculations may be performed on-site or remotely. Under some circumstances, these tasks may be performed by one or more devices that are not dependent on a battery (e.g., devices connected to a mains voltage); paragraph 0064).
The Natarajan-Chen combination describes features related to task allocation and robot fleet management. Singh is directed to systems and methods for task allocation for robots. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the Natarajan-Chen combination with Singh because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying the Natarajan-Chen combination to include Singh’s feature for including allocating, by the robot fleet management system, the first robot in the fleet of robots to a tethered task selected from the at least one tethered task, in the manner claimed, would serve the motivation of improving efficiency in robot resource utilization (Singh at paragraph 0026); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 10, the Natarajan-Chen combination teaches the robot fleet management system of claim 1. Although not explicitly taught by Natarajan, Chen in the analogous art of systems for robot fleet management teaches wherein accessing, by the robot fleet management system, a respective power consumption for each task from the set of tasks includes accessing, by the robot fleet management system, a respective power consumption (paragraph 0052, discussing an amount of energy to be used in each mission of the mission profile; paragraph 0087, discussing that the information relating to performance of the task may include historical data, stored in a memory of the system configured to manage the fleet of robots, related to past missions in which the task was performed; paragraph 0101, discussing that the third mission profile may include historical data based on a past performance of the task; paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots…; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraph 0209, discussing that the one or more mission profiles may be received via a user input based on historical data as explained, and/or from another system, e.g., a third-party system. As described, each mission profile may include one or more tasks, factors necessary or useful for performance of the task, dynamic data based on the one or more factors, and/or mission capabilities of a robot for accomplishing the mission; paragraph 0211, discussing that a mission may be characterized as requiring a highest quality level of mission or task performance, performing the mission or the task in the shortest amount of time, performing the mission or the task using the least amount of energy; paragraph 0280, discussing that factors related to the task (such as those factors described in Step 1120) may be determined by accessing historical data associated with that task; paragraphs 0090, 0237, 0281, 0286).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s feature for including wherein accessing, by the robot fleet management system, a respective power consumption for each task from the set of tasks includes accessing, by the robot fleet management system, a respective power consumption, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
The Natarajan-Chen combination does not explicitly teach based at least in part on a power anticipated to be drawn by a robot in the fleet of robots from a power source to complete each task from the set of tasks. However, Singh in the analogous art of resource-based task allocation for robots teaches this concept. Singh teaches:
based at least in part on a power anticipated to be drawn by a robot in the fleet of robots from a power source to complete each task from the set of tasks (paragraph 0001, discussing autonomous mobile robot (AMR) scaling and resource-based task allocation for AMRs; paragraph 0049, discussing that the AMR may include one or more artificial intelligence circuits, which may be configured to select and/or generate one or more task profiles. Such artificial intelligence circuits may be trained using any of historical task selection data, historical task profiles, historical battery life data, their corresponding historical module usage and functionality, or any combination thereof. Such artificial intelligence circuits may be trained to select a task profile from a plurality of task profiles in light of a given task, one or more given functionalities, one or more restrictions or limitations on modules and associated utilizations, and/or one or more power usage requirements; paragraph 0050, discussing that the one or more processors may be configured to select a task profile based on at least telemetry data. As described, the AMR may include a telemetry circuit…The sensor data may provide, or may be used by the one or more processors to determine, the utilization of the sensors/a power usage requirement associated with the sensors or the utilization. The telemetry circuit may be configured to determine the utilization of one or more processors. The telemetry circuit may be configured to determine battery data/charge data (e.g. a battery voltage, and amount of current drawn from the battery, a total charge (e.g. a total number of Colombes) received from the battery), and the telemetry circuit and/or the one or more processors may be configured to determine a remaining charge and/or a remaining time at the current or expected usage before a subsequent battery charging is required; paragraph 0035).
The Natarajan-Chen combination describes features related to task allocation and robot fleet management. Singh is directed to systems and methods for task allocation for robots. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the Natarajan-Chen combination with Singh because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying the Natarajan-Chen combination to include Singh’s feature for including based at least in part on a power anticipated to be drawn by a robot in the fleet of robots from a power source to complete each task from the set of tasks, in the manner claimed, would serve the motivation of improving efficiency in robot resource utilization (Singh at paragraph 0026); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 11, the Natarajan-Chen-Singh combination teaches the robot fleet management system of claim 10. Natarajan further teaches the battery onboard a battery-powered robot in the fleet of robots (Natarajan, paragraph 0030, discussing that the continuous monitoring of tasks and AMR [i.e., robot] actions facilitates a quick response to any AMR performance-related malfunctions, battery life issues, etc.; paragraph 0034, discussing that the AMRs 102 may transmit data to the computing device 108 indicative of current tasks being executed, new tasks to be executed, and/or other detected conditions within the environment 100, and may additionally or alternatively transmit any suitable type of state-related data such as an identified location, orientation, velocity, trajectory, heading, battery life, etc. within the environment 100; paragraph 0056).
The Natarajan-Chen combination does not explicitly teach wherein accessing, by the robot fleet management system, a respective power consumption based at least in part on a power anticipated to be drawn by a robot in the fleet of robots from a power source to complete each task from the set of tasks includes accessing, by the robot fleet management system, a respective power consumption based at least in part on an anticipated power to be drawn from a battery to complete each task from the set of tasks. However, Singh in the analogous art of resource-based task allocation for robots teaches this concept. Singh teaches:
wherein accessing, by the robot fleet management system, a respective power consumption based at least in part on a power anticipated to be drawn by a robot in the fleet of robots from a power source to complete each task from the set of tasks includes accessing, by the robot fleet management system, a respective power consumption based at least in part on an anticipated power to be drawn from a battery to complete each task from the set of tasks (paragraph 0001, discussing autonomous mobile robot (AMR) scaling and resource-based task allocation for AMRs; paragraph 0037, discussing that the following table illustrates, by way of example, sample robotic agent task profiles, associated modules, and utilization samples, and consequently resultant battery life expectations; paragraph 0049, discussing that the AMR may include one or more artificial intelligence circuits, which may be configured to select and/or generate one or more task profiles. Such artificial intelligence circuits may be trained using any of historical task selection data, historical task profiles, historical battery life data, their corresponding historical module usage and functionality, or any combination thereof. Such artificial intelligence circuits may be trained to select a task profile from a plurality of task profiles in light of a given task, one or more given functionalities, one or more restrictions or limitations on modules and associated utilizations, and/or one or more power usage requirements; paragraph 0050, discussing that the one or more processors may be configured to select a task profile based on at least telemetry data. As described, the AMR may include a telemetry circuit…The sensor data may provide, or may be used by the one or more processors to determine, the utilization of the sensors/a power usage requirement associated with the sensors or the utilization. The telemetry circuit may be configured to determine the utilization of one or more processors. The telemetry circuit may be configured to determine battery data/charge data (e.g. a battery voltage, and amount of current drawn from the battery, a total charge (e.g. a total number of Colombes) received from the battery), and the telemetry circuit and/or the one or more processors may be configured to determine a remaining charge and/or a remaining time at the current or expected usage before a subsequent battery charging is required; paragraphs 0035, 0054).
Examiner notes that Singh, in addition to Natarajan as cited above, also teaches: the battery onboard a battery-powered robot in the fleet of robots (paragraph 0035, discussing that the task profile may be associated with one or more power usage requirements (e.g., power usage goals). Since AMRs [i.e., robots] are mobile, they are generally untethered from fixed power sources and are thus primarily battery-reliant. AMRs may be required to perform tasks for lengthy periods and thus require longevity of battery-charge and/or a predictable period of operation with a given battery charge. For example, it may be necessary that an AMR, once placed into duty, be operational for a period of hours (e.g., the AMR must operate for at least 5 hours, for at least 8 hours, for at least 10 hours, etc.).
The Natarajan-Chen combination describes features related to task allocation and robot fleet management. Singh is directed to systems and methods for task allocation for robots. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the Natarajan-Chen combination with Singh because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying the Natarajan-Chen combination to include Singh’s feature for including wherein accessing, by the robot fleet management system, a respective power consumption based at least in part on a power anticipated to be drawn by a robot in the fleet of robots from a power source to complete each task from the set of tasks includes accessing, by the robot fleet management system, a respective power consumption based at least in part on an anticipated power to be drawn from a battery to complete each task from the set of tasks, in the manner claimed, would serve the motivation of improving efficiency in robot resource utilization (Singh at paragraph 0026); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 12, the Natarajan-Chen combination teaches the robot fleet management system of claim 1. Although not explicitly taught by Natarajan, Chen in the analogous art of systems for robot fleet management teaches wherein accessing, by the robot fleet management system, a respective power consumption for each task from the set of tasks includes accessing, by the robot fleet management system, a respective power consumption (paragraph 0052, discussing an amount of energy to be used in each mission of the mission profile; paragraph 0087, discussing that the information relating to performance of the task may include historical data, stored in a memory of the system configured to manage the fleet of robots, related to past missions in which the task was performed; paragraph 0101, discussing that the third mission profile may include historical data based on a past performance of the task; paragraph 0170, discussing that fleet manager 628 may manage a fleet of robots with respect to, among other things, scheduling and dispatching missions and tasks to robots…; paragraph 0207, discussing that a mission file may contain one or more of the following: a mission identification, a mission priority level, and/or the identification of any other missions that are scheduled to be completed at the same time as the mission;…; fiducials associated with the robot; minimum battery/energy requirements of the robot to complete the mission, and any reserve built-in to account for any diversions by the robot during the mission…; paragraph 0209, discussing that the one or more mission profiles may be received via a user input based on historical data as explained, and/or from another system, e.g., a third-party system. As described, each mission profile may include one or more tasks, factors necessary or useful for performance of the task, dynamic data based on the one or more factors, and/or mission capabilities of a robot for accomplishing the mission; paragraph 0211, discussing that a mission may be characterized as requiring a highest quality level of mission or task performance, performing the mission or the task in the shortest amount of time, performing the mission or the task using the least amount of energy; paragraph 0280, discussing that factors related to the task may be determined by accessing historical data associated with that task; paragraphs 0090, 0237, 0281, 0286).
Natarajan is directed towards a system and method for task allocation for autonomous robots. Chen is directed to systems and methods for management of a robot fleet. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Natarajan with Chen because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying Natarajan to include Chen’s feature for including wherein accessing, by the robot fleet management system, a respective power consumption for each task from the set of tasks includes accessing, by the robot fleet management system, a respective power consumption, in the manner claimed, would serve the motivation of allowing robots to be assigned to tasks in an efficient manner that may maximize the use of robots to perform the tasks within the facility (Chen at paragraph 0004); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
The Natarajan-Chen combination does not explicitly teach based at least in part on respective historical power consumption data for each task from the set of tasks. However, Singh in the analogous art of resource-based task allocation for robots teaches this concept. Singh teaches:
based at least in part on respective historical power consumption data for each task from the set of tasks (paragraph 0001, discussing autonomous mobile robot (AMR) scaling and resource-based task allocation for AMRs; paragraph 0035, discussing that the task profile may be associated with one or more power usage requirements. Since AMRs are mobile, they are generally untethered from fixed power sources and are thus primarily battery-reliant. AMRs may be required to perform tasks for lengthy periods and thus require longevity of battery-charge and/or a predictable period of operation with a given battery charge. For example, it may be necessary that an AMR, once placed into duty, be operational for a period of hours (e.g., the AMR must operate for at least 5 hours, for at least 8 hours, for at least 10 hours, etc.); paragraph 0049, discussing that the AMR may include one or more artificial intelligence circuits, which may be configured to select and/or generate one or more task profiles. Such artificial intelligence circuits may be trained using any of historical task selection data, historical task profiles, historical battery life data, their corresponding historical module usage and functionality, or any combination thereof. Such artificial intelligence circuits may be trained to select a task profile from a plurality of task profiles in light of a given task, one or more given functionalities, one or more restrictions or limitations on modules and associated utilizations, and/or one or more power usage requirements; paragraph 0050, discussing that the one or more processors may be configured to select a task profile based on at least telemetry data. As described, the AMR may include a telemetry circuit…The sensor data may provide, or may be used by the one or more processors to determine, the utilization of the sensors/a power usage requirement associated with the sensors or the utilization. The telemetry circuit may be configured to determine the utilization of one or more processors. The telemetry circuit may be configured to determine battery data/charge data (e.g. a battery voltage, and amount of current drawn from the battery, a total charge (e.g. a total number of Colombes) received from the battery), and the telemetry circuit and/or the one or more processors may be configured to determine a remaining charge and/or a remaining time at the current or expected usage before a subsequent battery charging is required).
The Natarajan-Chen combination describes features related to task allocation and robot fleet management. Singh is directed to systems and methods for task allocation for robots. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the Natarajan-Chen combination with Singh because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying the Natarajan-Chen combination to include Singh’s feature for including based at least in part on respective historical power consumption data for each task from the set of tasks, in the manner claimed, would serve the motivation of improving efficiency in robot resource utilization (Singh at paragraph 0026); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 13, the Natarajan-Chen combination teaches the robot fleet management system of claim 1. While the Natarajan-Chen combination teaches a category for each task from the set of tasks (Natarajan, paragraph 0034, discussing that upon being allocated to a particular task, each AMR 102 may execute the task in accordance with the task parameters identified with that particular type of task, paragraph 0092: “ type of task”; and Chen, paragraph 0299, discussing that missions may also be application dependent, e.g., missions may be assigned to a subset of robots based on the mission type (Robots A may be assigned to missions including button actuation, Robots B may be assigned to mission including moving a lever, etc.). Feedback and historical data may be used to optimize future missions, e.g., reassign future missions to different robots, such that future mission schedules may improve efficiency, reduce cost and energy usage, etc., based on robot usage), the Natarajan-Chen combination does not explicitly teach wherein accessing, by the robot fleet management system a respective power consumption for each task from the set of tasks includes accessing, by the robot fleet management system, at least one of a respective power consumption score and a power consumption category for each task from the set of tasks. However, Singh in the analogous art of resource-based task allocation for robots teaches this concept. Singh teaches:
wherein accessing, by the robot fleet management system a respective power consumption for each task from the set of tasks includes accessing, by the robot fleet management system, at least one of a respective power consumption score and a power consumption category for each task from the set of tasks (paragraph 0027, discussing that resource utilization limit may be understood as a limit of power utilization (which may be referred to as a power usage requirement), such that an existing battery charge will support the AMR's activities for a predefined minimum period (e.g., for 8 hours, for 10 hours, etc.). According to another aspect of the disclosure, the resource utilization limit may be understood as a limit of activities that may be performed (e.g., a maximum threshold for performing an activity, which may be less than a theoretical maximum, for example engaging a navigation circuit at 70% capacity or even disabling the navigation circuit and thereby operating at 0% capacity). Such an understanding of the resource utilization limit is described in conjunction with the power usage requirement because a limit on use of a resource (e.g., limiting processing power, limiting motor operation, limiting sensor operation, etc.) may translate directly into a limitation of power consumption and therefore have a closely related effect on battery longevity, duration of operation from an existing charge, and the like; paragraph 0035, discussing that the task profile may be associated with one or more power usage requirements. Since AMRs are mobile, they are generally untethered from fixed power sources and are thus primarily battery-reliant. AMRs may be required to perform tasks for lengthy periods and thus require longevity of battery-charge and/or a predictable period of operation with a given battery charge. For example, it may be necessary that an AMR, once placed into duty, be operational for a period of hours; paragraph 0036, discussing that the various tasks may be associated with different power usage requirement (e.g. different demands upon the battery resources). For example, and merely for demonstrative purposes, operation of motors may be associated with considerable battery usage, which may be greater than the battery usage associated with operation of some sensors, which may be greater than the battery usage associated with the operation of some navigation computations, which may be greater than the battery usage associated with the operation of some basic processing demands. It may be the case that a power usage requirement and/or a minimum operational duration of a battery may be unattainable or unlikely to be attained without limitations on the various tasks, or the magnitude of processing resources (e.g., the percent of processing capacity overall, the percent of processing capacity useable for a certain task, etc.). As such, a task profile may be associated with one or more limitations in circuit usage, one or more limitations in activities/tasks, one or more limitations in processing activities, and/or one or more limitations in sensor operation, one or more limitations in motor operation; paragraph 0049, discussing that the AMR may include one or more artificial intelligence circuits, which may be configured to select and/or generate one or more task profiles. Such artificial intelligence circuits may be trained using any of historical task selection data, historical task profiles, historical battery life data, their corresponding historical module usage and functionality, or any combination thereof. Such artificial intelligence circuits may be trained to select a task profile from a plurality of task profiles in light of a given task, one or more given functionalities, one or more restrictions or limitations on modules and associated utilizations, and/or one or more power usage requirements; paragraphs 0064, 0066).
The Natarajan-Chen combination describes features related to task allocation and robot fleet management. Singh is directed to systems and methods for task allocation for robots. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the Natarajan-Chen combination with Singh because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying the Natarajan-Chen combination to include Singh’s feature for including wherein accessing, by the robot fleet management system a respective power consumption for each task from the set of tasks includes accessing, by the robot fleet management system, at least one of a respective power consumption score and a power consumption category for each task from the set of tasks, in the manner claimed, would serve the motivation of improving efficiency in robot resource utilization (Singh at paragraph 0026); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
As per claim 18, the Natarajan-Chen combination teaches the robot fleet management system of claim 16. Natarajan further teaches wherein: accessing, by the robot fleet management system, a set of tasks available to be performed by a fleet of robots includes accessing, by the robot fleet management system, a set of tasks comprising at least one untethered task (paragraph 0001, discussing task allocation for autonomous systems; paragraph 0030, discussing allocating AMRs (Autonomous Mobile Robots) to tasks based on high level task inputs and AMR state and availability information…Once, the task begins execution, the techniques described further include monitoring the task progress and AMR actions. The continuous monitoring of tasks and AMR actions facilitates a quick response to any AMR performance-related malfunctions, battery life issues, etc.; paragraph 0203, discussing receive autonomous agent task data including (i) a set of tasks to be performed by a plurality of autonomous agents operating within an environment), and
allocating, by the robot fleet management system, a first robot in the fleet of robots to a first task from the set of tasks and allocating, by the robot fleet management system, a second robot in the fleet of robots to a second task from the set of tasks includes: determining, by the robot fleet management system, the power state of the first robot is lower than the power state of the second robot (paragraph 0030, discussing that the task allocation engine provides additional logic to support urgent unexpected scenarios such as robot malfunctions or low battery etc., which may require emergency AMR back-up; paragraph 0031, discussing that the allocation of AMRs to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining, the distance to charging stations, etc.); paragraph 0034, discussing that the AMRs 102 may also receive commands with respect to allocated tasks to perform as well as the details associated with how and when to perform the allocated tasks, and/or planned path information from the computing device 108; paragraph 0042, discussing that the computing device may thus receive state-related information from each for the AMRs 102…, which may include…data related to the operating state of the AMRs 102, or any other suitable feedback related to the state of the AMRs… In any event, the computing device may optionally use this state-related information, together with other information about the environment 100 that is already known, for task allocation; paragraph 0203, discussing generating autonomous agent task allocation data that allocates each one of the plurality of autonomous agents to a respective one of the set of tasks; and a communication means for transmitting commands to each one of the plurality of autonomous agents to perform the respectively allocated tasks; paragraph 0049, discussing that a user may interact with the GUI 202 to provide the appropriate specifications for the environment 100 so that the task allocation engine 210 may perform AMR task allocation functions. Thus, the use of the GUI 202 may be considered as part of an initial setup step, or used when the environment 100 changes significantly to provide additional information regarding tasks, AMRs 102, the environment 100, etc. The GUI 202 may also provide users with information of the environment 100, such as the status of AMRs, their current tasks, or other information obtained from the state-related information; paragraph 0051, discussing that the autonomous agent task data may define which tasks are potentially to be performed by the AMRs 102 within the environment 100 (i.e. the set of tasks), and details regarding the requirements with respect to how each of these tasks should be executed; paragraph 0058, discussing that the DL neural network architecture 300 may receive inputs related to the aforementioned autonomous agent task data, which may include the set of tasks to be performed, the task parameters identified with each one of the set of tasks, the AMR availability data, the AMR state estimation data, etc. As further discussed below, the DL neural network architecture also receives, as input, target vectors that identify preferred AMR and task pairings. Thus, the DL neural network architecture 300, once trained using a training dataset of similar types of data, functions to perform AMR task allocation based upon the data received at the inputs...Thus, the trained DL neural network architecture 300 implemented via the DL neural network architecture 300 may dynamically and intelligently allocate AMRs 102 to specific tasks as conditions in the environment 100 change, as AMRs 102 complete other tasks, as AMRs 102 are identified as malfunctioning, as new tasks are identified, etc. In other words, the task allocation engine 210 implements the DL neural network architecture 300 to output AMR task allocation data at block 212 using the autonomous agent task data and target vectors received via the input layer(s)…; paragraph 0060, discussing that in a multi-robot environment such as a warehouse or a factory, as a practical matter several parameters need to be considered to ensure a proper AMR task allocation, which may include the aforementioned set of task parameters, the priority and the urgency of a task, as well as cost parameters such as AMR distance to a specific task location, AMR battery life, distance and time required to navigate to a destination, etc.; paragraph 0114, discussing re-allocating AMRs [i.e., robots] that have a battery capacity less than a predetermined threshold value to charge at a charging station etc.; paragraphs 0067, 0111); and
allocating, by the robot fleet management system, an untethered task selected from the at least one untethered task to the second robot (paragraph 0030, discussing that the task allocation engine provides additional logic to support urgent unexpected scenarios such as robot malfunctions or low battery etc., which may require emergency AMR back-up; paragraph 0031, discussing that the allocation of AMRs to tasks is determined by several factors such as task parameters and AMR state parameters and availability information (such as the number of assigned and unassigned AMRs, the AMR's current action sequence, idle times, the physical location of AMRs with respect to task location, battery life remaining, the distance to charging stations, etc.)….; paragraph 0034, discussing that the AMRs 102 may also receive commands with respect to allocated tasks to perform as well as the details associated with how and when to perform the allocated tasks, and/or planned path information from the computing device; paragraph 0042, discussing that the computing device may thus receive state-related information from each for the AMRs 102…, which may include…data related to the operating state of the AMRs 102, or any other suitable feedback related to the state of the AMRs…In any event, the computing device 108 may optionally use this state-related information, together with other information about the environment 100 that is already known, for task allocation; paragraph 0049, discussing that a user may interact with the GUI 202 to provide the appropriate specifications for the environment so that the task allocation engine 210 may perform AMR task allocation functions…The GUI 202 may also provide users with information of the environment 100, such as the status of AMRs, their current tasks, or other information obtained from the state-related information; paragraph 0051, discussing that the autonomous agent task data may define which tasks are potentially to be performed by the AMRs 102 within the environment 100 (i.e. the set of tasks), and details regarding the requirements with respect to how each of these tasks should be executed; paragraph 0058, discussing that the trained DL neural network architecture 300 implemented via the DL neural network architecture 300 may dynamically and intelligently allocate AMRs 102 to specific tasks as conditions in the environment 100 change, as AMRs 102 complete other tasks, as AMRs 102 are identified as malfunctioning, as new tasks are identified, etc. ; paragraph 0114).
The Natarajan-Chen combination does not explicitly teach a set of tasks comprising at least one tethered task; and allocating, by the robot fleet management system, a tethered task selected from the at least one tethered task to the first robot. However, Singh in the analogous art of resource-based task allocation for robots teaches these concepts. Singh teaches:
a set of tasks comprising at least one tethered task (paragraph 0001, discussing autonomous mobile robot (AMR) scaling and resource-based task allocation for AMRs; paragraph 0045, discussing that the AMR may be configured to self-select a task profile from a plurality of task profiles. That is, the AMR may be configured with one or more predetermined task profiles, which may be locally stored and/or which may be remotely stored in a manner to which the AMR has access. The AMR may include one or more processors, which may be configured to determine one or more tasks, which the AMR is required to perform, and to select a task profile from the one or more task profiles based on the one or more required tasks; paragraph 0062, discussing that in some cases, the offloaded task may be purely or principally computational in nature. Such tasks may be performable by any nearly any entity with one or more processors. In this situation, data for the computation may be transmitted to the receiving device, which may then process the data in an appropriate fashion. For example, an AMR's sensor data representing a vicinity of the AMR may require one or more robust computational calculations to localize and/or navigate. Based on the task profile, the AMR may be unable to perform such a calculation. In this case, it may be power saving to simply transmit the data and await a response including localization information and/or navigation information. In this manner, such robust computations may be offloaded as a power saving matter. As a general matter, such calculations may be performed on-site or remotely. Under some circumstances, these tasks may be performed by one or more devices that are not dependent on a battery (e.g., devices connected to a mains voltage)); and
allocating, by the robot fleet management system, a tethered task selected from the at least one tethered task to the first robot (paragraph 0045, discussing that the AMR (autonomous mobile robot) may include one or more processors, which may be configured to determine one or more tasks, which the AMR is required to perform, and to select a task profile from the one or more task profiles based on the one or more required tasks; paragraph 0058, discussing that upon receiving a task, the receiving station/AMR may perform the task and may communicate a result of the perform task to the offloading station. For example, AMR 202 may receive data from its telemetry circuit that its battery charge is likely insufficient to operate for the remainder of its required duty cycle/shift. Upon receiving this information, AMR 202 may iteratively select an alternative task profile, in which one or more resources are (additionally) restricted. This restriction may require that the AMR 202 offload one or more tasks. In performing the communication, the AMR may select one or more stations to which it may offload one or more tasks. The corresponding station may accept the task, perform the task, and transmit a result of the perform task to the AMR 202. In this manner, the AMR 202 has the results of the task, without the power expense of having perform the task itself; paragraph 0062, discussing that in some cases, the offloaded task may be purely or principally computational in nature...In this situation, data for the computation may be transmitted to the receiving device, which may then process the data in an appropriate fashion. For example, an AMR's sensor data representing a vicinity of the AMR may require one or more robust computational calculations to localize and/or navigate. Based on the task profile, the AMR may be unable to perform such a calculation. In this case, it may be power saving to simply transmit the data and await a response including localization information and/or navigation information. In this manner, such robust computations may be offloaded as a power saving matter. As a general matter, such calculations may be performed on-site or remotely. Under some circumstances, these tasks may be performed by one or more devices that are not dependent on a battery (e.g., devices connected to a mains voltage); paragraph 0064).
The Natarajan-Chen combination describes features related to task allocation and robot fleet management. Singh is directed to systems and methods for task allocation for robots. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the Natarajan-Chen combination with Singh because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying the Natarajan-Chen combination to include Singh’s features for including a set of tasks comprising at least one tethered task, and allocating, by the robot fleet management system, a tethered task selected from the at least one tethered task to the first robot, in the manner claimed, would serve the motivation of improving efficiency in robot resource utilization (Singh at paragraph 0026); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
19. Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Natarajan in view of Chen, in further view of Chrysanthakopoulos et al., Pub. No.: US 2023/0000003 A1, [hereinafter Chrysanthakopoulos].
As per claim 9, the Natarajan-Chen-Singh combination teaches the robot fleet management system of claim 3. While Natarajan describes that the tasks may include recharging (paragraph 0052) and Chen describes indicating how long the robot can be used before it must recharge (paragraph 0218), the Natarajan-Chen-Singh combination does not explicitly teach wherein the method further comprises initiating, by the robot fleet management system, a replenishment of a power source of the first robot during performance of a tethered task by the first robot. However, Chrysanthakopoulos in the analogous art of robot management systems teaches this concept. Chrysanthakopoulos teaches:
wherein the method further comprises initiating, by the robot fleet management system, a replenishment of a power source of the first robot during performance of a tethered task by the first robot (paragraph 0003: “The invention relates first to the field of autonomous, modular, ground utility robot units, or GURU, to perform tasks.”; paragraph 0065, discussing that the GURU will automatically know when it needs to recharge based on programming that takes into account data including but not limited to its current charge level, its distance from the fueling port, and the amount of time and obstacles required to pass to return to the fueling port. Once this is calculated the GURU will self-navigate and return to the refueling fueling port to automatically refuel. Once at the fueling port the GURU will recharge either by docking into a fixed port via the fueling port connectors on the GURU or by utilizing an inductive charging port using a charging plate on a bottom of the GURU; paragraph 0069, discussing that the bots can perform a variety of tasks and will be extremely useful to the consumer, customer or user. It is envisioned that the bots be affordable, resilient, low maintenance, autonomous and environmentally friendly. Specifically, it is envisioned that the bots cost approximately $5,000 or less. That they have a duty cycle duration of approximately in 75% active and 25% low power mode, with the ability to charge while performing a task…The refueling for the bots will take place at the autonomous docking port whereby the bots automatically returns to the docking port when it is in need of refueling).
The Natarajan-Chen combination describes features related to task allocation and robot fleet management. Chrysanthakopoulos relates to the field of autonomous, modular, ground utility robot units to perform tasks. Therefore they are deemed to be analogous as they both are directed towards robot fleet management systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the Natarajan-Chen combination with Chrysanthakopoulos because the references are analogous art because they are both directed to solutions for task allocation and management of robot services, which falls within applicant’s field of endeavor (systems and methods for robot fleet management), and because modifying the Natarajan-Chen combination to include Chrysanthakopoulos’ feature for including initiating, by the robot fleet management system, a replenishment of a power source of the first robot during performance of a tethered task by the first robot, in the manner claimed, would serve the motivation of improving overall performance between all deployed robots (Chrysanthakopoulos at paragraph 0144); and further obvious because the claimed invention is merely a combination of old elements, and in the combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Ebrahimi Afrouzi et al., Pub. No.: US 2024/0310851 A1 – describes a central control interface that collects data of all robots in a fleet and displays a status of each robot in the fleet.
Aijaz, Pub. No.: US 2021/0065556 A1 – describes communication of task information to a group of robots.
Sarkar et al., Pub. No.: US 2020/0039071 A1 – relates to multi-robot task allocation, and, more particularly, to systems and methods for semantic knowledge based dynamic utility calculation for the task allocation.
Rosenberg, Patent No.: US 11,351,680 B1 – describes a system and method that allow a robot to plan its activities when operating on battery power and about to require a recharge.
Vliet et al., Pub. No.: US 2020/0238848 A1 – describes flexible mobile robot charging systems and methods.
Guzmán Ortiz, Eduardo, et al. "Fleet management system for mobile robots in healthcare environments." Journal of Industrial Engineering and Management (JIEM) 14.1 (2021): 55-71 – describes a fleet management system for mobile robots in healthcare environments – describes the implementation of a Fleet Management System (FMS) that plans and controls the execution of logistics tasks by a set of mobile robots in a real-world hospital environment.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Darlene Garcia-Guerra whose telephone number is (571) 270-3339. The examiner can normally be reached on M-F 7:30a.m.-5:00p.m. EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Brian M. Epstein can be reached on 571- 270-5389. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Darlene Garcia-Guerra/
Primary Examiner, Art Unit 3625