Numerical control device and numerical control method

By measuring and reflecting the coordinate system offset of working machines and robots using CNC devices, the burden of creating control programs in multiple working machine and robot systems is solved, and efficient collaborative control is achieved.

CN120513149BActive Publication Date: 2025-12-30MITSUBISHI ELECTRIC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380089568.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-16
Publication Date
2025-12-30
Estimated Expiration
2043-06-16

AI Technical Summary

Technical Problem

In multiple machine tools and robot systems, existing technologies require the creation of separate control programs for each machine tool and robot, which increases the operator's workload, makes it difficult to understand the interaction between the two, and requires the determination of the relative coordinate systems of multiple machine tools when controlling the robot.

Method used

The system employs a numerical control device for the coordinated control of multiple working machines and robots. The coordinate system offset is measured by the measurement and processing unit, and the coordinate system offset is associated with the working machines by the association unit. The reflection and processing unit reflects the coordinate system offset when executing the machining program to control the robot.

Benefits of technology

It reduces the burden on operators when creating machining programs and improves the efficiency and accuracy of multiple machine tools and robot control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120513149B_ABST
    Figure CN120513149B_ABST
Patent Text Reader

Abstract

A numerical control device (1) controls a work machine (70) and other work machines (72-74) and a robot (60). The numerical control device (1) has a coordinate system offset measurement processing section (80) that measures a coordinate system offset (346) of the work machine (70) and the other work machines (72-74) using a stop position (349) of the robot (60) in the work machine (70) and the other work machines (72-74) at the time of work and a position at which a measurement operation of the start of the coordinate system offset (346), that is, a measurement start coordinate (348), is performed, a coordinate system offset table (344) that associates the measured coordinate system offset (346) with the work machine (70) and the other work machines (72-74) along with the stop position (349) and the measurement start coordinate (348), and a coordinate system offset reflection processing section (81) that controls the robot (60) while reflecting the coordinate system offset (346) when a machining program is executed.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to a numerical control device and a numerical control method for controlling a work machine and a robot. BACKGROUND

[0002] Generally, in a system in which a work machine and a robot are made to act in coordination, the work machine and the robot have different controllers, the program languages for control are different, and the coordinate systems of the work machine and the robot are different. In a system having a work machine and a robot, if a program for controlling the work machine and a program for controlling the robot are created separately from each other, it is difficult to understand the coordinated action of the work machine and the robot through these programs, and sometimes the work burden at the time of starting the system becomes large. Therefore, a technique for controlling both the work machine and the robot through a program language for the work machine has been proposed.

[0003] In Patent Literature 1, a numerical control device for transmitting a program language for a work machine to a robot controller, thereby controlling the robot, is disclosed. The difference between the coordinate system of the work machine and the coordinate system of the robot is measured for the relative relationship, and control is performed taking the difference into account.

[0004] Patent Literature 1: Japanese Patent No. 6647472 SUMMARY

[0005] Sometimes, a plurality of work machines are provided in a factory, and one robot performs the carrying-in and carrying-out work of the plurality of work machines. With the technique of Patent Literature 1, in the case where the control of the robot is performed by one of the work machines, the one work machine needs to measure, hold, and apply the relative relationship of the coordinate systems between the robot and the plurality of work machines. At the time of measurement and application, control through, for example, a machining program is generally required, but the worker has to consider each machining process, and thus the burden of creating the machining program becomes large.

[0006] The present application has been made in view of the above circumstances, and has an object to obtain a numerical control device capable of reducing the burden of a worker related to the creation of a machining program for controlling a plurality of work machines and a robot by the worker.

[0007] To solve the above problems and achieve the object, the numerical control device of the present application controls a plurality of work machines and a robot that performs work on the plurality of work machines. The numerical control device has: a measurement processing section that measures a coordinate system offset of each work machine using a stop position of the robot in each work machine at the time of work, and a measurement start position that indicates a position at which a measurement operation of the coordinate system offset that indicates a relationship between a coordinate system of each work machine and a coordinate system of the robot is started; a correlation section that correlates the coordinate system offset measured by the measurement processing section with each work machine together with the stop position and the measurement start position; and a reflection processing section that controls the robot while reflecting the correlated coordinate system offset when a machining program is executed.

[0008] Effects of the Invention

[0009] The numerical control device according to the present application has the effect that the burden on the worker relating to creation of a machining program for controlling a plurality of work machines and a robot by the worker can be reduced. BRIEF DESCRIPTION OF DRAWINGS

[0010] Figure 1 FIG. 1 is a diagram showing a configuration example of a control system including the numerical control device according to Embodiment 1.

[0011] Figure 2 FIG. 2 is a diagram showing a configuration example of the numerical control device according to Embodiment 1.

[0012] Figure 3 FIG. 3 is a diagram showing a measurement example of a coordinate system offset using a contact probe in the numerical control device according to Embodiment 1.

[0013] Figure 4 FIG. 4 is a diagram showing an example of a coordinate system offset table stored by the numerical control device according to Embodiment 1.

[0014] Figure 5 FIG. 5 is a diagram showing an example of a machining program executed by the numerical control device according to Embodiment 1.

[0015] Figure 6 FIG. 6 is a diagram showing an example of a tool change method of the robot according to Embodiment 1.

[0016] Figure 7 FIG. 7 is a flowchart showing a sequence of actions of a coordinate system offset measurement processing section of the numerical control device according to Embodiment 1.

[0017] Figure 8 FIG. 8 is a flowchart showing a sequence of actions of a coordinate system offset reflection processing section of the numerical control device according to Embodiment 1.

[0018] Figure 9is a view showing a configuration example of a control system including the numerical control device according to Embodiment 2.

[0019] Figure 10 is a view showing a configuration example of the numerical control device according to Embodiment 2.

[0020] Figure 11 is a view showing an example of a machining program executed by the numerical control device according to Embodiment 2.

[0021] Figure 12 is a flowchart showing a sequence of actions of the coordinate system offset reflection processing section of the numerical control device according to Embodiment 2.

[0022] Figure 13 is a block diagram showing a configuration example of the control calculation section of the numerical control device according to Embodiments 1 and 2. DETAILED DESCRIPTION

[0023] Hereinafter, the numerical control device and the numerical control method according to the embodiments will be described in detail based on the drawings.

[0024] Embodiment 1

[0025] Figure 1 is a view showing a configuration example of a control system 100 including the numerical control device 1 according to Embodiment 1. The numerical control device 1 according to Embodiment 1 creates a machining program that controls the work machine 70, the robot 60, and the traveling axis 62, and controls the other work machines 72, 73, and 74. In Embodiment 1, an example in which the numerical control device 1 that controls the work machine 70 and the robot 60 and the traveling axis 62 has a function of measuring and applying a coordinate system will be described.

[0026] The control system 100 is a system that controls the work machine 70, the robot 60, and the traveling axis 62 using a numerical control (NC) program as a machining program. The control system 100 has the work machine 70, the numerical control device 1, the robot controller 50, the robot 60, the traveling axis 62, and the other work machines 72 to 74. The numerical control device 1 has a computer numerical control (CNC) unit 6 and an input operation section 3. In Embodiment 1, a mode of the work machine 70 for the purpose of metalworking will be mainly described, but the mode of the work machine 70 is not limited thereto.

[0027] The CNC unit 6 is connected to the work machine 70, the input operation section 3, and the robot controller 50. The robot controller 50 is connected to the robot 60. The CNC unit 6 and the robot controller 50 are connected, for example, via a network such as a LAN (Local Area Network).

[0028] The input / output unit 3 includes an input / output unit 51, an emergency stop button 52, and an operation panel 53. The operation panel 53 receives operations from the operator and sends corresponding signals to the input / output unit 51. If the operator presses the emergency stop button 52, it sends a signal to the robot controller 50 to stop it and a signal to the machine tool 70 to stop it. The input / output unit 51 sends the signals from the operation panel 53 and the emergency stop button 52 to the CNC unit 6. If the robot controller 50 receives a signal from the emergency stop button 52, it causes the robot 60 to stop urgently. If the CNC unit 6 receives a signal from the input / output unit 51 to stop the machine tool 70, it causes the machine tool 70 to stop urgently.

[0029] In the control system 100, communication is performed between the machine tool 70, the CNC device 1, and the robot controller 50, and communication is performed between the robot controller 50 and the robot 60 and the travel axis 62. As described above, in the control system 100, the CNC device 1, the robot 60, and the travel axis 62 are connected via the robot controller 50. The CNC device 1 controls the robot 60 and the travel axis 62 via the robot controller 50. Hereinafter, in the description of the control of the robot 60 implemented by the CNC device 1, descriptions related to the robot controller 50 will sometimes be omitted.

[0030] CNC unit 6 is also connected to other machines 72-74. CNC unit 6 and other machines 72-74 are connected, for example, through an industrial network including a LAN.

[0031] In the control system 100, communication is performed between the CNC device 1 and other working machines 72-74, and the CNC device 1 controls the other working machines 72-74. The CNC device 1 can also perform operation control of the other working machines 72-74, such as starting machining.

[0032] A numerical control device 1 is installed on the machine tool 70. The numerical control device 1 is a computer that enables the machine tool 70 to perform workpiece machining using cutting tools and enables the robot 60 to perform workpiece transport. In addition, the numerical control device 1 performs transport of the robot 60 via the travel axis 62 and performs operation control of other machine tools 72-74, such as starting machining.

[0033] The NC program contains instructions, i.e., the first instruction, written in the first programming language, to the machine tool 70, and instructions, i.e., the second instruction, written in the first programming language, to the robot 60 and the travel axis 62. The numerical control device 1 transforms the second instruction in the NC program into instructions, i.e., the third instruction, written in the second programming language, and uses the third instruction to control the robot 60 and the travel axis 62.

[0034] The input operation unit 3 is a unit that inputs information to the control calculation unit 2 of the CNC unit 6. The control calculation unit 2 will be described later. The input operation unit 3 has input units such as a keyboard, touch panel, buttons, or mouse. Figure 1 The example shown is a keyboard and a touch panel, which are input units. The touch panel is, for example, an LCD touch panel.

[0035] The CNC device 1 sends the robot program containing the third instruction to the robot controller 50. The robot controller 50 controls the robot 60 and the travel axis 62 according to the robot program sent from the CNC device 1.

[0036] Robot 60 grips and transports workpieces using its robotic arm 61. Robot 60 loads workpieces onto machine tool 70 before processing and unloads processed workpieces from machine tool 70. Furthermore, robot 60 can also perform processing tasks other than workpiece transport.

[0037] The travel axis 62 enables the robot 60 to move. The robot 60 is moved in front of other working machines 72-74 via the travel axis 62, thereby performing the conveying, loading, and unloading of workpieces relative to the other working machines 72-74.

[0038] The CNC unit 6 comprises a control and calculation unit 2 (described later) and a display unit 4 (described later). The CNC unit 6 uses an NC program to control the machine tool 70, the robot 60, and the travel axis 62. Furthermore, if the CNC unit 6 receives a signal from the input operation unit 3, it causes the machine tool 70 to perform processing corresponding to the received signal. Additionally, the CNC unit 6 displays information indicating the state of the machine tool 70, the robot 60, and the travel axis 62 on the display unit 4.

[0039] Machine tool 70 and other machine tools 72-74 are NC machine tools. The NC machine tools perform machining on the workpiece by moving the tool and workpiece relative to each other via drive axes of two or more axes. The coordinate system of the NC machine tools (the first coordinate system) and the coordinate system of the robot 60 (the second coordinate system) are different coordinate systems. Machine tool 70, other machine tools 72-74, and robot 60 are controlled via orthogonal coordinate systems, for example, moving the tool, workpiece, or robot arm 61 in three axes. Robot 60 has rotary axes and, in response to commands from the orthogonal coordinate system, can rotate multiple rotary axes (i.e., joints) to move the robot arm 61 in the linear direction.

[0040] Figure 2 This diagram illustrates a structural example of the numerical control device 1 according to Embodiment 1. The numerical control device 1 includes a control and calculation unit 2, an input operation unit 3, a display unit 4, and a PLC operation unit 5, such as a mechanical operation panel for operating the PLC (Programmable Logic Controller) 36. Figure 2 The diagram shows a numerical control device 1, a working machine 70, a robot controller 50, a robot 60, a travel axis 62, and other working machines 72-74.

[0041] Machine tool 70 and other machine tools 72-74 have a drive unit 90 for driving the cutting tool and the workpiece. An example of the drive unit 90 is a drive mechanism that drives the cutting tool while rotating the workpiece. In Embodiment 1, the driving direction of the cutting tool is, for example, two directions: a direction parallel to the X-axis and a direction parallel to the Z-axis. Furthermore, the axial direction depends on the device structure and is therefore not limited to the aforementioned directions.

[0042] The drive unit 90 includes servo motors 901 and 902 that move the tool along each axis direction defined on the CNC device 1, and detectors 97 and 98 that detect the position and speed of the servo motors 901 and 902. Detector 97 outputs a signal indicating the detection result of the position and speed of the servo motor 901. Detector 98 outputs a signal indicating the detection result of the position and speed of the servo motor 902. The drive unit 90 also includes servo control units 91 and 92 related to each axis direction that control the servo motors 901 and 902 based on commands from the CNC device 1. The servo control units 91 and 92 perform feedback control of the servo motors 901 and 902 based on signals from the detectors 97 and 98.

[0043] The servo control unit 91 controls the movement of the tool in the X-axis direction by controlling the servo motor 901. The servo control unit 92 controls the movement of the tool in the Z-axis direction by controlling the servo motor 902.

[0044] Additionally, the drive unit 90 includes a spindle motor 911 that rotates the spindle used to rotate the workpiece; and a detector 99 that detects the position and rotational speed of the spindle motor 911. The rotational speed is the number of rotations per unit time. The rotational speed detected by the detector 99 corresponds to the rotational speed of the spindle motor 911. The spindle control unit 190 controls the rotation of the spindle by controlling the spindle motor 911.

[0045] As described above, the input operation unit 3 has an input unit for inputting information to the control calculation unit 2. The input operation unit 3 receives commands issued by the operator to the numerical control device 1. Additionally, the input operation unit 3 receives NC programs or parameters. The display unit 4 is configured using a display unit such as a liquid crystal display device, and displays the information processed by the control calculation unit 2 on a screen. An example of the display unit 4 is a liquid crystal touch panel. In this case, some of the functions of the input operation unit 3 are configured in the display unit 4.

[0046] The control and calculation unit 2, acting as the control unit, uses an NC program defined by the coordinate system of the machine tool 70 to control the machine tool 70, the robot 60, and the travel axis 62. The control and calculation unit 2 includes a screen processing unit 31, an input control unit 32, a storage unit 34, a control signal processing unit 35, a PLC 36, a parsing processing unit 37, an interpolation processing unit 38, a coordinate system offset measurement processing unit 80 (as a measurement processing unit), a coordinate system offset reflection processing unit 81 (as a reflection processing unit), an external communication unit 40, and a robot control unit 41. Furthermore, the PLC 36 can also be configured externally to the control and calculation unit 2.

[0047] The storage unit 34 is a device for storing data, such as a non-volatile memory or a hard disk. The storage unit 34 holds an NC program storage area 341 for storing the NC program, a list of machine instruction codes 342, and a list of robot instruction codes 343. The storage unit 34 also includes a coordinate system offset table 344, a measurement macro 350, and a shared area 345, which will be described later.

[0048] The NC program storage area 341 stores programs for machining by the machine tool 70 and programs for controlling the robot 60 and the travel axis 62.

[0049] The machine tool instruction code list 342 is a list of codes used for instructions to machine tool 70. The robot instruction code list 343 is a list of codes used for instructions to robot 60.

[0050] The input control unit 32 receives information input from the input operation unit 3, and for example, stores the machining program in the NC program storage area 341 of the storage unit 34.

[0051] The screen processing unit 31 controls, for example, the display of the machining program in the NC program storage area 341 on the display unit 4. In addition, the screen processing unit 31 performs processing of user interface displays such as axis position information of the machine tool 70, setting information of the machine tool 70, and graphic displays related to machining.

[0052] The control signal processing unit 35 is connected to the PLC 36. The PLC 36 outputs signal information from relays and other devices that cause the machine tool 70 to operate to the control signal processing unit 35. The control signal processing unit 35 receives the signal information from the PLC 36 and writes the received signal information to the shared area 345. The interpolation processing unit 38 refers to the signal information from the PLC 36 during machining operation. Furthermore, if the control signal processing unit 35 outputs an auxiliary instruction to the shared area 345 via the parsing processing unit 37, it reads the auxiliary instruction from the shared area 345 and sends it to the PLC 36. The auxiliary instruction is an instruction other than one that causes the drive axis, which is a CNC axis, to operate. Examples of auxiliary instructions are M-codes or T-codes.

[0053] The external communication unit 40 may be a communication component of an industrial network. When there is an instruction to start other machines 72-74 via an auxiliary instruction, the external communication unit 40 sends the instruction to the other machines 72-74 via the industrial network.

[0054] In the control and arithmetic unit 2, the control signal processing unit 35, the analysis processing unit 37, the interpolation processing unit 38, the robot control unit 41, the coordinate system offset measurement processing unit 80, and the coordinate system offset reflection processing unit 81 are connected via the storage unit 34, and information is written to and read from the shared area 345 of the storage unit 34. In the following description of the writing and reading of information between the control signal processing unit 35, the analysis processing unit 37, the interpolation processing unit 38, the robot control unit 41, the coordinate system offset measurement processing unit 80, and the coordinate system offset reflection processing unit 81, descriptions related to the storage unit 34 may be omitted at times.

[0055] The parsing processing unit 37 reads the NC program from the NC program storage area 341 and performs parsing processing related to each program block, i.e., each line of the NC program. If the parsed line contains G-codes for the machine tool 70, the parsing processing unit 37 sends the parsing result to the interpolation processing unit 38 via the shared area 345. Specifically, the parsing processing unit 37 generates movement conditions corresponding to the G-codes and sends them to the interpolation processing unit 38. Additionally, the parsing processing unit 37 sends the spindle speed specified by the S-codes to the interpolation processing unit 38. The spindle speed is the number of spindle rotations per unit time.

[0056] The parsing and processing unit 37 includes a robot instruction parsing unit 371. The robot instruction parsing unit 371 is a unit that parses the movements of the connected robot 60 and the travel axis 62. The robot instruction parsing unit 371 parses the robot instructions and travel axis instructions contained in the NC program and sends the parsing results to the robot control unit 41.

[0057] The robot control unit 41 sends instructions to the robot 60 and instructions to the travel axis 62 to the robot controller 50.

[0058] The robot control unit 41 includes a program transformation unit 414. The program transformation unit 414 uses the coordinate system offset 346 stored in the coordinate system offset table 344 of the storage unit 34 to transform the coordinates of the second instruction defined by the coordinate system of the machine tool 70 to the coordinates of the third instruction defined by the coordinate system of the robot 60, thereby generating a robot program used when controlling the robot 60. The coordinate system offset 346 is a coordinate value representing the relationship between the coordinate system of the machine tool 70 and the coordinate system of the robot.

[0059] In addition to being used for moving workpieces and the like relative to machine 70, robot 60 is also used for moving workpieces and the like relative to other machines 72 to 74. Therefore, coordinate system offset 346 is stored in coordinate system offset table 344 of storage unit 34 according to the number of each machine.

[0060] Figure 3 This diagram illustrates an example of measuring the coordinate system offset of a contact probe in the CNC device 1 according to Embodiment 1. Figure 3 As shown, the coordinate system offset 346 is measured using sensors such as the contact probe 65 of the robot hand 61 mounted on the robot 60. The measurement of the coordinate system offset 346 in the contact probe 65 involves attaching the contact probe 65 to the fingertip of the robot hand 61, sending a movement command from the CNC device 1 to the robot controller 50, thereby pressing the contact probe 65 into contact with the worktable 71 of the machine tool 70. During this pressing contact, the detection signal from the contact probe 65 is input to the CNC device 1, obtaining the coordinate values ​​in the CNC device 1 at that moment. By measuring the coordinate values ​​of three points P1, P2, and P3, the origin of the worktable of the machine tool is calculated, and the coordinate system offset 346 is calculated. When obtaining the coordinate values, at least three points are measured, and considering the slope, nine points are measured.

[0061] Next, the method for measuring the coordinate system offset 346 relative to multiple working machines will be described. This coordinate system offset 346 measurement is performed once when the factory production line is started. In Embodiment 1, the coordinate system offset 346 is measured for working machine 70 and other working machines 72 to 74.

[0062] In order to measure the coordinate system offset 346 of multiple working machines, namely working machine 70 and other working machines 72 to 74, relative to the controlled object, the control calculation unit 2 of the CNC device 1 has a coordinate system offset measurement processing unit 80 and a measurement macro 350. In the storage unit 34, as a coordinate system offset table 344, there are measurement start coordinates 348 and stop positions 349, which serve as the measurement start position.

[0063] Stop position 349 is the stopping position of robot 60 on travel axis 62 when workpieces are being moved in and out relative to machine 70 and other machine 72-74. Stop position 349 is stored in storage unit 34 according to the number of machine 70s and other machine 72-74s. Stop position 349 is determined by the position of machine 70 and other machine 72-74s on travel axis 62, and therefore is set by the production line designer when deciding on the configuration of machine 70 and other machine 72-74s in the factory production line.

[0064] Figure 4 This is a diagram illustrating an example of the coordinate system offset table 344 stored by the CNC device 1 according to Embodiment 1. Figure 4 In this coordinate system, machine number "1" corresponds to machine 70, machine number "2" corresponds to other machine 72, machine number "3" corresponds to other machine 73, and machine number "4" corresponds to other machine 74. The coordinate system offset table 344 stores the stop position 349, the measurement start coordinate 348, and the coordinate system offset 346. The coordinate system offset table 344 stores the machine number, stop position 349, measurement start coordinate 348, and coordinate system offset 346 in association. The coordinate system offset table 344 functions as an association unit that associates the coordinate system offset 346 with the stop position 349 and measurement start coordinate 348 with machine 70 and other machines 72-74. For example, the stop position 349 might be set to 0 for machine 70, 500 for other machine 72, 1000 for other machine 73, and 1500 for other machine 74. The units are related to the settings of the CNC device 1.

[0065] The measurement start coordinate 348 is the starting point for measuring macro 350, and needs to be set so that the contact probe 65 of the robot arm 61 can start from near the worktable of each machine. The measurement start coordinate 348 is determined based on the relationship between the position of the robot 60 and the positions of the worktables of the machine 70 and other machines 72-74. However, since the positions of the worktables differ depending on the machine 70 and other machines 72-74, values ​​need to be set for each machine 70 and other machines 72-74. For example, when determining the configuration of the machine 70 and other machines 72-74 in the factory production line through simulation, the values ​​can be set based on the simulation results. Alternatively, during actual setup, the robot 60 can be manually moved using a handle or similar device until the robot arm 61 moves to a position above the worktable, and its coordinate values ​​can be stored. The measurement start coordinate 348 is as follows: Figure 4 As shown, for example, in the case of machine 70 with machine number "1", it becomes (X, Y, Z) = (500, 500, 500), and in the case of other machine 72 with machine number "2", it becomes (X, Y, Z) = (510, 520, 515). The measurement start coordinate 348 is also stored in relation to the machine number and the stop position 349.

[0066] Measurement macro 350 is a program that causes the contact probe 65 mounted on the aforementioned robot 60 to move. By executing measurement macro 350, the robot 60 performs the action of measuring the coordinate system offset 346.

[0067] The coordinate system offset measurement processing unit 80 controls the action of measuring the coordinate system offset 346. For example, after the operator replaces the tool of the robot arm 61 with the contact probe 65, the coordinate system offset measurement processing unit 80 performs the measurement by pressing the measurement start button displayed on the display unit 4 after inputting the machine number corresponding to one machine or specifying "ALL" for all machines. If the measurement start button is pressed after inputting the machine number corresponding to one machine, i.e., "1", the coordinate system offset 346 of the machine 70 corresponding to machine number "1" is measured. If the measurement start button is pressed after inputting "ALL" for all machines, the coordinate system offset 346 of the machine 70 corresponding to machine number "1" to the other machines 74 corresponding to machine number "4" is measured sequentially.

[0068] For example, the measurement of coordinate system offset 346 of machine 70 with machine number "1" is performed as follows. If the measurement start button is pressed after inputting the input information "1", the input control unit 32 stores the input information "1" in the shared area 345 of the storage unit 34. The analysis processing unit 37 reads data from the coordinate system offset table 344, including the stop position 349 of machine number "1" corresponding to the input information "1" stored in the shared area 345 and the measurement start coordinate 348, and stores it in the shared area 345. The storage address of the data in the shared area 345 and the control start instruction are notified to the coordinate system offset measurement processing unit 80. If the coordinate system offset measurement processing unit 80 is instructed to control the start from the analysis processing unit 37, it outputs a screen to the display unit 4 to confirm whether the contact probe 65 has been replaced. If the replacement is confirmed to be completed, the stop position 349 of machine number "1" and the measurement start coordinate 348 are obtained from the shared area 345.

[0069] The coordinate system offset measurement and processing unit 80 sends a command to the robot controller 50 to move the robot 60 to the stop position 349 (position "0") of the machine 70 corresponding to machine number "1", causing the travel axis 62 to move. The coordinate system offset measurement and processing unit 80 also sends a command to the robot controller 50 to move the robot hand 61 to the measurement start coordinate 348 of the machine 70 corresponding to machine number "1", causing the robot 60 to move. Next, the coordinate system offset measurement and processing unit 80 measures the coordinate system offset value of the machine 70 corresponding to machine number "1" using the measurement macro 350. The coordinate system offset measurement and processing unit 80 saves the measured coordinate system offset value of the machine 70 corresponding to machine number "1" in the coordinate system offset table 344 of the storage unit 34 as the coordinate system offset 346 for machine number "1". During this saving, the measured coordinate system offset 346 is stored in association with the stop position 349. The coordinate system offset values ​​of the other working machines 72 to 74 corresponding to machine numbers "2" to "4" are also required in the same way. Moreover, the measured coordinate system offset values ​​of the other working machines 72 to 74 are stored in association with the stop positions 349 of the other working machines 72 to 74.

[0070] Next, the following method will be described: for robot 60, when there is a movement command to move in front of a specific working machine, after robot 60 is moved by travel axis 62, the relative relationship is automatically considered and control is performed.

[0071] Figure 5 This is a diagram illustrating an example of a machining program executed by the CNC device 1 according to Embodiment 1. Figure 5An example of a machining program containing G-code instructions to the machine tool 70 or robot 60 is shown. The G-code instructions present in line N2 of the machining program become instructions reflecting the movement and offset of the robot 60.

[0072] The parsing processing unit 37 parses G1500 of program block N2 and determines it to be a robot movement and coordinate system offset response instruction based on the robot instruction code list 343. The coordinate system offset response processing unit 81 then begins processing. The coordinate system offset response processing unit 81 parses the address after the G code and sends an instruction to the robot controller 50. The X address refers to the movement of the travel axis 62, X500 refers to the stopping position of the travel axis 62 after movement, RF300 refers to the movement speed of the travel axis 62, and Q0 refers to the measurement of the coordinate system offset 346 after no movement. The parsing processing unit 37 parses this command, causing the travel axis 62 to move until it reaches the position "500" and moves the robot 60 at a speed of "300". In the case of an instruction with Q0, the coordinate system offset 346 is not re-measured. Therefore, the instructions to the robot 60 in program block N3 and thereafter are... Figure 4 In the coordinate system offset table 344 shown, the coordinate system offset 346 associated with the stop position "500", namely X30, Y17, Z100, is automatically used as the offset of the robot 60, and the command for action is sent from the control calculation unit 2 to the robot controller 50. This action is called coordinate system offset response processing.

[0073] If the value of X at address X does not exist as data at stop position 349 of coordinate system offset table 344, it becomes an instruction to a position where no machine is working, and therefore the aforementioned coordinate system offset reflection processing is not performed. In this case, coordinate system offset reflection processing unit 81 may output an error. Alternatively, coordinate system offset reflection processing unit 81 may move to the stop position of the instruction, but coordinate system offset 346 is not reflected.

[0074] The reflection of coordinate system offset 346 is a modal function, reflecting the next coordinate system offset 346, or, provided there is no canceled G-code, sending an instruction considering coordinate system offset 346 to the robot controller 50 as an instruction to the next robot 60. For example, as an instruction to robot 60 in program block N3, the operator can create a program that specifies the movement position of robot arm 61 through the coordinate system of the machine tool. That is, for program block N2 and thereafter, the operator creating the machining program does not need to create a program that is aware of the difference between the coordinate system of the machine tool and the coordinate system of the robot.

[0075] Next, the following method will be explained: For robot 60, when given a movement command to move forward towards a specific machine tool, after robot 60 has moved via travel axis 62, the coordinate system offset 346 is remeasured, and control is automatically performed considering relative relationships. Therefore, even if the coordinate system offset 346 changes due to physical deviations in the trajectory of travel axis 62, the coordinate system offset 346 is remeasured before the operation performed by robot 60, thus enabling high-precision robot operation on the machine tool.

[0076] The M code of program block N4 is an auxiliary instruction, which becomes the instruction to replace the fingertips of the robot hand 61 with contact probe 65. Figure 6 This diagram illustrates an example of a tool changing method for the robot 60 according to Embodiment 1. The replacement of the contact probe 65 is, for example, as... Figure 6 As shown, consider the following scenario: a machining tool 64 is mounted on the fingertip of the robot hand 61, and a contact probe 65 is positioned on the opposite side. In this case, for example, by using an M-code auxiliary command, the rotation axis of the fingertip of the robot hand 61 can be rotated 180 degrees, thereby enabling the tool to be changed to the contact probe 65.

[0077] The method of replacing the contact probe 65 is not limited to this. For example, the following method is also considered: an automatic changer is set on a platform that moves on the travel axis at the same physical time as the robot arm 61, and the robot arm 61 moves to the replacement position of the automatic changer to perform the replacement.

[0078] As previously described, G1500 in program block N5 refers to the movement of the travel axis 62, X1000 refers to the stop position 349 after the travel axis 62 has moved, RF600 refers to the speed of the travel axis 62, and Q1 refers to the measurement of the coordinate system offset 346 after the movement. The parsing processing unit 37 parses this command and drives the travel axis 62 until it reaches the position "1000" at a speed of "600" to move the robot 60. When the instruction Q1 is present, the coordinate system offset 346 is remeasured. Therefore, the coordinate system offset measurement processing unit 80 processes the data and remeasures the coordinate system offset 346 using the aforementioned method for measuring coordinate system offset 346. The remeasured coordinate system offset 346 is reflected in the coordinate system offset table 344. The instructions to robot 60 following program block N6 perform coordinate system offset reflection processing. That is, the instructions from control calculation unit 2 to robot controller 50 automatically reflect the coordinate system offset 346 associated with the stop position "1000" and the measured coordinate system offset 346 as the offset of robot 60 and perform the action.

[0079] As described above, by utilizing the remeasured coordinate system offset of 346, it is possible to achieve high-precision robotic operations on machine tools.

[0080] Next, the processing of the coordinate system offset measurement processing unit 80, which is used to achieve the above functions, will be explained. Figure 7 This is a flowchart showing the operation sequence of the coordinate system offset measurement and processing unit 80 of the numerical control device 1 according to Embodiment 1.

[0081] In step S500, a message is displayed on the display unit 4 asking the operator to confirm whether the fingertips of the robot hand 61 have been replaced with contact probes 65. If no replacement has been made (step S500: No), an error is output (step S511), and the process ends. If replacement has been made (step S500: Yes), in step S501, the machine number of the measurement object input by the operator is obtained from the shared area 345. In step S503, a movement command for moving the robot 60 to the stop position 349 associated with the machine number is sent to the robot controller 50, thereby moving the robot 60 to the stop position 349. Next, in step S504, a movement command for moving the robot hand 61 to the measurement start coordinate 348 associated with the machine number is sent to the robot controller 50, thereby moving the robot hand 61 to the measurement start coordinate 348.

[0082] Next, in step S505, a macro program is executed to measure the coordinate system offset 346. Next, in step S506, the measured coordinate system offset 346 is stored in the coordinate system offset table 344 in association with the machine number and stop position 349. While the machine being measured is in operation, steps S503 to S506 are repeated (step S507). Finally, in step S508, a message indicating that the contact probe 65 has been restored to its original tool position is displayed on the display unit 4, and the process ends.

[0083] Next, the processing of the coordinate system offset reflection processing unit 81 will be explained. Figure 8 This is a flowchart showing the operation sequence of the coordinate system offset reflection processing unit 81 of the numerical control device 1 according to Embodiment 1.

[0084] In step S600, the X address following the G code in the machining program is parsed, and the address value is stored in temporary memory. In step S601, it is determined whether the address value stored in the temporary memory exists as data at the stop position 349 of the coordinate system offset table 344. If the X address is not at stop position 349 (step S601: No), an error is output in step S610, and processing ends. If the X address is at stop position 349 (step S601: Yes), the RF address is parsed in step S602, and the parsed value is stored in temporary memory. In step S603, the instruction to move along the travel axis 62 using the stop position 349 and movement speed stored in the temporary memory is sent to the robot controller 50.

[0085] Next, the Q address is parsed in step S604. If the Q address is 0 (step S604: No), the process ends. If the Q address is 1 (step S604: Yes), in step S605, the robot 60 is moved to the measurement start coordinate 348 associated with the stop position 349. In step S606, the measurement macro 350 is executed. In step S607, the remeasured value is stored in the coordinate system offset 346 of the coordinate system offset table 344.

[0086] As described above, according to Embodiment 1, the CNC device 1 stores the stop position 349, the measurement start coordinate 348, and the coordinate system offset 346 related to the machine tool 70 and other machines tools 72-74 in the storage unit 34. The coordinate system offset measurement processing unit 80 uses the stop position 349 and the measurement start coordinate 348 stored in the storage unit 34 to measure the coordinate system offset 346 of the machine tool 70 and other machines tools 72-74 and stores it in the storage unit 34. When the machining program is executed by the coordinate system offset reflection processing unit 81, the coordinate system offset 346 stored in the storage unit 34 is reflected to control the robot 60. Therefore, the operator can easily create a machining program for controlling multiple machines tools and the robot.

[0087] Implementation method 2.

[0088] In Embodiment 2, control of one autonomous walking robot 161 is acquired through multiple working machines. In Embodiment 2, the working machines that have acquired control move the autonomous walking robot 161 to the measurement start position of the working machines that have acquired control, measure and reflect the coordinate system offset 346, thereby performing workpiece loading, unloading and processing with high precision.

[0089] Figure 9This is a diagram illustrating a structural example of a control system that includes the numerical control device according to Embodiment 2. Figure 9 The control system shown includes multiple machine tools 170, 172-174, an autonomous walking robot 161, and a wireless LAN router 180. Machine tool 170 corresponds to the first machine tool, and machine tool 172 corresponds to the second machine tool. Machine tool 170 is equipped with... Figure 10 The CNC device 1X shown is used to control the machine tool 170. Machine tools 172 to 174 are controlled by several other CNC devices (not shown) that are different from the CNC device 1X.

[0090] The autonomous walking robot 161 comprises a robot 60, an autonomous walking device 63, and a robot controller 55. The autonomous walking robot 161 is an unmanned guided vehicle (AGV) that enables the robot 60 and robot controller 55 to move autonomously via the autonomous walking device 63. The autonomous walking robot 161 has a memory and control unit within the autonomous walking device 63, and autonomously moves along a stored path, thereby enabling multiple working machines 170, 172-174 to circulate. The robot controller 55 has wireless LAN communication capabilities, and wirelessly communicates with the working machines 170, 172-174 via a wireless LAN router 180.

[0091] Machine tools 170 and 172-174 can communicate with each other via a wireless LAN router 180. Furthermore, machine tools 170, 172-174 and the robot controller 55 can communicate with each other via the wireless LAN router 180. The autonomous walking robot 161 is controlled by sending commands from machine tools 170 and 172-174 to the robot controller 55 via the wireless LAN, thereby performing tasks such as moving workpieces in and out of the machine tools 170 and 172-174, or machining using cutting tools mounted on the robot arm 61.

[0092] Regarding control of the autonomous walking robot 161, the following method can be used, for example. Among the machine tools 170, 172-174, those that obtain proximity information indicating the approach of the autonomous walking robot 161 from its autonomous walking device 63 via wireless LAN communication, and are in a state where they can use the autonomous walking robot 161, have control over the autonomous walking robot 161. The proximity information uses a ranging sensor capable of determining the distance to a measured object. For example, a device that enables short-range wireless communication (e.g., Bluetooth) between the autonomous walking robot 161 and the machine tools 170, 172-174 allows the machine tools 170, 172-174 to determine the approach of the autonomous walking robot 161 and thus gain control.

[0093] The method for determining control of the autonomous walking robot 161 is not limited to this. For example, in addition to the autonomous walking robot 161 and the working machines 170, 172-174, there can be a controller capable of communicating wirelessly via LAN. This controller can determine the proximity of the autonomous walking robot 161 and the working machines 170, 172-174, and accordingly control the start-up of the autonomous walking robot 161 and the working machines 170, 172-174.

[0094] Figure 10 This diagram illustrates a structural example of the CNC device 1X according to Embodiment 2. The CNC device 1X of Embodiment 2 adds a wireless communication unit 401 to the CNC device 1 of Embodiment 1. Furthermore, the CNC device 1X of Embodiment 2 lacks the coordinate system offset measurement and processing unit 80 and the coordinate system offset table 344 storing the stop position 349 related to other machines 72-74, the measured start coordinate 348, and the coordinate system offset 346, which are present in the CNC device 1 of Embodiment 1. Additionally, the CNC device 1X of Embodiment 2 does not store the stop position 349 related to its own machine 70 in the storage unit 34. Other structural features are the same as in Embodiment 1, and repeated descriptions are omitted.

[0095] The wireless communication unit 401 is a processing unit that realizes wireless LAN communication, and processes the communication between the robot control unit 41 and the robot controller 55. In addition, the external communication unit 40 implements industrial network communication via the wireless communication unit 401.

[0096] Furthermore, in Embodiment 2, each machine tool 170, 172-174 stores the measurement start coordinates 348 and coordinate system offsets 346 related to its own machine tool 170, 172-174 in the storage unit 34. The measurement start coordinates 348 are stored, for example, based on the simulation during the factory production line design, or based on manual actions, similar to Embodiment 1.

[0097] Next, the following method will be described, namely, the working machine that has obtained control of the autonomous walking robot 161 measures the coordinate system offset 346, and controls the autonomous walking robot 161 in consideration of the measured coordinate system offset 346.

[0098] The CNC device of the machine being approached by the autonomous walking robot 161 obtains proximity information via the wireless LAN communication function of the robot controller 55 of the autonomous walking robot 161 and the wireless communication unit 401. The CNC device receives the proximity information and saves the information in the shared area 345 of the storage unit 34.

[0099] In the machining process executed by each of the working machines 170, 172 to 174, the operator records the robot control waiting command and executes the machining process containing the robot control waiting command. Figure 11 This diagram illustrates an example of a machining program executed by the CNC device 1X according to Embodiment 2. Program block N22's G1501 corresponds to a robot control waiting command. If the robot control waiting command is parsed by the parsing processing unit 37, the machine tool enters a robot control waiting state by offsetting the coordinate system of the reflection processing unit 81, which serves as the reflection processing unit.

[0100] When the coordinate system offset processing unit 81 obtains proximity information, which serves as the robot's control authority, from the shared area 345, it first sends a command to the robot controller 55 to replace the tool of the robot hand 61 with the contact probe 65. Thus, the tool is replaced with the contact probe 65. Next, the coordinate system offset processing unit 81 moves the autonomous walking robot 161 to the measured start coordinates 348 stored in the storage unit 34, and then measures the coordinate system offset 346 using the measurement macro 350, saving the measured coordinate system offset 346 in the storage unit 34.

[0101] If the measurement of coordinate system offset 346 is completed, the control waiting state is released. Next, the robot instructions described in program block N23 are executed to perform loading and unloading by the autonomous walking robot 161 or machining by the robot arm 61. In program block N23, M23 is executed to change the tool to a tool for gripping the workpiece, and in program block N24, G1000 is executed to perform workpiece loading. During the workpiece loading action in program block N24, the workpiece loading action is performed by performing corrections based on the coordinate system offset 346 stored in the storage unit 34.

[0102] In program block N25, which follows the work procedure of the autonomous walking robot 161, a control release assist instruction, G1502, is recorded. When the control release assist instruction is present, a control release instruction is sent to the robot controller 55 via the control signal processing unit 35, the external communication unit 40, and the wireless communication unit 401. If the robot controller 55 receives the control release instruction, it switches the autonomous walking robot 161 to a roving motion and moves it to the next work machine.

[0103] Figure 12 This is a flowchart illustrating the operation sequence of the coordinate system offset response processing unit 81 of the numerical control device 1X according to Embodiment 2. (Using...) Figure 12 The processing of coordinate system offset reflection is explained.

[0104] The coordinate system offset response processing unit 81 determines whether or not robot control is present in step S700. If there is no robot control (step S700: No), it enters a waiting state, and therefore the coordinate system offset response processing unit 81 reconfirms the presence or absence of robot control in step S700. If robot control is present (step S700: Yes), the coordinate system offset response processing unit 81 sends an instruction to the robot controller in step S702 to replace the cutting tool with the contact probe 65, which serves as the measurement tool. If the replacement of the measurement tool is completed, the coordinate system offset response processing unit 81 moves the autonomous walking robot 161 to the measurement start coordinate 348 in step S703, executes the measurement macro 350 in step S704 to measure the coordinate system offset 346, and saves the coordinate system offset 346 to the storage unit 34 in step S705.

[0105] As described above, in Embodiment 2, the CNC device of the working machine that has obtained robot control controls the autonomous walking robot 161. After measuring the coordinate system offset, it performs a loading and unloading operation that reflects the coordinate system offset. Therefore, even if the autonomous walking robot 161 is not highly accurate relative to the positioning accuracy of the working machine, the collaborative operation of the working machine 170 and the autonomous walking robot 161 can be achieved with higher accuracy.

[0106] Furthermore, in Embodiment 2, the measurement start coordinate 348 is pre-set for each machine, but this is determined by the configuration of the autonomous walking robot 161 and the worktable. Therefore, when multiple machines of the same type exist, a common value for the measurement start coordinate 348 can be set. For example, when setting the measurement start coordinate 348 through simulation, if the machines are determined to be of the same type, setting the same value as the measurement start coordinate 348 can also save on the setup workload.

[0107] Next, the hardware for implementing the control arithmetic unit 2 according to embodiments 1 and 2 will be described. The control arithmetic unit 2 is implemented by a processing circuit. When the processing circuit is implemented by software, the processing circuit is, for example, Figure 13 The control circuit shown. Figure 13 This is a block diagram illustrating an example of the structure of the control and arithmetic unit 2 of the numerical control devices 1 and 1X according to embodiments 1 and 2. The control circuit 200 includes an input unit 201, a processor 202, a memory 203, and an output unit 204. The input unit 201 is an interface circuit that receives data input from outside the control circuit 200 and provides it to the processor 202. The output unit 204 is an interface circuit that transmits data from the processor 202 or the memory 203 to outside the control circuit 200.

[0108] The control arithmetic unit 2 is implemented through software, firmware, or a combination of both. The software or firmware is described as a program and stored in memory 203. In the processing circuit, the program stored in memory 203 is read from and executed by processor 202, thereby implementing various functions. That is, the processing circuit has memory 203, which is used to store programs that perform the processing of the control arithmetic unit 2. Furthermore, these programs can be described as the sequence and method by which the computer executes the control arithmetic unit 2.

[0109] Processor 202 is CPU (also known as Central Processing Unit, processing device, arithmetic unit, microprocessor, microcomputer, processor, or DSP (Digital Signal Processor)). Memory 203 is, for example, non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), disks, floppy disks, optical disks, compact disks, mini-disks, or DVDs (Digital Versatile Discs).

[0110] The structures shown in the above embodiments represent a part of the content of the present invention, and can also be combined with other known technologies. Without departing from the scope of the present invention, appropriate combinations can be made, or parts of the structure can be omitted or modified.

[0111] Explanation of the label

[0112] 1. 1X CNC device; 2. Control and calculation unit; 3. Input operation unit; 4. Display unit; 5. PLC operation unit; 6. CNC unit; 31. Screen processing unit; 32. Input control unit; 34. Storage unit; 35. Control signal processing unit; 36. PLC; 37. Analysis processing unit; 38. Interpolation processing unit; 40. External communication unit; 41. Robot control unit; 50, 55. Robot controller; 51. Input / output unit; 52. Emergency stop button; 53. Operation panel; 60. Robot; 61. Robot arm; 62. Travel axis; 63. Autonomous walking device; 64. Machining tools; 65. Contact probe; 70, 170. Working machines; 71. Worktable; 72-74, 172-174. Other working machines; 80. Coordinate system offset measurement and processing unit; 81. Coordinate system offset reflection unit. 90 Drive unit, 91, 92 Servo control unit, 97, 98, 99 Detector, 100 Control system, 161 Autonomous walking robot, 180 Wireless LAN router, 190 Spindle control unit, 200 Control circuit, 201 Input unit, 202 Processor, 203 Memory, 204 Output unit, 341 NC program storage area, 342 List of machine instruction codes, 343 List of robot instruction codes, 344 Coordinate system offset table, 345 Shared area, 346 Coordinate system offset, 348 Determine start coordinate, 349 Stop position, 350 Determine macro, 371 Robot instruction parsing unit, 401 Wireless communication unit, 414 Program conversion unit, 901, 902 Servo motors, 911 Spindle motor.

Claims

1. A numerical control device that controls a plurality of work machines and a robot that performs work for the plurality of work machines, the numerical control device characterized by having: a measurement processing section that measures a coordinate system offset that indicates a relationship between a coordinate system of each work machine and a coordinate system of the robot using a stop position of the robot in each work machine at the time of performing the work and a measurement start position at which a measurement operation of the coordinate system offset is started; a correlation section that correlates the coordinate system offset measured by the measurement processing section with each work machine together with the stop position and the measurement start position; and a reflection processing section that controls the robot while reflecting the correlated coordinate system offset when executing a machining program.

2. The numerical control device according to claim 1, characterized in that: the correlation section has a coordinate system offset table that correlates the stop position, the measurement start position, and the coordinate system offset in association with each work machine.

3. The numerical control device according to claim 2, characterized in that: the measurement processing section stores the coordinate system offset in association with the stop position in the coordinate system offset table, the reflection processing section reads out the coordinate system offset associated with the stop position in the machining program from the coordinate system offset table, and controls the robot while reflecting the read-out coordinate system offset.

4. The numerical control device according to any one of claims 1 to 3, characterized in that: the machining program includes a command that indicates whether measurement of the coordinate system offset is performed, and the measurement processing section decides whether to perform re-measurement of the coordinate system offset of each work machine in accordance with the content of the command.

5. A numerical control device that controls a plurality of work machines including a first work machine and a second work machine and a robot that performs work for the plurality of work machines, the numerical control device characterized by having: a reflection processing section that, when executing a machining program for performing a machining operation by the first work machine, determines whether there is control authority of the robot, measures a coordinate system offset that indicates a relationship between a coordinate system of the first work machine and a coordinate system of the robot using a position at which a measurement operation of the coordinate system offset is started, that is, a measurement start position, when there is the control authority of the robot, and controls the robot while reflecting the measured coordinate system offset.

6. The numerical control device according to claim 5, characterized in that: in a case where the second work machine is the same model as the first work machine, the measurement start position is the same value as a measurement start position set for the second work machine.

7. A numerical control method that controls a plurality of work machines and a robot that performs work for the plurality of work machines, the numerical control method characterized by having: ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ a measurement step of measuring a coordinate system offset of each work machine using a stop position of the robot in each work machine when the work is performed, and a position of a measurement start position of a measurement operation of starting to indicate a relationship between a coordinate system of each work machine and a coordinate system of the robot; an association step of associating the coordinate system offset measured by the measurement step with each work machine together with the stop position and the measurement start position; and a reflection processing step of reflecting the associated coordinate system offset to control the robot when a processing program is executed.

8. A numerical control method of controlling a robot and a first work machine for performing a work for a plurality of work machines including the first work machine and a second work machine, the numerical control method characterized by having a step of, when a processing program for performing a processing operation by the first work machine is executed, determining whether or not there is a control right of the robot, and when there is the control right of the robot, measuring a coordinate system offset of the first work machine using a position of a measurement start position of a measurement operation of starting to indicate a relationship between a coordinate system of the first work machine and a coordinate system of the robot, and controlling the robot by reflecting the measured coordinate system offset.

Citation Information

Patent Citations

  • Method for compensating for deviation of operating point

    CN107111296A

  • Offset compensation method

    CN113632021A