Prosecution Insights
Last updated: October 02, 2026
Application No. 18/251,897

NUMERICAL CONTROL DEVICE AND NUMERICAL CONTROL SYSTEM

Final Rejection §103
Filed
May 05, 2023
Priority
Nov 13, 2020 — JP 2020-189849 +1 more
Examiner
MERCADO, RAMON A
Art Unit
3658
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
FANUC Corporation
OA Round
4 (Final)
81%
Grant Probability
Favorable
5-6
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 81% — above average
81%
Career Allowance Rate
347 granted / 428 resolved
+29.1% vs TC avg
Strong +19% interview lift
Without
With
+18.8%
Interview Lift
resolved cases with interview
Typical timeline
3y 1m
Avg Prosecution
10 currently pending
Career history
456
Total Applications
across all art units

Statute-Specific Performance

§101
8.2%
-31.8% vs TC avg
§103
57.8%
+17.8% vs TC avg
§102
11.0%
-29.0% vs TC avg
§112
16.3%
-23.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 428 resolved cases

Office Action

§103
DETAILED ACTION This Office Action is taken in response to Applicant’s Amendment and Remarks filed on 03/27/2026 regarding Application No. 18/251,897 originally filed on 05/05/2023. Claims 1-2,4 and 6-7 as filed are currently pending and have been considered as follows: Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Response to Arguments The applicant argues “Applicant respectfully submits that the combination of Sagasaki, Kado, Saitou, and Brogaardh fails to disclose, suggest, or otherwise the combinations of limitations recited in amended claims 1 and 7,” and further argues that “neither Saitou nor Brogaardh discloses, suggests, or otherwise renders obvious” the recited first/second movement command framework, selector, and transmitter. [Remarks, p. 4-7]. The examiner respectfully disagrees. The rejection does not rely on Saitou or Brogaardh for the first-movement-command / second-movement-command framework. Rather, Kado is relied upon for the claimed first movement command generated by performing interpolation processing based on the numerical control program. Kado discloses “a first processing mode in which a first position command ... is generated by performing an interpolation process ... on a program command in a program,” an “interpolation processing unit that obtains first interpolated data,” and a “position command generating unit that generates a first position command” in Claim 1. Kado further discloses that the normal analysis unit analyzes the machining program block by block and that the interpolation processing unit performs interpolation on the extracted movement data in ¶30-¶31. Sagasaki is relied upon for the claimed second movement command that does not include the target movement trajectory, for example, the AM1 joint-axis command system in ¶92-¶94, and for transmission of the robot command to the robot controller in ¶45 and ¶139-¶143. Thus, the combined teachings meet the amended limitation. The applicant argues, in substance, that Sagasaki does not disclose that “the execution entity of the interpolation processing is the robot control device” for the second movement command. [Remarks, p. 7-8]. The examiner respectfully disagrees. Sagasaki expressly discloses robot-controller-side execution of the joint-interpolation behavior. Sagasaki discloses that when the numerical control device issues a robot joint interpolation command, “the robot controller 50X extracts a shaft to be moved by the longest movement distance ... and controls the robot 60 so that the movement time of the extracted shaft will be shortest” in ¶85. Sagasaki further discloses that the program converting unit sends the converted robot program to the robot controller and that “The robot controller 50X controls the robot 60 in accordance with the robot program received” in ¶139-¶143. Thus, Sagasaki teaches both a second movement command that does not include the target movement trajectory and robot-controller-side execution of the relied-upon joint-interpolation control. Applicant’s traversal is therefore unpersuasive. The applicant argues that Saitou “at most may appear to describe” tool information and that Brogaardh “at most may appear to describe” compensation based on measured workpiece deviations. [Remarks, p. 5-6]. The examiner respectfully disagrees. Saitou is relied upon for the storage of tool information and compensation based on tool information. Saitou discloses that the machining program includes “information about a tool used for machining” in ¶42, that such information includes “type, dimension, etc. of a tool” in ¶44, and that “the numerical controller 310 generates a tool path through tool shape compensation” in ¶42. Brogaardh is additionally relied upon for workpiece-based compensation, disclosing that deviations between the processed work object and the reference object are used to compensate the robot program “throughout the programmed paths in such a way that the errors are compensated for” at page 5, lines 20-30. It would have been obvious to apply the teachings of Sagasaki, Kado, Saitou, and Brogaardh to enable another standard means of generating different robot movement commands while compensating the commanded trajectory using stored tool or workpiece information. Applicant’s traversal is therefore unpersuasive, and the obviousness rejection of the claims should be maintained. Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claim(s) 1-2, 4 and 7 are rejected under 35 U.S.C. 103 as being unpatentable over Sagasaki (US Pub. No. 20220011754) in view of Kado (US Pub. No. 20150127140) in view of Saitou (US Pub. No. 20190129382) in further view of Brogaardh (WO Pub. No. 2008113807). As per Claim 1, Sagasaki discloses of a numerical control device comprising: a machine tool control module that controls operation of a machine tool based on a numerical control program to machine a workpiece; (as per Fig. 1, as per “A control system 100A is a system for controlling a machine tool 70 and a robot 60 by using numerical control (NC) programs” in ¶38) a robot control module that generates operation command for a robot controller that controls operation of a robot to move a control point of the robot based on a numerical control program; (as per “sends the robot program to the robot controller 50X.” in ¶73, as per “the robot IF 510 performs a process associated with the function and the command coordinates on the robot 60” in ¶197) wherein the robot control module includes: a first movement command generator that calculates a target movement trajectory, which is a target of a movement trajectory of the control point, (as per "The function of G201 is a function of moving the robot 60 by linear interpolation (robot linear interpolation). Thus, G201 is a robot linear interpolation command for moving the robot 60 by linear interpolation." in ¶81) a second movement command generator (as per “A second command system of robot joint interpolation commands is a shaft movement amount command system. In the description below, the shaft movement amount command system of robot joint interpolation commands will be referred to as a shaft movement amount command system AM1. The shaft movement amount command system AM1 of robot joint interpolation commands is a command system for controlling the position of the robot 60 to be a position specified by a joint shaft of the robot 60” in ¶92) that generates a second movement command which does not include the target movement trajectory (as per “robot joint interpolation command is a command for controlling the robot 60 so that the movement time of a shaft to be moved by the longest movement distance among shafts in operation is shortest. When the numerical control device 1X issues a command of robot joint interpolation to move the position of the robot hand 61 of the robot 60 from a start point PA to an end point PB, the robot controller 50X extracts a shaft to be moved by the longest movement distance from the start point PA to the end point PB among the shafts of the robot 60, and controls the robot 60 so that the movement time of the extracted shaft will be shortest” in ¶85) and whose execution entity of the interpolation processing is the robot control device based on the numerical control program; (as per "the program converting unit 414 sends the robot program obtained by the conversion to the robot controller 50X (step S5). The robot controller 50X controls the robot 60 in accordance with the robot program received from the program converting unit 414 (step S6)… (command coordinates (10, 10, 10, 10, 10, 10, 1, 5))” and “N14 RX200.; (command coordinates (200, 10, 10, 10, 10, 10, 1, 5))” included in the NC program 201 correspond to robot joint interpolation. The program converting unit 414 converts the robot joint interpolation into robot program instructions corresponding to the robot joint interpolation” in ¶139-¶143) a transmitter that transmits a movement command generated by the movement command generation subject to the robot controller to move the control point of the robot. (as per "The robot controller 50X controls the robot 60 in accordance with the robot program sent from the numerical control device 1X. " in ¶45) the first movement command generator as a movement command generation subject when the robot is performing machining (as per “The function of G201 is a function of moving the robot 60 by linear interpolation (robot linear interpolation). Thus, G201 is a robot linear interpolation command for moving the robot 60 by linear interpolation” in ¶81, as per “In control system 100A, the robot 60 loads a raw workpiece 82 placed in a raw piece placement area 75 onto the machine tool 70 (ST1). The machine tool 70 machines the workpiece 82 by using a tool 71 (ST2)… Thereafter, the robot 60 grips a deburring tool 84, which is an external tool, with the robot hand 61, and the deburring tool 84 deburrs the machined workpiece 82 (ST4).” in ¶146) the second movement command generator as the movement command generation subject when the robot is performing transporting. (as per “A second command system of robot joint interpolation commands is a shaft movement amount command system. In the description below, the shaft movement amount command system of robot joint interpolation commands will be referred to as a shaft movement amount command system AM1. The shaft movement amount command system AM1 of robot joint interpolation commands is a command system for controlling the position of the robot 60 to be a position specified by a joint shaft of the robot 60.” in ¶92, as per “the robot 60 moves the machined workpiece to the temporary placement area 76 in N730, the robot 60 temporarily places the machined workpiece in the temporary placement area 76” in ¶185) Sagasaki fails to expressly disclose: a storage device that stores at least either tool information on a shape of a tool used by the robot or workpiece information on an installation position of a workpiece to be machined by the machine tool: generates a first movement command including the target movement trajectory by performing interpolation processing based on the numerical control program; a selector that selects the first movement command generator or selects the second movement command generator as the movement command generation subject; wherein the first movement command generator generates the first movement command by compensating a movement trajectory of the control point designated by the numerical control program based on at least either of the tool information or the workpiece information. Kado discloses of a numerical control system (as per Abstract), comprising: generates a first movement command including the target movement trajectory by performing interpolation processing based on the numerical control program; (as per “a switching unit that switches between a first processing mode in which a first position command for an amplifier, which drives a motor, is generated by performing an interpolation process and an acceleration/deceleration process on a program command in a program… an interpolation processing unit that obtains first interpolated data by performing the interpolation process on the movement data when operating in the first processing mode; a second analysis unit that extracts interpolated movement data as second interpolated data by analyzing the program command when operating in the second processing mode; an acceleration/deceleration processing unit that performs the acceleration/deceleration process on the first interpolated data when operating in the first processing mode… and a position command generating unit that generates a first position command for the amplifier by using first interpolated data on which the acceleration/deceleration process is performed when operating in the first processing mode” in Claim 1, as per “The normal analysis unit 14A transmits the extracted movement data to the interpolation processing unit 15 as an analysis result… The interpolation processing unit 15 performs the interpolation process to obtain the amount of feed (such as the amount a servo shaft is fed in machining) during every interpolation cycle (during every interpolation cycle T1 in the normal processing mode, which will be described later) on the basis of the movement data (such as the start point, the end point, and the feed rate) transmitted from the normal analysis unit 14A. The interpolation processing unit 15 transmits, to the acceleration/deceleration processing unit 16, the feed amount data obtained after the interpolation as interpolated data A1.” in ¶30-¶31, as per ¶39-¶40) a selector that selects the first movement command generator or selects the second movement command generator as the movement command generation subject. (as per “a switching unit that switches between a first processing mode in which a first position command for an amplifier, which drives a motor, is generated by performing an interpolation process and an acceleration/deceleration process on a program command in a program, and a second processing mode in which a position command for the amplifier is generated as a second position command generated every intra-amplifier control cycle by performing an acceleration/deceleration process on a command that is generated every intra-amplifier control cycle,” in ¶11, as per “When the initial mode parameter is a direct command (Yes at Step S1), the switching unit 13 switches the numerical control device 1 to the direct command mode (Step S2). In contrast, when the initial mode parameter is a normal processing command (No at Step S1), the switching unit 13 switches the numerical control device 1 to the normal processing mode (Step S3)” in ¶53, as per ¶28-¶29) In this way, Kado operates to improve machining performance (as per ¶69). Like Sagasaki, Kado is concerned with numerical control systems. It would have been obvious for one of ordinary skill in the art before the effective filing date to have modified the numerical control device of Sagasaki with the switching teachings of Kado to enable selection between different movement command generation modes on the basis of the numerical control program. Such modification also allows Sagasaki’s robot control to dynamically select between different movement command types for different robot operations, for example selecting linear-interpolation movement commands for machining operations such as deburring and selecting joint-axis movement commands for transport operations such as loading, unloading, and placement of a workpiece (¶81, ¶92-¶94, ¶146, ¶185). Sagasaki and Kado fail to expressly disclose: a storage device that stores at least either tool information on a shape of a tool used by the robot or workpiece information on an installation position of a workpiece to be machined by the machine tool; wherein the first movement command generator generates the first movement command by compensating a movement trajectory of the control point designated by the numerical control program based on at least either of the tool information or the workpiece information. Saitou discloses of a numerical controller, comprising: a storage device that stores tool information on a shape of a tool used by the robot (as per “If a machining program is given the shape of a machining surface, the numerical controller 310 generates a tool path through tool shape compensation. If a machining program is given the shape of a machining surface, the machining program includes information pieces from information Inf1A to Information Inf5A as follows: (Inf1A) information about the shape of a machining surface; (Inf2A) information about a characteristic shape on a machining surface; (Inf3A) information about a tool used for machining; (Inf4A) information about a machining condition; and (Inf5A) information about order of machining” in ¶42, as per “The information Inf3A (=information about a tool used for machining) includes information about the type, dimension, etc. of a tool, for example” in ¶44) wherein the first movement command generator generates the first movement command by compensating a movement trajectory of the control point designated by the numerical control program based on the tool information. (as per “In another case, a machining program to be input into the numerical controller 310 is given a tool path resulting from offsetting of a tool shape to conform to the shape of a machining surface. If a machining program is given the shape of a machining surface, the numerical controller 310 generates a tool path through tool shape compensation” in ¶42, as per “If a machining program is given a tool path resulting from. offsetting of a tool shape to conform to the shape of a machining surface” in ¶43, ¶55) In this way, Saitou operates to generate/alter control-relevant path data using tool geometry (dimensions) and tool offset/compensation (¶42-¶45). Like Sagasaki and Kado, Saitou is concerned with numerical control systems. It would have been obvious for one of ordinary skill in the art before the effective filing date to have modified the system(s) of Sagasaki and Kado with the numerical controller of Saitou to yield a controller that adjusts the commanded trajectory using tool shape. Such modification also allows the system to offset a tool shape to conform to the shape of a machining surface (¶43). Saitou fails to expressly disclose: a storage device that stores workpiece information on an installation position of a workpiece to be machined by the machine tool; wherein the first movement command generator generates the first movement command by compensating a movement trajectory of the control point designated by the numerical control program based on the workpiece information. Brogaardh discloses of programming a material removal process carried out on an object by means of a robot, comprising: a storage device that stores workpiece information on an installation position of a workpiece to be machined by the machine tool; (as per “picking a reference object processed with a desired process result, measuring the geometry of the processed parts of the reference object and storing the measurement results,” in P2L30-36, as per “measuring the geometry of the work object after the removal process and storing the measurement results,” in P3L1-6) wherein the first movement command generator generates the first movement command by compensating a movement trajectory of the control point designated by the numerical control program based on the workpiece information. (as per “the deviations between the geometry of the robot processed work object and the processed reference object are calculated based on the stored measurements of the work object and the stored measurements of the reference object. In this way errors in the material removal of the robot are obtained and can be compensated for by adjusting the robot program throughout the programmed paths in such a way that the errors are compensated for” in P5L20-30, as per “The real pattern 35 is then measured by a scanner 36, which could be the same as the scanner 33, and the measured pattern profiles are compared with the CAD model or the processed reference object and the errors are then used to compensate the robot program iteratively. After that the production can start” in P12L15-25) In this way, Brogaardh operates to alter control-relevant path data using workpiece information (P5L20-30). Like Sagasaki, Kado, and Saitou, Brogaardh is concerned with numerical control systems (P3L25-25). It would have been obvious for one of ordinary skill in the art before the effective filing date to have modified the system(s) of Sagasaki, Kado, and Saitou with Brogaardh to yield a controller that adjusts the a trajectory using workpiece information. Such modification also allows the system to store workpiece measurement results and adjust/store a corresponding path for later selection (P12L15-25). As per Claim 2, the combination of Sagasaki, Kado, Saitou, and Brogaardh teaches or suggests all limitations of Claim 1. Sagasaki further discloses wherein: the first movement command includes a coordinate value of a designated position for each designated time obtained by time division of the target movement trajectory, (as per “In the coordinate command system CM1, a command of robot joint interpolation is issued in a format of “G200 RX_ RY_ RZ_ RA_ RB_ RC_ RS_ RT_ R_”. All of RX, RY, RZ, RA, RB, RC, RS, and RT are commands for the robot 60… RX_, RY_, and RZ_ in the coordinate command system CM1 are robot cartesian coordinate commands, and RA_, RB_, and RC_ are robot rotating coordinate commands. The robot cartesian coordinate commands are command specifying coordinates (X coordinate, Y coordinate, Z coordinate) in the cartesian coordinate system (X axis, Y axis, Z axis) of the robot 60. The robot rotating coordinate commands are commands specifying coordinates (A coordinate, B coordinate, C coordinate) in a rotating coordinate system (A axis, B axis, C axis) of the robot 60.” in ¶88-¶89, ¶66) when the first movement command generator is selected as the movement command generation subject, the transmitter transmits the first movement command to the robot controller at each of the designated time. (as per “The program converting unit 414 converts the robot joint interpolation into robot program instructions corresponding to the robot joint interpolation by using the robot command list information 101, the association information 102, the joint interpolation information 103, and the address information 104.” in ¶143) In this way, Kado operates to improve machining performance (as per ¶69). Like Sagasaki, Saitou, and Brogaardh, Kado is concerned with numerical control systems. It would have been obvious for one of ordinary skill in the art before the effective filing date to have modified the system(s) of Sagasaki, Saitou, and Brogaardh with the numerical control system of Kado to enable selection between different movement command generation modes on the basis of the numerical control program. Such modification also allows the system to dynamically select between different movement command types for different robot operations, for example selecting linear-interpolation movement commands for machining operations such as deburring and selecting joint-axis movement commands for transport operations such as loading, unloading, and placement of a workpiece (¶81, ¶92-¶94, ¶146, ¶185). As per Claim 4, the combination of Sagasaki, Kado, Saitou, and Brogaardh teaches or suggests all limitations of Claim 1. Sagasaki fails to expressly discloses wherein the selector selects, as the movement command generation subject, one of the first movement command generator and the second movement command generator based on the numerical control program. See Claim 1 for teachings of Kado. Kado further discloses wherein the selector selects, as the movement command generation subject, one of the first movement command generator and the second movement command generator based on the numerical control program. (as per “a switching unit that switches between a first processing mode in which a first position command for an amplifier, which drives a motor, is generated by performing an interpolation process and an acceleration/deceleration process on a program command in a program, and a second processing mode in which a position command for the amplifier is generated as a second position command generated every intra-amplifier control cycle by performing an acceleration/deceleration process on a command that is generated every intra-amplifier control cycle,” in ¶11, as per “When the initial mode parameter is a direct command (Yes at Step S1), the switching unit 13 switches the numerical control device 1 to the direct command mode (Step S2). In contrast, when the initial mode parameter is a normal processing command (No at Step S1), the switching unit 13 switches the numerical control device 1 to the normal processing mode (Step S3)” in ¶53, as per ¶28-¶29) In this way, Kado operates to improve machining performance (as per ¶69). Like Sagasaki, Saitou, and Brogaardh, Kado is concerned with numerical control systems. It would have been obvious for one of ordinary skill in the art before the effective filing date to have modified the system(s) of Sagasaki, Saitou, and Brogaardh with the numerical control system of Kado to enable selection between different movement command generation modes on the basis of the numerical control program. Such modification also allows the system to dynamically select between different movement command types for different robot operations, for example selecting linear-interpolation movement commands for machining operations such as deburring and selecting joint-axis movement commands for transport operations such as loading, unloading, and placement of a workpiece (¶81, ¶92-¶94, ¶146, ¶185). As per Claim 7, Sagasaki discloses of a numerical control device (as per Abstract), comprising: a numerical control device that controls operation of a machine tool to machine a workpiece and generates a movement command for moving a control point of a robot, based on a numerical control program; (as per “A control system 100A is a system for controlling a machine tool 70 and a robot 60 by using numerical control (NC) programs” in ¶38, as per Fig. 1) a robot controller that is communicable with the numerical control device and controls operation of the robot based on a movement command transmitted from the numerical control device, (as per “the machine tool 70, the numerical control device 1X, and the robot controller 50X communicate with each other, and the robot controller 50X and the robot 60 communicate with each other.” in ¶41) wherein the numerical control device includes: a first movement command generator that calculates a target movement trajectory, which is a target of a movement trajectory of the control point, (as per "The function of G201 is a function of moving the robot 60 by linear interpolation (robot linear interpolation). Thus, G201 is a robot linear interpolation command for moving the robot 60 by linear interpolation." in ¶81) a second movement command generator (as per “A second command system of robot joint interpolation commands is a shaft movement amount command system. In the description below, the shaft movement amount command system of robot joint interpolation commands will be referred to as a shaft movement amount command system AM1. The shaft movement amount command system AM1 of robot joint interpolation commands is a command system for controlling the position of the robot 60 to be a position specified by a joint shaft of the robot 60” in ¶92) that generates a second movement command which does not include the target movement trajectory (as per “robot joint interpolation command is a command for controlling the robot 60 so that the movement time of a shaft to be moved by the longest movement distance among shafts in operation is shortest. When the numerical control device 1X issues a command of robot joint interpolation to move the position of the robot hand 61 of the robot 60 from a start point PA to an end point PB, the robot controller 50X extracts a shaft to be moved by the longest movement distance from the start point PA to the end point PB among the shafts of the robot 60, and controls the robot 60 so that the movement time of the extracted shaft will be shortest” in ¶85) and whose execution entity of the interpolation processing is the robot control device based on the numerical control program; (as per "the program converting unit 414 sends the robot program obtained by the conversion to the robot controller 50X (step S5). The robot controller 50X controls the robot 60 in accordance with the robot program received from the program converting unit 414 (step S6)… (command coordinates (10, 10, 10, 10, 10, 10, 1, 5))” and “N14 RX200.; (command coordinates (200, 10, 10, 10, 10, 10, 1, 5))” included in the NC program 201 correspond to robot joint interpolation. The program converting unit 414 converts the robot joint interpolation into robot program instructions corresponding to the robot joint interpolation” in ¶139-¶143) a transmitter that transmits a movement command generated by the movement command generation subject to the robot controller, (as per "The robot controller 50X controls the robot 60 in accordance with the robot program sent from the numerical control device 1X. " in ¶45) wherein the robot controller moves the control point by controlling operation of the robot based on the second movement command when receiving the second movement command, (as per “The function of G200 is a function of causing the robot 60 to operate by joint interpolation (robot joint interpolation). Thus, G200 is a robot joint interpolation command for causing the robot 60 to operate by joint interpolation” in ¶79) moves the control point by controlling operation of the robot to move the control point along the target movement trajectory when receiving the first movement command. (as per “The function of G201 is a function of moving the robot 60 by linear interpolation (robot linear interpolation). Thus, G201 is a robot linear interpolation command for moving the robot 60 by linear interpolation” ion ¶81) the first movement command generator as a movement command generation subject when the robot is performing machining (as per “The function of G201 is a function of moving the robot 60 by linear interpolation (robot linear interpolation). Thus, G201 is a robot linear interpolation command for moving the robot 60 by linear interpolation” in ¶81, as per “In control system 100A, the robot 60 loads a raw workpiece 82 placed in a raw piece placement area 75 onto the machine tool 70 (ST1). The machine tool 70 machines the workpiece 82 by using a tool 71 (ST2)… Thereafter, the robot 60 grips a deburring tool 84, which is an external tool, with the robot hand 61, and the deburring tool 84 deburrs the machined workpiece 82 (ST4).” in ¶146) the second movement command generator as the movement command generation subject when the robot is performing transporting. (as per “A second command system of robot joint interpolation commands is a shaft movement amount command system. In the description below, the shaft movement amount command system of robot joint interpolation commands will be referred to as a shaft movement amount command system AM1. The shaft movement amount command system AM1 of robot joint interpolation commands is a command system for controlling the position of the robot 60 to be a position specified by a joint shaft of the robot 60.” in ¶92, as per “the robot 60 moves the machined workpiece to the temporary placement area 76 in N730, the robot 60 temporarily places the machined workpiece in the temporary placement area 76” in ¶185) Sagasaki fails to expressly disclose: a storage device that stores at least either tool information on a shape of a tool used by the robot or workpiece information on an installation position of a workpiece to be machined by the machine tool; generates a first movement command including the target movement trajectory by performing interpolation processing based on the numerical control program; a selector that selects the first movement command generator or selects the second movement command generator as the movement command generation subject; wherein the first movement command generator generates the first movement command by compensating a movement trajectory of the control point designated by the numerical control program based on at least either of the tool information or the workpiece information, Kado discloses of a numerical control system (as per Abstract), comprising: generates a first movement command including the target movement trajectory by performing interpolation processing based on the numerical control program; (as per “a switching unit that switches between a first processing mode in which a first position command for an amplifier, which drives a motor, is generated by performing an interpolation process and an acceleration/deceleration process on a program command in a program… an interpolation processing unit that obtains first interpolated data by performing the interpolation process on the movement data when operating in the first processing mode; a second analysis unit that extracts interpolated movement data as second interpolated data by analyzing the program command when operating in the second processing mode; an acceleration/deceleration processing unit that performs the acceleration/deceleration process on the first interpolated data when operating in the first processing mode… and a position command generating unit that generates a first position command for the amplifier by using first interpolated data on which the acceleration/deceleration process is performed when operating in the first processing mode” in Claim 1, as per “The normal analysis unit 14A transmits the extracted movement data to the interpolation processing unit 15 as an analysis result… The interpolation processing unit 15 performs the interpolation process to obtain the amount of feed (such as the amount a servo shaft is fed in machining) during every interpolation cycle (during every interpolation cycle T1 in the normal processing mode, which will be described later) on the basis of the movement data (such as the start point, the end point, and the feed rate) transmitted from the normal analysis unit 14A. The interpolation processing unit 15 transmits, to the acceleration/deceleration processing unit 16, the feed amount data obtained after the interpolation as interpolated data A1.” in ¶30-¶31, as per ¶39-¶40) a selector that selects the first movement command generator or selects the second movement command generator as the movement command generation subject. (as per “a switching unit that switches between a first processing mode in which a first position command for an amplifier, which drives a motor, is generated by performing an interpolation process and an acceleration/deceleration process on a program command in a program, and a second processing mode in which a position command for the amplifier is generated as a second position command generated every intra-amplifier control cycle by performing an acceleration/deceleration process on a command that is generated every intra-amplifier control cycle,” in ¶11, as per “When the initial mode parameter is a direct command (Yes at Step S1), the switching unit 13 switches the numerical control device 1 to the direct command mode (Step S2). In contrast, when the initial mode parameter is a normal processing command (No at Step S1), the switching unit 13 switches the numerical control device 1 to the normal processing mode (Step S3)” in ¶53, as per ¶28-¶29) In this way, Kado operates to improve machining performance (as per ¶69). Like Sagasaki, Kado is concerned with numerical control systems. It would have been obvious for one of ordinary skill in the art before the effective filing date to have modified the numerical control device of Sagasaki with the switching teachings of Kado to enable selection between different movement command generation modes on the basis of the numerical control program. Such modification also allows Sagasaki’s robot control to dynamically select between different movement command types for different robot operations, for example selecting linear-interpolation movement commands for machining operations such as deburring and selecting joint-axis movement commands for transport operations such as loading, unloading, and placement of a workpiece (¶81, ¶92-¶94, ¶146, ¶185). Sagasaki and Kado fail to expressly disclose: a storage device that stores at least either tool information on a shape of a tool used by the robot or workpiece information on an installation position of a workpiece to be machined by the machine tool; wherein the first movement command generator generates the first movement command by compensating a movement trajectory of the control point designated by the numerical control program based on at least either of the tool information or the workpiece information, Saitou discloses of a numerical controller, comprising: a storage device that stores tool information on a shape of a tool used by the robot (as per “If a machining program is given the shape of a machining surface, the numerical controller 310 generates a tool path through tool shape compensation. If a machining program is given the shape of a machining surface, the machining program includes information pieces from information Inf1A to Information Inf5A as follows: (Inf1A) information about the shape of a machining surface; (Inf2A) information about a characteristic shape on a machining surface; (Inf3A) information about a tool used for machining; (Inf4A) information about a machining condition; and (Inf5A) information about order of machining” in ¶42, as per “The information Inf3A (=information about a tool used for machining) includes information about the type, dimension, etc. of a tool, for example” in ¶44) wherein the first movement command generator generates the first movement command by compensating a movement trajectory of the control point designated by the numerical control program based on the tool information. (as per “In another case, a machining program to be input into the numerical controller 310 is given a tool path resulting from offsetting of a tool shape to conform to the shape of a machining surface. If a machining program is given the shape of a machining surface, the numerical controller 310 generates a tool path through tool shape compensation” in ¶42, as per “If a machining program is given a tool path resulting from. offsetting of a tool shape to conform to the shape of a machining surface” in ¶43, ¶55) In this way, Saitou operates to generate/alter control-relevant path data using tool geometry (dimensions) and tool offset/compensation (¶42-¶45). Like Sagasaki and Kado, Saitou is concerned with numerical control systems. It would have been obvious for one of ordinary skill in the art before the effective filing date to have modified the system(s) of Sagasaki and Kado with the numerical controller of Saitou to yield a controller that adjusts the commanded trajectory using tool shape. Such modification also allows the system to offset a tool shape to conform to the shape of a machining surface (¶43). Saitou fails to expressly disclose: a storage device that stores workpiece information on an installation position of a workpiece to be machined by the machine tool; wherein the first movement command generator generates the first movement command by compensating a movement trajectory of the control point designated by the numerical control program based on the workpiece information. Brogaardh discloses of programming a material removal process carried out on an object by means of a robot, comprising: a storage device that stores workpiece information on an installation position of a workpiece to be machined by the machine tool; (as per “picking a reference object processed with a desired process result, measuring the geometry of the processed parts of the reference object and storing the measurement results,” in P2L30-36, as per “measuring the geometry of the work object after the removal process and storing the measurement results,” in P3L1-6) wherein the first movement command generator generates the first movement command by compensating a movement trajectory of the control point designated by the numerical control program based on the workpiece information. (as per “the deviations between the geometry of the robot processed work object and the processed reference object are calculated based on the stored measurements of the work object and the stored measurements of the reference object. In this way errors in the material removal of the robot are obtained and can be compensated for by adjusting the robot program throughout the programmed paths in such a way that the errors are compensated for” in P5L20-30, as per “The real pattern 35 is then measured by a scanner 36, which could be the same as the scanner 33, and the measured pattern profiles are compared with the CAD model or the processed reference object and the errors are then used to compensate the robot program iteratively. After that the production can start” in P12L15-25) In this way, Brogaardh operates to alter control-relevant path data using workpiece information (P5L20-30). Like Sagasaki, Kado, and Saitou, Brogaardh is concerned with numerical control systems (P3L25-25). It would have been obvious for one of ordinary skill in the art before the effective filing date to have modified the system(s) of Sagasaki, Kado, and Saitou with Brogaardh to yield a controller that adjusts the a trajectory using workpiece information. Such modification also allows the system to store workpiece measurement results and adjust/store a corresponding path for later selection (P12L15-25). Claim(s) 6 is rejected under 35 U.S.C. 103 as being unpatentable over Sagasaki (US Pub. No. 20220011754) in view of Kado (US Pub. No. 20150127140) in view of Saitou (US Pub. No. 20190129382) in view of Brogaardh (WO Pub. No. 2008113807) in further view of Haraguchi (US Pub. No. 20150112459). As per Claim 6, the combination of Sagasaki, Kado, Saitou, and Brogaardh teaches or suggests all limitations of Claim 1. Sagasaki, Kado, Saitou, and Brogaardh fail to expressly disclose wherein the first movement command generator generates the first movement command by prefetching a command block executed after a predetermined time period from a present time among a plurality of command blocks constituting the numerical control program. Haraguchi discloses of a numerical control provided with program pre-reading function (as per Abstract), wherein the first movement command generator generates the first movement command by prefetching a command block executed after a predetermined time period from a present time among a plurality of command blocks constituting the numerical control program. (as per “in first means for determining the execution times of pre-read blocks, machining is performed in advance by using the machine tool, the execution times of each block when the machining is performed is measured, and the execution times thus measured are stored in a storage device of the controller of the machine tool.” in ¶97, as per “The execution time calculation unit may include: a division unit which divides a tool path into segments which are small sections;… a segment movement time calculation unit which calculates a time required for a tool to move along each segment, on the basis of the speed in the tangential direction as determined by the speed calculation unit; and a tool movement time calculation unit which determines, as a tool movement time, a sum of the times taken to move along each segment calculated by the segment movement time calculation unit, and the numerical controller may be configured so as to calculate a time required for the tool to move along a designated path in accordance with NC commands.” in ¶42) In this way, Haraguchi operates improve the prediction accuracy of the machining time and shorten the calculation time for predicting the machining time (as per ¶6). Like Sagasaki, Kado, Saitou, and Brogaardh, Haraguchi is concerned with numeric controllers. It would have been obvious for one of ordinary skill in the art before the effective filing date to have modified the system(s) of Sagasaki, Kado, Saitou, and Brogaardh with the numerical controller of Haraguchi to enable another standard means of generating a movement command by pre-reading blocks of a plurality of numerical control programs (¶97). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Terada (US Pub. No. 20150227130) discloses a numerical control device. Sasaki (US Pub. No. 20180329391) discloses a numerical control device. 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 TYLER R ROBARGE whose telephone number is (703)756-5872. The examiner can normally be reached Monday - Friday, 8:00 am - 5:00 pm EST. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ramón Mercado can be reached at (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 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. /T.R.R./Examiner, Art Unit 3658 /Ramon A. Mercado/Supervisory Patent Examiner, Art Unit 3658
Read full office action

Prosecution Timeline

Show 1 earlier event
Feb 21, 2025
Non-Final Rejection mailed — §103
May 20, 2025
Response Filed
Jul 31, 2025
Final Rejection mailed — §103
Nov 24, 2025
Request for Continued Examination
Dec 04, 2025
Response after Non-Final Action
Dec 29, 2025
Non-Final Rejection mailed — §103
Mar 27, 2026
Response Filed
Apr 20, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12734848
SYSTEM AND METHOD FOR TIRE INFLATOR MANAGEMENT
2y 9m to grant Granted Sep 15, 2026
Patent 12722296
MOTION PLANNING AND CONTROL FOR ROBOTS IN SHARED WORKSPACE EMPLOYING STAGING POSES
3y 5m to grant Granted Sep 01, 2026
Patent 12654679
VEHICLE TRAVEL CONTROL DEVICE
2y 8m to grant Granted Jun 16, 2026
Patent 12638853
REMOTE CONTROL SYSTEM, REMOTE CONTROL DEACTIVATION DEVICE, AND REMOTE CONTROL DEACTIVATION METHOD
2y 2m to grant Granted May 26, 2026
Patent 12632377
BLOCK STATUS PARITY DATA IN MEMORY
1y 10m to grant Granted May 19, 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

5-6
Expected OA Rounds
81%
Grant Probability
99%
With Interview (+18.8%)
3y 1m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 428 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