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 .
DETAILED ACTION
This is a non-final Office Action on the merits in response to communications filed by Applicant on February 27, 2025. Claims 1-17, 28-30 are currently pending and examined below.
Priority
Receipt is acknowledged of papers submitted under 35 U.S.C. 119(a)-(d), which papers have been placed of record in the file.
Information Disclosure Statement
The information disclosure statement(s) (IDS) submitted on is/are being considered by the examiner.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claim 3 is rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention. Claim 3 recites the limitation " Behavior Cloning model", it is unclear whether the limitation has a special definition or ordinary definition. Applicant acts as his or her own lexicographer to specifically define a term of a claim contrary to its ordinary meaning, the written description must clearly redefine the claim term and set forth the uncommon definition so as to put one reasonably skilled in the art on notice that the applicant intended to so redefine that claim term.
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 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 of this title, 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 set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied 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 1-4, 11-17, 28-30 are rejected under 35 U.S.C. 103 as being unpatentable over Groz US2021/0031364 (“Groz”) in view of Kranski et al. US2022/0314434 (“Kranski”).
Regarding claim(s) 1, 28. Groz discloses a method implemented by one or more processors ([0016] According to another embodiment, a method for training of robots is provided. An example method may commence with collecting, by a processor of the robot, sensor data from a plurality of sensors of the robot. The sensor data may be related to a task being performed by the robot based on an AI model.), the method comprising:
receiving an instance of vision data capturing an environment of a robot during performance of a robotic task by the robot, where the instance of vision data is captured via a vision component ([0056] The ANNs 230 process the sensor data 305 received from sensors 250 and provide commands 310 of FIG. 3 to actuators of the robot 110. The sensors 250 of the robot 110 may include a Red, Green, Blue plus Depth (RGBD) camera, a depth camera, an infrared (IR) camera, a Point Cloud Library (PCL) camera, haptic/tactile sensors, ultrasonic sensors, and so forth.);
processing the embedding using a robotic control policy to generate action output that indicates, for each of one or more components of the robot, a corresponding action to be performed by the component, the robotic control policy being a trained NN model ([0060] FIG. 3 is a block diagram 300 showing functionalities of ANNs implemented in a robot, according to an example embodiment. The ANNs 230 receive sensor data 305 from sensors 250. The ANNs 230 process the sensor data 305 and provide commands 310 to actuators of the robot, such as manipulators 260 (e.g., fingers, arms, grippers, suction cups, and so forth) and provide commands 315 to further actuators of the robot, such as a mobile base 270, which may also include fingers, arms, grippers, suction caps, and so forth.);
processing the embedding using a failure NN model to generate failure output indicating a likelihood of the robot successfully completing the task; determining, based on the failure output, whether the robot will fail in performance of the robotic task [0055] The robot OS 225 may control the operation of the robot 110 and control all elements of the robot 110. Specifically, the robot OS 225 may receive commands and execute the commands using the ANNs 230 and analyze the outputs of the ANNs 230. If an output is uncertain (i.e., when the probability of execution of the task is below a threshold), the robot OS 225 may send a request for operator assistance to a remote computing device ([0055] The robot OS 225 may control the operation of the robot 110 and control all elements of the robot 110. Specifically, the robot OS 225 may receive commands and execute the commands using the ANNs 230 and analyze the outputs of the ANNs 230. If an output is uncertain (i.e., when the probability of execution of the task is below a threshold), the robot OS 225 may send a request for operator assistance to a remote computing device.);
in response to determining the robot will fail in performance of the robotic task:
causing a user of a computing device to intervene in performance of the robotic task; receiving, from the user and via the computing device, user interface input that intervenes with performance of the robotic task; and causing the robot to complete performance of the task based on the user interface input ([0065-0067] [0066] Based on the received task, the robot 110 may start execution of the task. When a processor of the robot 110 determines that the probability of completing the task is below the threshold, the robot 110 sends a request for operator assistance to the personal computing device 150. The teleoperator 160 may receive the request from the robot 110 and either manually operate the robot 110 or find mistakes in the operation of the robot and send correct teleoperation data to the robot 110.).
Groz does not explicitly disclose generating an embedding based on processing the instance of vision data using an encoder model, the encoder model being a trained neural network (NN) model;
Kranski teaches not vision based neural network robotic control system and method that generating an embedding based on processing the instance of vision data using an encoder model, the encoder model being a trained neural network (NN) model ([0017. 0033, 0058, 0076] a ML accelerator may be coupled multiple sensors. For example, ML Accelerator 250A may ingest sensor data from sensors 240A and 240B. The ML accelerator may execute an encoder model that generates a latent-space embedding based on the combined sensor data 240A and 240B. For example, sensor 240A may be a vision sensor and sensor 240B may be a second vision sensor, like a pair of vision sensors that capture overlapping fields of view from different perspectives, like a stereoscopic camera configuration. The ML accelerator 250A may contain an encoder model that intakes the sensor data from vision sensor 240A and vision sensor 240B and determines a latent space representation of input sensor data.)
Thus, it would have been obvious to one of ordinary skills in the art before the effective filing date of the claimed invention to modify the system and method of Groz by incorporating the applied teaching of Kranski to improve robot dynamic controls using machine learning and one of ordinary skill before the effective filing date of the claimed invention would have recognized that the results of the combination would have been predictable.
Regarding claim(s) 2. Groz in view of Kranski further discloses wherein the robotic control policy is trained using imitation learning ([0007] With AI solutions, some companies have tried to develop machine learning driven program generation. These programs allow solving individual tasks by using dynamic motions that are trained through imitation and reinforcement learning.).
Regarding claim(s) 3. Groz in view of Kranski further discloses wherein the robotic control policy is a Behavior Cloning model ([0040] AI Sim is a cloud-based simulation environment where customers can upload their new products and simulate the behavior of grasping tasks of a picking robot. The control of the robots for interacting with the products can be run by pre-defined neural networks or remote human navigators. Cloud-based simulation services may be offered per simulation minutes (e.g., simulation server with 100 parallel sessions for a predetermined price per minute) and per server dataset packages (50,000 simulation runs for a predetermined price).).
Regarding claim(s) 4. Groz in view of Kranski further discloses wherein determining whether the robot will fail in performance of the robotic task based on the failure output comprises: determining whether the failure output satisfies a threshold likelihood value; and determining whether a previous failure output satisfies the threshold likelihood value ([0066] Based on the received task, the robot 110 may start execution of the task. When a processor of the robot 110 determines that the probability of completing the task is below the threshold, the robot 110 sends a request for operator assistance to the personal computing device 150. The teleoperator 160 may receive the request from the robot 110 and either manually operate the robot 110 or find mistakes in the operation of the robot and send correct teleoperation data to the robot 110.)
Regarding claim(s) 11. Groz in view of Kranski further discloses selecting, from a plurality of candidate thresholds, a particular threshold; determining whether the failure output satisfies the selected particular threshold; and determining whether the robot will fail in performance of the robotic task based on whether the failure output satisfies the selected particular threshold ([0016, 0046] [0016] According to another embodiment, a method for training of robots is provided. An example method may commence with collecting, by a processor of the robot, sensor data from a plurality of sensors of the robot. The sensor data may be related to a task being performed by the robot based on an AI model. The method may further include determining, based on the sensor data and the AI model, that a probability of completing the task is below a threshold. The method may continue with sending, in response to the determination that the probability of completing the task is below the threshold, a request for operator assistance to a remote computing device. In response to sending the request, teleoperation data may be received by the processor from the remote computing device.).
Regarding claim(s) 12. Groz in view of Kranski further discloses determining a current status of availability of computing devices to intervene in robotic task performance; and selecting the particular threshold based on the current status ([0046] In an example embodiment, a robot may include a plurality of sensors, a communication unit, and a processor. The processor may be configured to collect sensor data from the plurality of sensors. The sensor data may be related to a task being performed by the robot based on an AI model. The processor may be configured to determine, based on the sensor data and the artificial AI model, that a probability of completing the task is below a threshold. In response to the determination that the probability of completing the task is below the threshold, the processor may send, via the communication unit, a request for operator assistance to a remote computing device. In response to sending the request, the processor may receive, via the communication unit,).
Regarding claim(s) 13. Groz in view of Kranski further discloses wherein selecting the particular threshold comprises: selecting the particular threshold based on a category assigned to the robotic task that is being performed ([0046] In an example embodiment, a robot may include a plurality of sensors, a communication unit, and a processor. The processor may be configured to collect sensor data from the plurality of sensors. The sensor data may be related to a task being performed by the robot based on an AI model. The processor may be configured to determine, based on the sensor data and the artificial AI model, that a probability of completing the task is below a threshold. In response to the determination that the probability of completing the task is below the threshold,).
Regarding claim(s) 14. Groz in view of Kranski further discloses wherein selecting the particular threshold comprises: selecting the particular threshold based on whether the robot has detected one or more particular types of objects in the environment (0013-0014] [0014] The processor may be further configured to generate training data for updating the AI model. The training data may be generated based on the sensor data and results of executing the task. The training data may include a part of the sensor data. The part of the sensor data may be collected during a period of a predetermined length that precedes the determination that the probability of competing the task is below the threshold.).
Regarding claim(s) 15. Groz in view of Kranski further discloses wherein selecting the particular threshold comprises: selecting the particular threshold based on whether the robot has detected one or more particular types of objects to be within a threshold distance of the robot (0013-0014] [0014] The processor may be further configured to generate training data for updating the AI model. The training data may be generated based on the sensor data and results of executing the task. The training data may include a part of the sensor data. The part of the sensor data may be collected during a period of a predetermined length that precedes the determination that the probability of competing the task is below the threshold.).
Regarding claim(s) 16. Groz in view of Kranski further discloses wherein the computing device is in the environment of the robot ([0013 ]The teleoperation data may include information regarding the direction to the object with respect to the robot and the distance from the robot to the object. In some example embodiments, the task may include grasping, based on the sensor data, an object in a working environment of the robot by a manipulator of the robot. The teleoperation data may include information regarding commands for one or more actuators of the manipulator.)
Regarding claim(s) 17. Groz in view of Kranski further discloses wherein the computing device is remote from the robot and is not in the environment of the robot ([0013 ]The teleoperation data may include information regarding the direction to the object with respect to the robot and the distance from the robot to the object. In some example embodiments, the task may include grasping, based on the sensor data, an object in a working environment of the robot by a manipulator of the robot. The teleoperation data may include information regarding commands for one or more actuators of the manipulator.)
Regarding claim(s) 29. Groz in view of Kranski further discloses in response to determining that the robot will fail in performance of the robotic task: causing a prompt to be rendered via an interface of a computing device or the robot, the prompt requesting intervention in performance of the robotic task; in response to determining that the robot will fail in performance of the robotic task ([0076] In another embodiment of training of the robot, the robot may perform the task by itself and the teleoperator may manually help the robot to focus on the bottle and to correct the directory of the robot if the teleoperator sees that the robot fails at some moment of execution of the task.).
Regarding claim(s) 30. Groz in view of Kranski further discloses in response to determining that the robot will fail in performance of the robotic task: transmitting, to a remote computing device, the vision data and/or additional vision data captured by at least one of the vision components; and causing the robot to complete performance of the task based on user interface input received via the remote computing device responsive to the transmitting ([0013] In response to the determination that the probability of completing the task is below the threshold, the processor may send, via the communication unit, a request for operator assistance to a remote computing device. The request for the operator assistance may include a message describing the task in one or more human languages. In response to sending the request, the processor may receive, via the communication unit, teleoperation data from the remote computing device. Based on the teleoperation data, the processor may cause the robot to execute the task. The task may include the AI model locating an object in a working environment of the robot based on an image received from the plurality of sensors.).
Allowable Subject Matter
Claims 5-10 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Inquiry
Any inquiry concerning this communication or earlier communications from the examiner should be directed to TRUC M DO whose telephone number is (571)270-5962. The examiner can normally be reached on 9AM-6PM.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ramón Mercado, Ph.D. can be reached on (571) 270-5744. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/TRUC M DO/Primary Examiner, Art Unit 3658