ROBOT CONTROL AND ROBOT CONTROL METHOD
Patent Information
- Application Number
- DE102020211560
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-10-09
- Filing Date
- 2020-09-15
- Publication Date
- 2025-04-10
- Estimated Expiration
- 2040-09-15
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND OF THE INVENTIONField of the InventionThe present invention relates to a robot controller and a robot control method. More particularly, with respect to an industrial robot, the present invention relates to a robot controller and a robot control method capable of executing, regardless of an execution situation of a teaching program for robot operation, a logic command that controls a machining process of a desired position.Prior ArtFIG. 7A illustrates an example of a teaching program used for controlling a robot. In the example illustrated in FIG. 7A, operation commands and teaching positions, each of which forms pairs, are inserted at desired positions for executing logic commands in a command for operation ranging from a start point P[1] to an end point P[8]. FIG. 7B is a conceptual diagram of a constant describing the teaching program illustrated in FIG. 7A. In various robot applications in which machining proceeds together with a robot on a robot path, such as laser machining, arc welding, and metering, a robot controller that controls the robot is generally used to generate a teaching program as illustrated in FIG. 7A to teach a robot operation.More specifically, in the teaching program illustrated in FIG. 7A, a first line defines that a robot starts moving to the teaching position P [1] at a speed of 500 mm / s. A second line defines that the robot does not stop at the teaching position P[2], but starts moving to the next machining position P[3] and turns on a machining process called DO[1] at the teaching position P[2]. Here, the teaching position P [ 2] represents a desired position for executing the logic command DO [ 1]. The term "CNT100" means that the robot does not stop at the teaching position P[2], but starts moving to the next teaching position P[3]. The numeral "100" indicates an overlapping degree between the operations defined by the immediately preceding line and the operations defined by the current line. A third line defines that the robot does not stop at the teaching position P[3], but starts moving to the next teaching position P[4], and turns off the machining process called DO[1] at the teaching position P[3]. A fourth line defines that the robot does not stop at the teaching position P[4], but starts moving to the next teaching position P[5] and turns on a machining process called DO[2] at the teaching position P[4]. A fifth line defines that the robot does not stop at the teaching position P[5], but starts moving to the next teaching position P[6], and turns off the machining process called DO[2] at the teaching position P[5]. A sixth line defines that the robot does not stop at the teaching position P [6], but starts moving to the next teaching position P [7], and turns on a machining process as DO [3] at the teaching position P [6]. A seventh line defines that the robot does not stop at the teaching position P [7], but starts moving to the next teaching position P [8], and turns off the machining process called DO [3] at the teaching position P [7]. An eighth line defines that the robot stops at the teaching position P [8].At this time, the robot controller allows the robot and an external peripheral device (a programmable logic controller (PLC) or any of various application controllers for laser oscillators) to perform communication via input and output signals based on, for example, digital input (DI) / digital output (DO) or analog input (AI) / analog output (AO), or to perform serial communication for controlling machining processes including laser welding according to robot operations.Patent Document 1 discloses another example of a teaching program. In the teaching of Patent Document 1, as illustrated in the drawings of Patent Document 1, a teaching program includes a line regarding an operation command for a robot and a line regarding a command that turns ON or OFF welding gas or arc, for example. After a teaching point corresponding to, for example, a welding location is defined in the line with respect to the operation command, arc welding starts or ends according to the command that turns ON or OFF, for example, the welding gas or arc.See also Patent Documents 2-7. Specifically, Patent Document 5 describes a control apparatus including a teaching program memory in which a teaching program is stored, a command interpreter for transmitting a motion-related command to a motion-related command separator, determining whether the command is a synchronous interval command or an asynchronous interval command, and separating the motion-related command into commands for each device according to a determination result, and executing a non-motion-related command, a motion-related command buffer for selecting transmission of the motion-related command to the sub-location calculator and accumulating motion-related commands therein based on a device motion state, a main location calculator for calculating motion information on the device on which synchronous control is performed from the motion-related command, a sub-location calculator for calculating motion information on the device, which is not a synchronous control target based on the motion-related command, and a motor driver for performing the operations of the devices.Patent Document 1: JP 2009-181 526 APatent Document 2: DE 10 2014 000 937 A1Patent Document 3: DE 692 16 167 T2Patent Document 4: DE 44 31 315 A1Patent Document 5: EP 2 998 082 B1Patent Document 6: EP 2 737 375 B1Patent Document 7: US 2018 / 0 250 831 A1SUMMARY OF THE INVENTIONAs described above, since the teaching program teaches various commands based on teaching positions for a robot, there has been a limitation such that a logic command that controls a machining process such as laser welding is always associated with a teaching position for the robot.FIG. 8A is a conceptual diagram illustrating an example in which logic commands are not respectively associated with teaching positions. Although only the two points that are P[1] and P[8] are illustrated as teaching positions in the example in FIG. 8A, "ON" and "OFF" of the respective logic commands of DO[1], DO[2] and DO[3] are not associated with either of P[1] and P[8]. In a usual teaching program, it is impossible to cause a logic command to be independent of a teaching position as described above.In particular, in order to successively teach machining sections all having a short pass, teaching positions for a robot must be increased according to an increased number of start-end points and end points of the machining sections, resulting in a complex and excessively long teaching program, which is undesirable in view of maintenance.If teaching positions for a robot become too dense, operation plan processing for the robot may be shifted, possibly extending a cycle time.Further, since logic commands are to be associated with teaching positions for a robot, alignment with an order of execution of lines is required with respect to robot operation commands. Among these limitations, a location for executing a machining process is normally limited to be within a portion of teaching positions before and after a line concerning the machining process itself, which prevents a signal from being output at a desired timing.For example, FIG. 8B is a conceptual diagram illustrating an example in which an order of operation commands and an order of logic commands are different from each other. In the example in FIG. 8B, "ON" of the logic command DO [1] is executed at the teaching position P [2], "OFF" of the logic command DO [1] is executed at the teaching position P [3], and thereafter, "ON" of the logic command DO [2] is executed between "ON" of DO [1] and "OFF" of DO [1].However, in a usual teaching program, according to an order of operation commands, "ON" of DO [1] is executed at the teaching position P [2], "OFF" of DO [1] is executed at the teaching position P [3], and "ON" of DO [2] is executed at a teaching position after the teaching position P [3]. It is therefore impossible to execute logic instructions in an order other than the order of the operation instructions, as illustrated in FIG. 8B.An object of the present invention is to provide a robot controller and a robot control method capable of causing a logic command to be independent of an operation command (a teaching position) for a robot and executing the logic command at a desired position and at a desired timing.This object is achieved by the robot controller according to claim 1 and the robot control method according to claim 4.Accordingly, a logic command can be caused to be independent of an operation command (a teaching position) for a robot, and the logic command can be executed at a desired position and at a desired timing.BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is an overall configuration diagram of a robot control system according to an embodiment; FIG. 2 is a functional block diagram of a robot controller according to the embodiment; FIG. 3A is a view illustrating an example of a machining program used in the robot controller according to the embodiment; FIG. 3B is a conceptual diagram of a content of the machining program used in the robot controller according to the embodiment; FIG. 4 is a view illustrating an example of a machining program used in the robot controller according to the embodiment; FIG. 5 is a view illustrating an example of an operation path and a machining portion of a robot controlled by the robot controller according to the embodiment; FIG. 6A is a view illustrating an example of an operation path and processing portion of the robot controlled by the robot controller according to the embodiment; FIG. 6B is a view illustrating a method of adjusting the timing at which machining starts by a robot controller according to a conventional technique; FIG. 6C is a view illustrating a method of adjusting the timing at which the machining starts by the robot controller according to the embodiment; FIG. 7A is a view illustrating an example of a machining program used in the conventional technique; FIG. 7B is a conceptual diagram illustrating an example of a relationship between teaching positions and start points and end points of machining processes in the machining program used in the conventional technique; FIG. 8A is a conceptual diagram illustrating an example of a relationship between teaching positions and starting points and ending points of machining processes, which are unreachable with the conventional technique; and FIG. 8B is a conceptual diagram illustrating an example of a relationship between teaching positions and starting points and ending points of machining processes, which is unreachable with the conventional technique.DETAILED DESCRIPTION OF THE INVENTIONAn embodiment of the present invention will now be described herein with reference to Figs. 1 to 6C.1. Configuration of EmbodimentFIG. 1 illustrates an overall configuration of a robot control system 1 according to an embodiment of the present invention. The robot control system 1 includes a robot controller 10, a robot 20, and an external peripheral device 30. The robot controller 10 and the external peripheral device 30 are also communicatively coupled to each other. Note that, although not illustrated in FIG. 1, the robot controller 10, the robot 20, and the external peripheral device 30 may be communicatively coupled to each other via a network.The robot controller 10 represents a device that controls the robot 20. More specifically, the robot controller 10 stores, for example, teaching programs, teaching data, and operation parameters to be used for the operation control and machining control of the robot 20, and executes the teaching programs to control the robot 20 on the basis of the teaching data and the operation parameters.The robot 20 is an articulated robot such as a six-axis vertical articulated robot or a four-axis vertical articulated robot, but is not limited to one. The robot 20 may include, for example, an orthogonal coordinate robot, a SCARA (selective compliance assembly robot arm) robot, or a parallel connection robot.The external peripheral device 30 is a PLC or one of various application controllers for laser oscillators.In a case where, in the robot control system 1 illustrated in FIG. 1, the external peripheral device 30 serves as a controller for a laser oscillator, for example, the robot controller 10 performs communication via input and output signals or performs serial communication with the robot 20 and the external peripheral device 30 to control an operation of the robot 20 and control a laser processing process to be performed by the robot 20.FIG. 2 is a functional block diagram of the robot controller 10.The storage unit 11 stores an operation command program describing teaching operations and teaching positions for the robot 20 and a logic command program describing logic commands instructing machining processes to be performed by the robot 20 and execution positions for the logic commands regardless of the teaching operations and the teaching positions.FIG. 3A is a view illustrating examples of an operation command program and a logic command program to be executed in the robot controller 10 according to the present embodiment. FIG. 3B is a conceptual diagram of content describing the operation command program and the logic command program illustrated in FIG. 3A.As illustrated in FIG. 3A, the operation command program instructs operations of the robot 20 at the teaching positions, respectively.In the example of FIG. 3A, the operation command program instructs a robot command that causes the robot to move from a teaching position P[1] to a teaching position P[8].The logic command program also instructs start and end of machining processes at positions independent of the teaching positions designated in the operation command program.In a first line in the logic command program illustrated in FIG. 3A, a machining process DO [ 1] is instructed to start at the position P [ 2]. In a second row, the machining process DO[1] is instructed to end at the position P[3]. In a third line, a machining process DO [2] is instructed to start at the position P [4]. In a fourth line, the machining process DO [2] is instructed to end at the position P [5]. In a fifth line, a machining process DO[3] is instructed to start at the position P[6]. In a sixth row, the machining process DO [3] is instructed to end at the position P [7].The control unit 12 is one known to those skilled in the art and includes, for example, a central processing unit (CPU), a read only memory (ROM), a random access memory (RAM), and a complementary metal oxide semiconductor (CMOS) memory configured to communicate with each other via a bus.The CPU represents a processor that controls the robot controller 10 as a whole. The CPU is configured to read, via the bus, system programs and application programs stored in the ROM, and collectively control the robot controller 10 according to the system programs and the application programs, and, as illustrated in FIG. 2, cause the control unit 100 to achieve functionality of an operation command interpretation unit 121, a logic command interpretation unit 122, and a command execution unit 123.The operation command interpretation unit 121 interprets an operation command program describing a teaching operation and a teaching position for a robot 20 as described above, and generates an operation command.The logic command interpretation unit 122 interprets a logic command program describing a logic command instructing that a machining process is performed by the robot 20 and an execution position for the logic command as described above, and generates the logic command including the execution position.The command execution unit 123, when starting a teaching program, starts a task process to be performed by the operation command interpretation unit 121 and a task process to be performed by the logic command interpretation unit 122, and executes the operation command generated by the operation command interpretation unit 121 to monitor robot positions while the robot 20 is operating to execute each of the logic commands generated by the logic command interpretation unit 122 at a time when the robot 20 passes each of the execution positions for the logic commands.Therefore, when executed by the robot controller 10 of the operation command program and the logic command program exemplified in FIG. 3A, it is possible, as illustrated in FIG. 3B, within a route coupling the teaching position P [ 1] and the teaching position P [ 8] designated in the operation command program, to start the machining process DO [ 1] at the position P [ 2], to end the machining process DO [ 1] at the position P [ 3], to start the machining process DO [ 2] at the position P [ 4], to end the machining process DO [ 2] at the position P [ 5], starting the machining process DO[3] at the position P[6] and ending the machining process DO[3] at the position P[7].Note that, in a logic command program, positions in which execution of a logic command starts and ends are preferably, but not limited to, positions on a path along which a robot travels according to an operation command program as described above. For example, positions in which execution of a logic command starts and ends may be most proximal positions to an execution position for a machining process on a path on which a robot moves according to an operation command program.2. Effects obtained by the embodimentIn order to teach a logic command that controls a machining process such as laser welding, in the robot controller 10 according to the present embodiment, it is possible to execute the logic command at a desired position and at a desired timing, regardless of an operation command (a teaching position) for the robot 20.In order to successively teach even machining portions all having a short pass, in the robot controller 10 according to the present embodiment, it is not necessary to increase teaching positions according to an increased number of start endpoints and end endpoints of the machining portions, resulting in easy implementation of a teaching program, and ease of maintenance and ease of visibility for the teaching program and the like.Further, in the robot controller 10 according to the present embodiment, a number of teaching points for the robot 20 can be minimized. Operation plan processing for the robot 20 can also be made lighter, allowing the robot 20 to exert its original performance.Further, in the robot controller 10 according to the present embodiment, since alignment between an order of execution operation commands and an order of execution logic commands is not required for the robot 20, the logic commands can be executed at a desired timing regardless of teaching positions regarding operations of the robot 20.FIG. 4 is a view illustrating another example of an operation command program and a logic command program to be executed by the robot controller 10 according to the present embodiment. More specifically, when the example illustrated in FIG. 4 is compared with the example illustrated in FIG. 3A, an order of lines constituting the logic command program is reversed.In the robot controller 10 according to the present embodiment, even though teaching position P [ 1] to teaching position P [ 8] are described in this order in the operation command program as illustrated in FIG. 4, and position P [ 7], position P [ 6], position P [ 5], position P [ 4], position P [ 3], and position P [ 2] are described in this order in the logic command program, the logic commands are respectively executed at timings when the robot 20 passes position P [ 2] to position P [ 7] regardless of the described orders.Further, in order to adjust the timing for executing a logic command in the conventional technique, it is necessary to finely adjust teaching positions for robot operations in lines forming a pair, resulting in a changed operation plan, and finally a changed operation path at each adjustment. On the other hand, in the robot controller 10 according to the present embodiment, since a logic command program is separated from an operation command program, the timing for executing a logic command can be adjusted only finely, which does not affect an operation plan or an operation path.FIG. 5 is a view illustrating the robot 20, an operation path of a tool 22 mounted on a hand 21 that the robot 20 includes, and a machining portion provided on the operation path. The tool 22 travels in an order of P [1]→P [2]→P [3]→P [4], starts machining at P [2], and ends machining at P [3].FIG. 6A is a view specifically illustrating the operation path and the processing section illustrated in FIG. 5, and is a view illustrating the operation path and the processing section before a signal output timing is adjusted at the teaching position P [ 2].FIG. 6B is a view illustrating changes in the operation path and the machining section after a machining start timing is adjusted in a conventional technique. In the conventional technique, since a starting point of a machining process and a teaching position regarding an operation of the robot 20 are paired in a teaching program as illustrated in FIG. 7A, for example, it is necessary to finely adjust the position of the teaching position regarding the operation of the robot 20, that is, the teaching position P [ 2] in the example in FIG. 6B, resulting in a changed operation plan and finally a changed operation path at each adjustment. Therefore, it is necessary to repeat adjustments of signal timings and adjustments of teaching positions existing on an operation path.FIG. 6C is a view illustrating an operation path and a processing portion after a processing start timing is adjusted in the robot controller 10 according to the present embodiment. As compared with the operation path and the processing section before signal output timings are adjusted, as illustrated in FIG. 6A, the operation path is not changed, but only the timing at which the processing section starts is delayed. This is because the logic command program is separated from the operation command program, and therefore only the timing of executing a logic program can be finely adjusted without changing a teaching position with respect to an operation of the robot 20. Therefore, a change of a machining section does not affect an operation plan or an operation path.3. Implementation ExamplesAn information output terminal such as a tablet device may be caused to display an operation path conveyed to the robot 20. The position and timing at which a signal is to be output and finally the position and timing at which a logic command that controls process processing is to be executed may be directly touched with a finger or a device such as a touch pen on the displayed operation path, and may be designated on the operation path brought to the robot 20.Therefore, it is possible to generate and execute a logic command program together with an operation command program based on the designated position at which the logic command is to be executed. Since a user of the robot controller 10 can intuitively designate the timing for executing a logic command and can teach a process processing command, it is possible to shorten the time required for teaching and operation checking.In addition to serial communications and communications over signals to be input and output with the external peripheral device 30, the robot control method according to the present invention can be more widely applied to all logic commands that are executable regardless of the operating situation of the robot 20.EXPLANATION OF REFERENCE NUMERALS1 Robot control system 10 Robot controller 11 Storage unit 12 Control unit 20 Robot 30 External peripheral device 121 Operation command interpretation unit 122 Logic command interpretation unit 123 Command execution unit
Claims
A robot controller (10) comprising: an operation command interpretation unit (121) that interprets an operation command program describing a teaching operation and a teaching position for a robot (20) and that generates an operation command; a logic command interpretation unit (122) that interprets a logic command program describing a logic command instructing that a machining process is performed by a robot and an execution position for the logic command, regardless of the teaching operation and the teaching position, and that generates the logic command including the execution position; A command execution unit (123) that executes the operation command and the logic command, wherein the execution position for the logic command is present on a movement path of the robot, wherein the movement path is based on the teaching operation and the teaching position, and wherein the command execution unit (123) monitors robot positions while the robot operates based on the operation command, and executes each logic command generated by the logic command interpretation unit (122) at a time when the robot passes each of the execution positions for the logic commands.The robot controller (10) according to claim 1, wherein in a case where, in the logic command program, the execution position is not present on a movement path of the robot, the movement path being based on the teaching operation and the teaching position, the command execution unit (123) executes the logic command at a position closest to the execution position of the machining process on the movement path.A robot control method comprising: an operation command interpreting step of interpreting an operation command program describing a teaching operation and a teaching position for a robot and generating an operation command; a logic command interpreting step of interpreting a logic command program describing a logic command instructing a machining process to be performed by the robot and an execution position for the logic command, regardless of the teaching operation and the teaching position, and generating the logic command including the execution position; a command executing step of executing the operation command and the logic command, wherein the execution position for the logic command is present on a movement path of the robot, wherein the movement path is based on the teaching operation and the teaching position, and wherein in the command executing step, the robot position is monitored while the robot operates based on the operation command, and executes each logic command generated in the logic command interpreting step at a time when the robot passes the execution position of the logic command.
Citation Information
Patent Citations
Simulation device for executing a simulation based on a robot program
DE102014000937A1
Control method and control device for a factory automation system
DE4431315A1
Device for controlling an industrial robot for carrying out coordinated work processes using a playback teaching method and method relating thereto
DE69216167T2
System for commanding a robot
EP2737375B1
Industrial-use robot and control system and control method for controlling operation of peripheral device
EP2998082B1