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 06/03/2026. Claims 1-2 and 4-5 are currently pending with claims 1 and 4 being amended.
Response to Amendment
The amendments to the claims submitted on 06/03/2026 overcome the claim objections set forth in the previous Office action except for those set forth in the claim objection section.
Response to Arguments
Examiner notes wherein Applicant argues the newly amended limitations, which have not been addressed by the prior art of record. As such, Examiner has augmented the below rejection(s) in view of the prior art of record to address the newly amended limitations.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 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, Lilienthal et al. (EP 1375083 B1), hereinafter Lilienthal, and Choi et al. (KR 20160012029 A), hereinafter Choi.
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 the robot command and the travel axis command based on the numerical control program, the robot 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 the robot command and the travel axis command to the robot control device and causes the robot control device to control the operation of the robot and the transfer device, (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 … based on analysis of the numerical control program, (Paragraph 0057, “The control computation unit 2X, which is a control unit, controls the machine tool 70 and the robot 60 by using NC programs defined on the coordinate system of the machine tool 70. The control computation unit 2X includes an input control unit 32, a data setting unit 33, a storage unit 34, a screen processing unit 31, an analysis processing unit 37, a control signal processing unit 35X, the PLC 36, an interpolation processing unit 38, an acceleration/deceleration processing unit 39, an axial data outputting unit 40, and a robot control unit 41X. Note that the PLC 36 may be located outside the control computation unit 2X.”) … 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. Sagasaki does not explicitly discuss how the communication of the coordinate information is performed. 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.”)
However, Choi, in the same field of endeavor of robotics, teaches:
… generate a coordinate value acquisition request … transmit the coordinate value acquisition request to the robot control device, … in response to the coordinate value acquisition request … (Page 3, Paragraph 6, “The robot control unit 31 can generate status information of the robot 30 according to a request of the numerical control unit 200 or its own setting.”)
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.". Incorporating the ability to request state information of the robot as taught by Choi would further allow the system to closely “monitor the operation of the robot” (Choi Page 3, Paragraph 5).
Regarding claim 2, where all limitations of claim 1 are discussed above, Sagasaki further teaches:
2. (Previously Presented) The numerical control apparatus according to claim 1, wherein the processor is further configured to acquire the robot reference coordinate value or the travel axis reference coordinate value from the robot control device, based on a coordinate system switching command of the numerical control program. (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 a coordinate value of the robot control axis and a coordinate value of the travel axis according to a coordinate value acquisition request sent from the numerical control apparatus, and sends these to the numerical control apparatus, (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 operation of the robot … based on the robot command and the travel axis command; (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 the robot command and the travel axis command, based on the numerical control program, the robot 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 … based on analysis result of the numerical control program, (Paragraph 0057, “The control computation unit 2X, which is a control unit, controls the machine tool 70 and the robot 60 by using NC programs defined on the coordinate system of the machine tool 70. The control computation unit 2X includes an input control unit 32, a data setting unit 33, a storage unit 34, a screen processing unit 31, an analysis processing unit 37, a control signal processing unit 35X, the PLC 36, an interpolation processing unit 38, an acceleration/deceleration processing unit 39, an axial data outputting unit 40, and a robot control unit 41X. Note that the PLC 36 may be located outside the control computation unit 2X.”) … 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. Sagasaki does not explicitly discuss how the communication of the coordinate information is performed. 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.”)
However, Choi, in the same field of endeavor of robotics, teaches:
… generate a coordinate value acquisition request … transmit the coordinate value acquisition request to the robot control device … in response to the coordinate value acquisition request … (Page 3, Paragraph 6, “The robot control unit 31 can generate status information of the robot 30 according to a request of the numerical control unit 200 or its own setting.”)
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.". Incorporating the ability to request state information of the robot as taught by Choi would further allow the system to closely “monitor the operation of the robot” (Choi Page 3, Paragraph 5).
Regarding claim 5, where all the limitations of claim 4 are discussed above, Sagasaki further teaches:
5. (Previously Presented) The numerical control system according to claim 4, wherein the second processor is further configured to generate and send to the robot control device the coordinate value acquisition request based on a coordinate system switching command of the numerical control program. (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.
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
/H.J.K./Examiner, Art Unit 3657 /ADAM R MOTT/Supervisory Patent Examiner, Art Unit 3657