DEVICE AND METHOD FOR CONTROL
The control system and procedure for robot systems, which uses a sensor to create a search program for determining teaching points and generates an operating program for machining operations, addresses the challenge of accurately setting teaching points and ensures high precision in machining operations by accounting for variations in workpieces and allowing for real-time correction of position deviations.
Patent Information
- Application Number
- DE112022007100
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-07-07
- Publication Date
- 2025-04-24
AI Technical Summary
Existing robot systems face challenges in accurately setting teaching points for machining paths, particularly when dealing with variations in workpieces, which can lead to position deviations and reduced precision in operations like welding.
A control system and procedure that utilize a sensor to recognize the machining line of a workpiece, allowing for the creation of a search program to determine teaching points based on start and end positions, and the generation of an operating program that includes these points, with the option to track and correct the robot's position during operation.
This approach simplifies the process of setting teaching points, reduces the time and expertise required, and ensures high precision in machining operations by accounting for variations in workpieces and allowing for real-time correction of position deviations.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present invention relates to a control device and a method for controlling. STATE OF THE ART
[0002] A robot system comprising a robot, a work tool attached to the robot, such as a welding torch, and a controller for controlling the robot is well known. The controller controls the robot and the work tool based on an operation program, and a robot user can teach teaching points in advance to determine the position and posture of the robot during operation. The operation program is created based on the positions of the teaching points.
[0003] The position of the teaching points can have a significant impact on the quality of the operation performed by the robot. For example, in a robotic system for arc welding, the robot moves a welding torch attached to a robot arm, etc., along a machining path determined based on the teaching points. If the machining path deviates from the desired path, a machining line also deviates from it, resulting in a decrease in machining accuracy.
[0004] To correct such deviation in the machining path, a method is known in which a work tool such as a welding torch is equipped with a sensor and the machining path is corrected while performing a process such as welding. For example, a control method is known in which a machining path is previously created by specifying start and end points, and then, while the position of the robot is moved along the machining path, the position to be welded detected by the sensor is set as a teaching point (see, for example, Patent Document 1).
[0005] A device intended to simplify the training of the operation of a laser scanner and to shorten the welding time of a robot is also known (see, for example, Patent Document 2).
[0006] Furthermore, a robot is generally known which is configured to perform an operation such as welding by detecting the position of a welding line using a laser sensor, which is designed to optimize a movement path of an end effector of the robot by tracking, and then move a work tool along the detected line (see, for example, Patent Document 3). Patent Document 1: Japanese Patent Application Laid-Open No. JP 1995-104 831 A Patent Document 2: Japanese Patent Application Laid-Open No. JP 2006-247 677 A Patent Document 3: Japanese Patent Application Laid-Open No. JP 2004-160 578 A SUMMARY OF THE INVENTION Problems to be solved by the invention
[0007] To effectively suppress positional deviations in the robot's machining path, it is desirable to accurately generate and set the teaching points. For example, a teaching point can be set by the operator by manually moving the robot to a desired position and posture, but each teaching point often requires a high accuracy of 1 mm or less. Therefore, the operator must have a high level of expertise, and even for experienced operators, this can require a significant amount of time.
[0008] One way to create a teaching point is to set a search point to determine the next teaching point along the machining path based on a specific teaching point. This makes it possible to create an accurate operating program for a specific workpiece. However, when attempting to execute the same operating program for different workpieces in a machining line, etc., dimensional errors or misalignment of the position of each workpiece cannot be accounted for, making it difficult to perform a specific operation such as welding with high precision.
[0009] One approach to solving the above problem is to create an operating program for each workpiece. However, this requires the robot to operate twice for each workpiece, which increases cycle time and ultimately reduces productivity. Means to solve the problems
[0010] One aspect of the present invention provides a controller configured to control a robot having a sensor capable of detecting a machining line of a workpiece, the controller comprising: a teaching unit configured to teach a search start position and a search end position of the machining line using the sensor; a program generation unit configured to generate a search program for determining a teaching point corresponding to a position on the machining line based on the search start position and the search end position, and to generate an operation program including the teaching points based on a result of executing the search program;and a determination unit configured to determine, upon generation of the search program, whether or not to perform tracking using the sensor to correct the position of the robot during execution of the operation program;
[0011] Another aspect of the present invention provides a method for controlling a robot having a sensor capable of detecting a machining line of a workpiece, the method comprising the steps of: teaching a search start position and a search end position of the machining line using the sensor; generating a search program for determining a teaching point corresponding to a position on the machining line based on the search start position and the search end position; generating an operation program including the teaching point based on a result of executing the search program; and determining, when the search program is generated, whether or not to execute tracking using the sensor to correct the position of the robot during execution of the operation program. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a schematic configuration view of a robot system according to an embodiment; Fig. 2 is a view explaining the teaching of search start and end positions using a sensor; Fig. 3 is a view showing an example in which the search starting point is learned using a user interface; Fig. 4 is a view showing an example where the search endpoint is entered through the user interface; Fig. 5 is a view explaining that a program is corrected by tracking; Fig. 6 is a view showing an example in which an offset is determined when teaching the search start position and the search end position; Fig. 7 is a view showing an example of the user interface for setting various conditions when creating the search program; Fig. Figure 8 shows an example where an operating program is created automatically using the user interface, and Fig. Figure 9 is a flowchart showing an example of a process related to program creation. DESCRIPTION OF THE EMBODIMENTS
[0012] Fig. Figure 1 is a schematic configuration view of a robot system according to a preferred embodiment. Robot system 10 includes at least one robot 12, a robot controller 14 configured to control robot 12, and a handheld programming device 16 connected wirelessly or by wire to robot controller 14.
[0013] The robot 12 is, for example, an industrial articulated-arm robot and includes a movable part (robot arm) 18, a work tool 22 attached to a front end of the movable part 18 and configured to perform a predetermined operation on an object (workpiece) 20, and a sensor 24 capable of detecting a position of a work location (e.g., a processing line) on the workpiece 20 through the work tool 22. In this embodiment, the work tool 22 is a welding torch, and accordingly, the robot system 10 includes a welding power supply 26 that supplies power to the welding torch 22 based on a command from the robot controller 14. As described above, the processing line in this embodiment includes welding the workpiece, although the present invention is not limited as such.For example, the predetermined operation to be performed by the robot may be sealing, the processing line may include a sealing part of the workpiece, and the working tool 22 may be a nozzle for applying adhesive.
[0014] In the embodiment, the sensor 24 is a 3D laser scanner type sensor (laser sensor) having an emission unit configured to emit light (e.g., a laser beam) based on a command from the robot controller 14, and an image sensor (CCD, CMOS, etc.) configured to receive the light reflected from the workpiece and convert it into electricity. The sensor 24 is mounted on the front end of the movable part 18 or the welding torch 22 using a suitable bracket (not shown) and can scan the machining line by continuously scanning the workpiece along the machining line. However, the sensor is not limited to a laser sensor; any sensor capable of detecting the machining line can be used. For example, a 3D sensor can also be used.Examples of a 3D sensor include a TOF (Time of Flight) camera that captures a range image using a time-of-flight method, or a stereo camera that detects a 3D position based on parallax captured by two 2D cameras, etc.
[0015] The robot 12 is configured to be able to perform various processes and / or operations, such as welding, based on a command transmitted from the robot controller 14. The robot controller 14 includes a processor and a storage unit (memory, etc.) and can control the robot 12 based on an operation program described below. In addition to the operation program for controlling the robot 12, the robot controller 14 can create and store a search program, which will be described later, and execute it to control the sensor 24. In other words, in this embodiment, the teaching pendant 16 functions as a teaching unit, the processor of the robot controller 14 functions as a program generation unit, and a user interface described below functions as a designation unit. However, the present invention is not limited as such, e.g.a computer such as a personal computer (PC) 28 connected to the controller 14 by wires or wirelessly and having a processor and a storage unit (memory, etc.) can generate each program so that the generated programs can be transmitted from the PC 28 to the controller 14.
[0016] The handheld programming device 16 may include a receiving unit, such as a keyboard or touch panel, that can receive various user inputs, and a display unit, such as a display. The receiving unit and the display unit may form a user interface.
[0017] Fig. 2 is a schematic view illustrating welding as an example of a process performed by the robot 12. The shapes of two plate-shaped workpieces 20a and 20b are measured using the laser sensor 24 mounted on the welding torch 22, and teaching points are automatically generated based on the information obtained from the sensor 24. Arc welding is then performed along a welding line 30.
[0018] In the following, means and methods for creating a search program and an operating program are described with reference to the Fig. 3 to 9. As described in Fig. 3, a user or operator of the robot 12 (hereinafter referred to simply as a user) can input various information for creating the search program and the operation program as described later, etc., through a user interface (UI) 17 displayed on the display of the teaching pendant 16. In other words, the user interface 17 has the functions of the display unit that allows the user to visually recognize various information and the receiving unit that receives various inputs from the user.The user interface 17 includes a robot display area 32 in which an image of the robot corresponding to the position and posture of the current robot 12 is displayed, a time scale display area 34 in which icons (as described later) are displayed in chronological order, and a menu display area 36 in which each icon is displayed so that the user can select a desired icon.
[0019] First, in step S1, the user of the robot 12 inputs a search start position (search start point) for the robot 12. Specifically, the user moves the robot 12 so that the sensor 24 is at a search start position A (see Fig. 2) is positioned at which the sensor 24 can detect the welding start position or its proximity. In this case, as shown in Fig. 3, an image corresponding to the position and posture of the robot 12 actually moved by the user can be displayed in the robot display area 32. After confirming that the robot 12 is positioned at the search start point A, the user selects an icon 38 (L) representing the search point from the menu display area 36 and moves the selected icon to the time scale display area 34, e.g., by dragging and dropping. Then, the icon "L" is placed at the left end of the time scale display area 34, indicating that the search start position has been learned.
[0020] It should be noted that the search start position is different from the welding start position (operation start position). For example, in direct teaching, it may be difficult to teach the welding start position due to interference between the robot and the workpiece. In such a case, teaching can be facilitated by using the search start position that is some distance from the welding start position. However, if there are no restrictions such as interference, the search start position and the welding start position can be the same position. The search end position is also different from the welding end position (operation end position), but can be the same position.
[0021] Next, the user selects an icon 40 (Start) representing a search start command from the menu display area 36 and moves the selected icon to the timescale display area 34 by a drag-and-drop operation. The "Start" icon is then placed to the right of the "L" icon in the timescale display area 34.
[0022] With the search start command, the user can set various parameters in the search program (step S2). For example, the search program can contain at least one of the following information: information about a search range of the sensor 24, information about an output of the sensor 24, information about a path of the sensor 24, and information about the automatically generated operating program. For example, the user can enter information about a change in body posture between the individual teaching points as information about the path of the sensor 24. Furthermore, the user can enter information about the automatically generated operating program, e.g., they can specify a welding speed in the operating program.
[0023] Next, the user enters, as in Fig. 4, the search end position (search end point) for the robot 12 (step S3). Specifically, the user moves the robot 12 so that the sensor 24 is at a search end point B (see Fig. 2) is positioned at which the sensor 24 can detect the welding end position or its proximity. At this time, the robot display area 32 displays the status of the robot 12 moved by the user. After confirming that the robot 12 is located at the search end point B, the user selects the icon 38 (L) representing the teaching point from the menu display area 36 and moves the selected icon to the time scale display area 34, e.g., by dragging and dropping. A symbol "L" is then displayed to the right of the "Start" symbol in the time scale display area 34, indicating that the search end position has been taught.
[0024] Next, the user selects an icon 42 (Stop) from the menu display area 36, indicating that the search is finished, and moves it to the timescale display area 34, for example, by dragging and dropping. A "Stop" icon is then placed at the right end of the timescale display area 34.
[0025] In this case, the user can set whether or not to execute a predetermined process in the embodiment of the operating program described below (step S4). For example, if the user, as shown in Fig. 7, switching the menu display area 36 from "Programming" to "Details" displays a search program setting screen, allowing the user to specify (input) whether various conditions are valid or invalid. Examples of the above-mentioned predetermined process include tracking, setting an offset amount, and changing the posture between teaching points. These operations are described in detail below.
[0026] As indicated by reference numeral 39 in Fig. As indicated in Figure 7, the user can set whether or not tracking by the sensor 24 should be performed during the execution of the operation program for a workpiece (e.g., workpieces 20c and 20d) that is different from the one during the execution of the search program. When the setting is set to "valid," tracking of the workpiece by the sensor 24 is performed during the execution of the operation program, and a motion correction unit corrects the movement of the robot based on a tracking result.
[0027] Fig. Fig. 5 is a view showing the operation of the tool 22 in the case where the tracking is set during the execution of the operation program. As shown in Fig. As shown in Figure 2, when executing the search program for the workpieces 20a and 20b to create the operation program, there is basically no need to perform tracking if this operation program is used for operations (welding, etc.) on the workpieces 20a and 20b. However, when executing the same operation program on different workpieces 20c and 20d, there is a possibility that precise operation cannot be performed due to a dimensional error, an installation error, thermal deformation, etc., even if the workpieces 20c and 20d have the same specifications as the workpieces 20a and 20b. If tracking is set to be performed when executing the operation program, the movement path of the robot is corrected by the tracking according to the position and any dimensional error of the workpiece, so that operations can be performed with high accuracy.In addition, since tracking only corrects the operating program, it is sufficient to create the operating program itself once at the beginning of production, etc. Therefore, tracking has almost no impact on the productivity of the entire system, including the robot.
[0028] As indicated by reference numeral 43 in Fig. As indicated in Figure 7, the user can set a condition regarding an offset from the machining line 30 during tracking. For example, the user can set which direction (the direction of movement, the direction perpendicular to the direction of movement, or the direction in which the tool itself extends, etc.) of the tool 22 should be set as the offset during tracking. If the setting regarding the offset is made as shown in Fig. As shown in Figure 6, when executing the operating program for the workpieces 20a and 20b, the tool 22 moves along an offset machining line 33 that is offset from the machining line 30 by the set offset amount. In arc welding, for example, there are cases where higher welding quality can be achieved if the tool follows a line that is slightly offset from the machining line, rather than following the machining line itself. In such a case, such a machining line offset function is very useful.
[0029] As indicated by reference numeral 45 in Fig. As indicated in Figure 7, the user can select and specify the application of the operating program to be created. For example, if the user selects "Arc," the "Welding Start" and "Welding End" commands are automatically included in the operating program, increasing ease of use. If no command is specified, the operating program contains only operating instructions for the robot.
[0030] As indicated by reference numeral 46 in Fig. As indicated in Figure 7, the user can specify a condition regarding the change in the posture of the tool. For example, if the above-mentioned tracking only corrects the position of the tool (i.e., the posture of the tool is not corrected), it may be difficult to ensure the accuracy of the posture. In such a case, it is appropriate to use an operating program that reduces the distance between the teaching points in an area where the posture change of the tool is relatively large and increases the distance between the teaching points in an area where the posture change is relatively small. Therefore, as in Fig. 7, the above-mentioned operating program can be easily generated by setting an upper limit for the posture change between the teaching points.
[0031] After the operations from S1 to S4 are completed, the robot controller 14 or the PC 28, which corresponds to the program generation unit, completes the generation of the search program for performing the search using the sensor 24 (step S5). In other words, the search program can be displayed as a series of icons arranged and displayed in chronological order in the time scale display area 34. In this way, the user can create the search program through visually and intuitively easy-to-understand operations via the teaching pendant (UI). Therefore, even if the user is not an expert, the user can create the desired search program in a short time with simple operations. In this embodiment, the user teaches the start and end points of the search by directly moving the robot with their hand (so-called direct teaching). However, the present invention is not limited to this.The user can also move the robot by tapping, for example. Furthermore, various conditions are specified before executing the search program in step S4.
[0032] In addition, the user can enter not only the start and end points of the search, but also any point in the search program. For example, to change the direction of movement of the welding torch during laser irradiation, at least one intermediate point can be taught between the search start and end points. Furthermore, the welding torch's operating mode is not limited to a straight line; the welding torch can be moved, for example, along an arc. Information about these intermediate points can also be displayed as symbols.
[0033] Next, the search program created in step S5 is executed (step S6). The scanning laser beam from sensor 24 is directed onto the workpiece in a range from the search start position to the search end position, and at least one teaching point is created in the same range. This automatically creates an operating program containing the teaching point (step S7). The search program can also be executed by the user via the user interface 17.
[0034] During the search process, as in Fig. 2, the sensor 24 moves from the search start position A to the search end position B. During this process, the shapes of the workpieces 20a and 20b are detected, and the teaching points of the robot 12 are automatically created based on the detection result. Since the workpiece in this example has a curved portion near the center, a laser beam start point 54a corresponding to the initial end of the weld line 30, a laser beam end point 54d corresponding to the end point of the weld line 30, and intermediate teaching points 54b and 54c near the center are created.
[0035] After the search is completed and the teaching points have been generated, the operating program containing the generated teaching points is automatically created. As in Fig. 8, the operating program is displayed in the time scale display area 34 as a combination of symbols 48. The operating program 48 includes a symbol 54a representing the start of welding, a symbol 54d representing the end of welding, and symbols 54b and 54c representing each teaching point of the welding process between symbols 54a and 54d. These symbols are displayed in chronological order in the time scale display area 34. In the example of Fig. 8, although all of the icons 54a to 54d are displayed, at least one of the icons 54a containing information about the search start position, the icon 54d containing information about the search end position, and the icons 54b and 54c containing information about the intermediate points between the search start position and the search end position may be displayed.
[0036] The user can review and edit the automatically created operating program via the user interface 17 of the handheld programming device 16. For example, clicking on one of the icons 54a to 54d in the time scale display area 34 displays various icons with operating information, etc., in the menu display area 36. The operator can then set or change various parameters in the operating program, e.g., correct the position of the teaching point, etc.
[0037] The user interface 17 also displays settings, such as whether the above-mentioned tracking should be performed or not. In the example of Fig. 8, a tracking start command and a tracking stop command are displayed as icons 51 and 52, respectively. These icons can also be displayed in timeline format along with the aforementioned icons 54a to 54d, making them very easy for the user to understand.
[0038] After the creation (and, if necessary, editing) of the operating program is complete, the robot is controlled based on the operating program (step S8). Since the process determined as valid in step S4, such as tracking, has been included as a command in the operating program, this process is also executed (step S9). This allows the robot to perform a predetermined operation, such as welding, based on the automatically created operating program.
[0039] According to the examples described above, user operations such as teaching when creating the search program for generating teaching points are greatly simplified by the visual operation / input via the user interface. Therefore, even an inexperienced user can quickly create a desired search program with simple operations. Moreover, executing the search program can automatically generate suitable teaching points (or an operating program). LIST OF REFERENCE SYMBOLS 10 Robot system 12 robots 14 Robot control 16 handheld programmer 17 User interface 18 Robot arm 20 workpiece 22 welding torches 24 sensors 26 Welding power supply 28 PC 30 processing lines 32 Robot display area 33 offset processing line 34 Timescale display area 36 Menu display area 38, 40, 42, 51, 52 Symbol 48 Operating program 54a to 54d teaching point QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] JP 1995-104 831 A
[0006] JP 2006-247 677 A
[0006] JP 2004-160 578 A
[0006]
Claims
[1] A controller configured to control a robot having a sensor capable of detecting a machining line of a workpiece, the controller comprising: a learning unit configured to learn a search start position and a search end position of the machining line using the sensor; a program generation unit configured to generate a search program for determining teaching points corresponding to positions on the machining line, based on the search start position and the search end position, and generates an operation program containing the teaching points based on a result of executing the search program; and a determination unit configured to determine, upon generation of the search program, whether or not to perform tracking using the sensor to correct the position of the robot during execution of the operation program. [2] The controller according to claim 1, wherein the determining unit is configured to be capable of determining an offset amount for offsetting the machining line when generating the operation program. [3] The controller according to claim 1, wherein the determination unit is configured to determine an application of the operation program when the operation program is generated. [4] The controller according to claim 1, wherein the determination unit is configured to be capable of determining a condition related to a change in the posture of the robot when the operation program is generated. [5] A method for controlling a robot with a sensor capable of detecting a machining line of a workpiece, the method comprising the following steps: Teaching a search start position and a search end position of the processing line using the sensor; Creating an operating program for determining teaching points corresponding to a position on the machining line based on the search start position and the search end position; Generating an operation program containing the teaching points based on a result of executing the search program; and Determine, when the search program is generated, whether or not to perform tracking using the sensor to correct the position of the robot during the execution of the operation program.
Citation Information
Patent Citations
Automatic position teaching method for robot using laser sensor
JP1995104831A
Tracking control device
JP2004160578A
Laser welding instruction device and method
JP2006247677A