DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
The amendment filed 2/19/2026 has been entered. Claims 1, 3-10, and 12-18 are amended. Claims 2 and 11 are cancelled. Claims 1, 3-10, and 12-20 remain pending in the application. Applicant’s amendments to the claims have overcome the claim objections set forth in the Non-Final Office Action mailed 12/16/2025.
Applicant's arguments, see page 7, with respect to the drawing objections have been fully considered but they are not persuasive. Applicant traverses the objection to the drawings because they argue that there is no recognizable need for or benefit to including a simple box labelled with those items and that the claimed terms are understood in the relevant art. However, 37 CFR 1.83(a) recites “The drawing in a nonprovisional application must show every feature of the invention specified in the claims. However, conventional features disclosed in the description and claims, where their detailed illustration is not essential for a proper understanding of the invention, should be illustrated in the drawing in the form of a graphical drawing symbol or a labeled representation (e.g., a labeled rectangular box).” Therefore, a graphical drawing symbol or a labeled representation (e.g., a labeled rectangular box) should be provided. Further, the applicant mischaracterizes MPEP § 608.02 and provides quotes that do not actually exist in the MPEP.
Applicant’s arguments, see page 8, with respect to 101 rejections are unpersuasive because the arguments refer to a rejection that doesn't exist.
Applicant’s arguments, see pages 8-10, with respect to the prior art not teaching the amended claims have been fully considered but are unpersuasive.
First, the applicant argues that the prior art does not teach “wherein, in response to a determination that a first robot of the common, multi-robot cell is unable to cooperate with other robots of the common, multi-robot cell to perform a scheduled task assigned to the first robot, the scheduled task is assigned to a second robot of the common, multi-robot cell that is able to perform the scheduled task in cooperation with other robots of the common, multi-robot cell.” However, Voorhies teaches “a first actor may go on break, may need recharging, or may experience a failure or damage. In this case, controller 110 may identify the nodes that were previously allocated to the first actor, and may allocate one or more other actors to perform the state transformations associated with those nodes instead of the first actor,” (See at least [0084]), wherein the actor/robot on break, recharging, or experiencing failure/damage cannot cooperate with other robots and the other actor/robot that is able to operate is able to cooperate with other robots because it performs the actions involved with the task dependencies performed by other robots (See at least [0014-0015]). Additionally, this new claim limitation is new matter (see the 112(a) rejection below).
The applicant also argues that the claims differ from the prior art because the amendments “further define the claimed invention relative to the concept of a multi-robot cell and the concepts that: (1) different operations can be carried out simultaneously on a component by one or more of the plurality of robots that cooperate and are included in a multi-robot cell; and (2) the automatic task scheduling and rescheduling is performed continuously taking into consideration whether the current state indicates that a first robot is unable to perform a scheduled task.” However, (1) it is not actually claimed that different operations can be carried out simultaneously on a component by one or more of the plurality of robots. Nonetheless, Voorhies teaches “orchestrating operations of different actors, that may include human workers, autonomous robots, and/or other machines or devices, in simultaneously and/or collaboratively completing different tasks” (See at least [0013]). And (2), Voorhies also teaches the automatic task scheduling and rescheduling being performed continuously taking into consideration whether the current state indicates that a first robot is unable to perform a scheduled task (See at least [0084], [0098], and fig. 8 recited in the rejections below). Accordingly, the prior art rejections are maintained.
Drawings
The drawings are objected to under 37 CFR 1.83(a). The drawings must show every feature of the invention specified in the claims. Therefore, the claimed apparatus in claims 10 and 12-19; the claimed production plant in claim 19; and the claimed non-transitory computer readable medium in claim 20 must be shown or the feature(s) canceled from the claim(s). No new matter should be entered.
Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. The figure or figure number of an amended drawing should not be labeled as “amended.” If a drawing figure is to be canceled, the appropriate figure must be removed from the replacement sheet, and where necessary, the remaining figures must be renumbered and appropriate changes made to the brief description of the several views of the drawings for consistency. Additional replacement sheets may be necessary to show the renumbering of the remaining figures. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 1, 3-10, and 12-20 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. Claims 1 and 10 recites the amended feature “wherein, in response to a determination that a first robot of the common, multi-robot cell is unable to cooperate with other robots of the common, multi-robot cell to perform a scheduled task assigned to the first robot, the scheduled task is assigned to a second robot of the common, multi-robot cell that is able to perform the scheduled task in cooperation with other robots of the common, multi-robot cell.” The amended feature is new matter because the original disclosure does not describe determining a robot is unable to cooperate and determining a second robot that is able to cooperate. Paragraph [0016] recites “in the event that a fault of the first robot is identified that results in the first robot being unable to perform an assigned task, a robot of the common robot cell that is suitable for taking over the execution of the task assigned to the first robot can be selected as the second robot, and the task can be performed by the second robot.” However, this discloses determining that a robot is unable to perform an assigned task rather than an issue that the robot is unable to cooperate with other robots. Paragraph [0034] recites “another example of such dependencies is that a processing operation of a workpiece can only take place after a previous processing operation has been completed. It is also possible, for example, that a robot A cannot perform task X while robot B is performing task Y, but conversely it is possible for robot A to perform task Y while robot B is performing task X.” However, this discloses task dependencies rather than determining a second robot that is able to cooperate in response to determining a first robot is unable to cooperate. Claims 3-9 and 12-20 are also rejected because they do not resolve the deficiencies of claims 1 and 10.
Claim Rejections - 35 USC § 102
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 (i.e., changing from AIA to pre-AIA ) 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.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim(s) 1, 3-7, 9-10, 12-16, 18, and 20 is/are rejected under 35 U.S.C. 102(a)(1) and (a)(2) as being anticipated by Voorhies (US 20210004746 A1).
Regarding Claim 1,
Voorhies teaches
A method for automated coordination of the activities of a plurality of robots that cooperate to perform activities as a group in a common, multi-robot cell, the method comprising: (“Systems and methods, as described herein, provide a controller for orchestrating operations of different actors, that may include human workers, autonomous robots, and/or other machines or devices, in simultaneously and/or collaboratively completing different tasks. The controller may dynamically shift the actors between performing different subtasks of different tasks in a manner that optimizes the effectiveness of each actor based on the current state of each actor and the current state of resources that the actors use to perform the subtasks. … The controller may receive tasks that are to be executed by actors in a site.” See at least [0013-0014], wherein the site is a robot cell)
detecting scheduled tasks of the robots of the common, multi-robot cell, wherein dependencies exist among the scheduled tasks (“The controller may receive tasks that are to be executed by actors in a site. For each received task, the controller may determine the task end state, and may work backwards from the end state to define various dependent state transformations that bring about the task end state based on the current state of resources and the current state of different actors used at each state transformation. In some embodiments, the controller may generate a dependency graph to model the state transformations that complete each task. The dependency graph may specify a particular state transformation or subtask dependency ordering by which two or more actors may achieve the task end state.” See at least [0014-0015])
and at least one of the tasks can be performed by multiple robots of the plurality of robots in the common, multi-robot cell; (“controller 110 shifts actors between different pending nodes of different dependency graphs such that one actor is not tied to the nodes of any single dependency graph while that dependency graph is active. Instead, controller 110 orchestrates, uses, and/or controls the actors in a manner that is most efficient in terms of completing the most tasks in the least amount of time.” See at least [0077]; “a first actor may go on break, may need recharging, or may experience a failure or damage. In this case, controller 110 may identify the nodes that were previously allocated to the first actor, and may allocate one or more other actors to perform the state transformations associated with those nodes instead of the first actor.” See at least [0084])
automatic task scheduling of the scheduled tasks at runtime during cooperation of the plurality of robots in the common, multi-robot cell by: assigning the scheduled tasks to individual robots of the common, multi-robot cell during operation of the common, multi-robot cell; (“The controller may allocate different actors to different nodes of the dependency graph based on the current state of the actors and the current state of resources needed by the actors to complete the state transformation associated with each node. … The controller may monitor the progression through the dependency graph via a feedback loop, and may dynamically adjust the state transformations and the corresponding nodes of the dependency graph that are needed to reach a task end state in response to detecting an error during completion of a particular state transformation associated with a particular node of the dependency graph. … In this manner, the controller may control the actors in performing the dependent state transformations that are needed to complete multiple tasks in parallel without conflict and with balanced usage of the actors and resources.” See at least [0017-0018])
transmitting instructions for the execution of the scheduled tasks to individual robots of the common, multi-robot cell; (“Controller 110 may send commands to a robot or machine, and the commands may directly control operation of the robot or machine, or may direct the robot or machine in performing different state transformations. Specifically, controller 110 may activate one or more of the robot or machine's sensors and actuators to perform different state transformations with that robot or machine.” See at least [0050])
recording the multi-robot cell state during execution of the scheduled tasks; (“The controller may monitor the progression through the dependency graph via a feedback loop, … accounting for the current state of resources and actors in the site” See at least [0018]; “For instance, an object retrieval task may involve a particular actor moving a container from a first location to a second location. Controller 110 may verify successful completion of the object retrieval task in response to receiving the first identifier of the particular actor, and one or more second identifiers that identify the container and the second location.” See at least [0066]; Also see at least [0092-0093])
and optimizing the execution of the assigned, scheduled tasks not yet executed during operation of the common, multi-robot cell based on a current state of the multi-robot cell and the dependencies existing among the assigned scheduled tasks, (“controller 110 may use the input from the feedback loop to update the current state of the resources and actors, and may optimize the future allocation of actors based on the updated current state. For instance, if an actor completes a first set of state transformations for a node of a first dependency graph at a first location, controller 110 may allocate that same actor to perform a different second set of transformations for a node of a second dependency graph when the second set of transformations are to occur at the first location where the actor is already positioned. In this manner, controller 110 shifts actors between different pending nodes of different dependency graphs such that one actor is not tied to the nodes of any single dependency graph while that dependency graph is active. Instead, controller 110 orchestrates, uses, and/or controls the actors in a manner that is most efficient in terms of completing the most tasks in the least amount of time.” See at least [0077]; Also see at least [0098])
wherein, in response to a determination that a first robot of the common, multi-robot cell is unable to cooperate with other robots of the common, multi-robot cell to perform a scheduled task assigned to the first robot, the scheduled task is assigned to a second robot of the common, multi-robot cell that is able to perform the scheduled task in cooperation with other robots of the common, multi-robot cell, (“a first actor may go on break, may need recharging, or may experience a failure or damage. In this case, controller 110 may identify the nodes that were previously allocated to the first actor, and may allocate one or more other actors to perform the state transformations associated with those nodes instead of the first actor.” See at least [0084]; The allocated other actors/robots work in cooperation with other actors/robots based on the task dependencies according to at least [0014-0015])
and wherein the automatic task scheduling and the optimization of the execution of the assigned, scheduled tasks are performed continuously until the robots of the common, multi-robot cell have cooperated to perform all the assigned, scheduled tasks required to perform the activities for the common, multi-robot cell. (“In response to determining (at 870—No) that the task end state has not been reached, process 800 may advance (at 875) to the next node in the dependency graph, and may control an actor in performing the state transformations of the next node. In particular, controller 110 may repeat 850, 855, 860, and 865. In response to determining (at 870—Yes) that the task end state has been reached, controller 110 will have successfully orchestrated operations of one or more actors in performing the state transformations of each node in the dependency graph representing the task. In other words, the task is complete.” See at least [0098] and fig. 8 (provided below), wherein the scheduling and optimization is continuously performed in a loop until all the tasks are complete and the task end state is reached.)
PNG
media_image1.png
730
536
media_image1.png
Greyscale
Regarding Claim 3,
Voorhies further teaches
further comprising monitoring for identification of a fault of the first robot resulting in the first robot being unable to execute the originally assigned, scheduled task; and selecting, as the second robot, another robot of the common, multi-robot cell capable of taking over the execution of the scheduled task assigned to the first robot, wherein the assigned, scheduled task is executed by the second robot in cooperation with the other robots of the common, multi-robot cell. (“Controller 110 may also use the feedback loop to dynamically adjust a dependency graph when a failure or issue is detected that prevents successfully completion of state transformations associated with one or more of the dependency graph nodes. Controller 110 may dynamically adjust the dependency graph to correct the failure or issue, or to work around the failure or issue if possible. In some embodiments, controller 110 may provide an alert to one or more systems and/or actors in response to a detected failure or issue.” See at least [0078]; “a first actor may go on break, may need recharging, or may experience a failure or damage. In this case, controller 110 may identify the nodes that were previously allocated to the first actor, and may allocate one or more other actors to perform the state transformations associated with those nodes instead of the first actor.” See at least [0084]; The allocated other actors/robots work in cooperation with other actors/robots based on the task dependencies according to at least [0014-0015])
Regarding Claim 4,
Voorhies further teaches
wherein the robot cell state for the robots of the common, multi-robot robot cell comprises, in each case, a current position of the robot or of grippers, tools or other production components of the robot, a current task, a last processed task and/or a current operating state. (“controller 110 may track (at 1) the current state of actors 210 in the site to determine their availability, location, capability, and/or other characteristics. Controller 110 may track (at 1) the current state of actors 210 based on nodes that controller 110 allocates to one or more of actors 210, and controller 110 tracking the completion of the nodes by different actors 210. Controller 110 may, alternatively or additionally, track (at 1) the current state of actors 210 based on status updates or messaging that controller 110 receives from actors 210. Actors 210 may provide the status updates upon completing different assigned subtasks or state transformations associated with allocated nodes of different dependency graphs, or may provide wireless messages to controller 110 to notify controller 110 as to the location and/or operational status of each node 210.” See at least [0036]; “tracking completion of the operations or subtask by the allocated actor. … FIG. 6 illustrates controller 110 orchestrating operations of different actors based on tracked progression through dependency graph 510 via input that is received from a feedback loop in accordance with some embodiments described herein.” See at least [0067-0068]; “controller 110 may use the input from the feedback loop to update the current state of the resources and actors, and may optimize the future allocation of actors based on the updated current state. For instance, if an actor completes a first set of state transformations for a node of a first dependency graph at a first location, controller 110 may allocate that same actor to perform a different second set of transformations for a node of a second dependency graph when the second set of transformations are to occur at the first location where the actor is already positioned.” See at least [0077])
Regarding Claim 5,
Voorhies further teaches
wherein the current operating state of a robot of the common, multi-robot cell indicates whether the robot is currently available to perform an scheduled task, is performing an assigned task, has a fault rendering the robot unable to perform a scheduled or assigned task, (“controller 110 may track (at 1) the current state of actors 210 in the site to determine their availability, location, capability, and/or other characteristics. Controller 110 may track (at 1) the current state of actors 210 based on nodes that controller 110 allocates to one or more of actors 210, and controller 110 tracking the completion of the nodes by different actors 210. Controller 110 may, alternatively or additionally, track (at 1) the current state of actors 210 based on status updates or messaging that controller 110 receives from actors 210. Actors 210 may provide the status updates upon completing different assigned subtasks or state transformations associated with allocated nodes of different dependency graphs, or may provide wireless messages to controller 110 to notify controller 110 as to the location and/or operational status of each node 210.” See at least [0036]; “a first actor may go on break, may need recharging, or may experience a failure or damage. In this case, controller 110 may identify the nodes that were previously allocated to the first actor, and may allocate one or more other actors to perform the state transformations associated with those nodes instead of the first actor.” See at least [0084])
Regarding Claim 6,
Voorhies further teaches
further comprising recording a current status for each assigned, scheduled task that indicates whether the assigned, scheduled task is currently being processed, has been completed or has not yet completed. (“controller 110 tracking the completion of the nodes by different actors 210. Controller 110 may, alternatively or additionally, track (at 1) the current state of actors 210 based on status updates or messaging that controller 110 receives from actors 210. Actors 210 may provide the status updates upon completing different assigned subtasks or state transformations associated with allocated nodes of different dependency graphs, or may provide wireless messages to controller 110 to notify controller 110 as to the location and/or operational status of each node 210.” See at least [0036]; “Robot 520 may successfully complete the first set of state transformations associated with first node 515-1 of dependency graph 510 upon performing each of the specified operations, and verifying completion by scanning or otherwise detecting the first, second, and third identifiers and/or by providing the identifiers to controller 110.” See at least [0098])
Regarding Claim 7,
Voorhies further teaches
further comprising recording a time required for individual robots of the common, multi-robot cell to complete the scheduled tasks during operation of the common, multi-robot robot cell (“each node of a dependency graph may include a time window for the expected amount of time that an actor needs to complete the corresponding state transformations. In some such embodiments, the state transformations used to generate the nodes of the dependency graphs may be associated with different time windows. In some other embodiments, controller 110 may derive the time windows based on the state transformations for different nodes of a dependency graph.” See at least [0042])
and adapting the assignment of the scheduled tasks to individual robots of the common, multi-robot cell accordingly. (“Controller 110 may use the time windows to update the current state of resources and actors 210 that are implicated by or involved with different nodes of a dependency graph. FIG. 4 illustrates using the time windows to update the current states of actors 210 in accordance with some embodiments described herein. In FIG. 4, nodes 140 of first dependency graph 130 include different time windows corresponding to the expected time or an allotted time by which the state transformations associated with each node 140 are to be completed. Controller 110 may use the time windows for allocated nodes to update the current state of actors 210. In particular, controller 110 may update the current state of actors 210 to reflect times at which different actors 210 are unavailable because they have been allocated to perform the state transformations from different nodes of different dependency graphs.” See at least [0042-0043])
Regarding Claim 9,
Voorhies further teaches
further comprising transmitting robot control code with instructions for the execution of scheduled tasks from a task planning unit to the robots of the common, multi-robot robot cell by wireless radio transmission, and transmitting robot cell state data to the task planning unit by wireless radio transmission. (“Actors 210 may provide the status updates upon completing different assigned subtasks or state transformations associated with allocated nodes of different dependency graphs, or may provide wireless messages to controller 110 to notify controller 110 as to the location and/or operational status of each node 210.” See at least [0036]; “Controller 110 may allocate the state transformations associated with different dependency graph nodes to different actors via wireless messaging.” See at least [0048]; “In FIG. 5, controller 110 allocates (at 1) the first set of state transformations of first node 515-1 to robot 520 for execution by providing first set of messages 525 over a wireless network to robot 520. First set of messages 525 may specify move, retrieve, and transfer operations, and may include a first set of coordinates, a first identifier, a second identifier, a third identifier, and a second set of coordinates.” See at least [0053]; “Communication interface 960 may include any transceiver-like mechanism that enables device 900 to communicate with other devices and/or systems. … Communication interface 960 may include a wireless communication device, such as an infrared (“IR”) receiver, a Bluetooth® radio, or the like.” See at least [0102])
Regarding Claim 10,
Voorhies teaches
An apparatus for automated coordination of the activities of a plurality of robots that cooperate to perform activities as a group in a common, multi-robot cell, (“Systems and methods, as described herein, provide a controller for orchestrating operations of different actors, that may include human workers, autonomous robots, and/or other machines or devices, in simultaneously and/or collaboratively completing different tasks. The controller may dynamically shift the actors between performing different subtasks of different tasks in a manner that optimizes the effectiveness of each actor based on the current state of each actor and the current state of resources that the actors use to perform the subtasks. … The controller may receive tasks that are to be executed by actors in a site.” See at least [0013-0014], wherein the site is a robot cell)
wherein the apparatus detects scheduled tasks of the robots of the common, multi-robot cell, wherein dependencies exist among the scheduled tasks (“The controller may receive tasks that are to be executed by actors in a site. For each received task, the controller may determine the task end state, and may work backwards from the end state to define various dependent state transformations that bring about the task end state based on the current state of resources and the current state of different actors used at each state transformation. In some embodiments, the controller may generate a dependency graph to model the state transformations that complete each task. The dependency graph may specify a particular state transformation or subtask dependency ordering by which two or more actors may achieve the task end state.” See at least [0014-0015])
and at least one of the tasks can be performed by multiple robots of the plurality of robots in the common, multi-robot cell; (“controller 110 shifts actors between different pending nodes of different dependency graphs such that one actor is not tied to the nodes of any single dependency graph while that dependency graph is active. Instead, controller 110 orchestrates, uses, and/or controls the actors in a manner that is most efficient in terms of completing the most tasks in the least amount of time.” See at least [0077]; “a first actor may go on break, may need recharging, or may experience a failure or damage. In this case, controller 110 may identify the nodes that were previously allocated to the first actor, and may allocate one or more other actors to perform the state transformations associated with those nodes instead of the first actor.” See at least [0084])
wherein the apparatus performs automatic task scheduling of the scheduled tasks at runtime during cooperation of the plurality of robots in the common, multi-robot cell by: assignment of the scheduled tasks to individual robots of the common, multi-robot cell during operation of the common, multi-robot cell; (“The controller may allocate different actors to different nodes of the dependency graph based on the current state of the actors and the current state of resources needed by the actors to complete the state transformation associated with each node. … The controller may monitor the progression through the dependency graph via a feedback loop, and may dynamically adjust the state transformations and the corresponding nodes of the dependency graph that are needed to reach a task end state in response to detecting an error during completion of a particular state transformation associated with a particular node of the dependency graph. … In this manner, the controller may control the actors in performing the dependent state transformations that are needed to complete multiple tasks in parallel without conflict and with balanced usage of the actors and resources.” See at least [0017-0018])
transmission of instructions for executing the scheduled tasks to the individual robots of the common, multi-robot cell; (“Controller 110 may send commands to a robot or machine, and the commands may directly control operation of the robot or machine, or may direct the robot or machine in performing different state transformations. Specifically, controller 110 may activate one or more of the robot or machine's sensors and actuators to perform different state transformations with that robot or machine.” See at least [0050])
recording the multi-robot cell state during the execution of the scheduled tasks; (“The controller may monitor the progression through the dependency graph via a feedback loop, … accounting for the current state of resources and actors in the site” See at least [0018]; “For instance, an object retrieval task may involve a particular actor moving a container from a first location to a second location. Controller 110 may verify successful completion of the object retrieval task in response to receiving the first identifier of the particular actor, and one or more second identifiers that identify the container and the second location.” See at least [0066]; Also see at least [0092-0093])
and optimization of the execution of the assigned, scheduled tasks not yet performed during operation of the common, multi-robot cell based on a current state of the multi-robot cell and the dependencies existing among the assigned scheduled tasks, (“controller 110 may use the input from the feedback loop to update the current state of the resources and actors, and may optimize the future allocation of actors based on the updated current state. For instance, if an actor completes a first set of state transformations for a node of a first dependency graph at a first location, controller 110 may allocate that same actor to perform a different second set of transformations for a node of a second dependency graph when the second set of transformations are to occur at the first location where the actor is already positioned. In this manner, controller 110 shifts actors between different pending nodes of different dependency graphs such that one actor is not tied to the nodes of any single dependency graph while that dependency graph is active. Instead, controller 110 orchestrates, uses, and/or controls the actors in a manner that is most efficient in terms of completing the most tasks in the least amount of time.” See at least [0077]; Also see at least [0098])
wherein, in response to a determination that a first robot of the common, multi-robot cell is unable to cooperate with other robots of the common, multi-robot cell to perform a scheduled task assigned to the first robot, the scheduled task is assigned to a second robot of the common, multi-robot cell that is able to perform the scheduled task in cooperation with other robots of the common, multi-robot cell, (“a first actor may go on break, may need recharging, or may experience a failure or damage. In this case, controller 110 may identify the nodes that were previously allocated to the first actor, and may allocate one or more other actors to perform the state transformations associated with those nodes instead of the first actor.” See at least [0084]; The allocated other actors/robots work in cooperation with other actors/robots based on the task dependencies according to at least [0014-0015])
and wherein the automatic task scheduling and the optimization of the execution of the assigned, scheduled tasks are performed continuously until the robots of the common, multi-robot cell have cooperated to perform all the assigned, scheduled tasks required to perform the activities for the common, multi-robot cell. (“In response to determining (at 870—No) that the task end state has not been reached, process 800 may advance (at 875) to the next node in the dependency graph, and may control an actor in performing the state transformations of the next node. In particular, controller 110 may repeat 850, 855, 860, and 865. In response to determining (at 870—Yes) that the task end state has been reached, controller 110 will have successfully orchestrated operations of one or more actors in performing the state transformations of each node in the dependency graph representing the task. In other words, the task is complete.” See at least [0098] and fig. 8, wherein the scheduling and optimization is continuously performed in a loop until all the tasks are complete and the task end state is reached.)
Regarding Claim 12,
Voorhies further teaches
wherein the apparatus monitors for identification of a fault of the first robot resulting in the first robot being unable to execute the originally assigned, scheduled task, and the apparatus selects, as the second robot, another robot of the common, multi-robot cell capable of taking over the execution of the scheduled task assigned to the first robot, wherein the assigned, scheduled task is executed by the second robot in cooperation with the other robots of the common, multi-robot cell. (“Controller 110 may also use the feedback loop to dynamically adjust a dependency graph when a failure or issue is detected that prevents successfully completion of state transformations associated with one or more of the dependency graph nodes. Controller 110 may dynamically adjust the dependency graph to correct the failure or issue, or to work around the failure or issue if possible. In some embodiments, controller 110 may provide an alert to one or more systems and/or actors in response to a detected failure or issue.” See at least [0078]; “a first actor may go on break, may need recharging, or may experience a failure or damage. In this case, controller 110 may identify the nodes that were previously allocated to the first actor, and may allocate one or more other actors to perform the state transformations associated with those nodes instead of the first actor.” See at least [0084]; The allocated other actors/robots work in cooperation with other actors/robots based on the task dependencies according to at least [0014-0015])
Regarding Claim 13,
Voorhies further teaches
wherein the robot cell state for the robots of the common, multi-robot robot cell comprises, in each case, a current position of the robot or of grippers, tools or other production components of the robot, a current task, a last processed task and/or a current operating state. (“controller 110 may track (at 1) the current state of actors 210 in the site to determine their availability, location, capability, and/or other characteristics. Controller 110 may track (at 1) the current state of actors 210 based on nodes that controller 110 allocates to one or more of actors 210, and controller 110 tracking the completion of the nodes by different actors 210. Controller 110 may, alternatively or additionally, track (at 1) the current state of actors 210 based on status updates or messaging that controller 110 receives from actors 210. Actors 210 may provide the status updates upon completing different assigned subtasks or state transformations associated with allocated nodes of different dependency graphs, or may provide wireless messages to controller 110 to notify controller 110 as to the location and/or operational status of each node 210.” See at least [0036]; “tracking completion of the operations or subtask by the allocated actor. … FIG. 6 illustrates controller 110 orchestrating operations of different actors based on tracked progression through dependency graph 510 via input that is received from a feedback loop in accordance with some embodiments described herein.” See at least [0067-0068]; “controller 110 may use the input from the feedback loop to update the current state of the resources and actors, and may optimize the future allocation of actors based on the updated current state. For instance, if an actor completes a first set of state transformations for a node of a first dependency graph at a first location, controller 110 may allocate that same actor to perform a different second set of transformations for a node of a second dependency graph when the second set of transformations are to occur at the first location where the actor is already positioned.” See at least [0077])
Regarding Claim 14,
Voorhies further teaches
wherein the current operating state of a robot of the common, multi-robot cell indicates whether the robot is currently available to perform a scheduled task, is performing an assigned task, has a fault rendering the robot unable to perform a scheduled or assigned task, or (“controller 110 may track (at 1) the current state of actors 210 in the site to determine their availability, location, capability, and/or other characteristics. Controller 110 may track (at 1) the current state of actors 210 based on nodes that controller 110 allocates to one or more of actors 210, and controller 110 tracking the completion of the nodes by different actors 210. Controller 110 may, alternatively or additionally, track (at 1) the current state of actors 210 based on status updates or messaging that controller 110 receives from actors 210. Actors 210 may provide the status updates upon completing different assigned subtasks or state transformations associated with allocated nodes of different dependency graphs, or may provide wireless messages to controller 110 to notify controller 110 as to the location and/or operational status of each node 210.” See at least [0036]; “a first actor may go on break, may need recharging, or may experience a failure or damage. In this case, controller 110 may identify the nodes that were previously allocated to the first actor, and may allocate one or more other actors to perform the state transformations associated with those nodes instead of the first actor.” See at least [0084])
Regarding Claim 15,
Voorhies further teaches
wherein a current status is recorded for each assigned, scheduled task that indicates whether the assigned, scheduled task is currently being processed, has been completed or has not yet completed. (“controller 110 tracking the completion of the nodes by different actors 210. Controller 110 may, alternatively or additionally, track (at 1) the current state of actors 210 based on status updates or messaging that controller 110 receives from actors 210. Actors 210 may provide the status updates upon completing different assigned subtasks or state transformations associated with allocated nodes of different dependency graphs, or may provide wireless messages to controller 110 to notify controller 110 as to the location and/or operational status of each node 210.” See at least [0036]; “Robot 520 may successfully complete the first set of state transformations associated with first node 515-1 of dependency graph 510 upon performing each of the specified operations, and verifying completion by scanning or otherwise detecting the first, second, and third identifiers and/or by providing the identifiers to controller 110.” See at least [0098])
Regarding Claim 16,
Voorhies further teaches
wherein the apparatus records a time required for individual robots of the common, multi-robot cell to complete the scheduled tasks during operation of the common, multi-robot robot cell (“each node of a dependency graph may include a time window for the expected amount of time that an actor needs to complete the corresponding state transformations. In some such embodiments, the state transformations used to generate the nodes of the dependency graphs may be associated with different time windows. In some other embodiments, controller 110 may derive the time windows based on the state transformations for different nodes of a dependency graph.” See at least [0042])
and the apparatus adapts the assignment of the scheduled tasks to individual robots of the common, multi-robot cell accordingly. (“Controller 110 may use the time windows to update the current state of resources and actors 210 that are implicated by or involved with different nodes of a dependency graph. FIG. 4 illustrates using the time windows to update the current states of actors 210 in accordance with some embodiments described herein. In FIG. 4, nodes 140 of first dependency graph 130 include different time windows corresponding to the expected time or an allotted time by which the state transformations associated with each node 140 are to be completed. Controller 110 may use the time windows for allocated nodes to update the current state of actors 210. In particular, controller 110 may update the current state of actors 210 to reflect times at which different actors 210 are unavailable because they have been allocated to perform the state transformations from different nodes of different dependency graphs.” See at least [0042-0043])
Regarding Claim 18,
Voorhies further teaches
wherein the apparatus transmits robot control code with instructions for the execution of scheduled tasks from a task planning unit to the robots of the common, multi-robot robot cell by wireless radio transmission, and transmitting robot cell state data to the task planning unit by wireless radio transmission. (“Actors 210 may provide the status updates upon completing different assigned subtasks or state transformations associated with allocated nodes of different dependency graphs, or may provide wireless messages to controller 110 to notify controller 110 as to the location and/or operational status of each node 210.” See at least [0036]; “Controller 110 may allocate the state transformations associated with different dependency graph nodes to different actors via wireless messaging.” See at least [0048]; “In FIG. 5, controller 110 allocates (at 1) the first set of state transformations of first node 515-1 to robot 520 for execution by providing first set of messages 525 over a wireless network to robot 520. First set of messages 525 may specify move, retrieve, and transfer operations, and may include a first set of coordinates, a first identifier, a second identifier, a third identifier, and a second set of coordinates.” See at least [0053]; “Communication interface 960 may include any transceiver-like mechanism that enables device 900 to communicate with other devices and/or systems. … Communication interface 960 may include a wireless communication device, such as an infrared (“IR”) receiver, a Bluetooth® radio, or the like.” See at least [0102])
Regarding Claim 20,
Voorhies teaches
A non-transitory computer readable medium including a computer program with computer code including instructions, which when run on a computer processor, cause performance of the method (“Device 900 may perform certain operations relating to one or more processes described above. Device 900 may perform these operations in response to processor 920 executing software instructions stored in a computer-readable medium, such as memory 930. A computer-readable medium may be defined as a non-transitory memory device.” See at least [0103]) recited in claim 1. (See the citations in the rejection of claim 1 above.)
Claim Rejections - 35 USC § 103
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 (i.e., changing from AIA to pre-AIA ) 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.
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.
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.
Claim(s) 8 and 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Voorhies (US 20210004746 A1) in view of Oda (IDS: US 20210069901 A1).
Regarding Claim 8,
Voorhies does not explicitly teach, but Oda teaches
further comprising predicting, based on detected faults, when a future fault of a robot is to be expected and adapting the assignment of the scheduled tasks tasks accordingly. (“The fault prediction unit 230 predicts a fault possibility of each transfer robot, with reference to travel data stored in the storage unit 210. While a method by which the fault prediction unit 230 predicts a fault possibility is not particularly limited, a fault possibility may be predicted according to a total movement distance of each transfer robot within a predetermined period. Herein, a predetermined period may be determined according to a use frequency of a transfer robot, such as one month or half a year, or may be determined based on a fault rate curve from past fault data.” See at least [0079]; “The robot selection unit 240 may further select a transfer robot in consideration of a fault possibility predicted by the fault prediction unit 230 as well. For example, when a plurality of waiting transfer robots or transfer robots executing operations having lower operation priority orders than a target operation exist, the robot selection unit 240 may select a transfer robot having the lowest fault possibility.” See at least [0092])
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of Voorhies to further include the teachings of Oda with a reasonable expectation of success to improve efficiency and prevent failure of the robot operation. (See at least [0031] and [0092])
Regarding Claim 17,
Voorhies does not explicitly teach, but Oda teaches
wherein, based on detected faults, the apparatus predicts when a future fault of a robot is to be expected and adapting the assignment of the scheduled tasks accordingly. (“The fault prediction unit 230 predicts a fault possibility of each transfer robot, with reference to travel data stored in the storage unit 210. While a method by which the fault prediction unit 230 predicts a fault possibility is not particularly limited, a fault possibility may be predicted according to a total movement distance of each transfer robot within a predetermined period. Herein, a predetermined period may be determined according to a use frequency of a transfer robot, such as one month or half a year, or may be determined based on a fault rate curve from past fault data.” See at least [0079]; “The robot selection unit 240 may further select a transfer robot in consideration of a fault possibility predicted by the fault prediction unit 230 as well. For example, when a plurality of waiting transfer robots or transfer robots executing operations having lower operation priority orders than a target operation exist, the robot selection unit 240 may select a transfer robot having the lowest fault possibility.” See at least [0092])
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of Voorhies to further include the teachings of Oda with a reasonable expectation of success to improve efficiency and prevent failure of the robot operation. (See at least [0031] and [0092])
Claim(s) 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Voorhies (US 20210004746 A1) in view of Cacioppo (US 11345546 B2).
Regarding Claim 19,
Voorhies further teaches
(“different actors, that may include … autonomous robots … in simultaneously and/or collaboratively completing different tasks.” See at least [0013]; “actors in a site” See at least [0014]) and the apparatus recited in claim 10. (See the citations in the rejection of claim 10 above.)
Voorhies does not explicitly teach, but Cacioppo teaches
A production plant comprising at least one multi-robot cell and the apparatus (“A warehouse automation system adapted to improve warehouse operating productivity, the system comprising: a. a plurality of mobile robots for transporting items within a warehouse; and b. a plurality of cells for storing and transferring a plurality of items within a warehouse; and c. a controller adapted to associate a first one of the plurality of mobile robots with a first cell and to control the first mobile robot to move to and interact with the cell in the warehouse. 2. Any of the preceding systems where the controller is located on an independent server locally … 3. Any of the preceding systems where the controller is located on the cell.” See at least col. 16, lines 51-67; Also see at least figs. 2A and 2B)
It would have been obvious to a person having ordinary skill in the art before the effective filing date of the invention to modify the teachings of Voorhies to further include the teachings of Cacioppo with a reasonable expectation of success “to improve warehouse operating productivity.” (See at least col. 16, lines 53-54)
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Karston G Evans whose telephone number is (571)272-8480. The examiner can normally be reached Mon-Fri 9:00-5:00.
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, Abby Lin can be reached at (571)270-3976. 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.
/K.G.E./Examiner, Art Unit 3657 /ABBY LIN/Supervisory Patent Examiner, Art Unit 3657