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 Amendment
The amendment filed on 07/20/2026, has been received and made of record. In response to the Non-Final Office Action, dated on 04/20/2026. Claims 1-26 are pending in the current application. Claims 27-36 have been withdrawn from consideration.
Response to Arguments
Applicant’s arguments filed on 07/20/2026 have been fully considered.
In the Arguments/Remarks:
Re: Objections to the Abstract
The objection to the abstract has been withdrawn in view of applicant’s amendments.
Re: Rejection of the Claims Under 35 U.S.C. 102(a)(2)
For the sake of brevity, examiner will address the arguments in regards to independent claim 1, and will also apply to independent claim 20 and their corresponding dependent claims.
Applicant argues, beginning on page 10 of applicant’s remarks, that Kranski (US 2022/0314434 A1) fails to teach or suggest “receiving a plurality of user inputs from sensors associated with the robot”. Examiner respectfully disagrees. Examiner submits that paragraph 26 of Kranski discloses “For example, an operator (e.g., remotely) may input instructions via the teaching subsystem 112 to effectuate movement of the robot, such as to guide movements of the robot to complete a task. For a successful iteration of completing the task or a portion thereof, a sequence of latent space embeddings and corresponding operator commands may be captured and labeled collectively as corresponding to a successful instance of performing the task.”. Kranski discloses that the user/operator input is being captured and labeled collectively. Kranski’s paragraph 28 discloses “Various stop conditions, which may be indicated within a latent embedding space (or sub-space, such as based on outputs of an intermediate encoder model, which may be executed by a hardware ML accelerator) or actuator command space (e.g., to prevent damage to the robot), or other feedback signals, may automatically, or based on operator input, indicate whether the robot failed at completing the task. Feedback signals may also automatically, or based on operator input, indicate that the robot completed the task”. Kranski further discloses that feedback signals (based on operator input) indicate that the robot has completed the task. Kranski’s paragraph 29 discloses “The training process may include multiple iterations of operator control inputs via the teaching subsystem 112 to guide the robot to complete a task or multiple iterations of the robot (e.g., with or without supervision) attempting to complete the task to generate training data, or both”. Kranski discloses that operator control inputs via the teaching subsystem can be used to guide the robot to complete task (with or without supervision, i.e. hybrid control) or to generate training data. Kranksi’s paragraph 30 discloses “Training a robot system 102A, such as in accordance with the above-described training process, is expected to account for idiosyncratic properties of individual instances of tactile sensors, joints, members (e.g., dexterous or otherwise), tendons, image sensors, actuators or motors, or other equipment of the robot system 102A based on the collected feedback data. Additionally, such training is expected to account for environmental factors within which the robot system 102A operates to perform a task. A trained control model 116A of the robot system 102A thus may account for (e.g., learn to accommodate) properties of the robot system 102A for which it generates instructions to perform robot control actions based on robot state, such as to cause the robot to complete a task.”. Kranski discloses that sensor data encompassing the robot state and environmental factors is accounted for when the instructions are generated to perform task. Examiner further submits that when an operator/user inputs a control instruction to train/control a robot to perform a task, the control model takes into account sensor data of the robot system so the command/instruction is performed accurately. Furthermore, Kranski discloses in paragraph 64 “a user device 104 (either directly or via the server 106) may issue instructions to a robot system 102….one or more interactive units or controllers (e.g., that each may correspond to or control one or more different actuators, joints or members of the robot system 102A) which the user manipulates to generate control inputs, which may include information about displacement, acceleration, or other control metrics (e.g., of the one or more different actuators, joints or members) that are mapped to motors, servos, etc. of the robot system 102A to which instructions based on the control inputs are issued.”. Examiner further states that the user device can be also interpreted as a sensor associated with the robot that receives a plurality of user inputs. Based on the previously cited portions of Kranski and paragraph 64, examiner submits that under the broadest reasonable interpretation (BRI) of the argued claim limitation that Kranski does teach or suggest “receiving a plurality of user inputs from sensors associated with the robot”. Therefore, applicant’s arguments are unpersuasive and the rejection is maintained.
Applicant argues, beginning on page 11 of applicant’s remarks, “the operator input disclosed in Kranksi’s paragraphs 26, 28 and 29 is used solely to generate labeled training data prior to deployment, not to control the robot at runtime as recited in claim 1.”. Examiner respectfully disagrees. Examiner submits that as currently presented, independent claim 1 does not claim to “control the robot at runtime”. Claim 1 recites in lines 7-8 “sending output instructions to the robot in order to enable the robot to transition toward a desired state.”. Examiner further submits that enabling the robot to transition toward a desired state under the broadest reasonable interpretation of the claim (BRI) would encompass a robot transitioning from a state of rest to an active state (i.e. performing a task). Therefore, applicant’s arguments regarding “the operator input disclosed in Kranksi’s paragraphs 26, 28 and 29 is used solely to generate labeled training data prior to deployment, not to control the robot at runtime as recited in claim 1.” are unpersuasive. Examiner notes if applicant intends to have the claim to reflect as the robot being controlled and transitioned through various states, applicant should amend the claim to reflect this feature.
Applicant argues, beginning on page 12 of applicant’s remarks, “There is nothing in Kranski that discloses any robot with “hybrid control” as taught in the present application, and claimed in claim 1 of the present application”. Examiner respectfully disagrees. Kranski states in paragraph 29 “The training process may include multiple iterations of operator control inputs via the teaching subsystem 112 to guide the robot to complete a task or multiple iterations of the robot (e.g., with or without supervision) attempting to complete the task to generate training data, or both”. Examiner submits that a trained control model of the robot or an operator/user input may send instructions to the robot to complete a task, with or without supervision. Based on the cited portion of Kranski, examiner further submits under the broadest reasonable interpretation (BRI) of the argued claim limitation of claim 1, Kranski does teach or suggest the hybrid control as claimed in claim 1. Therefore, applicant’s arguments are unpersuasive and the rejection is maintained.
Re: Rejection of the Claims Under 35 U.S.C. 103
Applicant argues, beginning on page 14 of applicant’s remarks, that the combination of Kranski and Segil fails to teach or suggest “receiving the plurality of user inputs from sensors of the robot that capture user input from a user embedded in the robot” from dependent claim 4. Examiner respectfully disagrees. Applicant further states Segil “contains no disclosure of a sensor capturing user input, let alone one that captures user input from a user from a user embedded in a robot”. Examiner submits that Segil paragraph 90 discloses “in some embodiments, a wearable electronic device as described herein can be configured to detect sensory input as well as stimulate sensory nerves as described above. In these embodiments, for example, two different wearable electronic devices can be coupled to one another—either directly or indirectly—in order to simulate physical contact over a large distance. For example, family members may be able to effectively experience holding hands at a distance. In other examples, gestures or actions of one user may be recorded and replayed for another user at a later time. For example, a parent, grandparent, or friend may be able to record for a child, grandchild, or friend an affectionate gesture, such as tracing a heart shape over the palm of the recipients hand or squeezing a portion of the recipients hand or tapping in a particular personally meaningful pattern, which may be replayed an reexperienced by the child, grandchild, or friend on demand at a later time—potentially after the parent, grandparent, or friend has passed.”. Based on the previously cited portions and paragraph 90, examiner submits under the broadest reasonable interpretation (BRI) of the argued limitation that the combination of Kranski and Segil does teach or suggest “receiving the plurality of user inputs from sensors of the robot that capture user input from a user embedded in the robot”. The wearable electronic device detects sensory input of the user (i.e. gestures, actions) while the person is wearing the electronic device. Therefore, the applicant’s arguments are unpersuasive and the rejection is maintained.
Applicant argues, beginning on page 14 of applicant’s remarks, that the combination of Kranski and Skubch fail to teach or suggest the limitation “setting priorities for a plurality of tasks” of independent claim 20. However, examiner respectfully disagrees. Previously cited paragraph 41 of Skubch discloses “The utility functions include a weighted sum of several functions that are domain dependent. Each weight in the utility function represents the priority of tasks in a particular scenario. For example, consider an “item delivery” plan that includes two tasks “picking the item” and “delivering the item”. A user can model the utility function such that more autonomous robots are assigned to the task “delivering the item” then to the task “picking the item”. In this case, a utility function may provide a weight of 0.1 to the task “picking the item” and 1 to the task “delivering the item”.”. Examiner submits that paragraph 41 of Skubch states that “each weight in the utility function represents the priority of tasks in a particular scenario”. Skubch then provides an example of a robot performing an item delivery task and assigns weights to each subtask (i.e. 0.1 for the picking of the item and 1 for the delivering of the item). The weights reflect the priority of each task/subtask that need to be performed in order to successfully carryout the requested task. Based on the provided portions of Skubch, examiner submits that the combination of Kranski and Skubch under the broadest reasonable interpretation (BRI) of the claim teach or suggest the argued limitation. Therefore, applicant’s arguments are unpersuasive and the rejection is maintained. The same rationale also apply to its dependent claims.
Examiner has augmented the rejection in view of applicant’s arguments for better clarity (see below).
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)(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.
Claims 1-2, 9-14 and 16-17 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Kranski (US 2022/0314434 A1).
Regarding claim 1, Kranski teaches a method for controlling a robot with hybrid control, comprising: receiving a plurality of robot states and environmental states from sensors of the robot [(see at least paragraph 6, 29) “Some aspects include a robot that includes: a first sensor having a first output and configured to sense state of a robot or an environment of the robot; a first hardware machine-learning accelerator coupled to the first output of the first sensor, the first hardware machine-learning accelerator being configured to transform information sensed by the first sensor and conveyed via the first output into a first latent-space representation that is of a lower dimensionality than information sensed by the first sensor; a second sensor having a second output and configured to sense state of the robot or the environment of the robot”]; receiving a plurality of user inputs from sensors associated with the robot [(see at least paragraphs 26-30, 64) As in 26 “For example, an operator (e.g., remotely) may input instructions via the teaching subsystem 112 to effectuate movement of the robot, such as to guide movements of the robot to complete a task.” As in 30 “ Training a robot system 102A, such as in accordance with the above-described training process, is expected to account for idiosyncratic properties of individual instances of tactile sensors, joints, members (e.g., dexterous or otherwise), tendons, image sensors, actuators or motors, or other equipment of the robot system 102A based on the collected feedback data”]; modeling the plurality of robot states, environmental states and the plurality of user inputs in programming models [(see at least paragraph 29) “ The machine learning subsystem 114 may store generated training data, which may be used by the machine learning subsystem or other system to train a control model 116 of a robot. In some cases, the machine learning subsystem 114 may store the training data, which may be offloaded to a server (e.g., 106) for processing to train a control model which may be uploaded to a robot system 102. In some examples, a server 106 or a machine learning subsystem 114 may train a robot control model 116A specific to a robot system 102A based on training data generated from multiple instances of the robot system 102A performing (or attempting to perform) a task. The training process may include multiple iterations of operator control inputs via the teaching subsystem 112 to guide the robot to complete a task or multiple iterations of the robot (e.g., with or without supervision) attempting to complete the task to generate training data, or both, the control model 116A may be iteratively trained based on newly generated training data (e.g., until attempts by the robot to complete the task reach a threshold ratio of success or efficiency, which is not to suggest that the control model 116A may not still be periodically updated to increase performance, but rather illustrate a threshed at which the control model 116A and thus the robot system 102A may be considered trained to perform the task to a standard or within certain criteria compared an untrained counterpart).”]; solving the programming models using a solver; and sending output instructions to the robot in order to enable the robot to transition toward a desired state. [(see at least paragraphs 37-40) As in 37 “The machine learning subsystem 114 may include multiple such encoder models (or other models) executing on respective ML accelerators. In some examples, the ML accelerators (and thus the respective models implemented by the ML Accelerators), may be hierarchically organized within the context of the machine learning subsystem 114. For example, a robot control model 116 may include a reinforcement learning model trained at least in part via a reinforcement learning process, and the reinforcement learning model may take, as input, outputs of one or more encoder models. The encoder models executed by the ML Accelerators may simplify the input parameter space of the reinforcement learning model, which, due to complexity may be executed on a general purposed central processing unit. Reduction of the number of input parameters, for example, may reduce latency of model execution over a stream of input data.” As in 39 “A control model 116 of a robot system may be trained to effectuate operations of the robot system to perform a task. Completion of a task by a robot system may include the performance of a sequence of actions by the robot, like a trajectory, to transition between a starting point to an ending point corresponding to the completion of the task, or completion may be marked by some change in state of the environment of the robot”]
Regarding claim 2, Kranski teaches wherein the solver is at least one of: a quadratic solver, a hierarchical quadratic solver, a genetic learning solver, a reinforcement learning solver, ant colony optimization, simulated annealing solver or machine learning solver. [(see at least paragraphs 37-38, 62) As in 37 “The machine learning subsystem 114 may include multiple such encoder models (or other models) executing on respective ML accelerators. In some examples, the ML accelerators (and thus the respective models implemented by the ML Accelerators), may be hierarchically organized within the context of the machine learning subsystem 114. For example, a robot control model 116 may include a reinforcement learning model trained at least in part via a reinforcement learning process, and the reinforcement learning model may take, as input, outputs of one or more encoder models. The encoder models executed by the ML Accelerators may simplify the input parameter space of the reinforcement learning model, which, due to complexity may be executed on a general purposed central processing unit. Reduction of the number of input parameters, for example, may reduce latency of model execution over a stream of input data.” As in 62 “While it is expected that some parameters will have values that vary more substantially during post-transfer training, on-robot training may be significantly reduced, as the distance the model evolves through parameter space during training is expected to be reduced relative to other approaches. In some examples, the server 106 may improve simulated annealing techniques in accordance the above-described rules for parameter value selection, and with a reduced number of training operations, because a large search space (e.g., for a parameter value and combinations thereof across a plurality of parameters) may be significantly decreased. In some cases, these approximations of global optimization may approach the accuracy afforded by high-cost and time consuming but precise local optimum algorithms such as gradient descent or branch and bound (that in some use cases with high-dimensionality data may be practically precluded from use, which is not to suggest that these higher-cost approaches are disclaimed).”]
Regarding claim 9, Kranski teaches further comprising enabling the robot to perform tasks autonomously when no user input is being received. [(see at least paragraph 50) “In some cases, transfer learning may be implemented between a single pair of robots, or for a single robot across tasks or environments. Or some embodiments may apply transfer learning techniques that leverage trained models across a larger fleet of robots. There may be multiple robot systems 102 (e.g., tens, hundreds, thousands, or more in a fleet) that perform tasks and send data (e.g., like their trained models or data like that in the training sets above, including data from fully automated performance of tasks without human intervention) to a server 106. For example, a machine learning (ML) subsystem 114 of a robot may store collected data (which may include training data) and send some or all of the collected data to the server 106, such as for iterative training processes or to otherwise report on operation of the robot. The data transmitted to the server 106 may include control model data, such as parameters of a robot system, or one or more control models themselves.”]
Regarding claim 10, Kranski teaches further comprising switching to an automated task with a defined physical task for the robot when no user input is received. [(see at least paragraph 28) “The machine learning subsystem 114 may receive training data corresponding to a task based on the performance of the robot. While the above example uses a teaching subsystem 112 and operator inputs, a control model 116 or one of a plurality of control models may also determine and issue instructions (e.g., as described herein based on feedback data and current model parameters) to effectuate movement of a robot to complete a task. Various stop conditions, which may be indicated within a latent embedding space (or sub-space, such as based on outputs of an intermediate encoder model, which may be executed by a hardware ML accelerator) or actuator command space (e.g., to prevent damage to the robot), or other feedback signals, may automatically, or based on operator input, indicate whether the robot failed at completing the task. Feedback signals may also automatically, or based on operator input, indicate that the robot completed the task. Thus, some embodiments may continuously generate and classify data for training control models within the machine learning subsystem 114.”]
Regarding claim 11, Kranski teaches further comprising receiving the plurality of user inputs from sensors associated with the robot that are located at a distance from the robot. [(see at least paragraph 29) “The training process may include multiple iterations of operator control inputs via the teaching subsystem 112 to guide the robot to complete a task or multiple iterations of the robot (e.g., with or without supervision) attempting to complete the task to generate training data, or both, the control model 116A may be iteratively trained based on newly generated training data (e.g., until attempts by the robot to complete the task reach a threshold ratio of success or efficiency, which is not to suggest that the control model 116A may not still be periodically updated to increase performance, but rather illustrate a threshed at which the control model 116A and thus the robot system 102A may be considered trained to perform the task to a standard or within certain criteria compared an untrained counterpart).”]
Regarding claim 12, Kranski teaches further comprising enabling the robot to perform tasks based on user input constraints generated from sensors sensing a user input from a user that is distant from the robot. [(see at least paragraph 26) “For example, an operator (e.g., remotely) may input instructions via the teaching subsystem 112 to effectuate movement of the robot, such as to guide movements of the robot to complete a task.”]
Regarding claim 13, Kranski teaches wherein the robot may be at least one of: a portion of a humanoid form, a humanoid torso, at least one humanoid arm, humanoid legs, a humanoid hand, an end effector, a robot with non-humanoid kinematics, a vehicle, an automobile, a truck, a tank, an airplane, a ship, or a flying drone. [(see at least paragraph 16) “Training an artificial intelligence model to control a complex dynamical system, like a robot (such as a humanoid robot or self-driving vehicle), to learn a task is time consuming and challenging. Initial training techniques may involve instructing a controller (and often multiple controllers) in communication with one or more actuators, sensors, or other robotic elements to perform actions (e.g., transitions between states) with the goal of completing some tasks and collecting feedback data corresponding to the completion of those tasks. In many cases, the controller may parse, pass, or otherwise convey instructions towards multiple other controllers constituent to a complex robotic system.”]
Regarding claim 14, Kranski teaches wherein the robot or a robot virtual model uses input from a human to train the robot or robot virtual model. [(see at least paragraph 26) “For example, an operator (e.g., remotely) may input instructions via the teaching subsystem 112 to effectuate movement of the robot, such as to guide movements of the robot to complete a task”]
Regarding claim 16, Kranski teaches further comprising sending the output instructions to a joint level control service and to an actuator control service. [(see at least paragraphs 30,43) As in 30 “Training a robot system 102A, such as in accordance with the above-described training process, is expected to account for idiosyncratic properties of individual instances of tactile sensors, joints, members (e.g., dexterous or otherwise), tendons, image sensors, actuators or motors, or other equipment of the robot system 102A based on the collected feedback data. Additionally, such training is expected to account for environmental factors within which the robot system 102A operates to perform a task.”]
Regarding claim 17, Kranski teaches further comprising executing a task that includes explicit estimation of contact forces and joint torques used for tasks executing on the robot. [(see at least paragraph 30) “Training a robot system 102A, such as in accordance with the above-described training process, is expected to account for idiosyncratic properties of individual instances of tactile sensors, joints, members (e.g., dexterous or otherwise), tendons, image sensors, actuators or motors, or other equipment of the robot system 102A based on the collected feedback data. Additionally, such training is expected to account for environmental factors within which the robot system 102A operates to perform a task.”]
Claim Rejections - 35 USC § 103
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.
Claims 3, 5-7, 15, 18-23 and 25-26 are rejected under 35 U.S.C. 103 as being unpatentable over Kranski in view of Skubch (US 2020/0016754 A1).
Regarding claim 3, Kranski has all of the elements of claim 1 as discussed above.
Kranski does not explicitly teach wherein the programming models include inequality constraints.
However, Skubch teaches wherein the programming models include inequality constraints. [(see at least paragraphs 38-40) As in 38 “Modeling the plan includes defining different portions of the plan, for example, tasks, states, transitions, etc. Modeling the plan also includes defining different constraints, utility functions, behaviors, etc. Further, modeling the plan also includes selecting the plan control type, i.e., selecting whether the plan is centralized controlled or decentralized controlled.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Kranski to incorporate the teachings of Skubch of wherein the programming models include inequality constraints in order to solve different constraint problems related to the plan, synchronize execution of the plan and the like. [(Skubch 21)]
Regarding claim 5, Kranski has all of the elements of claim 1 as discussed above.
Kranski does not explicitly teach further comprising identifying a plurality of physical tasks provided to the solver.
However, Skubch teaches further comprising identifying a plurality of physical tasks provided to the solver. [(see at least paragraph 49) “The plan execution engine 300 also includes a task allocation processor 312, a synchronization processor 314, a role assignment processor 316, and a solver 318 that determines task allocation, synchronizes execution by multiple autonomous robots, assigns roles to autonomous robots, and solves constraint problem, respectively. The plan execution engine 300 also includes a behavior pool database 318 that stores one or more behaviors available to a particular robot. The behaviors for a particular robot depends on the features, for example wheels, or sensors, for example temperature, light, or heat sensor, available at the robot. Depending on the current state of the robot one or more robot behaviors required for executing the task is invoked.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Kranski to incorporate the teachings of Skubch of identifying a plurality of physical tasks provided to the solver in order to determine task allocation, synchronize execution by multiple autonomous robots, assign roles to autonomous robots, and solve constraint problems, respectively. [(Skubch 49)]
Regarding claim 6, Modified Kranski has all of the elements as claim 5 as discussed above.
Kranski does not explicitly teach further comprising prioritizing the plurality of user inputs as higher priority as compared to completion of the plurality of physical tasks provided to the solver.
However, Skubch teaches further comprising prioritizing the plurality of user inputs as higher priority as compared to completion of the plurality of physical tasks provided to the solver. [(see at least paragraph 41) “Further, the graphical user interface 200 also allows a user to select a set of utility functions that defines conditions for dynamic allocation of autonomous robots to the different tasks. The utility functions include a weighted sum of several functions that are domain dependent. Each weight in the utility function represents the priority of tasks in a particular scenario. For example, consider an “item delivery” plan that includes two tasks “picking the item” and “delivering the item”. A user can model the utility function such that more autonomous robots are assigned to the task “delivering the item” then to the task “picking the item”. In this case, a utility function may provide a weight of 0.1 to the task “picking the item” and 1 to the task “delivering the item”.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of modified Kranski to further incorporate the teachings of Skubch of prioritizing the plurality of user inputs as higher priority as compared to completion of the plurality of physical tasks provided to the solver in order to properly weight the execution of tasks. [(Skubch 41)]
Regarding claim 7, Kranski has all of the elements of claim 1 as discussed above.
Kranski does not explicitly teach further comprising prioritizing safety constraint tasks at a highest priority level and general constraints at a second highest priority level in the solver.
However, Skubch teaches further comprising prioritizing safety constraint tasks at a highest priority level and general constraints at a second highest priority level in the solver. [(see at least paragraphs 40-42) As in 40 “During modeling of the plan, the graphical user interface 200 also allows a user to define constraints for the plan. These constraints may be a pre-runtime condition, a runtime condition, or a post-runtime condition relating to the states of the plan. A pre-runtime condition needs to be satisfied before autonomous robots can enter a particular state” As in 42 “As shown in FIG. 2, the graphical user interface 200 may provide a palette 202 that allows user to select plan elements (state, transition, behaviors,) etc., constraint conditions, connection type (initialization, transition), and plan control type (centralized controlled or decentralized controlled). In one embodiment, a plan is reusable, i.e., a previously defined plan may be reused to solve another sub-problem or problem. Further, the plan being modelled may be used as a sub-plan during modeling of another plan.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Kranski to incorporate the teachings of Skubch of prioritizing safety constraint tasks at a highest priority level and general constraints at a second highest priority level in the solver in order to properly define constraints for the plan/task and define constraint conditions. [(Skubch 40-42)]
Regarding claim 15, Kranski has all of the elements of claim 1 as discussed above.
Kranski does not explicitly teach further comprising: measuring error between a desired task output and a measured task output for the robot; and minimizing error between the desired task output and measured task output for the robot using output instructions to the robot.
However, Skubch teaches further comprising: measuring error between a desired task output and a measured task output for the robot; and minimizing error between the desired task output and measured task output for the robot using output instructions to the robot. [(see at least paragraphs 68-70) As in 68 “In case the success state condition is not satisfied then a failure state may be identified for the autonomous robots executing the plan. The plan execution engine stores several repair rules that may be executed when the plan execution fails, i.e., when the failure state is identified. In one embodiment, “BAbort” rule is a repair rule that stops execution of a behavior when the failure state is identified. Another repair rule “BRedo” tries to re-execute a failed behaviour if possible. A “BProp” rule propagates the failure upwards to the previous state in the plan in whose context the failed behavior executed.” As in 70 “In case “PAbort” rule stops a plan, “Preplace” repair rule triggers a new task allocation. A new task allocation can also choose an alternative plan. A “PProp” repair rule propagates a failure upwards to the parent plan. Finally, “PTopFail” repair rule captures the case where the top-level plan has failed, and simply triggers a clear initialization by triggering an initialization rule.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Kranski to incorporate the teachings of Skubch of measuring error between a desired task output and a measured task output for the robot; and minimizing error between the desired task output and measured task output for the robot using output instructions to the robot in order for the robot to transition to the next state when error may occur. [(Skubch 36)]
Regarding claim 18, Kranski has all of the elements of claim 1 as discussed above.
Kranski does not explicitly teach further comprising minimizing a payload felt by a user while lifting and carrying payloads based in part on a stage of transporting the payload.
However, Skubch teaches further comprising minimizing a payload felt by a user while lifting and carrying payloads based in part on a stage of transporting the payload. [(see at least paragraph 65) “A constraint defines a particular condition that the autonomous robots have to satisfy during execution. For example, a constraint for a group of autonomous robots transporting a weight may be that two autonomous robots cannot travel in opposite direction during the transportation of the weight. Based on the constraint, the robot direction of motion with respect to each other is determined that is used by the autonomous robots assigned to the transportation task for collaboratively transporting the weight.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of modified Kranski to further incorporate the teachings of Skubch of minimizing a payload felt by a user while lifting and carrying payloads based in part on a stage of transporting the payload in order to effectively and efficiently transport the weight/payload. [(Skubch 65)]
Regarding claim 19, Kranski has all of the elements of claim 1 as discussed above.
Kranski does not explicitly teach further comprises processing fault constraints using the solver to determine a probability of a fault occurring.
However, Skubch teaches further comprises processing fault constraints using the solver to determine a probability of a fault occurring. [(see at least paragraph 68) “The plan execution engine stores several repair rules that may be executed when the plan execution fails, i.e., when the failure state is identified. In one embodiment, “BAbort” rule is a repair rule that stops execution of a behavior when the failure state is identified. Another repair rule “BRedo” tries to re-execute a failed behaviour if possible. A “BProp” rule propagates the failure upwards to the previous state in the plan in whose context the failed behavior executed.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of modified Kranski to further incorporate the teachings of Skubch of processing fault constraints using the solver to determine a probability of a fault occurring in order to identify a possible fault/failure state to ensure it can be resolved and the task can be completed. [(Skubch 68-70)]
Regarding claim 20, Kranski teaches a method for controlling a robot with hybrid control, comprising: receiving a plurality of robot states and environmental states from sensors in the robot [(see at least paragraph 6) “Some aspects include a robot that includes: a first sensor having a first output and configured to sense state of a robot or an environment of the robot; a first hardware machine-learning accelerator coupled to the first output of the first sensor, the first hardware machine-learning accelerator being configured to transform information sensed by the first sensor and conveyed via the first output into a first latent-space representation that is of a lower dimensionality than information sensed by the first sensor; a second sensor having a second output and configured to sense state of the robot or the environment of the robot”]; receiving a plurality of user inputs from sensors associated with the robot [(see at least paragraphs 26-30) As in 26 “For example, an operator (e.g., remotely) may input instructions via the teaching subsystem 112 to effectuate movement of the robot, such as to guide movements of the robot to complete a task.” As in 30 “ Training a robot system 102A, such as in accordance with the above-described training process, is expected to account for idiosyncratic properties of individual instances of tactile sensors, joints, members (e.g., dexterous or otherwise), tendons, image sensors, actuators or motors, or other equipment of the robot system 102A based on the collected feedback data”]; solving the plurality of tasks in a priority order using a solver; and sending output instructions to the robot in order to enable the robot to move toward a desired state. [(see at least paragraphs 37-40) As in 37 “The machine learning subsystem 114 may include multiple such encoder models (or other models) executing on respective ML accelerators. In some examples, the ML accelerators (and thus the respective models implemented by the ML Accelerators), may be hierarchically organized within the context of the machine learning subsystem 114. For example, a robot control model 116 may include a reinforcement learning model trained at least in part via a reinforcement learning process, and the reinforcement learning model may take, as input, outputs of one or more encoder models. The encoder models executed by the ML Accelerators may simplify the input parameter space of the reinforcement learning model, which, due to complexity may be executed on a general purposed central processing unit. Reduction of the number of input parameters, for example, may reduce latency of model execution over a stream of input data.” As in 39 “A control model 116 of a robot system may be trained to effectuate operations of the robot system to perform a task. Completion of a task by a robot system may include the performance of a sequence of actions by the robot, like a trajectory, to transition between a starting point to an ending point corresponding to the completion of the task, or completion may be marked by some change in state of the environment of the robot”]
Kranski does not explicitly teach setting priorities for a plurality of tasks for the robot, the user inputs and the environmental states.
However, Skubch teaches setting priorities for a plurality of tasks for the robot, the user inputs and the environmental states [(see at least paragraph 41) “The utility functions include a weighted sum of several functions that are domain dependent. Each weight in the utility function represents the priority of tasks in a particular scenario. For example, consider an “item delivery” plan that includes two tasks “picking the item” and “delivering the item”. A user can model the utility function such that more autonomous robots are assigned to the task “delivering the item” then to the task “picking the item”. In this case, a utility function may provide a weight of 0.1 to the task “picking the item” and 1 to the task “delivering the item”.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Kranski to incorporate the teachings of Skubch of setting priorities for a plurality of tasks for the robot, the user inputs and the environmental states in order to define conditions for dynamic allocation of autonomous robots to the different tasks. [(Skubch 41)]
Regarding claim 21, Modified Kranski has all of the elements of claim 20 as discussed above.
Kranski does not explicitly teach further comprising prioritizing the plurality of tasks that include least one of: a balance task, a walking task, avoidance of self-collision, a safety task, a human input task, a communication delay task, a motion task, a lifting task, a placement task, a reorientation task, an adjustment task, a manipulation task, an arrival at a location at a defined time task, a task limiting acceleration or motion, or a task limiting speed.
However, Skubch teaches further comprising prioritizing the plurality of tasks that include least one of: a balance task, a walking task, avoidance of self-collision, a safety task, a human input task, a communication delay task, a motion task, a lifting task, a placement task, a reorientation task, an adjustment task, a manipulation task, an arrival at a location at a defined time task, a task limiting acceleration or motion, or a task limiting speed. [(see at least paragraph 41) “The utility functions include a weighted sum of several functions that are domain dependent. Each weight in the utility function represents the priority of tasks in a particular scenario. For example, consider an “item delivery” plan that includes two tasks “picking the item” and “delivering the item”. A user can model the utility function such that more autonomous robots are assigned to the task “delivering the item” then to the task “picking the item”. In this case, a utility function may provide a weight of 0.1 to the task “picking the item” and 1 to the task “delivering the item”.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of modified Kranski to further incorporate the teachings of Skubch of prioritizing the plurality of tasks that include least one of: a balance task, a walking task, avoidance of self-collision, a safety task, a human input task, a communication delay task, a motion task, a lifting task, a placement task, a reorientation task, an adjustment task, a manipulation task, an arrival at a location at a defined time task, a task limiting acceleration or motion, or a task limiting speed in order to properly represent the priority of tasks in a particular scenario. [(Skubch 41)]
Regarding claim 22, In view of the above combination of references, Kranski further teaches further comprising controlling the robot from a distance using user input obtained from remote sensors a distance from the robot. [(see at least paragraph 26) “For example, an operator (e.g., remotely) may input instructions via the teaching subsystem 112 to effectuate movement of the robot, such as to guide movements of the robot to complete a task.”]
Regarding claim 23, Modified Kranski has all of the elements of claim 20 as discussed above.
Kranski does not explicitly teach further comprising enabling dynamically consistent control of the robot while accounting for delays for an operator’s instructions.
However, Skubch teaches further comprising enabling dynamically consistent control of the robot while accounting for delays for an operator’s instructions. [(see at least paragraphs 22,61) As in 22 “during the modelling of the plan a user may select whether the plan is centralized controlled or decentralized controlled. When the plan is selected as decentralized controlled then the plan execution is controlled collaboratively by several autonomous robots. In the decentralized controlled plan, the plan execution engines at the autonomous robots collaboratively solve the NP-hard problem of controlling plan execution by individually determining plan execution values for the plan that are then shared with other plan execution to confirm that same plan execution values are determined by plan execution engines executing at other autonomous robots.” As in 61 “In case of centralized controlled plan, the plan execution engine executing at the cloud node manages the synchronized transition. For example, the plan execution engine at the cloud node receives an execution result from a plan execution engine executing on a robot and determines whether the transition condition matches with the execution result. In case a match is determined then the cloud node awaits receiving another execution result, from another robot, which matches with another transition condition synchronized with the transition condition.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of modified Kranski to further incorporate the teachings of Skubch of enabling dynamically consistent control of the robot while accounting for delays for an operator’s instructions in order to efficiently execute a sequence of tasks that are to be executed to achieve a particular goal or solve a particular problem or sub-problems of the problem. [(Skubch 18)]
Regarding claim 25, In view of the above combination of references, Kranski further teaches wherein the robot may be at least one of: a portion of a humanoid form, a humanoid torso, at least one humanoid arm, humanoid legs, a humanoid hand, an end effector, a robot with non-humanoid kinematics, a vehicle, an automobile, a truck, a tank, an airplane, a ship, or a flying drone. [(see at least paragraph 16) “Training an artificial intelligence model to control a complex dynamical system, like a robot (such as a humanoid robot or self-driving vehicle), to learn a task is time consuming and challenging. Initial training techniques may involve instructing a controller (and often multiple controllers) in communication with one or more actuators, sensors, or other robotic elements to perform actions (e.g., transitions between states) with the goal of completing some tasks and collecting feedback data corresponding to the completion of those tasks. In many cases, the controller may parse, pass, or otherwise convey instructions towards multiple other controllers constituent to a complex robotic system.”]
Regarding claim 26, Modified Kranski has all of the elements of claim 20 as discussed above.
Kranski does not explicitly teach further comprising: measuring an error between desired task output and measured task output for the robot; and minimizing the error between the desired task output and measured task output for the robot using output instructions to the robot.
However, Skubch teaches further comprising: measuring an error between desired task output and measured task output for the robot; and minimizing the error between the desired task output and measured task output for the robot using output instructions to the robot. [(see at least paragraphs 68-70) As in 68 “In case the success state condition is not satisfied then a failure state may be identified for the autonomous robots executing the plan. The plan execution engine stores several repair rules that may be executed when the plan execution fails, i.e., when the failure state is identified. In one embodiment, “BAbort” rule is a repair rule that stops execution of a behavior when the failure state is identified. Another repair rule “BRedo” tries to re-execute a failed behaviour if possible. A “BProp” rule propagates the failure upwards to the previous state in the plan in whose context the failed behavior executed.” As in 70 “In case “PAbort” rule stops a plan, “Preplace” repair rule triggers a new task allocation. A new task allocation can also choose an alternative plan. A “PProp” repair rule propagates a failure upwards to the parent plan. Finally, “PTopFail” repair rule captures the case where the top-level plan has failed, and simply triggers a clear initialization by triggering an initialization rule.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of modified Kranski to further incorporate the teachings of Skubch of measuring an error between desired task output and measured task output for the robot; and minimizing the error between the desired task output and measured task output for the robot using output instructions to the robot in order for the robot to transition to the next state when error may occur. [(Skubch 36)]
Claims 4 and 8 are rejected under 35 U.S.C. 103 as being unpatentable over Kranski in view of Segil (US 2023/0400923 A1).
Regarding claim 4, Kranski has all of the elements of claim 1 as discussed above.
Kranski does not explicitly teach further comprising receiving the plurality of user inputs from sensors of the robot that capture user input from a user embedded in the robot.
However, Segil teaches further comprising receiving the plurality of user inputs from sensors of the robot that capture user input from a user embedded in the robot. [(see at least paragraphs 8, 90, 114) As in 8 “As a result of this construction, the wearable electronic device can—on demand or in response to an input or trigger—induce a particular current within a particular region of a particular sensory nerve of the user, thereby stimulating the nerve in a manner that evokes a sensory impression occurring elsewhere in the user's body.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of Kranski to incorporate the teachings of Segil of receiving the plurality of user inputs from sensors of the robot that capture user input from a user embedded in the robot in order to provide sensory feedback as an authentication mechanism. [(Segil 114)]
Regarding claim 8, Modified Kranski has all of the elements of claim 7 as discussed above.
Kranski does not explicitly teach further comprising enabling the robot to perform tasks while satisfying safety constraints generated using sensors that sense locations of a user’s anatomy in the robot.
However, Segil teaches further comprising enabling the robot to perform tasks while satisfying safety constraints generated using sensors that sense locations of a user’s anatomy in the robot. [(see at least paragraph 7) As in 7 “select a sense impression site (e.g., a site at which a wearer of the wearable electronic device, referred to as a “user” should perceive a sensory event to occur); select a sense impression modality (e.g., pressure, temperature, vibration or other time-varying mechanical effect, texture, and so on); query a data store with the sense impression site and sense impression modality to retrieve a stimulation profile with a magnitude and a polarity of current such that inducing the current in a sensory nerve of the user evokes a sensory impression corresponding to the sense impression modality at a sense impression site; query a data store (which may be the same or a different data store) with the stimulation profile to retrieve a calibration profile with information relating a position of the sensory nerve relative to locations of the electrodes of the electrode array (e.g., as worn by the user)”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of modified Kranski to incorporate the teachings of Segil of enabling the robot to perform tasks while satisfying safety constraints generated using sensors that sense locations of a user’s anatomy in the robot in order to track a position of the user and/or a position in space of a body part of the user. [(Segil 104)]
Claim 24 is rejected under 35 U.S.C. 103 as being unpatentable over Kranski in view of Skubch and in further view of Konolidge (US 10,455,212 B1).
Regarding claim 24, Modified Kranski has all of the elements of claim 20 as discussed above.
Kranski does explicitly teach further comprising providing self-collision avoidance using the solver.
However, Konolidge teaches further comprising providing self-collision avoidance using the solver. [(see at least Col.11 lines 49-55) “In some embodiments, path constraints, such as collision avoidance for robotic arms, cameras, cables, and/or other components, may be put in a constraint based planning solver and solved for to yield a best path to move the arm for perception. Additionally, in some embodiments, the solver may determine a best path for picking up, moving, and placing an object.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teachings of modified Kranski to incorporate the teachings of Konolidge of providing self-collision avoidance using the solver in order to yield a best path to move the robot. [(Konolige Col.11)]
The Examiner has cited particular paragraphs or columns and line numbers in the references applied to the claims above for the convenience of the Applicant. Although the specified citations are representative of the teachings of the art and are applied to specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested of the Applicant in preparing responses, to fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the Examiner. See MPEP 2141.02 [R-07.2015] VI. A prior art reference must be considered in its entirety, i.e., as a whole, including portions that would lead away from the claimed Invention. W.L. Gore & Associates, Inc. v. Garlock, Inc., 721 F.2d 1540, 220 USPQ 303 (Fed. Cir. 1983), cert, denied, 469 U.S. 851 (1984). See also MPEP §2123.
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 MOHAMMED YOUSEF ABUELHAWA whose telephone number is (571)272-3219. The examiner can normally be reached Monday-Friday 8:30-5:00 with flex.
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, Wade Miles can be reached at 571-270-7777. 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.
/MOHAMMED YOUSEF ABUELHAWA/Examiner, Art Unit 3656
/WADE MILES/Supervisory Patent Examiner, Art Unit 3656