MACHINING CONTROL SYSTEM AND MACHINING SYSTEM
Patent Information
- Application Number
- DE102020204118
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-04-03
- Filing Date
- 2020-03-30
- Publication Date
- 2025-09-11
- Estimated Expiration
- 2040-03-30
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND OF THE INVENTIONField of the Invention
[0001] The present invention relates to a machining control system and a machining system. State of the art
[0002] There are machining systems that perform machining through the cooperation of a machine tool and a robot. A specific example is a machining system that automatically performs the loading and unloading of a workpiece to be machined by the machine tool with the aid of a robot. Such a machining system requires a machining control system that controls the cooperative operation of the machine tool and the robot.
[0003] For example, Patent Document 1 discloses a control device "comprising machining program input means for inputting a machining program including at least one item of information for a machine tool and at least one item of information for a robot to the control device; machining program storage means for storing, in the control device, a machining program input by the machining program input means; machine tool control means for controlling the machine tool based on the item of information for the machine tool; robot control means for controlling a robot based on the item of information for the robot;and a machining program distribution means for transmitting the machine tool specification included in the machining program and stored in the machining program storage means to the machine tool control means and for transmitting the robot specification to the robot control means.
[0004] Patent Document 1: Japanese Patent No. JP 5 752 179 B2.
[0005] DE 10 2016 006 252 A1 discloses a manufacturing system in which a position of a robot relative to a machine tool can be measured, and an operating position of the robot can be corrected based on the measurement result using a simple configuration. The robot has a vision device attached to a movable part, such as a robot arm. The machine tool has a visual target attached to an outer surface of the machine tool. An image of the visual target, captured by a camera, is processed by a robot controller or an image processor. Due to such image processing, the position of the robot relative to the machine tool can be measured.Furthermore, the manufacturing system has a correction part that corrects a position of a movement of the robot with respect to feeding and ejecting the workpiece based on the positional relationship between the robot and the machine tool. SUMMARY OF THE INVENTION
[0006] The control device described in Patent Document 1 has a machining program including an indication for a machine tool and an indication for a robot, transmits the indication for the machine tool to the control means of the machine tool, and transmits the indication for the robot to the control means of the robot through machining program distribution means. However, the system program generally distinguishes between the machine tool and the robot. Therefore, in order to develop a machining program in which the indication for the machine tool and the indication for the robot coexist, knowledge of machine tool programming and robot programming (teaching) is required. For this reason, it has become desirable to provide a machining control system and machining system that enable the machine tool and the robot to function smoothly in cooperation.
[0007] A machining control system according to one aspect of the present disclosure includes: a numerical control device that controls a machine tool; a robot control device that communicates with the numerical control device and controls a robot having a plurality of drive axes, in which the numerical control device includes: a coordinate position command generation unit that generates a coordinate position command specifying a target coordinate position at each time of a leading end part of a robot based on a machining program;and a communication unit that sends the current target coordinate position to the robot controller, and in which the robot controller includes: a target drive position calculation unit that calculates a target drive position of each of the plurality of drive axes to place the leading end part at the target coordinate position obtained from the communication unit; and a drive command generation unit that generates a drive command to each of the drive axes to place the drive axes at the target drive position calculated by the target drive position calculation unit.
[0008] According to the present embodiment, it is possible to provide a machining control system and a machining system that cause a machine tool and a robot to function cooperatively with ease.
[0009] The problem is solved by a processing control system having the features of patent claim 1, as well as by a processing system having the features of patent claim 6. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a view showing a configuration of a machining system according to the present disclosure; and Fig. 2 is a flowchart showing a sequence of control in the machining control system of Fig. 1 shows. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, an embodiment of the present disclosure will be explained while referring to the drawings. Fig. 1 is a view showing the configuration of a machining system 100 according to an embodiment of the present disclosure.
[0011] The machining system 100 includes a machine tool 1, a robot 2, and a machining control system 3 that controls the machine tool and the robot 2. The machining control system 3 itself is one embodiment of a machining control system according to the present disclosure.
[0012] The machine tool 1 has a plurality of drive axes and causes a driven body to move by driving these drive axes. Although not particularly limited to one machine tool 1, it is possible to illustrate a machining center as a representative example. The machine tool 1, which is shown in Fig. 1 has a jig C holding a tool T and a bearing B holding a workpiece W, and causes the jig C and the tool T, as well as the bearing B and the workpiece W, to move through the plurality of drive axes. In other words, the driven body in the machine tool 1 is the tool T (or jig C holding the tool T) and the workpiece W (or bearing B holding the workpiece W). The machine tool 1 machines the workpiece W by causing the driven body to move by driving the drive axes. The robot 2 has a plurality of drive axes and places a leading end portion. The robot 2 may be configured as a vertically articulated robot like the one typically shown; however, it may also be, for example, a Cartesian coordinate robot, SCARA robot, parallel link robot, or the like.The robot 2 helps to machine the workpiece W by working cooperatively with the machine tool 1. The robot shown in . Fig. The robot 2 shown in FIG. 1 has, sequentially from the base end side, a first arm A1, a second arm A2, a third arm A3, and a hand H that holds the workpiece W as a leading end provided at the end part. In the machining system 100, the robot 2 removes a machined workpiece W from the machine tool 1 and attaches a new workpiece to the machine tool 1 before machining.
[0013] The machining control system 3 includes a numerical control device 10 that controls the machine tool 1; and a robot control device 20 that communicates with the numerical control device 10 and controls the robot 2. In the machining system 100 of the present embodiment, the machining control system 3 is connected to the machine tool 1 and the robot 2; however, the machining control system 3 may be connected to a simulator that virtually recreates the motion of the machine tool 1 or a simulator that virtually recreates the motion of the robot on a computer.
[0014] The numerical control device 10 has a coordinate position command generation unit 11 that generates a coordinate position command indicating a target coordinate position at any time at the leading end part (hand H) of the robot 2 in the machine tool 1 based on a machining program; a communication unit 12 that sends the current target coordinate position of the hand H to the robot control device 20; a coordinate position confirmation unit 13 that confirms a difference between the current coordinates of the hand H and the current target coordinate position; and an NC drive command generation unit 14 that generates a drive command relative to each of the drive axes of the machine tool 1 to cause the driven body to move to the target coordinate position calculated by the coordinate position command generation unit 11.
[0015] The numerical control device 10 can be configured, for example, by installing the appropriate program on a computer device equipped with a central processing unit (CPU), a memory, an I / O interface, etc. The coordinate position command generation unit 11, communication unit 12, coordinate position confirmation unit 13, and NC drive command generation unit 14 of the numerical control device 10 are functionally distinct and do not need to be clearly distinguishable in physical structure and program structure. Additionally, the numerical control device 10 can be connected to the simulator of the machine tool 1, and in this case, be configured to be integrated with the computer, forming the simulator.
[0016] The coordinate position command generation unit 11 calculates the target coordinate position of the plurality of driven bodies of the machine tool 1 at any given time based on the machining program input by the operator, and generates the coordinate position command that specifies the time change of the target coordinate position of each driven body. The target coordinate position calculated by the coordinate position command generation unit 11 includes posture information in addition to coordinate information and is preferably defined as position information, for example, in the XYZWPR format or the like.
[0017] The driven body defined by the coordinate position command generation unit 11 as the generation target of the coordinate position command, specifying the target coordinate position, includes, for example, in addition to the tool T (or jig C), workpiece W (or bearing B), etc., a virtual driven body (e.g., virtual tool) that does not actually exist mechanically and is a driven body that is virtual. The coordinate position of this virtual driven body corresponds to the desired coordinate position of the leading end part (hand H) of the robot 2. In other words, the coordinate position command generation unit 11 calculates the target coordinate position of the leading end part of the robot 2 at any time as the coordinate position of the virtual driven body.The coordinate position of the virtually driven body is preferably calculated from Cartesian coordinates, so that the control of the robot control device 20 described later is simplified.
[0018] The machining program writes the motion path in the coordinate space of each driven body (including the hand H), preferably in G code. In other words, the coordinate position command generation unit 11 is preferably designed to calculate the target coordinate position of each driven body at any time based on the contents of the G code in the machining program. The coordinate position command generation unit 11 can thus be configured similarly to known components that generate the coordinate position command in a conventional numerical control system.
[0019] The mobile range of each driven body is preferably set in the coordinate position command generation unit 11. Therefore, the coordinate position command generation unit 11 preferably stores the range within which the robot 2 can move the hand H in advance as the mobile range of the virtual driven body or acquires it from the machining program. Thus, even in a case where an inappropriate machining program is input, it is possible to configure so as not to output a target coordinate position that exceeds the mobile range of the robot 2.
[0020] The coordinate position command generation unit 11 preferably changes the current target coordinate position (initial coordinate position of the virtual driven body) to the current coordinate position of the hand H when the difference between the current coordinate position of the hand H and the target coordinate position of the target position command confirmed by the coordinate position confirmation unit 13 described later is at least a predetermined threshold, and then calculates the target coordinate position at any time thereafter based on the machining program. This makes it possible to prevent the robot 2 from sudden operation during startup control and the generation of excessive load.
[0021] Furthermore, the coordinate position command generation unit 11 may be configured to further calculate the target posture of predetermined parts other than the hand H at any time based on the machining program, for example, the third arm A3 to which the hand H is connected.
[0022] The communication unit 12 transmits the current target coordinate position of the coordinate position command of the virtual driven body generated by the coordinate position command generation unit 11 to the robot controller 20 as the current target coordinate position of the hand H. Regarding the transmission of this target coordinate position, in the case where the coordinate system of the machine tool 1 used in the numerical control device 10 and the coordinate system of the robot 2 used in the robot controller 20 differ, it may be configured such that the current target coordinate position of the virtual driven body is converted into the coordinate system of the robot 2 in the communication unit 12 and then transmitted, or it may be configured such that coordinate conversion takes place in the robot controller 20. The communication unit 12 may additionally transmit text data as the target coordinate position.
[0023] In addition, in the case where the coordinate position command generation unit 11 calculates the target posture of the third arm A3, the communication unit 12 is configured to transmit the current target posture of the third arm A3, etc., together with the current target coordinate position of the hand H to the robot controller 20.
[0024] Before the communication unit 12 transmits the target coordinate position, the coordinate position confirmation unit 13 obtains the current coordinate position of the hand H in the current posture of the robot 2 and confirms whether the difference between the current coordinates of the hand H and the current target coordinate position in the target coordinate command is at least equal to the threshold value. The coordinate position confirmation unit 13 forwards this confirmation result to the coordinate position command generation unit 11. The coordinate position command generation unit 11 can thereby prevent the robot 2 from operating suddenly and generating an unnecessary heavy load in the manner described above.
[0025] The NC drive command generation unit 14 generates a drive command relative to each drive axis of the machine tool 1 to cause the actual driven body to move to the target coordinate position calculated by the coordinate position command generation unit 11. The generation of the drive command in this NC drive command generation unit 14 is the same as the generation of the drive command in a conventional numerical control device, and thus a detailed description is omitted.
[0026] The robot controller 20 includes a target drive position calculation unit 21 that calculates the target drive position (position in the system of each drive axis, such as the rotation angle position) of each of the plurality of drive axes according to the target coordinate position from the communication unit 12 of the numerical control device 10; and a robot drive command generation unit 22 that generates a drive command relative to each drive axis of the robot 2 to place the drive axis at the target drive position calculated by the target drive position calculation unit 21. Additionally, the robot controller 20 may include a servo amplifier that supplies power to the servo motor that drives the drive axis of the robot 2.
[0027] The robot controller 20 can be configured by installing the appropriate program on a computer device equipped with, for example, a central processing unit (CPU), a memory, an I / O interface, or the like. The target drive position calculation unit 21 and the robot drive command generation unit 22 of the robot controller 20 are functionally distinct, and it is not necessary to be clearly distinguished in physical structure and program structure. The robot controller 20 can be configured integrally with the numerical control device 10; however, by providing them separately, it is possible to configure the machining control system 3 by simply slightly changing the design of the existing numerical control device and robot controller. In addition, the robot controller 20 can be connected to a simulator of the robot 2.In this case, it can be designed integrated with the computer existing in the simulator.
[0028] The target drive position calculation unit 21 calculates the drive position of each drive axis of the robot 2 so that the hand H can be positioned at the target coordinate position, that is, a combination of drive positions of the drive axes. Calculating the drive position of the drive axes of the robot 2, which can position the hand H at the desired coordinate position in this way, is well-known technology, and thus a detailed explanation is omitted.
[0029] Furthermore, in the case where the current target posture of a predetermined part such as a third arm A3 is transmitted from the communication unit 12, the target drive position calculation unit 21 generates a position command specifying the target drive position of each of the plurality of drive axes of the robot 2, so that the target coordinate position calculation unit arranges the hand H at the target coordinate position, and the predetermined part such as the third arm A3 becomes the target posture. By arranging the hand H by the robot 2 at a predetermined coordinate position of the machine tool 1 and performing installation and removal, it is possible to prevent interference with the frame of the machine tool 1 or the like for a part (third arm A3, etc.) positioned at the target coordinate position of the robot 2.
[0030] The robot drive command generation unit 22 generates a drive command such that the drive position of each drive axis of the robot 2 approaches the target drive position calculated by the target drive position calculation unit 21. The generation of such a drive command is the same as the generation of the drive command in the controller of a conventional robot, and thus, a detailed explanation is omitted.
[0031] Next, the sequence of control of the machine tool 1 and the robot 2 by the machining control system 3 is described with reference to Fig. 2. The control in Fig. 2 is a control corresponding to a G code in the machining program.
[0032] The control by the machining control system 3 includes: a step of the numerical control device 10 acquiring a current coordinate position of the hand H of the robot 2 from the robot control device 20 (step S01: current coordinate position acquiring step); a step of comparing the current coordinate position of the hand H and the initial coordinate position of the virtual driven body in the numerical control device 10 (step S02: position comparison step); a step of changing the initial coordinate position of the virtual driven body in the numerical control device 10 to the current coordinate position of the hand H (step S03: initial coordinate position changing step);a step of generating a coordinate position command that specifies the target coordinate position of the virtual driven body at any time based on the machining program in the numerical control device 10 (step S04: coordinate position command generation step); a step of transmitting the current target coordinate position of the virtual driven body from the numerical control device 10 to the robot control device 20 (step S05: target coordinate position transmission step); a step of calculating the target drive position of the drive axis that can position the hand H on the target coordinate position obtained from the numerical control device 10 in the robot control device 20 (step S06: target drive position calculation step); a step of generating a drive command that causes the drive axis to move to the target drive position in the robot control device 20 (step S07: drive command generation step);and a step to confirm whether the control is completed until the last time of the coordinate position command (S08: end confirmation step).
[0033] In the current coordinate position acquiring step of step S01, the coordinate position confirmation unit 13 of the numerical controller 10 acquires the current coordinate position of the hand H of the robot 2 from the robot controller 20. In the case where the acquisition of the current coordinate position of the hand H is not possible even if at least a certain number of attempts are made for some reason, an alarm may be generated and the control may be interrupted.
[0034] In the position comparison step of step S02, the coordinate position confirmation unit 13 confirms the difference between the current coordinate position of the hand H of the robot 2 and the current coordinate position of the virtual driven body (initial coordinate position during control start, following the instruction of a G code) of the numerical controller 10. In the case that the difference between the current coordinate position of the hand H and the initial coordinate position of the virtual driven body is at least the threshold value, the processing proceeds to step S03, and in the case that the difference between the current coordinate position of the hand H and the initial coordinate position of the virtual driven body is less than the threshold value, the processing skips step S03 and proceeds to step S04.
[0035] Furthermore, for example, in the coordinate position comparing step of step S02, in the case where the difference between the current coordinate position of the hand H and the initial coordinate position of the virtual driven body corresponding to the hand H is at least the threshold value, it may be configured to use a display, a lamp, or the like of the numerical control device 10 to display this event.
[0036] In the initial coordinate position change step of step S03, the initial coordinate value of the virtual driven body is changed to the current coordinate position value of the hand H obtained in the current position acquisition step. When this change is completed, the display or the like is enabled for notification in the coordinate position comparison step.
[0037] In the coordinate position command generation step of step S04, the coordinate position command is generated so that the virtual driven body moves from the initial coordinate position to the arrival coordinate position specified in the G code of the machining program. The coordinate position command includes data for specifying the target coordinate position of the virtual driven body at any time.
[0038] In the target coordinate position transmission step of step S05, the target coordinate position at the current time in the coordinate position command generated in the coordinate position command generation step is transmitted to the robot controller 20 through the communication unit 12.
[0039] In the target drive position calculation step of step S06, the target drive position necessary for locating the hand H on the target coordinate position obtained from the numerical controller 10 for each of the plurality of drive axes of the robot 2 is calculated by the target drive position calculation unit 21.
[0040] In the drive command generation step of step S07, the drive commands that cause the plurality of drive axes of the robot to move to each target drive position calculated in the target drive position calculation step are generated, and the hand H is placed on the target coordinate position this time by controlling the robot 2.
[0041] In the end confirmation step of step S08, it is confirmed whether the end of the coordinate position command has been reached. As a result of the confirmation, if it is in the middle of the coordinate position command, the processing returns to step S05 and the target coordinate position of the next time is sent. On the other hand, if the control ends based on the target coordinate position of the final time of the coordinate position command, this control ends, that is, the processing according to the currently executed instruction in the machining program is ended, and the processing according to the next instruction begins.
[0042] In the above manner, the numerical controller 10 in the machining control system 3 according to the present embodiment includes: the coordinate position command generation unit 11 that generates a coordinate position command that specifies the target coordinate position of the hand H (leading end part) of the robot 2 at any time based on the machining program; the communication unit 12 that sends the current target coordinate position to the robot controller 20; the robot controller 20 includes: the target drive position calculation unit 21 that calculates the target drive position of each of the plurality of drive axes that places the leading end part on the target coordinate position obtained from the communication unit 12;and the robot drive command generation unit 22 that generates the drive command for each drive axis to place the drive axes at the target drive position calculated by the target drive position calculation unit 21;
[0043] In the machining control system 3 of the present embodiment, the numerical controller 10 generates a coordinate position command specifying the target coordinate position of the hand H based on the machining program, and the robot controller 20 positions the hand H based on the coordinate position command generated by the numerical controller 10, without directly referring to the machining program. For this reason, in the machining control system 3, it is possible to control the robot 2 simply by generating the machining program of the numerical controller 10. Therefore, the machine tool 1 and the robot 2 of the machining system 100 can be controlled even without mastering the teaching method for operating the robot, as long as an operator has mastered programming a numerical controller for an ordinary machine tool, since it is possible to easily create a program of the machining control system 3.
[0044] With the machining control system 3 of the present embodiment, the coordinate position of the hand H is written in G code in the machining program, and the coordinate position command generation unit 11 calculates the target coordinate position of the hand H by treating the coordinate position of the hand H in the machining program as the coordinate position of the virtual driven body of the machine tool 1. It is possible to control the operation of the robot 2 using G code. Therefore, the machining control system 3 of the present embodiment can easily make the machine tool 1 and the robot 2 operate cooperatively.
[0045] In addition, in the machining system 100, it is possible to completely control the operation of inserting and removing the workpiece W into the machine tool 1 by the robot 2 by combining the above control by G code and the control of the hand H by the already known M code (control for retaining and releasing the workpiece W). In other words, in the machining system 100, by writing an instruction by G code that causes the hand H of the robot 2 to move and an instruction by M code that causes the hand H to operate in the machining program read into the numerical control device 10, it is possible to cause the robot 2 to operate appropriately without performing an operation for teaching the operation of the robot 2 in the robot control device 20.
[0046] The numerical control device 10 of the machining control system 3 in the present embodiment adds control information of a virtual driven body to a conventional numerical control device, thus making it easy to assemble. Furthermore, as with the functions of the robot control device 20 of the machining control system 3 in the present embodiment, it can be easily configured because there is no significant difference from the functions already incorporated in some other products.
[0047] Although an embodiment of a machining system according to the present disclosure has been explained above, the machining system of the present disclosure is not limited to the embodiment described above. Furthermore, the effects described in the present embodiment merely enumerate the most preferable effects that can be achieved by the present disclosure, and the effects of the machining system according to the present disclosure are not limited to those described in the present embodiment.
[0048] For example, in the machining control system according to the present disclosure, the target coordinate position may include only coordinate information and not necessarily posture information. In this case, the robot controller may be configured to generate position commands specifying the target coordinate position of each drive axis, as if the posture of the leading end part of the robot were kept constant.
[0049] The coordinate confirmation unit of the machining control system according to the present disclosure can generate an alarm and interrupt the operation in the case that the difference in the current position is at least equal to the threshold value. EXPLANATION OF REFERENCE SYMBOLS 1 machine tool 2 robots 3 Machining control system 10 numerical control unit 11 Generation unit for a coordinate position command 12 Communication unit 13 Coordinate position confirmation unit 14 NC drive command generation unit 20 Robot control unit 21 Calculation unit for a target drive position 22 Robot drive command generation unit 100 processing system H Hand (leading end part) W Workpiece
Claims
[1] A machining control system (3) comprising: a numerical control device (10) that controls a machine tool (1); a robot control device (20) which communicates with the numerical control device (10) and controls a robot (2) having a plurality of drive axes, wherein the numerical control device (10) comprises: a coordinate position command generation unit (11) that generates a coordinate position command specifying a target coordinate position of the leading end part of the robot (2) based on a machining program at any time; and a communication unit (12) which sends the target coordinate position, which is currently current, to the robot control unit (20), and wherein the robot control device (20) comprises: a target drive position calculation unit (21) that calculates a target drive position of each of the plurality of drive axes to position the leading end part at the target coordinate position obtained from the communication unit (12); and a robot drive command generation unit (22) that generates a drive command for each of the drive axes to position the drive axes at the target drive position calculated by the target drive position calculation unit (21). [2] The machining control system (3) according to claim 1, wherein the coordinate position command generation unit (11) calculates the target coordinate position as a coordinate position of a virtual driven body of the machine tool (1) written in G code in the machining program. [3] The machining control system (3) according to claim 1 or 2, wherein the numerical control device (10) further comprises a coordinate position confirmation unit (13) that acquires a current coordinate position of the leading end part from the robot control device (20) before the communication unit (12) transmits the target coordinate position, and confirms a difference between the current coordinate position of the leading end part and the current coordinate position currently in the coordinate position command. [4] The machining control system (3) according to claim 3, wherein the coordinate position command generation unit (11), in the case where a difference between the current position of the leading end part and the target coordinate position that is current is at least a predetermined threshold value, changes the current target coordinate position to the current coordinate position of the leading end part and then calculates the target coordinate position at any time thereafter based on the machining program. [5] The machining control system (3) according to one of claims 1 to 4, wherein the coordinate position command generation unit (11) further calculates a target posture at any time of a predetermined part other than the leading end part based on the machining program, wherein the communication unit (12) transmits the target posture currently of the predetermined part together with the target coordinate position currently of the leading end part, and wherein the coordinate position command generation unit (11) generates a coordinate position command specifying a target coordinate position of each of the plurality of drive axes so that the predetermined part becomes the target posture. [6] A processing system (100) comprising: the machining control system (3) according to one of claims 1 to 5; a machine tool (1) controlled by the numerical control device (10); and a robot (2) controlled by the robot control unit (20).
Citation Information
Patent Citations
Control device for controlling a machine tool and a robot
DE102014108072A1
Manufacturing system with a robot having a position correction function
DE102016006252A1