Prosecution Insights
Last updated: July 17, 2026
Application No. 18/826,463

CONTROL SYSTEM AND CONTROL METHOD

Non-Final OA §102§103
Filed
Sep 06, 2024
Priority
Mar 08, 2022 — JP 2022-035101 +1 more
Examiner
KATZ, DYLAN MICHAEL
Art Unit
3657
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
Yaskawa Electric Corporation
OA Round
2 (Non-Final)
87%
Grant Probability
Favorable
2-3
OA Rounds
7m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 87% — above average
87%
Career Allowance Rate
261 granted / 301 resolved
+34.7% vs TC avg
Strong +21% interview lift
Without
With
+20.9%
Interview Lift
resolved cases with interview
Typical timeline
2y 5m
Avg Prosecution
20 currently pending
Career history
338
Total Applications
across all art units

Statute-Specific Performance

§101
2.2%
-37.8% vs TC avg
§103
88.0%
+48.0% vs TC avg
§102
4.6%
-35.4% vs TC avg
§112
3.3%
-36.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 301 resolved cases

Office Action

§102 §103
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 This office action is in response to amendments filed 03/13/2026. Claims 1-20 are pending. Applicant’s arguments and amendments to the claims with respect to rejections of Claims 13 under 35 USC 112(b) have been fully considered and are persuasive. The rejections of Claims 13 under 35 USC 112(b) have been withdrawn. Applicant’s arguments and amendments to the claims with respect to prior art rejections of Claims 1-20 under 35 USC 102/103 have been fully considered and are persuasive. The rejections of Claims 1-20 under 35 USC 102/103 have been withdrawn. However, upon further consideration, a new rejection is made in view of Wolter et al (US 20200344293, hereinafter Wolter) Claim Rejections - 35 USC § 102 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-8, 17-20 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Nakano et al (US 20190079500, hereinafter Nakano) Wolter et al ( US 20200344293, hereinafter Wolter) Regarding Claim 1, Wolter teaches: a control system (see at least " FIG. 1 is a block diagram illustrating an example robotic control system 100. " in par. 0030 ) comprising: a robot controller configured to control a robot (see at least "For another example, one or more low-level controllers, such as the low-level controllers 130 and/or 140, may be implemented by one or more processors located on robots, such as processors 232, 242 of robots 230, 240. Further, databases for maintaining persistent and consistent records of intents and/or statuses of the controllers, such as the databases 160, may be implemented on the cloud computing system, such as in data 218, 228 of server computers 210, 220, and on the robots, such as in data 238, 248 of robots 230, 240." in par. 0041); and a computation circuitry configured to communicate with the robot controller (see at least " For another example, one or more low-level controllers, such as the low-level controllers 130 and/or 140, may be implemented by one or more processors located on robots, such as processors 232, 242 of robots 230, 240. Further, databases for maintaining persistent and consistent records of intents and/or statuses of the controllers, such as the databases 160, may be implemented on the cloud computing system, such as in data 218, 228 of server computers 210, 220, and on the robots, such as in data 238, 248 of robots 230, 240." in par. 0041) , wherein the robot controller is implemented on circuitry physically independent from the computation circuitry (see at least " For example, using an Internet socket, the client computer 250 can connect to a service operating on remote server computers 210, 220 through an Internet protocol suite. " in par. 0054) , wherein the robot controller comprises a first memory in which state information of the robot is stored (see at least "each robot 230, 240 may be configured similarly to server computers 210, 220, with processors 232, 242, memories 234, 244, instructions 236, 246, and data 238, 248." in par. 0048), and wherein the computation circuitry comprises: a second memory a content of which is synchronized with a content of the first memory (see at least “Still further, in some instances the one or more databases 160 may include both databases implemented on the cloud computing system and locally implemented on the robot, which may be synchronized to maintain a consistent record of the intents and states of the controllers.” In par. 0039 and "As shown, the server computer 210 may contain one or more processor 212, memory 214, and other components typically present in general purpose computers. The memory 214 can store information accessible by the processors 212, including instructions 216 that can be executed by the processors 212. Memory can also include data 218 that can be retrieved, manipulated or stored by the processors 212. The memory 214 may be a type of non-transitory computer readable medium capable of storing information accessible by the processors 212," in par. 0042), wherein the first memory and the second memory are physically independent hardware memory devices (see at least " For example, using an Internet socket, the client computer 250 can connect to a service operating on remote server computers 210, 220 through an Internet protocol suite. " in par. 0054); and a processor configured to execute an application that performs a computation related to control of the robot based on the content of the second memory that is synchronized with the content of the first memory independently of a request from the application. (see at least "Still further, in some instances the one or more databases 160 may include both databases implemented on the cloud computing system and locally implemented on the robot, which may be synchronized to maintain a consistent record of the intents and states of the controllers.” In par. 0039 and “For example, the controllers may be applications that can run on one or more processors, such as processors 212, 222 on a cloud system, or processors 232, 242 on robots.” In par. 0066 and “For instance, a controller may have a poll-based communication interface for interacting with the databases (where the controller lists and watches all resources and checks for differences)” in par. 0076 and “In this regard, the server adaptor 522 may use a poll-based communication interface when interacting with the database server(s) 530. For example, in instances where the server controller 520 is running on the robot, the server controller 520 may watch the database server running on the robot.” In par. 0082) Regarding Claim 3, Wolter teaches: the control system according to claim 1, wherein the computation circuitry is further configured to execute at least one of writing and reading of data to and from the second memory based on a request from an application. (see at least “Further in this regard, the server adaptor 522 may need to convert from using a request based communication interface to receive the status from the server controller 520 to a poll based communication interface to update the status of the database server 530. The server adaptor 522 may then update 551 the translated status of the database server(s) 530. For example, in instances where the server controller 520 is running on the robot, the server adaptor 522 may write the translated status to the database server running on the robot.” In par. 0086) Regarding Claim 4, Wolter teaches: the control system according to claim 3, wherein the computation circuitry is further configured to: store one or more applications including the application (see at least “For example, the controllers may be applications that can run on one or more processors, such as processors 212, 222 on a cloud system, or processors 232, 242 on robots.” In par. 0066) ; notify, to one of the one or more applications, the content of the second memory associated with the one of the one or more applications (see at least "While watching for updates, the server adaptor 522 may receive a notification 545 of the updated intent. The server adaptor 522 may translate 546 the updated intent from a programming language of the database to a programming language of the server controller 520…For example, the server adaptor 522 may send the intent via a remote procedural call (RPC) method to the server controller 520. Based on the intent, the server controller 520 may actuate one or more mechanical and/or electrical components, or may send commands to another controller." in par. 0085). Regarding Claim 5, Wolter teaches: the control system according to claim 3, wherein the computation circuitry comprises an API corresponding to control of the robot, and is configured to, in response to receiving the request from the application via the API, write data corresponding to the request in the second memory. (see at least " In some instances, higher-level controllers of the robot may be deployed on the cloud, while the lower-level controllers of the robot may be deployed on the robot. The controllers may interact with each other through declarative APIs, which may define message format and other rules for the controllers.” In par. 0025 and “Referring to FIG. 5B, the client controller 510 may change 552 the intent for the server controller 520. For example, the client controller 510 may change the intent of the “move” object previously created to a new target position, or create a new object with the new intent. For instance, the client controller 510 may write a new intent based on the updated status. For example, the client controller 510 may determine that no box exists on shelf A, thus may change the intent to “pick up a box from shelf B.” For another instance, the client controller 510 may change the intent based on other factors, such as based on a new intent from a controller with a higher hierarchy than client controller 510, based on a user input, or based on detecting an emergency. The client adaptor 512 may translate 553 the received intent, and change 554 the intent of the database server(s) 530. For example, in instances where the client controller 510 is running on the cloud, the client adaptor 512 may write the changed intent to the database server running on the cloud.” In par. 0089) Regarding Claim 6, Wolter teaches: the control system according to claim 3, wherein the robot controller is further configured to write at least the state information of the robot in the first memory (see at least "Further, databases for maintaining persistent and consistent records of intents and/or statuses of the controllers, such as the databases 160, may be implemented on the cloud computing system, such as in data 218, 228 of server computers 210, 220, and on the robots, such as in data 238, 248 of robots 230, 240." in par. 0041) , and wherein the computation circuitry is configured to, in response to the request from the application, acquire the state information from the second memory without transmitting a request for the state information to the robot controller, and to pass the state information to the application. (see at least "In order to resolve these issues, the one or more databases 160 may be configured to store and update the current states of the robotic control system 100, such as intents and statuses of the controllers in the robotic control system 100. Controllers in the robotic control system 100 may be configured to access the states stored in the database to control the robot. As such, in case of intermittent connectivity or failure at one of the controllers which may cause loss of the intents and statuses at the controller, other controllers and the failed controller upon recovery may be configured to access the databases 160 for the lost intents and statuses. To further protect the system from memory loss, the databases 160 may include one or more databases implemented on a cloud computing system. Still further, in some instances the one or more databases 160 may include both databases implemented on the cloud computing system and locally implemented on the robot, which may be synchronized to maintain a consistent record of the intents and states of the controllers. " in par. 0039 ) Regarding Claim 7, Wolter teaches: the control system according to claim 6, wherein robot controller is configured to write the state information in a first write area of the first memory (see at least "Further, databases for maintaining persistent and consistent records of intents and/or statuses of the controllers, such as the databases 160, may be implemented on the cloud computing system, such as in data 218, 228 of server computers 210, 220, and on the robots, such as in data 238, 248 of robots 230, 240." in par. 0041) , and wherein the computation circuitry is configured to: acquire the state information from a first read area of the second memory corresponding to the first write area, and pass the state information to the application (see at least “In order to resolve these issues, the one or more databases 160 may be configured to store and update the current states of the robotic control system 100, such as intents and statuses of the controllers in the robotic control system 100. Controllers in the robotic control system 100 may be configured to access the states stored in the database to control the robot. As such, in case of intermittent connectivity or failure at one of the controllers which may cause loss of the intents and statuses at the controller, other controllers and the failed controller upon recovery may be configured to access the databases 160 for the lost intents and statuses. To further protect the system from memory loss, the databases 160 may include one or more databases implemented on a cloud computing system. Still further, in some instances the one or more databases 160 may include both databases implemented on the cloud computing system and locally implemented on the robot, which may be synchronized to maintain a consistent record of the intents and states of the controllers. Additionally, the databases 160 may be further configured to store any other type of additional information, such as reference information (e.g., maps, images, information on other robots, etc.), which may be accessed by the controllers 110, 120, 130, 140 during operation." in par. 0039); and write data based on the request from the application in a second write area different from the first read area in the second memory. (see at least "At some point as shown, the client controller 510 may “write” 542 an “intent” to the client adaptor 512. For instance, the client controller 510 may create an object and define the object's schema, such as a “move” object shown in FIG. 4A. For instance, the client controller 510 may do so by requesting to create or manipulate a “move” object, where various properties of the “move” object may be defined in the central repository. Further as shown in FIG. 4A, the intent may include desired states, such as to move to a target position. The client adaptor 512 may translate 543 the intent from a language of the client controller 510 to a language of the database.” in par. 0083 and “The database server(s) 530 may update one or more databases with the received intent. For example, where both controllers 510, 520 are running on the cloud, the database server on the cloud may update the cloud database with the received intent. For another example, where both controllers 510, 520 are running on the robot, the database server on the robot may update the robot database with the received intent. Still further, in instances where the client controller 510 is running on the cloud and the server controller 520 is running on the robot, the database server on the cloud may update the cloud database while the database server on the robot may update the robot database.” In par. 0084) Regarding Claim 8, Wolter teaches: the control system according to claim 7, wherein the data written based on the request from the application is control data generated by the application, and wherein the robot controller is further configured to read the control data from the first memory and generate a control command executable inside the robot controller for controlling the robot based on the read control data. (see at least "The low-level controllers 130 and 140 may be, for example, a wheel actuator and an arm actuator, respectively. For instance, the mid-level controller 120 may send a message to the low-level controller 130 that sets an intent of the low-level controller 130 to “rotate wheels 3 times.” For another instance, the mid-level controller 120 may also send a message to the low-level controller 130 that sets an intent of the low-level controller 140 to “extend arm.” in par. 0033 and “The low-level controllers 130, 140 may be configured to actuate mechanical and/or electrical components of the robot. For example, low-level controller 130 may actuate the wheels to rotate in order to reach shelf A, and the low-level controller 140 may actuate the arm to extend in order to pick up a box from shelf A.” in par. 0034 and “For example, the controllers may be applications that can run on one or more processors, such as processors 212, 222 on a cloud system, or processors 232, 242 on robots.” In par. 0066) Regarding Claim 17, Wolter also teaches: A control method, comprising: Implementing, step by step, each function of the system of Claim 1 (see Claim 1 analysis for rejection of the system) Regarding Claim 18, Wolter also teaches: the control method according to claim 17 further comprising synchronizing the content of the first memory with the content of the second memory. (see at least “Still further, in some instances the one or more databases 160 may include both databases implemented on the cloud computing system and locally implemented on the robot, which may be synchronized to maintain a consistent record of the intents and states of the controllers.” In par. 0039 and "As shown, the server computer 210 may contain one or more processor 212, memory 214, and other components typically present in general purpose computers. The memory 214 can store information accessible by the processors 212, including instructions 216 that can be executed by the processors 212. Memory can also include data 218 that can be retrieved, manipulated or stored by the processors 212. The memory 214 may be a type of non-transitory computer readable medium capable of storing information accessible by the processors 212," in par. 0042) Regarding Claim 19, Wolter also teaches: A method for implementing, step by step, each function of the system of Claim 3 (see Claim 3 analysis for rejection of the system) Regarding Claim 20, Wolter teaches: A method for implementing, step by step, each function of the system of Claim 4 (see Claim 4 analysis for rejection of the system) 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. Claim(s) 2, 9, 11 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wolter et al ( US 20200344293, hereinafter Wolter) in view of Nakano et al (US 20190079500, hereinafter Nakano) Regarding Claim 2, Wolter teaches: the control system according to claim 1, Wolter does not appear to explicitly teach all of the following, but Nakano does teach: wherein the robot controller is configured to periodically synchronize the content of the first memory with the content of the second memory via network communication independently of a request from the application (see at least "The internal bus controller 120 controls transmission and reception of data to and from an I/O unit 122 mounted on the control device 100. The field network controller 130 controls transmission and reception of data to and from a field device via the field network 2." In par. 0080 "When performing of the task with a high priority for each control cycle is completed, a set of a sequence instruction value 142, a CNC instruction value 170, and a motion instruction value 144 is calculated. Such instruction values are reflected on the field side by the input/output refreshing process 180 when a start time of a next control cycle arrives. Values of the shared variables which have to be reflected in the shared memory 20 are reflected in the shared memory 20 by the data synchronizing process 188." In par. 0117 and Therefore, in the embodiment, the data synchronizing process 188 between the sequence program executing unit 150, the NC program executing unit 160, and the shared memory 20 is performed for each application cycle T2 in response to completion of the process by the interpreter 162. By performing such an exclusive operation on the shared memory 20, a situation in which a shared variable of a reference destination varies during the processing can be avoided." in par. 0122 ), and wherein the computation circuitry is configured to periodically synchronize the content of the second memory with the content of the first memory via the network communication independently of a request from the application. (see at least "The internal bus controller 120 controls transmission and reception of data to and from an I/O unit 122 mounted on the control device 100. The field network controller 130 controls transmission and reception of data to and from a field device via the field network 2." In par. 0080 "When performing of the task with a high priority for each control cycle is completed, a set of a sequence instruction value 142, a CNC instruction value 170, and a motion instruction value 144 is calculated. Such instruction values are reflected on the field side by the input/output refreshing process 180 when a start time of a next control cycle arrives. Values of the shared variables which have to be reflected in the shared memory 20 are reflected in the shared memory 20 by the data synchronizing process 188." In par. 0117 and "Therefore, in the embodiment, the data synchronizing process 188 between the sequence program executing unit 150, the NC program executing unit 160, and the shared memory 20 is performed for each application cycle T2 in response to completion of the process by the interpreter 162. By performing such an exclusive operation on the shared memory 20, a situation in which a shared variable of a reference destination varies during the processing can be avoided." in par. 0122) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system taught by Wolter to incorporate the teachings of Nakano wherein first memory and second memory are periodically synchronized at a fixed control cycle. The motivation to incorporate the teachings of Nakano would be to coordinate commands from multiple programs while preventing a plurality of elements from simultaneously writing values to shared variables (see par. 0100). Regarding Claim 9, Wolter teaches: the control system according to claim 8, Wolter does not appear to explicitly teach all of the following, but Nakano does teach: wherein the robot controller is further configured to: store a plurality of local commands, sequentially interpret each of the plurality of local commands into the control command (see at least "The sequence command processing unit 152 interprets a sequence command included in the sequence program 30, executes a designated sequence operation (a logical operation), and calculates or updates a sequence instruction value 142 for very first control cycle." in par. 0086); and control a motion of the robot based on both the control command interpreted from the first memory and the control command interpreted from the plurality of local commands. (see at least " The motion instruction value calculating unit 154 calculates a motion instruction value 144 in accordance with a motion command included in the sequence program 30. A motion command defines calculation of the motion instruction value 144 over a plurality of control cycles by one command, and the motion instruction value calculating unit 154 interprets the motion command and calculates the motion instruction value 144 for each control cycle. " in par. 0088 and “The sequence instruction value 142 calculated by the sequence command processing unit 152 and the motion instruction value 144 calculated by the motion instruction value calculating unit 154 are an example of the first instruction value 14.” In par. 0089) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system taught by Wolter to incorporate the teachings of Nakano wherein the robot controller controls the motion of the robot based on commands interpreted from its own memory and a plurality of local commands. The motivation to incorporate the teachings of Nakano would be to coordinate commands from multiple programs while preventing a plurality of elements from simultaneously writing values to shared variables (see par. 0100). Regarding Claim 11, Wolter as modified by Nakano teaches: the control system according to claim 9, wherein the application is configured to: Wolter does not appear to explicitly teach all of the following, but Nakano does teach: generate data to be used in control based on one of the plurality of local commands (see at least "The sequence command processing unit 152 interprets a sequence command included in the sequence program 30, executes a designated sequence operation (a logical operation), and calculates or updates a sequence instruction value 142 for very first control cycle." in par. 0086); and request the computation circuitry to write generated data in the second memory (see at least "When execution of the prescribed process 306 is completed, a CNC_CoordResetMCode (CNC coordinate M code reset) command 308 which is included in the sequence program 30 is performed. The CNC_CoordResetMCode command 308 resets the value of the execution interruption variable stored in the shared memory 20 ((7) resetting of execution interruption variable). That is, the value of the execution interruption variable stored in the shared memory 20 is changed to FALSE by executing the CNC_CoordResetMCode command 308." in par. 0136 and “When the value of the execution interruption variable is changed to FALSE, a response of execution completion of the special code 342 included in the NC program 34 is returned and interpretation of subsequent codes is restarted.” In par. 0137) , and wherein the robot controller is configured to control the motion of the robot based on the generated data read from the first memory and the one of the plurality of local commands. (see at least "The motion instruction value calculating unit 154 calculates a motion instruction value 144 in accordance with a motion command included in the sequence program 30. A motion command defines calculation of the motion instruction value 144 over a plurality of control cycles by one command, and the motion instruction value calculating unit 154 interprets the motion command and calculates the motion instruction value 144 for each control cycle. " in par. 0088 and “The sequence instruction value 142 calculated by the sequence command processing unit 152 and the motion instruction value 144 calculated by the motion instruction value calculating unit 154 are an example of the first instruction value 14.” In par. 0089) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system taught by Wolter to incorporate the teachings of Nakano wherein the robot controller controls the motion of the robot based on commands interpreted from its own memory and a plurality of local commands and data is synchronized in a shared memory during execution. The motivation to incorporate the teachings of Nakano would be to coordinate commands from multiple programs while preventing a plurality of elements from simultaneously writing values to shared variables (see par. 0100). Claim(s) 10, 12-16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wolter et al ( US 20200344293, hereinafter Wolter) in view of Nakano et al (US 20190079500, hereinafter Nakano) and Francis (US 8380652, hereinafter Francis). Regarding Claim 10, Wolter as modified by Nakano teaches: the control system according to claim 9, wherein the robot controller is further configured to: Wolter and Nakano do not appear to explicitly teach all of the following, but Francis does teach: prohibit input of the control command interpreted from the first memory while the robot is operating based on the control command interpreted from the plurality of local commands; and prohibit input of the control command interpreted from the plurality of local commands while the robot is operating based on the control command interpreted from the first memory. (see at least “As mentioned, robots (or any client computing device) may interact with the cloud and users to perform any number of functions. That includes attempting to respond to a situation or scenario where the robot has received potentially, or actually, conflicting commands which would otherwise call for simultaneous execution. In some examples, a method and system is described whereby the robot may autonomously resolve the conflict, as by concluding that one command can take precedence over the other, i.e., relaxing one or more constraints that would otherwise dictate the robot's response to a command. Example functions are described below.” col. 11 lines 21-31) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system taught by Wolter as modified by Nakano to incorporate the teachings Francis wherein the robot controller identifies conflicting commands requesting simultaneous execution and resolves the conflict. The motivation to incorporate the teachings of Francis would be enable the robot to prioritize actions that lead to more benefits or less harm to a situation (see col. 4 lines 54-60), which improves efficiency. Regarding Claim 12, Wolter as modified by Nakano teaches: the control system according to claim 9, wherein the robot controller comprises: Wolter and Nakano do not appear to explicitly teach all of the following, but Francis does teach: a local control mode in which the robot controller controls the motion of the robot based on the control command interpreted from the plurality of local commands and an application control mode in which the robot controller controls the motion of the robot based on the control command interpreted from a computation result by the application that is stored in the first memory. (see at least " As an example, using the object recognition application of FIG. 5, the robot may execute software to perform immediate function calls, such as OrientObject( ) which may return information associated with an object (e.g., placing it right-side up), or RotateObject( ) which may cause the robot to pick up the object and obtain further views/sensory inputs. These immediate functions could be done through local processing within the robot, or by enabling function calls and operation through the cloud, which may facilitate control and operation of the robot without having to control or tie-up more limited computational capacities of the robot, for example." in col. 15 lines 48-59 ) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system taught by Wolter as modified by Nakano to incorporate the teachings Francis wherein the robot controller processes some less computationally complex high-level commands locally while more detailed command processing is done in the cloud. The motivation to incorporate the teachings of Francis would be to more efficiently use the computational capacities of the robot (see co. 15 lines 48-49) Regarding Claim 13, Wolter as modified by Nakano and Francis teaches: the control system according to claim 12, Wolter does not appear to explicitly teach all of the following, but Nakano does teach: wherein the robot controller is further configured to generate a response corresponding to the data read from the first memory and write the response in the first memory (see at least " The first program executing unit 10 writes a first shared variable value 18 which is used in the course of execution of the program to the shared memory 20 in accordance with a command included in the sequence program 30." in par. 0039) , and wherein the computation circuitry is configured to read the response from the second memory, which has been synchronized from the first memory and to pass the response to the application that has requested to write the data in the second memory. (see at least " In this disclosure, the interpreter may write a second shared variable value which is referred to in the course of execution of a program to the shared memory in accordance with the codes described in the application program, and the codes described in the application program may include a special code for waiting for update of the second shared variable value by the first program executing unit after the second shared variable value has been updated. " in par. 0026) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system taught by Wolter as modified by Nakano and Francis to incorporate the teachings of Nakano wherein first memory and second memory are periodically synchronized at a fixed control cycle and are coordinated to read and write variables in a shared memory as needed during execution. The motivation to incorporate the teachings of Nakano would be to coordinate commands from multiple programs while preventing a plurality of elements from simultaneously writing values to shared variables (see par. 0100). Regarding Claim 14, Wolter as modified by Nakano and Francis teaches: the control system according to claim 12, wherein the computation circuitry is configured to: Wolter does not appear to explicitly teach all of the following, but Nakano does teach: queue, in a request storage, a plurality of requests from one or more applications including the application (see at least "The interpreter 162 sequentially queues the created intermediate code 166 in the intermediate code buffer 164, and the CNC instruction value calculating unit 168 reads the intermediate codes 166 which are sequentially queued in the intermediate code buffer 164. " in par. 0097) ; sequentially dequeue the plurality of requests from the request storage and write data corresponding to the dequeued request in the second memory. (see at least " The intermediate code 166 queued in the intermediate code buffer 164 is dequeued by the CNC instruction value calculating unit 168 and is used to calculate the CNC instruction value 170. " in par. 0119 ) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system taught by Wolter as modified by Nakano and Francis to incorporate the teachings of Nakano wherein first memory and second memory are periodically synchronized at a fixed control cycle and are coordinated to read and write variables in a shared memory as needed during execution. The motivation to incorporate the teachings of Nakano would be to coordinate commands from multiple programs while preventing a plurality of elements from simultaneously writing values to shared variables (see par. 0100). Regarding Claim 15, Wolter as modified by Nakano and Francis teaches: the control system according to claim 14, Wolter does not appear to explicitly teach all of the following, but Nakano does teach: wherein the computation circuitry is configured to, in response to reading a response from the second memory, dequeue, from the request storage, a request subsequent to a request corresponding to the response. (see at least "The intermediate code 166 which is created by causing the interpreter 162 to interpret the NC program 34 is sequentially queued (enqueued) in the intermediate code buffer 164 (see FIG. 4). The intermediate code 166 queued in the intermediate code buffer 164 is dequeued by the CNC instruction value calculating unit 168 and is used to calculate the CNC instruction value 170." in par. 0119) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system taught by Wolter as modified by Nakano and Francis to incorporate the teachings of Nakano wherein first memory and second memory are periodically synchronized at a fixed control cycle and are coordinated to read and write variables in a shared memory as needed during execution. The motivation to incorporate the teachings of Nakano would be to coordinate commands from multiple programs while preventing a plurality of elements from simultaneously writing values to shared variables (see par. 0100). Regarding Claim 16, Wolter as modified by Nakano and Francis teaches: the control system according to claim 14, Wolter does not appear to explicitly teach all of the following, but Nakano does teach: wherein the computation circuitry is configured to, if the request is a request for reading the state information of the robot, read the state information from the second memory without queuing the request, and to pass the state information to the application that has made the request. (see at least "The data synchronizing process 188 can be performed at any time in a target control cycle T1, but is performed after the processing of the sequence command processing unit 152 is completed and before the processing of the CNC instruction value calculating unit 168 is performed in this embodiment. This is for immediately reflecting a value, which is output as a shared variable among the instruction values created by the sequence command processing unit 152, in the shared memory 20." in par. 0124) It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system taught by Wolter as modified by Nakano and Francis to incorporate the teachings of Nakano wherein first memory and second memory are periodically synchronized at a fixed control cycle and are coordinated to read and write variables in a shared memory as needed during execution. The motivation to incorporate the teachings of Nakano would be to coordinate commands from multiple programs while preventing a plurality of elements from simultaneously writing values to shared variables (see par. 0100). Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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 DYLAN M KATZ whose telephone number is (571)272-2776. The examiner can normally be reached Mon-Thurs. 8:00-6: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 on (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. /DYLAN M KATZ/Examiner, Art Unit 3657
Read full office action

Prosecution Timeline

Sep 06, 2024
Application Filed
Dec 18, 2025
Non-Final Rejection mailed — §102, §103
Feb 25, 2026
Interview Requested
Mar 05, 2026
Applicant Interview (Telephonic)
Mar 05, 2026
Examiner Interview Summary
Mar 13, 2026
Response Filed
May 01, 2026
Final Rejection mailed — §102, §103
Jul 01, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12679353
COLLISION AVOIDANCE WITH TRAJECTORY EVALUATION
3y 3m to grant Granted Jul 14, 2026
Patent 12679354
SAFETY FILTER WITH PREVIEW DATA TO IMPROVE THE SAFETY OF STEER COMMANDS
2y 5m to grant Granted Jul 14, 2026
Patent 12678945
ESTIMATION OF EXTERNAL FORCE FOR ROBOT CONTROL
1y 11m to grant Granted Jul 14, 2026
Patent 12679390
Unknown
1y 9m to grant Granted Jul 14, 2026
Patent 12667966
ROBOT PROGRAMMING ASSISTANCE APPARATUS, ROBOT PROGRAMMING ASSISTANCE PROGRAM, AND ROBOT PROGRAMMING ASSISTANCE METHOD
2y 0m to grant Granted Jun 30, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

2-3
Expected OA Rounds
87%
Grant Probability
99%
With Interview (+20.9%)
2y 5m (~7m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 301 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month