Prosecution Insights
Last updated: April 19, 2026
Application No. 18/260,848

NUMERICAL CONTROL APPARATUS AND NUMERICAL CONTROL SYSTEM

Non-Final OA §103
Filed
Jul 10, 2023
Examiner
KENIRY, HEATHER J
Art Unit
3657
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
Fanuc Corporation
OA Round
3 (Non-Final)
78%
Grant Probability
Favorable
3-4
OA Rounds
2y 7m
To Grant
99%
With Interview

Examiner Intelligence

Grants 78% — above average
78%
Career Allow Rate
80 granted / 102 resolved
+26.4% vs TC avg
Strong +22% interview lift
Without
With
+22.1%
Interview Lift
resolved cases with interview
Typical timeline
2y 7m
Avg Prosecution
32 currently pending
Career history
134
Total Applications
across all art units

Statute-Specific Performance

§101
13.1%
-26.9% vs TC avg
§103
50.8%
+10.8% vs TC avg
§102
14.8%
-25.2% vs TC avg
§112
18.9%
-21.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 102 resolved cases

Office Action

§103
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . DETAILED ACTION This Office action is in response to the amendment filed on 12/30/2025. Claims 1-2 and 4-5 are currently pending with claims 1-2 and 4-5 being amended, and claims 3 and 6 being cancelled. Response to Arguments Applicant’s amendments/arguments, see communications, filed 12/30/2025, with respect to the rejection(s) of claim(s) 1-6 under 35 U.S.C. 103 have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Lilienthal et al. (EP 1375083 B1). Applicant’s arguments/amendments, see communications, filed 12/30/2025, with respect to the interpretation of claim language under 35 U.S.C. 112(f) and corresponding rejection of claims under 35 U.S.C. 112(b) have been fully considered and are persuasive. The interpretation of claim language under 35 U.S.C. 112(f) and corresponding rejection of claims under 35 U.S.C. 112(b) has been withdrawn. 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 and 4-5 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sagasaki et al. (US 20220011754 A1), hereinafter Sagasaki in view of Kuzmin et al. (US 20200364173 A1), hereinafter Kuzmin and Lilienthal et al. (EP 1375083 B1), hereinafter Lilienthal. Regarding claim 1, Sagasaki teaches: 1. (currently amended) A numerical control apparatus for controlling operation of a machine tool based on a numerical control program, (Paragraph 0002, "One example of numerical control devices is a control device that performs control of a machine tool for machining an object to be machined concurrently with control of a robot for conveying the object to be machined.") and generating and inputting to a robot control device, in relation to the robot control device which controls operations of a robot (Paragraph 0073, " The program converting unit 414 converts a program for the robot 60 in the NC programs into a robot program that can be interpreted by the robot controller 50X by using robot command list information 101, association information 102, joint interpolation information 103, address information 104, linear interpolation information 105, and circular interpolation information 106, which will be described later. In other words, the program converting unit 414 is a conversion unit that converts a command for the robot 60 generated in an NC program into a command in a robot program. Commands for the robot 60 among commands in NC programs are described using RX_, RY_, RZ_, and the like, which will be described later. The program converting unit 414 sends the robot program to the robot controller 50X.") … a robot command for moving a robot control axis of the robot and a travel axis command (Paragraph 0088, "A first command system of robot joint interpolation commands is a coordinate command system. In the description below, the coordinate command system of robot joint interpolation commands will be referred to as a coordinate command system CM1. The coordinate command system CM1 is a command system for controlling the position of the robot 60 to be a position specified in the robot coordinates. 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."as well as paragraph 0106, "In addition, in the coordinate command system CM3, HS_ represents robot posture data (1) at the auxiliary point HP, and HT_ represents robot posture data (2) at the auxiliary point HP. In addition, W_ in the coordinate command system CM3 represents an angle of movement by a circular interpolation command. When a command of W30 is issued, a base that supports the entire robot 60 moves by 30° along a circular arc path toward the end point PF via the auxiliary point HP.") … the numerical control apparatus (Paragraph 0002, "One example of numerical control devices is a control device that performs control of a machine tool for machining an object to be machined concurrently with control of a robot for conveying the object to be machined.") comprising: a processor configured to(Paragraphs 0290-0291, "The control computation unit 2X is implemented by the processor 301 by reading and executing programs for performing operations of the control computation unit 2X stored in the memory 302. In other words, the programs cause a computer to execute the procedures or methods of the control computation unit 2X. The memory 302 is also used as a temporary memory when the processor 301 executes various processes. The programs to be executed by the processor 301 may be a computer program product including a computer-readable and non-transitory recording medium containing a plurality of computer-executable instructions for performing data processing. The programs to be executed by the processor 301 include a plurality of instructions that cause a computer to perform data processing.") manage a current coordinate value, which is a current coordinate value of the robot control axis, and a travel axis current coordinate value, which is a current coordinate value of the travel axis, by using a memory (Paragraphs 0089-0090, "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 other words, in the coordinate command system CM1, the address of a robot joint interpolation command is expressed by an X coordinate, a Y coordinate, a Z coordinate, an A coordinate, a B coordinate, and a C coordinate. In addition, in the coordinate command system CM1, RS_ represents robot posture data (1), and RT_ represents robot posture data (2). The robot posture data (1) and the robot posture data (2) are data specifying the posture of the robot 60. Because the robot 60 has a plurality of joints, the robot 60 can take various postures even when one position is specified. The robot posture data (1) and the robot posture data (2) specify the posture to be taken by the robot 60.") and generate current coordinate value and the travel axis current coordinate value; and (Paragraph 0073, "The program converting unit 414, which is a conversion unit, generates a robot program to be used for controlling the robot 60 by converting a command (a second command) defined in the coordinate system of the machine tool 70 into a command (a third command) defined in the coordinate system of the robot 60. The program converting unit 414 converts a program for the robot 60 in the NC programs into a robot program that can be interpreted by the robot controller 50X by using robot command list information 101, association information 102, joint interpolation information 103, address information 104, linear interpolation information 105, and circular interpolation information 106, which will be described later. In other words, the program converting unit 414 is a conversion unit that converts a command for the robot 60 generated in an NC program into a command in a robot program. Commands for the robot 60 among commands in NC programs are described using RX_, RY_, RZ_, and the like, which will be described later. The program converting unit 414 sends the robot program to the robot controller 50X.") transmit , (Paragraph 0041, "In the control system 100A, 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. Thus, in the control system 100A, the numerical control device 1X and the robot 60 are connected to each other via the robot controller 50X, and the numerical control device 1X controls the robot 60 via the robot controller 50X. In the description below, the intervention of the robot controller 50X may be omitted in explanation of control on the robot 60 performed by the numerical control device 1X." as well as Paragraphs 0290-0291, "The control computation unit 2X is implemented by the processor 301 by reading and executing programs for performing operations of the control computation unit 2X stored in the memory 302. In other words, the programs cause a computer to execute the procedures or methods of the control computation unit 2X. The memory 302 is also used as a temporary memory when the processor 301 executes various processes. The programs to be executed by the processor 301 may be a computer program product including a computer-readable and non-transitory recording medium containing a plurality of computer-executable instructions for performing data processing. The programs to be executed by the processor 301 include a plurality of instructions that cause a computer to perform data processing.") wherein … the processor is further configured to acquire a coordinate value of the robot control axis (Paragraphs 0089-0090, "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 other words, in the coordinate command system CM1, the address of a robot joint interpolation command is expressed by an X coordinate, a Y coordinate, a Z coordinate, an A coordinate, a B coordinate, and a C coordinate. In addition, in the coordinate command system CM1, RS_ represents robot posture data (1), and RT_ represents robot posture data (2). The robot posture data (1) and the robot posture data (2) are data specifying the posture of the robot 60. Because the robot 60 has a plurality of joints, the robot 60 can take various postures even when one position is specified. The robot posture data (1) and the robot posture data (2) specify the posture to be taken by the robot 60.") and a coordinate value of the travel axis (Paragraph 0088, "A first command system of robot joint interpolation commands is a coordinate command system. In the description below, the coordinate command system of robot joint interpolation commands will be referred to as a coordinate command system CM1. The coordinate command system CM1 is a command system for controlling the position of the robot 60 to be a position specified in the robot coordinates. 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."as well as paragraph 0106, "In addition, in the coordinate command system CM3, HS_ represents robot posture data (1) at the auxiliary point HP, and HT_ represents robot posture data (2) at the auxiliary point HP. In addition, W_ in the coordinate command system CM3 represents an angle of movement by a circular interpolation command. When a command of W30 is issued, a base that supports the entire robot 60 moves by 30° along a circular arc path toward the end point PF via the auxiliary point HP.") transmitted from the robot control device as a robot reference coordinate value and a travel axis reference coordinate value, respectively, and update the robot current coordinate value and the travel axis current coordinate value stored in the memory using the robot reference coordinate value and the travel axis reference coordinate value. (Paragraph 0131, "The numerical control device 1X thus sets the robot coordinate system and the position control mode (step S3). Specifically, the coordinate setting unit 411 sets the coordinate system of the robot 60 to the base coordinate system or the tool coordinate system on the basis of the robot coordinate system setting command. After the coordinate setting unit 411 sets the coordinate system associated with the robot coordinate system setting command, the robot control unit 41X operates the robot 60 in the set coordinate system. As a result, the robot 60 operates in the coordinate system set by the coordinate setting unit 411." as well as paragraphs 0070-0073) While Sagasaki teaches a rotation of the robotic assembly, they do not specifically teach controlling a transfer of the robotic system or the use of two distinct coordinate systems. However, Kuzmin, in the same field of endeavor of robotic control and coordination with a CNC machine, teaches: … and of a transfer device that moves the robot, … for moving a travel axis of the transfer device, … (Paragraph 0031, "This multi-machine design capability allows a single robot to be interfaced to multiple machines and operations. In this manner, a robot can be mechanized to move along a track performing incremental tasks at each station in a work cell, completing work at each station while other stations are busy completing their operations.") However, Lilienthal, in the same field of endeavor of robotics, teaches: … the travel axis current coordinate value of the travel axis is defined in a travel axis coordinate system distinct from a robot coordinate system in which the robot current coordinate value of the robot control axis is defined, and … (Abstract, “Method for determining the orientation of a robot movement axis in a first robot coordinate system with the movement axis linking first and second locations. The method employs a coordinate measurement device (4) operating in a second world coordinate system (WKS) that is independent of the robot coordinate system. The system is used to determine at least three plotted points relating to the first robot end location and one plotted point for the second end location. The measurements are used to determine the location of the movement axis relative to the robot coordinate system.”) It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to incorporate the mobile base as taught by Kuzmin with the control methods as taught by Sagasaki and with the plurality of independent coordinate systems taught by Lilienthal. This would allow for highly accurate determination of the relative orientation and position of each axis. Sagasaki is capable of manipulating a plurality of axes. Therefore, it would be intuitive to extend that control to a mobile base for transferring the robot. Utilizing a robot which is capable of being transported rather than a fully stationary robot would increase the versatility of the overall system and allow the robot to perform tasks in a greater area with higher precision. This further decreases the need for human intervention and allows a robot to be used easily in multiple locations. Please see Paragraph 0034 of Kuzmin, "This may also allow a robot to be programmed once and then changed and/or moved to multiple locations with minimal interruption to productivity. In addition, it may allow greater flexibility in that the robots may not need to be tied to a single machine, but may be moved to various locations.". Regarding claim 2, where all limitations of claim 1 are discussed above, Sagasaki further teaches: 2. (currently amended) The numerical control apparatus according to claim 1, wherein the processor is further configured to acquire (Please see Figure 16 as well as paragraph 0042, "The numerical control device 1X is located on the machine tool 70. The numerical control device 1X is a computer that causes the machine tool 70 to machine a workpiece (object to be machined) by using a tool, and causes the robot 60 to convey a workpiece. The numerical control device 1X controls the machine tool 70 and the robot 60 by using NC programs such as G-code programs. An NC program includes a first command, which is a command for the machine tool 70 described in a first programming language, and a second command, which is a command for the robot 60 described in the first programming language. The numerical control device 1X converts the second command of the NC program into a third command, which is a command of a robot program described in a second programming language, and controls the robot 60 by using the third command.") Regarding claim 4, Sagasaki further teaches: 4. (currently amended) A numerical control system comprising: a numerical control apparatus which controls operation of a machine tool based on a numerical control program, (Paragraph 0002, "One example of numerical control devices is a control device that performs control of a machine tool for machining an object to be machined concurrently with control of a robot for conveying the object to be machined.") and generates a robot command for moving a robot control axis of a robot and a travel axis command for moving a travel axis (Paragraph 0073, " The program converting unit 414 converts a program for the robot 60 in the NC programs into a robot program that can be interpreted by the robot controller 50X by using robot command list information 101, association information 102, joint interpolation information 103, address information 104, linear interpolation information 105, and circular interpolation information 106, which will be described later. In other words, the program converting unit 414 is a conversion unit that converts a command for the robot 60 generated in an NC program into a command in a robot program. Commands for the robot 60 among commands in NC programs are described using RX_, RY_, RZ_, and the like, which will be described later. The program converting unit 414 sends the robot program to the robot controller 50X.") … ; and a robot control device which is configured to be in communication with the numerical control apparatus, and controls operation of the robot (Paragraph 0040, "The CNC unit 6 is connected to the machine tool 70, the input operation unit 3X, and the robot controller 50X. In addition, the robot controller 50X is connected to the input operation unit 3X and the robot 60. The CNC unit 6 and the robot controller 50X are connected via a local area network (LAN), for example.") … based on the robot command and the travel axis command sent from the numerical control apparatus, (Paragraph 0088, "A first command system of robot joint interpolation commands is a coordinate command system. In the description below, the coordinate command system of robot joint interpolation commands will be referred to as a coordinate command system CM1. The coordinate command system CM1 is a command system for controlling the position of the robot 60 to be a position specified in the robot coordinates. 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."as well as paragraph 0106, "In addition, in the coordinate command system CM3, HS_ represents robot posture data (1) at the auxiliary point HP, and HT_ represents robot posture data (2) at the auxiliary point HP. In addition, W_ in the coordinate command system CM3 represents an angle of movement by a circular interpolation command. When a command of W30 is issued, a base that supports the entire robot 60 moves by 30° along a circular arc path toward the end point PF via the auxiliary point HP.") wherein the robot control device includes [[:]] a first processor configured to (Paragraphs 0290-0291, "The control computation unit 2X is implemented by the processor 301 by reading and executing programs for performing operations of the control computation unit 2X stored in the memory 302. In other words, the programs cause a computer to execute the procedures or methods of the control computation unit 2X. The memory 302 is also used as a temporary memory when the processor 301 executes various processes. The programs to be executed by the processor 301 may be a computer program product including a computer-readable and non-transitory recording medium containing a plurality of computer-executable instructions for performing data processing. The programs to be executed by the processor 301 include a plurality of instructions that cause a computer to perform data processing.") acquire (Paragraphs 0089-0090, "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 other words, in the coordinate command system CM1, the address of a robot joint interpolation command is expressed by an X coordinate, a Y coordinate, a Z coordinate, an A coordinate, a B coordinate, and a C coordinate. In addition, in the coordinate command system CM1, RS_ represents robot posture data (1), and RT_ represents robot posture data (2). The robot posture data (1) and the robot posture data (2) are data specifying the posture of the robot 60. Because the robot 60 has a plurality of joints, the robot 60 can take various postures even when one position is specified. The robot posture data (1) and the robot posture data (2) specify the posture to be taken by the robot 60.") and control (Paragraph 0040, "The CNC unit 6 is connected to the machine tool 70, the input operation unit 3X, and the robot controller 50X. In addition, the robot controller 50X is connected to the input operation unit 3X and the robot 60. The CNC unit 6 and the robot controller 50X are connected via a local area network (LAN), for example.") and wherein the numerical control apparatus (Paragraph 0002, "One example of numerical control devices is a control device that performs control of a machine tool for machining an object to be machined concurrently with control of a robot for conveying the object to be machined.") includes [[:]] a second processor configured to (Paragraphs 0290-0291, "The control computation unit 2X is implemented by the processor 301 by reading and executing programs for performing operations of the control computation unit 2X stored in the memory 302. In other words, the programs cause a computer to execute the procedures or methods of the control computation unit 2X. The memory 302 is also used as a temporary memory when the processor 301 executes various processes. The programs to be executed by the processor 301 may be a computer program product including a computer-readable and non-transitory recording medium containing a plurality of computer-executable instructions for performing data processing. The programs to be executed by the processor 301 include a plurality of instructions that cause a computer to perform data processing.") manage a robot coordinate value, which is a current coordinate value of the robot control axis, and a travel axis current coordinate value, which is a current coordinate value of the travel axis, by using a memory (Paragraphs 0089-0090, "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 other words, in the coordinate command system CM1, the address of a robot joint interpolation command is expressed by an X coordinate, a Y coordinate, a Z coordinate, an A coordinate, a B coordinate, and a C coordinate. In addition, in the coordinate command system CM1, RS_ represents robot posture data (1), and RT_ represents robot posture data (2). The robot posture data (1) and the robot posture data (2) are data specifying the posture of the robot 60. Because the robot 60 has a plurality of joints, the robot 60 can take various postures even when one position is specified. The robot posture data (1) and the robot posture data (2) specify the posture to be taken by the robot 60.") and generate current coordinate value and the travel axis current coordinate value, (Paragraph 0073, "The program converting unit 414, which is a conversion unit, generates a robot program to be used for controlling the robot 60 by converting a command (a second command) defined in the coordinate system of the machine tool 70 into a command (a third command) defined in the coordinate system of the robot 60. The program converting unit 414 converts a program for the robot 60 in the NC programs into a robot program that can be interpreted by the robot controller 50X by using robot command list information 101, association information 102, joint interpolation information 103, address information 104, linear interpolation information 105, and circular interpolation information 106, which will be described later. In other words, the program converting unit 414 is a conversion unit that converts a command for the robot 60 generated in an NC program into a command in a robot program. Commands for the robot 60 among commands in NC programs are described using RX_, RY_, RZ_, and the like, which will be described later. The program converting unit 414 sends the robot program to the robot controller 50X.") … the second processor is further configured to acquire a coordinate value of the robot control axis (Paragraphs 0089-0090, "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 other words, in the coordinate command system CM1, the address of a robot joint interpolation command is expressed by an X coordinate, a Y coordinate, a Z coordinate, an A coordinate, a B coordinate, and a C coordinate. In addition, in the coordinate command system CM1, RS_ represents robot posture data (1), and RT_ represents robot posture data (2). The robot posture data (1) and the robot posture data (2) are data specifying the posture of the robot 60. Because the robot 60 has a plurality of joints, the robot 60 can take various postures even when one position is specified. The robot posture data (1) and the robot posture data (2) specify the posture to be taken by the robot 60.") and a coordinate value of the travel axis (Paragraph 0088, "A first command system of robot joint interpolation commands is a coordinate command system. In the description below, the coordinate command system of robot joint interpolation commands will be referred to as a coordinate command system CM1. The coordinate command system CM1 is a command system for controlling the position of the robot 60 to be a position specified in the robot coordinates. 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."as well as paragraph 0106, "In addition, in the coordinate command system CM3, HS_ represents robot posture data (1) at the auxiliary point HP, and HT_ represents robot posture data (2) at the auxiliary point HP. In addition, W_ in the coordinate command system CM3 represents an angle of movement by a circular interpolation command. When a command of W30 is issued, a base that supports the entire robot 60 moves by 30° along a circular arc path toward the end point PF via the auxiliary point HP.") transmitted from the robot control device as a robot reference coordinate value and a travel axis reference coordinate value, respectively, and update the robot current coordinate value and the travel axis current coordinate value stored in the memory using the robot reference coordinate value and the travel axis reference coordinate value. (Paragraph 0131, "The numerical control device 1X thus sets the robot coordinate system and the position control mode (step S3). Specifically, the coordinate setting unit 411 sets the coordinate system of the robot 60 to the base coordinate system or the tool coordinate system on the basis of the robot coordinate system setting command. After the coordinate setting unit 411 sets the coordinate system associated with the robot coordinate system setting command, the robot control unit 41X operates the robot 60 in the set coordinate system. As a result, the robot 60 operates in the coordinate system set by the coordinate setting unit 411." as well as paragraphs 0070-0073) While Sagasaki teaches a rotation of the robotic assembly, they do not specifically teach controlling a transfer of the robotic system or the use of multiple distinct coordinate systems. However, Kuzmin, in the same field of endeavor of robotic control and coordination with a CNC machine, teaches: … of a transfer device which moves the robot … and the transfer device … and the transfer device … (Paragraph 0031, "This multi-machine design capability allows a single robot to be interfaced to multiple machines and operations. In this manner, a robot can be mechanized to move along a track performing incremental tasks at each station in a work cell, completing work at each station while other stations are busy completing their operations.") However, Lilienthal, in the same field of endeavor of robotics, teaches: … wherein the coordinate value of the travel axis is defined in a travel axis coordinate system distinct from a robot coordinate system in which the coordinate value of the robot control axis is defined, and … (Abstract, “Method for determining the orientation of a robot movement axis in a first robot coordinate system with the movement axis linking first and second locations. The method employs a coordinate measurement device (4) operating in a second world coordinate system (WKS) that is independent of the robot coordinate system. The system is used to determine at least three plotted points relating to the first robot end location and one plotted point for the second end location. The measurements are used to determine the location of the movement axis relative to the robot coordinate system.”) It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to incorporate the mobile base as taught by Kuzmin with the control methods as taught by Sagasaki and with the plurality of independent coordinate systems taught by Lilienthal. This would allow for highly accurate determination of the relative orientation and position of each axis. Sagasaki is capable of manipulating a plurality of axes. Therefore, it would be intuitive to extend that control to a mobile base for transferring the robot. Utilizing a robot which is capable of being transported rather than a fully stationary robot would increase the versatility of the overall system and allow the robot to perform tasks in a greater area with higher precision. This further decreases the need for human intervention and allows a robot to be used easily in multiple locations. Please see Paragraph 0034 of Kuzmin, "This may also allow a robot to be programmed once and then changed and/or moved to multiple locations with minimal interruption to productivity. In addition, it may allow greater flexibility in that the robots may not need to be tied to a single machine, but may be moved to various locations.". Regarding claim 5, where all the limitations of claim 4 are discussed above, Sagasaki further teaches: 5. (currently amended) The numerical control system according to claim 4, wherein the second processor is further configured to generate and send (Please see Figure 16 as well as paragraph 0042, "The numerical control device 1X is located on the machine tool 70. The numerical control device 1X is a computer that causes the machine tool 70 to machine a workpiece (object to be machined) by using a tool, and causes the robot 60 to convey a workpiece. The numerical control device 1X controls the machine tool 70 and the robot 60 by using NC programs such as G-code programs. An NC program includes a first command, which is a command for the machine tool 70 described in a first programming language, and a second command, which is a command for the robot 60 described in the first programming language. The numerical control device 1X converts the second command of the NC program into a third command, which is a command of a robot program described in a second programming language, and controls the robot 60 by using the third command.") Conclusion The Examiner has cited particular paragraphs or columns and line numbers in the referencesapplied to the claims above for the convenience of the Applicant. Although the specified citations arerepresentative of the teachings of the art and are applied to specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested of the Applicant in preparing responses, to fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the Examiner. See MPEP 2141.02 [R-07.2015] VI. A prior art reference must be considered in its entirety, i.e., as a whole, including portions that would lead away from the claimed Invention. W.L. Gore & Associates, Inc. v. Garlock, Inc., 721 F.2d 1540, 220 USPQ 303 (Fed. Cir. 1983), cert, denied, 469 U.S. 851 (1984). See also MPEP §2123. Any inquiry concerning this communication or earlier communications from the examiner should be directed to HEATHER KENIRY whose telephone number is (571)270-5468. The examiner can normally be reached M-F 7:30-5:30. 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, Adam Mott can be reached at (571) 270-5376. 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. /H.J.K./Examiner, Art Unit 3657 /ADAM R MOTT/Supervisory Patent Examiner, Art Unit 3657
Read full office action

Prosecution Timeline

Jul 10, 2023
Application Filed
Jun 05, 2025
Non-Final Rejection — §103
Sep 10, 2025
Response Filed
Sep 22, 2025
Final Rejection — §103
Dec 02, 2025
Interview Requested
Dec 09, 2025
Examiner Interview Summary
Dec 09, 2025
Applicant Interview (Telephonic)
Dec 30, 2025
Request for Continued Examination
Feb 12, 2026
Response after Non-Final Action
Feb 23, 2026
Non-Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12600035
INFORMATION PROCESSING METHOD, INFORMATION PROCESSING APPARATUS, ROBOT SYSTEM, MANUFACTURING METHOD OF PRODUCT, AND STORAGE MEDIUM
2y 5m to grant Granted Apr 14, 2026
Patent 12583123
ITERATIVE CONTROL OF ROBOT FOR TARGET OBJECT
2y 5m to grant Granted Mar 24, 2026
Patent 12576539
INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
2y 5m to grant Granted Mar 17, 2026
Patent 12562076
LEARNING ASSISTANCE SYSTEM, LEARNING ASSISTANCE METHOD, AND LEARNING ASSISTANCE STORAGE MEDIUM
2y 5m to grant Granted Feb 24, 2026
Patent 12558780
MULTI-PURPOSE ROBOTS AND COMPUTER PROGRAM PRODUCTS, AND METHODS FOR OPERATING THE SAME
2y 5m to grant Granted Feb 24, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

3-4
Expected OA Rounds
78%
Grant Probability
99%
With Interview (+22.1%)
2y 7m
Median Time to Grant
High
PTA Risk
Based on 102 resolved cases by this examiner. Grant probability derived from career allow 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