Prosecution Insights
Last updated: April 19, 2026
Application No. 18/548,834

MOTION-PATH GENERATION DEVICE, NUMERICAL CONTROL DEVICE, NUMERICAL CONTROL SYSTEM, AND NON-TRANSITORY COMPUTER-READABLE MEDIUM STORING COMPUTER PROGRAM

Non-Final OA §103
Filed
Sep 01, 2023
Examiner
STIEBRITZ, NOAH WILLIAM
Art Unit
3658
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
Fanuc Corporation
OA Round
3 (Non-Final)
67%
Grant Probability
Favorable
3-4
OA Rounds
2y 6m
To Grant
51%
With Interview

Examiner Intelligence

Grants 67% — above average
67%
Career Allow Rate
12 granted / 18 resolved
+14.7% vs TC avg
Minimal -16% lift
Without
With
+-15.6%
Interview Lift
resolved cases with interview
Typical timeline
2y 6m
Avg Prosecution
44 currently pending
Career history
62
Total Applications
across all art units

Statute-Specific Performance

§101
18.6%
-21.4% vs TC avg
§103
61.7%
+21.7% vs TC avg
§102
11.1%
-28.9% vs TC avg
§112
8.0%
-32.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 18 resolved cases

Office Action

§103
DETAILED ACTION This is a non-final Office Action on the merits in response to communications filed by Applicant on December 8th, 2025. Claims 1-7 are currently pending and examined below. Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Response to Amendment The amendments to the Claims filed on December 8th, 2025 have been entered. Claims 1, 5, and 7 are currently amended and pending, claims 3 and 4 are as previously presented and pending, and claims 2 and 6 are original, unamended and pending. 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 and 3-7 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2022/0011754 A1 ("Sagasaki") in view of JP 2010218036 A ("Inoue") in further view of US 2017/0028558 A1 ("Nishi"). Regarding claim 1, Sagasaki teaches a motion-path generation device that generates, based on a numerical control program that includes a machine tool instruction block for controlling motion of a machine tool and a robot instruction block for controlling motion of a robot provided in proximity to the machine tool, a motion path concerning control axes of the robot, the motion-path generation device comprising (Sagasaki: Figure 18, ¶ 0038, “FIG. 1 is a diagram illustrating a configuration of a control system including a numerical control device according to a first embodiment. A control system l00A is a system for controlling a machine tool 70 and a robot 60 by using numerical control (NC) programs.”, ¶ 0039, “The control system 100A includes the machine tool 70, a numerical control device 1X, a robot controller SOX, and the robot 60. The numerical control device 1X includes a computer numerical control (CNC) unit 6, and an input operation unit 3X.”, ¶ 0045, “The robot controller SOX controls the robot 60 in accordance with the robot program sent from the numerical control device 1X.”, ¶ 0046, “The robot 60 grasps a workpiece, which is an object to be machined, with a robot hand 61, and conveys the grasped workpiece. The robot 60 loads the workpiece before machining on the machine tool 70, and unloads the work piece after machining from the machine tool 70.”, ¶ 0070, “The robot control unit 41X includes a coordinate setting unit 411, a mode setting unit 412, an NC command waiting unit 413, which is a second waiting unit, and a program converting unit 414.”, ¶ 0071, “The coordinate setting unit 411 sets the coordinate system of the robot 60 to a base coordinate system (corresponding to a machine coordinate system of the machine tool 70) or a tool coordinate system (a coordinate system of the robot hand 61 of the robot 60) on the basis of the robot coordinate system setting command.”, ¶ 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 SOX 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.”, ¶ 0187, “The numerical control device lX controls the robot 60 and the machine tool 70 by using the NC program 501 illustrated in FIG. 18. In this case, the numerical control device lX converts the robot commands in the second system into a robot program to control the robot 60. As a result, the user of the control system l00A can create NC robot programs from NC programs without the knowledge of robot programs, and control the robot 60 by using the NC programs, which improves the work efficiency such as setups. In addition, because robot programs are described in NC programs, synchronous operations of the machine tool 70 and the robot 60 at specific timings (at activation of the robot 60, during the operation of the robot 60, and at completion of the operation of the robot 60) can be easily programmed, which improves the work efficiency such as setups.”. The cited passages clearly teach a motion-path generation device (the robot control unit 41X and more specifically the program converting unit 414) that generates a motion path of a control axes of a robot (As shown in ¶ 0071, this control axes is that of the hand of the robot) based on a numerical control program used to control a machine tool. Furthermore, one would see that the robot is in the proximity of the machine tool as the robot is configured to place and remove a workpiece from the machine, as shown in ¶ 0046. Additionally, the NC system includes a machine tool instruction block and robot instruction block.): a processor configured to execute instructions to implement (Sagasaki: ¶ 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.”, ¶ 0289, “FIG. 28 is a diagram illustrating an example of a hardware configuration of the control computation unit according to the first embodiment. The control computation unit 2X can be implemented by a processor 301 and a memory 302 illustrated in FIG. 28.”) and a communication unit that transmits an instruction including the target motion path to a robot control device and causes the robot control device to control motion of the robot (Sagasaki: Sagasaki: ¶ 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.”, ¶ 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.”, ¶ 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.”. The cited passages clearly show that CNC unit, robot controller, and numerical control device are all connected to one another such that instructions can be transmitted to the robot controller.). Sagasaki does not teach a model update unit that acquires start coordinate values of the control axes and machine coordinate values of the machine tool based on the numerical control program and updates a robot system model based on the start coordinate values and the machine coordinate values, the robot system model being configured by disposing three-dimensional models of the robot, the machine tool, and peripheral objects that are present in proximity to the machine tool in a virtual space; an interference-avoiding-path generation unit that generates a target motion path starting from the start coordinate values and arriving at end coordinate values of the control axes, the end coordinate values being specified based on the robot instruction block, while avoiding interference in the robot system model, wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device. Inoue, in the same field of endeavor, teaches acquires start coordinate values of the control axes and machine coordinate values of the machine tool based on the numerical control program and updates a robot system model based on the start coordinate values and the machine coordinate values (Inoue: ¶ 0026, “The positions of the movable parts such as the movable table 48 and the movable tool 52 of the virtual NC machine tool 38 can be accurately known by executing the NC program with the NC simulator 10. The off-line programming device 28 can read the axial position information of the control shaft that drives each movable part during the NC program execution in real time via the first communication module 26 and the second communication module 30.”, ¶ 0033, “The program creation device 34 (FIG. 1) determines the position of the virtual workpiece 50 from the position of the virtual movable table 48 obtained by the above-mentioned simulation, and from this and the position of the virtual robot 36, determines the handling position of the virtual workpiece 50 by the virtual robot 36, and creates a teaching program.”. As can be seen from the cited passages, the virtual model is updated based on the received position information of the machine and the starting position of the robot.), the robot system model being configured by disposing three-dimensional models of the robot, the machine tool, and peripheral objects that are present in proximity to the machine tool in a virtual space (Inoue: ¶ 0022, “The robot simulator 32 stores data representing a three-dimensional CAD model and specifications of the simulation object, and in the illustrated example, data on the robot, NC machine tool, external equipment, and various sensors that are the simulation objects are defined as a virtual robot 36, a virtual NC machine tool 38, a virtual external equipment 40, and a virtual sensor 42, respectively.”); an interference-avoiding-path generation unit that generates a target motion path starting from the start coordinate values and arriving at end coordinate values of the control axes, the end coordinate values being specified based on the robot instruction block, while avoiding interference in the robot system model (Inoue: ¶ 0033, “Here, by executing the NC program using the NC simulator 10, the position at which the robot should handle is automatically determined based on the position information of the moving movable table, and this position is set as the teaching position, and an accurate teaching program can be created using these teaching positions.”, ¶ 0034, “The present invention enables offline teaching of a robot in a system including an NC machine tool and a robot, which was not possible in the past, and by connecting the NC simulator and robot simulator with a communications module, it is possible to perform a simulation that performs the same operations as the actual machine. Furthermore, in the present invention, accurate operational verification including the above-mentioned virtual gate 54, virtual area sensor 56, virtual indicator light 58, etc. can be performed, and an interlock simulation can also be performed. This makes it possible to verify the cycle time of the entire system, check for interference between devices, and debug programs, thereby shortening robot start-up time and avoiding system malfunctions caused by sequence bugs without having to verify them on the actual machine.”). Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine motion-path generation device taught in Sagasaki with an the interference-avoiding-path generation unit that generates a target motion path starting from the start coordinate values and arriving at end coordinate values of the control axes, the end coordinate values being specified based on the robot instruction block, while avoiding interference in the robot system model taught in Inoue with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because it allows the system to check for interference between the robot, machine, and anything else in its environment by comprehensively reproducing the operation of the machine, robot, and workpiece. This ensures the safety of the robot, machine, and workpiece, and prevents damage to any (Inoue: ¶ 0005, “There have been devices that provide robot offline equipment with pseudo-functions of robot control devices and NC devices, but the pseudo-functions have been insufficient functionally to substitute for NC devices and robot devices that perform complex control, and the simulation accuracy has often been insufficient. Furthermore, there was no simulation device that could comprehensively and accurately reproduce the operation of NC devices, the operation of robots, and the control of peripheral devices, and therefore it was not possible to perform simulations including synchronous operation between NC machine tools and robots or interlock simulations. As a result, it was not possible to verify interference between NC machine tools, robots, and peripheral devices, cycle times, ensure safety areas, or make production plans in advance.”). Sagasaki in view of Inoue does not teach wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device Nishi, in the same field of endeavor, teaches wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device (Nishi: Figure 3, ¶ 0033, “FIG. 1 is a diagram illustrating an outline configuration of an interference check system 10 according to a first embodiment of the present invention. The interference check system 10 includes a machine tool controller 14 configured to control a machine tool 12, a robot controller 18 configured to control a robot 16, and an interference check execution unit 24 configured to include shape model data of a mechanical unit 20 of the machine tool 12 and a mechanical unit 22 of the robot 16, and layout information thereon. The machine tool 12 and the robot 16 are configured to perform a collaborative work in such a manner that, for example, the machine tool 12 machines a workpiece loaded by the robot 16, the robot 16 unloads the machined workpiece from the machine tool 12, and so on. The interference check execution unit 24 is configured to check interference between the mechanical unit 20 of the machine tool and the mechanical unit 22 of the robot, and may be, for example, a real-time CAD/CAM system, or may be included in the machine tool controller 14.”, ¶ 0040, “Next, with reference to FIG. 2 to FIG. 6, the processing in the interference check system 10 is explained. The flowchart in FIG. 2 mainly illustrates the processing in the machine tool controller 14 and the flowchart in FIG. 3 mainly illustrates the processing in the interference check execution unit 24.”, ¶ 0042, “At the next step S3, whether or not the machine tool controller 14 can acquire, while having the real-time properties, a set ( data set) of an operation time of the robot 16 (robot time) and a position of a control axis of the robot 16 corresponding to the robot time, which set is generated sequentially by the robot controller 18, is determined. More specifically, whether or not the real-time properties of the data communication from the transmitter unit 40 of the robot controller 18 to the receiver unit 32 of the machine tool controller 14 are secured is determined. FIG. 4 illustrates the case where the real-time properties of communication are secured, i.e., a transmission time delay d between the machine tool 12 and the robot 16 is sufficiently small compared to the time necessary for the calculation of correction/interpolation and communication intervals f1 from the robot (controller) are comparatively short. In this case, the position data correcting/interpolating unit 28 of the machine tool controller 14 integrates the data set from the robot controller 18 and a set ( data set) of an operation time of the machine tool 12 (machine tool time) and a position of a control axis of the machine tool 12 corresponding to the machine tool time, which set is generated sequentially by the machine tool controller 14. Specifically, the position data correcting/interpolating unit 28 performs interpolation with respect to time and newly obtains the position (time-series data) of the control axes of the robot 16 by performing correction calculation to obtain the position (time-series data) of the control axes of the machine tool 12 and the position of the control axes of the robot 16 corresponding to each machine tool time, and then couples both data sets ( step S4).”, ¶ 0043, “On the other hand, FIG. 5 illustrates the case where the real-time properties of communication are not secured, i.e., the case where communication intervals fa from the robot (controller) are comparatively long or the case where there is a variation thereamong. The case where the real-time properties of communication are not secured also includes the case where the transmission time delay d between the machine tool 12 and the robot 16 is too large to ignore compared to the time necessary for calculation of correction/interpolation. In this case, unlike the case in FIG. 4, the position data correcting/interpolating unit 28 needs to obtain the position of the control axes of the robot 16 corresponding to each machine tool time in the state where the positions (time-series) of the control axes of the robot 16 close to each machine tool time from the transmitter unit 40, for which interpolation is necessary, have not reached the receiver unit 32 yet. Because of this, processing to estimate (predict) the position of the control axes of the robot 16 corresponding to each machine tool time, which is necessary, by using the positions (time-series data) of the control axes of the robot 16 already accumulated in the past in the position data correcting/interpolating unit 28 is added (step SS).”, ¶ 0046, “In relation to step S6 in FIG. 2, the interference check execution unit 24 receives the integrated (time-series) data of positions of the machine tool 12 and the robot 16 from the machine tool controller 14 (step S8 in FIG. 3). Next, the interference check execution unit 24 checks presence/absence of interference between the mechanical unit 20 of the machine tool and the mechanical unit 22 of the robot (specifically, presence/absence of contact or overlap between the two shape models) based on the shape models of the mechanical unit 20 of the machine tool and the mechanical unit 22 of the robot stored and held in advance and the integrated time-series data (specifically, each time included in the time-series data (time when interference is checked) and the positions of the control axes of the machine tool and the robot corresponding to each time) (step S9). In the first embodiment, the time when interference is checked is the same as the operation time of the machine tool 12.”, ¶ 0047, “In the case where it is predicted that interference will occur based on the results of the processing at step S9, braking/stopping instructions are transmitted to the machine tool controller 14 from the interference check execution unit 24 by message transmission (step S11). The real-time interference check at step S8 and subsequent steps is repeated until the production operation is finished (step S12, step S7 in FIG. 2).”. The cited passages clearly teaches that the system is configured to obtain the current positions of the robot and machine tool, perform an interference check using 3D model data of the robot and machine tool, the current positions of both, and integrated time-series data (i.e. interpolated future positions of the robot and machine tool) of both to determine interference (i.e. collision/contact between the robot and machine tool.). Furthermore, the process is configured to repeat until the production operation is completed. One of ordinary skill in the art would recognize that, because this process is configured to run until the production operation ends, and because it obtains the current positions of the robot and machine tool each time, the cited passages clearly teaches wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device.). Sagasaki in view of Inoue teaches a motion-path generation device that generates, based on a numerical control program that includes a machine tool instruction block for controlling motion of a machine tool and a robot instruction block for controlling motion of a robot provided in proximity to the machine tool, a motion path concerning control axes of the robot, the motion-path generation device comprising: a processor configured to execute instructions to implement: a model update unit that acquires start coordinate values of the control axes and machine coordinate values of the machine tool based on the numerical control program and updates a robot system model based on the start coordinate values and the machine coordinate values, the robot system model being configured by disposing three-dimensional models of the robot, the machine tool, and peripheral objects that are present in proximity to the machine tool in a virtual space; an interference-avoiding-path generation unit that generates a target motion path starting from the start coordinate values and arriving at end coordinate values of the control axes, the end coordinate values being specified based on the robot instruction block, while avoiding interference in the robot system model; and a communication unit that transmits an instruction including the target motion path to a robot control device and causes the robot control device to control motion of the robot. Sagasaki in view of Inoue does not teach wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device. Nishi teaches wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device. A person of ordinary skill in the art would have had the technological capabilities required to have modified the device taught in Sagasaki in view of Inoue with wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device taught in Nishi. Furthermore, the device taught in Sagasaki in view of Inoue is already configured to acquire the position of the machine tool and the robot and perform an interference check between the robot and the machine tool. As such, a person of ordinary skill in the art would have been easily able to have modified the device with wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device taught in Nishi. Additionally, just as in Sagasaki in view of Inoue, Nishi teaches a device that obtains the positions of the robot and machine tool, and using shape data of both, performs an interference check. As such one of ordinary skill in the art would have been able to have modified the device taught in Sagasaki in view of Inoue with wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device taught in Nishi without changing or introducing new functionality to either. No inventive effort would have been required. The combination would have yielded the predictable result of a motion-path generation device that generates, based on a numerical control program that includes a machine tool instruction block for controlling motion of a machine tool and a robot instruction block for controlling motion of a robot provided in proximity to the machine tool, a motion path concerning control axes of the robot, the motion-path generation device comprising: wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the device taught in Sagasaki in view of Inoue with wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device taught in Nishi with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because, the combination would have yielded predictable results. Regarding claim 3, Sagasaki in view of Inoue in further view of Nishi teaches wherein the peripheral objects include at least one of a workpiece, a workpiece stocker, a pallet, or a safety fence (Inoue: ¶ 0022, “The robot simulator 32 stores data representing a three-dimensional CAD model and specifications of the simulation object, and in the illustrated example, data on the robot, NC machine tool, external equipment, and various sensors that are the simulation objects are defined as a virtual robot 36, a virtual NC machine tool 38, a virtual external equipment 40, and a virtual sensor 42, respectively.”, ¶ 0024, “In the example shown in Figure 2, the virtual NC machine tool 38 has a virtual movable table 48 and a virtual movable tool 52 that machines a virtual workpiece 50 placed on the table, and the simulation shows the virtual robot 36 transporting the machined virtual workpiece 50 together with the virtual movable table 48 to a predetermined position.”, ¶ 0028, “FIG. 3 shows an example in which an openable/closable virtual gate 54 is added as an example of an external device in the virtual space between the virtual robot 36 and the virtual machine tool 38 in addition to the configuration of FIG.”). Regarding claim 4, Sagasaki in view of Inoue in further view of Nishi teaches a program storage unit implemented by a memory device that stores the numerical control program; and the motion-path generation device according to claim l (Sagasaki: ¶ 0058, “The storage unit 34 includes a parameter storage area 341, an NC program storage area 343, a display data storage area 344, and a shared area 345. The parameter storage area 341 stores parameters to be used for processing performed by the control computation unit 2X, or the like. Specifically, the parameter storage area 341 stores control parameters, servo parameters, and tool data for making the numerical control device 1X operate. The NC program storage area 343 stores NC programs to be used for machining of a workpiece. An NC program in the first embodiment includes movement commands, which are commands for moving the tool, and commands for controlling the robot 60.”). Regarding claim 5, Sagasaki teaches a numerical control system comprising (Sagasaki: ¶ 0038, “FIG. 1 is a diagram illustrating a configuration of a control system including a numerical control device according to a first embodiment. A control system l00A is a system for controlling a machine tool 70 and a robot 60 by using numerical control (NC) programs.”): a motion-path generation device that generates, based on a numerical control program that includes a machine tool instruction block for controlling motion of a machine tool and a robot instruction block for controlling motion of a robot provided in proximity to the machine tool, a motion path concerning control axes of the robot provided (Sagasaki: ¶ 0038, “FIG. 1 is a diagram illustrating a configuration of a control system including a numerical control device according to a first embodiment. A control system l00A is a system for controlling a machine tool 70 and a robot 60 by using numerical control (NC) programs.”, ¶ 0039, “The control system 100A includes the machine tool 70, a numerical control device 1X, a robot controller SOX, and the robot 60. The numerical control device 1X includes a computer numerical control (CNC) unit 6, and an input operation unit 3X.”, ¶ 0045, “The robot controller SOX controls the robot 60 in accordance with the robot program sent from the numerical control device 1X.”, ¶ 0046, “The robot 60 grasps a workpiece, which is an object to be machined, with a robot hand 61, and conveys the grasped workpiece. The robot 60 loads the workpiece before machining on the machine tool 70, and unloads the work piece after machining from the machine tool 70.”, ¶ 0070, “The robot control unit 41X includes a coordinate setting unit 411, a mode setting unit 412, an NC command waiting unit 413, which is a second waiting unit, and a program converting unit 414.”, ¶ 0071, “The coordinate setting unit 411 sets the coordinate system of the robot 60 to a base coordinate system (corresponding to a machine coordinate system of the machine tool 70) or a tool coordinate system (a coordinate system of the robot hand 61 of the robot 60) on the basis of the robot coordinate system setting command.”, ¶ 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 SOX 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.”, ¶ 0187, “The numerical control device lX controls the robot 60 and the machine tool 70 by using the NC program 501 illustrated in FIG. 18. In this case, the numerical control device lX converts the robot commands in the second system into a robot program to control the robot 60. As a result, the user of the control system l00A can create NC robot programs from NC programs without the knowledge of robot programs, and control the robot 60 by using the NC programs, which improves the work efficiency such as setups. In addition, because robot programs are described in NC programs, synchronous operations of the machine tool 70 and the robot 60 at specific timings (at activation of the robot 60, during the operation of the robot 60, and at completion of the operation of the robot 60) can be easily programmed, which improves the work efficiency such as setups.”. The cited passages clearly teach a motion-path generation device (the robot control unit 41X and more specifically the program converting unit 414) that generates a motion path of a control axes of a robot (As shown in ¶ 0071, this control axes is that of the hand of the robot) based on a numerical control program used to control a machine tool. Furthermore, one would see that the robot is in the proximity of the machine tool as the robot is configured to place and remove a workpiece from the machine, as shown in ¶ 0046. Additionally, the NC system includes a machine tool instruction block and robot instruction block.); and a robot control device that is communicably coupled to the motion-path generation device and controls motion of the robot based on an instruction transmitted from the motion- path generation device (Sagasaki: ¶ 0070, “The robot control unit 41X includes a coordinate setting unit 411, a mode setting unit 412, an NC command waiting unit 413, which is a second waiting unit, and a program converting unit 414.”, ¶ 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 SOX 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.”), and a communication unit that transmits an instruction including the target motion path to a robot control device and causes the robot control device to control the motion of the robot, and the robot control device generates a robot program based on the target motion path (Sagasaki: ¶ 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.”, ¶ 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.”, ¶ 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 SOX 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.”. The cited passages clearly show that CNC unit, robot controller, and numerical control device are all connected to one another such that instructions can be transmitted to the robot controller and that the robot program control generates a robot program based on the target motion path.). Sagasaki does not teach wherein the motion-path generation device includes: a model update unit that acquires start coordinate values of the control axes and machine coordinate values of the machine tool based on the numerical control program and updates a robot system model based on the start coordinate values and the machine coordinate values, the robot system model being configured by disposing three-dimensional models of the robot, the machine tool, and peripheral objects that are present in proximity to the machine tool in a virtual space; an interference-avoiding-path generation unit that generates a target motion path starting from the start coordinate values and arriving at end coordinate values of the control axes, the end coordinate values being specified based on the robot instruction block, while avoiding interference in the robot system model, wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device. Inoue, in the same field of endeavor, teaches acquires start coordinate values of the control axes and machine coordinate values of the machine tool based on the numerical control program and updates a robot system model based on the start coordinate values and the machine coordinate values (Inoue: ¶ 0026, “The positions of the movable parts such as the movable table 48 and the movable tool 52 of the virtual NC machine tool 38 can be accurately known by executing the NC program with the NC simulator 10. The off-line programming device 28 can read the axial position information of the control shaft that drives each movable part during the NC program execution in real time via the first communication module 26 and the second communication module 30.”, ¶ 0033, “The program creation device 34 (FIG. 1) determines the position of the virtual workpiece 50 from the position of the virtual movable table 48 obtained by the above-mentioned simulation, and from this and the position of the virtual robot 36, determines the handling position of the virtual workpiece 50 by the virtual robot 36, and creates a teaching program.”. As can be seen from the cited passages, the virtual model is updated based on the received position information of the machine and the starting position of the robot.), the robot system model being configured by disposing three-dimensional models of the robot, the machine tool, and peripheral objects that are present in proximity to the machine tool in a virtual space (Inoue: ¶ 0022, “The robot simulator 32 stores data representing a three-dimensional CAD model and specifications of the simulation object, and in the illustrated example, data on the robot, NC machine tool, external equipment, and various sensors that are the simulation objects are defined as a virtual robot 36, a virtual NC machine tool 38, a virtual external equipment 40, and a virtual sensor 42, respectively.”); an interference-avoiding-path generation unit that generates a target motion path starting from the start coordinate values and arriving at end coordinate values of the control axes, the end coordinate values being specified based on the robot instruction block, while avoiding interference in the robot system model (Inoue: ¶ 0033, “Here, by executing the NC program using the NC simulator 10, the position at which the robot should handle is automatically determined based on the position information of the moving movable table, and this position is set as the teaching position, and an accurate teaching program can be created using these teaching positions.”, ¶ 0034, “The present invention enables offline teaching of a robot in a system including an NC machine tool and a robot, which was not possible in the past, and by connecting the NC simulator and robot simulator with a communications module, it is possible to perform a simulation that performs the same operations as the actual machine. Furthermore, in the present invention, accurate operational verification including the above-mentioned virtual gate 54, virtual area sensor 56, virtual indicator light 58, etc. can be performed, and an interlock simulation can also be performed. This makes it possible to verify the cycle time of the entire system, check for interference between devices, and debug programs, thereby shortening robot start-up time and avoiding system malfunctions caused by sequence bugs without having to verify them on the actual machine.”). Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine numerical control system taught in Sagasaki with the interference-avoiding-path generation unit that generates a target motion path starting from the start coordinate values and arriving at end coordinate values of the control axes, the end coordinate values being specified based on the robot instruction block, while avoiding interference in the robot system model taught in Inoue with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because it allows the system to check for interference between the robot, machine, and anything else in its environment by comprehensively reproducing the operation of the machine, robot, and workpiece. This ensures the safety of the robot, machine, and workpiece, and prevents damage to any (Inoue: ¶ 0005, “There have been devices that provide robot offline equipment with pseudo-functions of robot control devices and NC devices, but the pseudo-functions have been insufficient functionally to substitute for NC devices and robot devices that perform complex control, and the simulation accuracy has often been insufficient. Furthermore, there was no simulation device that could comprehensively and accurately reproduce the operation of NC devices, the operation of robots, and the control of peripheral devices, and therefore it was not possible to perform simulations including synchronous operation between NC machine tools and robots or interlock simulations. As a result, it was not possible to verify interference between NC machine tools, robots, and peripheral devices, cycle times, ensure safety areas, or make production plans in advance.”). Sagasaki in view of Inoue does not teach wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device Nishi, in the same field of endeavor, teaches wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device (Nishi: Figure 3, ¶ 0033, “FIG. 1 is a diagram illustrating an outline configuration of an interference check system 10 according to a first embodiment of the present invention. The interference check system 10 includes a machine tool controller 14 configured to control a machine tool 12, a robot controller 18 configured to control a robot 16, and an interference check execution unit 24 configured to include shape model data of a mechanical unit 20 of the machine tool 12 and a mechanical unit 22 of the robot 16, and layout information thereon. The machine tool 12 and the robot 16 are configured to perform a collaborative work in such a manner that, for example, the machine tool 12 machines a workpiece loaded by the robot 16, the robot 16 unloads the machined workpiece from the machine tool 12, and so on. The interference check execution unit 24 is configured to check interference between the mechanical unit 20 of the machine tool and the mechanical unit 22 of the robot, and may be, for example, a real-time CAD/CAM system, or may be included in the machine tool controller 14.”, ¶ 0040, “Next, with reference to FIG. 2 to FIG. 6, the processing in the interference check system 10 is explained. The flowchart in FIG. 2 mainly illustrates the processing in the machine tool controller 14 and the flowchart in FIG. 3 mainly illustrates the processing in the interference check execution unit 24.”, ¶ 0042, “At the next step S3, whether or not the machine tool controller 14 can acquire, while having the real-time properties, a set ( data set) of an operation time of the robot 16 (robot time) and a position of a control axis of the robot 16 corresponding to the robot time, which set is generated sequentially by the robot controller 18, is determined. More specifically, whether or not the real-time properties of the data communication from the transmitter unit 40 of the robot controller 18 to the receiver unit 32 of the machine tool controller 14 are secured is determined. FIG. 4 illustrates the case where the real-time properties of communication are secured, i.e., a transmission time delay d between the machine tool 12 and the robot 16 is sufficiently small compared to the time necessary for the calculation of correction/interpolation and communication intervals f1 from the robot (controller) are comparatively short. In this case, the position data correcting/interpolating unit 28 of the machine tool controller 14 integrates the data set from the robot controller 18 and a set ( data set) of an operation time of the machine tool 12 (machine tool time) and a position of a control axis of the machine tool 12 corresponding to the machine tool time, which set is generated sequentially by the machine tool controller 14. Specifically, the position data correcting/interpolating unit 28 performs interpolation with respect to time and newly obtains the position (time-series data) of the control axes of the robot 16 by performing correction calculation to obtain the position (time-series data) of the control axes of the machine tool 12 and the position of the control axes of the robot 16 corresponding to each machine tool time, and then couples both data sets ( step S4).”, ¶ 0043, “On the other hand, FIG. 5 illustrates the case where the real-time properties of communication are not secured, i.e., the case where communication intervals fa from the robot (controller) are comparatively long or the case where there is a variation thereamong. The case where the real-time properties of communication are not secured also includes the case where the transmission time delay d between the machine tool 12 and the robot 16 is too large to ignore compared to the time necessary for calculation of correction/interpolation. In this case, unlike the case in FIG. 4, the position data correcting/interpolating unit 28 needs to obtain the position of the control axes of the robot 16 corresponding to each machine tool time in the state where the positions (time-series) of the control axes of the robot 16 close to each machine tool time from the transmitter unit 40, for which interpolation is necessary, have not reached the receiver unit 32 yet. Because of this, processing to estimate (predict) the position of the control axes of the robot 16 corresponding to each machine tool time, which is necessary, by using the positions (time-series data) of the control axes of the robot 16 already accumulated in the past in the position data correcting/interpolating unit 28 is added (step SS).”, ¶ 0046, “In relation to step S6 in FIG. 2, the interference check execution unit 24 receives the integrated (time-series) data of positions of the machine tool 12 and the robot 16 from the machine tool controller 14 (step S8 in FIG. 3). Next, the interference check execution unit 24 checks presence/absence of interference between the mechanical unit 20 of the machine tool and the mechanical unit 22 of the robot (specifically, presence/absence of contact or overlap between the two shape models) based on the shape models of the mechanical unit 20 of the machine tool and the mechanical unit 22 of the robot stored and held in advance and the integrated time-series data (specifically, each time included in the time-series data (time when interference is checked) and the positions of the control axes of the machine tool and the robot corresponding to each time) (step S9). In the first embodiment, the time when interference is checked is the same as the operation time of the machine tool 12.”, ¶ 0047, “In the case where it is predicted that interference will occur based on the results of the processing at step S9, braking/stopping instructions are transmitted to the machine tool controller 14 from the interference check execution unit 24 by message transmission (step S11). The real-time interference check at step S8 and subsequent steps is repeated until the production operation is finished (step S12, step S7 in FIG. 2).”. The cited passages clearly teaches that the system is configured to obtain the current positions of the robot and machine tool, perform an interference check using 3D model data of the robot and machine tool, the current positions of both, and integrated time-series data (i.e. interpolated future positions of the robot and machine tool) of both to determine interference (i.e. collision/contact between the robot and machine tool.). Furthermore, the process is configured to repeat until the production operation is completed. One of ordinary skill in the art would recognize that, because this process is configured to run until the production operation ends, and because it obtains the current positions of the robot and machine tool each time, the cited passages clearly teaches wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device.). Sagasaki in view of Inoue teaches a numerical control system comprising: a motion-path generation device that generates, based on a numerical control program that includes a machine tool instruction block for controlling motion of a machine tool and a robot instruction block for controlling motion of a robot provided in proximity to the machine tool, a motion path concerning control axes of the robot; and a robot control device that is communicably coupled to the motion-path generation device and controls motion of the robot based on an instruction transmitted from the motion-path generation device, wherein the motion-path generation device includes: a model update unit that acquires start coordinate values of the control axes and machine coordinate values of the machine tool based on the numerical control program and updates a robot system model based on the start coordinate values and the machine coordinate values, the robot system model being configured by disposing three- dimensional models of the robot, the machine tool, and peripheral objects that are present in proximity to the machine tool in a virtual space; an interference-avoiding-path generation unit that generates a target motion path starting from the start coordinate values and arriving at end coordinate values of the control axes, the end coordinate values being specified based on the robot instruction block, while avoiding interference in the robot system model; and a communication unit that transmits an instruction including the target motion path to the robot control device and causes the robot control device to control motion of the robot, the robot control device generates a robot program based on the target motion path. Sagasaki in view of Inoue does not teach wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device. Nishi teaches wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device. A person of ordinary skill in the art would have had the technological capabilities required to have modified the system taught in Sagasaki in view of Inoue with wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device taught in Nishi. Furthermore, the system taught in Sagasaki in view of Inoue is already configured to acquire the position of the machine tool and the robot and perform an interference check between the robot and the machine tool. As such, a person of ordinary skill in the art would have been easily able to have modified the system with wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device taught in Nishi. Additionally, just as in Sagasaki in view of Inoue, Nishi teaches a system that obtains the positions of the robot and machine tool, and using shape data of both, performs an interference check. As such one of ordinary skill in the art would have been able to have modified the device taught in Sagasaki in view of Inoue with wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device taught in Nishi without changing or introducing new functionality to either. No inventive effort would have been required. The combination would have yielded the predictable result of a numerical control system comprising: wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the system taught in Sagasaki in view of Inoue with wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device taught in Nishi with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because, the combination would have yielded predictable results. Regarding claim 6, Sagasaki in view of Inoue in further view of Nishi teaches wherein the communication unit transmits an execution instruction for the robot program to the robot control device, after transmitting the target motion path to the robot control device, and the robot control device starts the robot program in response to receiving the execution instruction (Sagasaki: ¶ 0119, “The robot command analyzing unit 371 of the analysis processing unit 37 determines whether or not the robot mode is on (step S1). Specifically, the robot command analyzing unit 371 determines whether the mode of G198 is being executed (robot commands are enabled) or the mode of G199 is being executed (robot commands are disabled). The robot command analyzing unit 371 sends the analysis result to the mode setting unit 412 via the storage unit 34.”, ¶ 0139, “Subsequently, the program converting unit 414 sends the robot program obtained by the conversion to the robot controller SOX (step SS). The robot controller 50X controls the robot 60 in accordance with the robot program received from the program converting unit 414 (step S6).”. As can be seen from the cited passages; after receiving the ON command, the system is configured to cause the robot to execute the target motion plan (¶0134-0138 detail the specific types of possible target motion plans).). Regarding claim 7, a non-transitory computer-readable medium storing a computer program that causes a computer that stores a numerical control program that includes a machine tool instruction block for controlling motion of a machine tool and a robot instruction block for controlling motion of a robot provided in proximity to the machine tool to execute (Sagasaki: ¶ 0038, “FIG. 1 is a diagram illustrating a configuration of a control system including a numerical control device according to a first embodiment. A control system l00A is a system for controlling a machine tool 70 and a robot 60 by using numerical control (NC) programs.”, ¶ 0058, “The storage unit 34 includes a parameter storage area 341, an NC program storage area 343, a display data storage area 344, and a shared area 345. The parameter storage area 341 stores parameters to be used for processing performed by the control computation unit 2X, or the like. Specifically, the parameter storage area 341 stores control parameters, servo parameters, and tool data for making the numerical control device 1X operate. The NC program storage area 343 stores NC programs to be used for machining of a workpiece. An NC program in the first embodiment includes movement commands, which are commands for moving the tool, and commands for controlling the robot 60.”, ¶ 0187, “The numerical control device lX controls the robot 60 and the machine tool 70 by using the NC program 501 illustrated in FIG. 18. In this case, the numerical control device lX converts the robot commands in the second system into a robot program to control the robot 60. As a result, the user of the control system l00A can create NC robot programs from NC programs without the knowledge of robot programs, and control the robot 60 by using the NC programs, which improves the work efficiency such as setups. In addition, because robot programs are described in NC programs, synchronous operations of the machine tool 70 and the robot 60 at specific timings (at activation of the robot 60, during the operation of the robot 60, and at completion of the operation of the robot 60) can be easily programmed, which improves the work efficiency such as setups.”. The cited passages clearly teach that the NC system includes a machine tool instruction block and robot instruction block.): and a step of transmitting an instruction including the target motion path to a robot control device an causes the robot control device to control motion of the robot. (Sagasaki: ¶ 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.”, ¶ 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.”, ¶ 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.”. The cited passages clearly show that CNC unit, robot controller, and numerical control device are all connected to one another such that instructions can be transmitted to the robot controller.). Sagasaki does not teach a step of acquiring, based on the numerical control program, start coordinate values of control axes of the robot and machine coordinate values of the machine tool; a step of updating, based on the start coordinate values and the machine coordinate values, a robot system model being configured by disposing three-dimensional models of the robot, the machine tool, and peripheral objects that are present in proximity to the machine tool in a virtual space; a step of generating a target motion path starting from the start coordinate values and arriving at end coordinate values of the control axes, the end coordinate values being specified based on the robot instruction block, while avoiding interference in the robot system model, acquiring, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device. Inoue, in the same field of endeavor, a step of acquiring, based on the numerical control program, start coordinate values of control axes of the robot and machine coordinate values of the machine tool (Inoue: ¶ 0026, “The positions of the movable parts such as the movable table 48 and the movable tool 52 of the virtual NC machine tool 38 can be accurately known by executing the NC program with the NC simulator 10. The off-line programming device 28 can read the axial position information of the control shaft that drives each movable part during the NC program execution in real time via the first communication module 26 and the second communication module 30.”, ¶ 0033, “The program creation device 34 (FIG. 1) determines the position of the virtual workpiece 50 from the position of the virtual movable table 48 obtained by the above-mentioned simulation, and from this and the position of the virtual robot 36, determines the handling position of the virtual workpiece 50 by the virtual robot 36, and creates a teaching program.”. As can be seen from the cited passages, the virtual model is updated based on the received position information of the machine and the starting position of the robot.); a step of updating, based on the start coordinate values and the machine coordinate values, a robot system model being configured by disposing three-dimensional models of the robot, the machine tool, and peripheral objects that are present in proximity to the machine tool in a virtual space (Inoue: ¶ 0022, “The robot simulator 32 stores data representing a three-dimensional CAD model and specifications of the simulation object, and in the illustrated example, data on the robot, NC machine tool, external equipment, and various sensors that are the simulation objects are defined as a virtual robot 36, a virtual NC machine tool 38, a virtual external equipment 40, and a virtual sensor 42, respectively.”); a step of generating a target motion path starting from the start coordinate values and arriving at end coordinate values of the control axes, the end coordinate values being specified based on the robot instruction block, while avoiding interference in the robot system model (Inoue: ¶ 0033, “Here, by executing the NC program using the NC simulator 10, the position at which the robot should handle is automatically determined based on the position information of the moving movable table, and this position is set as the teaching position, and an accurate teaching program can be created using these teaching positions.”, ¶ 0034, “The present invention enables offline teaching of a robot in a system including an NC machine tool and a robot, which was not possible in the past, and by connecting the NC simulator and robot simulator with a communications module, it is possible to perform a simulation that performs the same operations as the actual machine. Furthermore, in the present invention, accurate operational verification including the above-mentioned virtual gate 54, virtual area sensor 56, virtual indicator light 58, etc. can be performed, and an interlock simulation can also be performed. This makes it possible to verify the cycle time of the entire system, check for interference between devices, and debug programs, thereby shortening robot start-up time and avoiding system malfunctions caused by sequence bugs without having to verify them on the actual machine.”). Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the non-transitory computer readable medium storing a numerical control program taught in Sagasaki with a step of generating a target motion path starting from the start coordinate values and arriving at end coordinate values of the control axes, the end coordinate values being specified based on the robot instruction block, while avoiding interference in the robot system model taught in Inoue with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because it allows the system to check for interference between the robot, machine, and anything else in its environment by comprehensively reproducing the operation of the machine, robot, and workpiece. This ensures the safety of the robot, machine, and workpiece, and prevents damage to any (Inoue: ¶ 0005, “There have been devices that provide robot offline equipment with pseudo-functions of robot control devices and NC devices, but the pseudo-functions have been insufficient functionally to substitute for NC devices and robot devices that perform complex control, and the simulation accuracy has often been insufficient. Furthermore, there was no simulation device that could comprehensively and accurately reproduce the operation of NC devices, the operation of robots, and the control of peripheral devices, and therefore it was not possible to perform simulations including synchronous operation between NC machine tools and robots or interlock simulations. As a result, it was not possible to verify interference between NC machine tools, robots, and peripheral devices, cycle times, ensure safety areas, or make production plans in advance.”). Sagasaki in view of Inoue does not teach wherein acquiring, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device Nishi, in the same field of endeavor, teaches acquiring, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device (Nishi: Figure 3, ¶ 0033, “FIG. 1 is a diagram illustrating an outline configuration of an interference check system 10 according to a first embodiment of the present invention. The interference check system 10 includes a machine tool controller 14 configured to control a machine tool 12, a robot controller 18 configured to control a robot 16, and an interference check execution unit 24 configured to include shape model data of a mechanical unit 20 of the machine tool 12 and a mechanical unit 22 of the robot 16, and layout information thereon. The machine tool 12 and the robot 16 are configured to perform a collaborative work in such a manner that, for example, the machine tool 12 machines a workpiece loaded by the robot 16, the robot 16 unloads the machined workpiece from the machine tool 12, and so on. The interference check execution unit 24 is configured to check interference between the mechanical unit 20 of the machine tool and the mechanical unit 22 of the robot, and may be, for example, a real-time CAD/CAM system, or may be included in the machine tool controller 14.”, ¶ 0040, “Next, with reference to FIG. 2 to FIG. 6, the processing in the interference check system 10 is explained. The flowchart in FIG. 2 mainly illustrates the processing in the machine tool controller 14 and the flowchart in FIG. 3 mainly illustrates the processing in the interference check execution unit 24.”, ¶ 0042, “At the next step S3, whether or not the machine tool controller 14 can acquire, while having the real-time properties, a set ( data set) of an operation time of the robot 16 (robot time) and a position of a control axis of the robot 16 corresponding to the robot time, which set is generated sequentially by the robot controller 18, is determined. More specifically, whether or not the real-time properties of the data communication from the transmitter unit 40 of the robot controller 18 to the receiver unit 32 of the machine tool controller 14 are secured is determined. FIG. 4 illustrates the case where the real-time properties of communication are secured, i.e., a transmission time delay d between the machine tool 12 and the robot 16 is sufficiently small compared to the time necessary for the calculation of correction/interpolation and communication intervals f1 from the robot (controller) are comparatively short. In this case, the position data correcting/interpolating unit 28 of the machine tool controller 14 integrates the data set from the robot controller 18 and a set ( data set) of an operation time of the machine tool 12 (machine tool time) and a position of a control axis of the machine tool 12 corresponding to the machine tool time, which set is generated sequentially by the machine tool controller 14. Specifically, the position data correcting/interpolating unit 28 performs interpolation with respect to time and newly obtains the position (time-series data) of the control axes of the robot 16 by performing correction calculation to obtain the position (time-series data) of the control axes of the machine tool 12 and the position of the control axes of the robot 16 corresponding to each machine tool time, and then couples both data sets ( step S4).”, ¶ 0043, “On the other hand, FIG. 5 illustrates the case where the real-time properties of communication are not secured, i.e., the case where communication intervals fa from the robot (controller) are comparatively long or the case where there is a variation thereamong. The case where the real-time properties of communication are not secured also includes the case where the transmission time delay d between the machine tool 12 and the robot 16 is too large to ignore compared to the time necessary for calculation of correction/interpolation. In this case, unlike the case in FIG. 4, the position data correcting/interpolating unit 28 needs to obtain the position of the control axes of the robot 16 corresponding to each machine tool time in the state where the positions (time-series) of the control axes of the robot 16 close to each machine tool time from the transmitter unit 40, for which interpolation is necessary, have not reached the receiver unit 32 yet. Because of this, processing to estimate (predict) the position of the control axes of the robot 16 corresponding to each machine tool time, which is necessary, by using the positions (time-series data) of the control axes of the robot 16 already accumulated in the past in the position data correcting/interpolating unit 28 is added (step SS).”, ¶ 0046, “In relation to step S6 in FIG. 2, the interference check execution unit 24 receives the integrated (time-series) data of positions of the machine tool 12 and the robot 16 from the machine tool controller 14 (step S8 in FIG. 3). Next, the interference check execution unit 24 checks presence/absence of interference between the mechanical unit 20 of the machine tool and the mechanical unit 22 of the robot (specifically, presence/absence of contact or overlap between the two shape models) based on the shape models of the mechanical unit 20 of the machine tool and the mechanical unit 22 of the robot stored and held in advance and the integrated time-series data (specifically, each time included in the time-series data (time when interference is checked) and the positions of the control axes of the machine tool and the robot corresponding to each time) (step S9). In the first embodiment, the time when interference is checked is the same as the operation time of the machine tool 12.”, ¶ 0047, “In the case where it is predicted that interference will occur based on the results of the processing at step S9, braking/stopping instructions are transmitted to the machine tool controller 14 from the interference check execution unit 24 by message transmission (step S11). The real-time interference check at step S8 and subsequent steps is repeated until the production operation is finished (step S12, step S7 in FIG. 2).”. The cited passages clearly teaches that the system is configured to obtain the current positions of the robot and machine tool, perform an interference check using 3D model data of the robot and machine tool, the current positions of both, and integrated time-series data (i.e. interpolated future positions of the robot and machine tool) of both to determine interference (i.e. collision/contact between the robot and machine tool.). Furthermore, the process is configured to repeat until the production operation is completed. One of ordinary skill in the art would recognize that, because this process is configured to run until the production operation ends, and because it obtains the current positions of the robot and machine tool each time, the cited passages clearly teaches wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device.). Sagasaki in view of Inoue teaches a non-transitory computer-readable medium storing a computer program that causes a computer that stores a numerical control program that includes a machine tool instruction block for controlling motion of a machine tool and a robot instruction block for controlling motion of a robot provided in proximity to the machine tool to execute: a step of acquiring, based on the numerical control program, start coordinate values of control axes of the robot and machine coordinate values of the machine tool; a step of updating, based on the start coordinate values and the machine coordinate values, a robot system model being configured by disposing three-dimensional models of the robot, the machine tool, and peripheral objects that are present in proximity to the machine tool in a virtual space; a step of generating a target motion path starting from the start coordinate values and arriving at end coordinate values of the control axes, the end coordinate values being specified based on the robot instruction block, while avoiding interference in the robot system model; and a step of transmitting an instruction including the target motion path to a robot control device and causes the robot control device to control motion of the robot. Sagasaki in view of Inoue does not teach acquiring, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device. Nishi teaches acquiring, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device. A person of ordinary skill in the art would have had the technological capabilities required to have modified the non-transitory computer readable medium taught in Sagasaki in view of Inoue with acquiring, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device taught in Nishi. Furthermore, the non-transitory computer readable medium taught in Sagasaki in view of Inoue is already configured to acquire the position of the machine tool and the robot and perform an interference check between the robot and the machine tool. As such, a person of ordinary skill in the art would have been easily able to have modified the non-transitory computer readable medium with acquiring, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device taught in Nishi. Additionally, just as in Sagasaki in view of Inoue, Nishi teaches a system that obtains the positions of the robot and machine tool, and using shape data of both, performs an interference check. As such one of ordinary skill in the art would have been able to have modified the non-transitory computer readable medium taught in Sagasaki in view of Inoue with acquiring, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device taught in Nishi without changing or introducing new functionality to either. No inventive effort would have been required. The combination would have yielded the predictable result of a non-transitory computer-readable medium storing a computer program that causes a computer that stores a numerical control program that includes a machine tool instruction block for controlling motion of a machine tool and a robot instruction block for controlling motion of a robot provided in proximity to the machine tool to execute: acquiring, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the non-transitory computer readable medium taught in Sagasaki in view of Inoue with acquiring, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device taught in Nishi with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make this modification because, the combination would have yielded predictable results. Claim(s) 2 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2022/0011754 A1 ("Sagasaki") in view of JP 2010218036 A ("Inoue") in further view of US 2017/0028558 A1 ("Nishi") in further view of US 2022/0111515 A1 ("He"). Regarding claim 2, Sagasaki in view of Inoue in further view of Nishi does not teach further comprising an identifier storage unit that stores a plurality of identifier sets that are associated with coordinate values of the control axes, wherein the interference-avoiding-path generation unit generates the target motion path that passes through coordinate values that are associated with identifiers specified based on the numerical control program, while avoiding interference in the robot system model. He, in the same field of endeavor, teaches further comprising an identifier storage unit that stores a plurality of identifier sets that are associated with coordinate values of the control axes (He: Table 1, ¶ 0063, “Continuing the above example for drawing a polyline through a group of points, the description may involve the x, y and z coordinates for the group of points, and a tool angle. It is to be understood that the above example is an example description and a real description may relates to more aspects for defining the second workpiece. Further, the process definition may be determined based on the shape model and the description. With these embodiments, the process definition that defines how to process the first workpiece into the second workpiece may be determined in an effective and convenient manner. In some embodiments, the process definition may be stored in an example data structure as shown in Table 1. In other embodiments, the process definition may be saved in another data structure with different columns in the table.”. As can be seen from the cited passage, the coordinates defining the path of the tool is stored in a data structure such that each point has the identifier such that the first point is pont01 and the tenth point is point10.), wherein the interference-avoiding-path generation unit generates the target motion path that passes through coordinate values that are associated with identifiers specified based on the numerical control program, while avoiding interference in the robot system model (He: Tables 2, ¶ 0070, “As shown in Table 2, the line “<_Instruction> CONST robtarget % Target_name:=[[% Target_x, % Target_y, % Target_z], [% ANGLE], . . . ]; </_Instruction>” defines the mapping. With this template, lines with a similar format of “point01=(0.1, 0.1, 0), 45°, . . . ” may be identified from the robot program 130 and then “45°” may be replaced by the variable 320.”. The cited passage and table shows that the robot is configured to travel through the point specified by the identifier based on the control program.). The only difference between the prior art and the claimed invention id that the prior art does not combine the motion-path generation device and the method of storing identifiers that are associated with control axis coordinates and the method of generating the target motion path such that the robot passes through said control axes coordinates into a single combine reference. A person of ordinary skill in the art would have had the technological capabilities to have combine the method of storing identifiers that are associated with control axis coordinates and the method of generating the target motion path such that the robot passes through said control axes coordinates taught in He with the motion-path generation device taught in Sagasaki in view of Inoue in further view of Nishi. Furthermore, even though the control program used in He is not a numerical control program, the numerical control program used in Sagasaki in view of Inoue in further view of Nishi already allows for the specification of the coordinates of the control axis and could therefore be easily modified to allow for the use of identifiers associated with predefined coordinate points as taught in He. This modification would not change or introduce new functionality. No inventive effort would have been required. The combination would have yielded the predictable result of a motion-path generation device that generates a path such that the robot passes through coordinates associated with an identifier specified based on the numerical control program. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filling date of the claimed invention, to have combine the motion-path generation device taught in Sagasaki in view of Inoue in further view of Nishi with the method of storing identifiers that are associated with control axis coordinates and the method of generating the target motion path such that the robot passes through said control axes coordinates taught in He with a reasonable expectation of success. One of ordinary skill in the art would have been motivated to make these modifications because the combination would have yielded predictable results. Response to Arguments Applicant’s arguments with respect to claim(s) 1, 5, and 7, specifically regarding the limitation “wherein the model update unit acquires, as the start coordinate values, latest values of coordinate values of the control axes that change successively under the control of the robot control device” have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. Applicant's arguments filed December 8th, 2025 have been fully considered but they are not persuasive. Regarding Applicant’s arguments on Pages 6-7, Applicant argues that the prior art relied upon does not teach the claimed limitations. Specifically on Page 7, Applicant argues that the secondary reference Inoue fails to teach the limitation “and a communication unit that transmits an instruction including the target motion path to a robot control device and causes the robot control device to control motion of the robot”. The Examiner respectfully disagrees. In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986). As stated in the Final Office Action mailed September 18th, 2025 and in the 35 U.S.C. § 103 rejection section above, Inoue was not relied upon to teach the limitation in question. The primary reference Sagasaki teaches a motion-path generation device that generates, based on a numerical control program that includes a machine tool instruction block for controlling motion of a machine tool and a robot instruction block for controlling motion of a robot provided in proximity to the machine tool, a motion path concerning control axes of the robot, the motion-path generation device comprising (Sagasaki: Figure 18, ¶ 0038, ¶ 0039, ¶ 0046, ¶ 0070, ¶ 0071, ¶ 0073, ¶ 0187): a processor configured to execute instructions to implement (Sagasaki: ¶ 0041, ¶ 0289) and a communication unit that transmits an instruction including the target motion path to a robot control device and causes the robot control device to control motion of the robot (Sagasaki: ¶ 0040, ¶ 0041, ¶ 0073). The cited passages clearly shows that Sagasaki teaches that a communication unit transmits instructions that include a target motion path and cause the robot control device to control the robot motion. As such, the combination of Sagasaki in view of Inoue clearly teaches the limitation “and a communication unit that transmits an instruction including the target motion path to a robot control device and causes the robot control device to control motion of the robot” Therefore, for the reasons stated above and in the 35 U.S.C. § 103 rejection section, the 35 U.S.C. § 103 rejection of independent claims 1, 5, and 7 will be maintained. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to Noah W Stiebritz whose telephone number is (571)272-3414. The examiner can normally be reached Monday thru Friday 7-5 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, Ramon 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. /N.W.S./Examiner, Art Unit 3658 /TRUC M DO/Primary Examiner, Art Unit 3658
Read full office action

Prosecution Timeline

Sep 01, 2023
Application Filed
May 01, 2025
Non-Final Rejection — §103
Aug 07, 2025
Response Filed
Sep 16, 2025
Final Rejection — §103
Dec 08, 2025
Request for Continued Examination
Dec 28, 2025
Response after Non-Final Action
Jan 12, 2026
Non-Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12602063
LOAD HANDLING SYSTEM AND LOAD HANDLING METHOD
2y 5m to grant Granted Apr 14, 2026
Patent 12575900
Steerable Eversion Robot System and Method of Operating the Steerable Eversion Robot System
2y 5m to grant Granted Mar 17, 2026
Patent 12552043
METHOD FOR CONTROLLING ROBOTIC ARM, ELECTRONIC DEVICE, AND COMPUTER-READABLE STORAGE MEDIUM
2y 5m to grant Granted Feb 17, 2026
Patent 12472640
CONTROL METHOD AND SYSTEM FOR ARTICLE TRANSPORTATION BASED ON MOBILE ROBOT
2y 5m to grant Granted Nov 18, 2025
Patent 12467759
VEHICLE WITH SWITCHABLE FORWARD AND BACKWARD CONFIGURATIONS, CONTROL METHOD, AND CONTROL PROGRAM
2y 5m to grant Granted Nov 11, 2025
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
67%
Grant Probability
51%
With Interview (-15.6%)
2y 6m
Median Time to Grant
High
PTA Risk
Based on 18 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