Visual programming teaching device
The visual programming teaching device addresses operational errors in industrial robot programming by using tags, error messages, and color differentiation to ensure accurate block placement and connection, enhancing program reliability.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-28
- Publication Date
- 2026-03-12
AI Technical Summary
Visual programming for industrial robots can lead to operational errors due to overlapping blocks, loss of block order, and incorrect connections, especially during screen transitions between visual and manual operation screens.
A visual programming teaching device with a processing device that allows inserting tags between blocks, displaying error messages for separated blocks, and enabling block reordering and color differentiation for the last inserted blocks, along with a 3D model to guide robot operation.
Reduces operational errors by ensuring accurate block placement and connection, facilitating reliable robot program creation and debugging.
Smart Images

Figure 2026043211000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a visual programming teaching device that creates a robot program for operating an industrial robot by visual programming. [Background technology]
[0002] Industrial robots such as articulated robots operate according to robot programs. Robot programs are created, for example, during teaching work, in which movements are taught to industrial robots. Such robot programs are sometimes created using visual programming during teaching work (see, for example, Patent Document 1). Visual programming is a technology that makes full use of a GUI (Graphical User Interface) to enable programming with simple operations, with almost no program code required.
[0003] Patent Document 1 describes a command display device that generates robot movements using visual programming. The command display device has a display unit that displays an input screen. The input screen is a screen for generating robot movements and includes an action block display area and an action block placement area. The action block display area is an area that displays action blocks related to robot movements. The action block placement area is an area where visual programming is performed using the action blocks.
[0004] In the command display device of Patent Document 1, an operator (user) selects any action block from an action block display area and places the selected action blocks in order in an action block placement area, thereby performing visual programming. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Publication No. 2024-7645 Summary of the Invention [Problem to be solved by the invention]
[0006] However, while visual programming allows you to freely set the position of blocks, it can also result in blocks being displayed overlapping each other, which can lead to users losing track of the position or order of separate blocks or groups of blocks, forgetting to connect some of the groups of blocks, or connecting groups of blocks to the wrong place.
[0007] In particular, when creating a robot program using visual programming during teaching work for an industrial robot, in order to visually obtain (decide) the destination of the robot, it is often necessary to transition from the visual programming screen to a manual operation screen where blocks are created by manual operation.
[0008] As a result, when returning from the manual operation screen to the visual programming screen, the user may lose track of the blocks created on the manual operation screen or become unsure of the current position of the robot program created on the visual programming screen, which can lead to operational errors by the user and make it difficult to create a robot program.
[0009] The command display device in Patent Document 1 simply creates a robot program through visual programming using action blocks related to robot operation, and does not take into consideration the possibility that users may make operational errors due to screen transitions during teaching work.
[0010] In view of the above problems, the present invention aims to provide a visual programming teaching device that can reduce operational errors by users when creating a robot program that operates an industrial robot using visual programming. [Means for solving the problem]
[0011] In order to solve the above problems, a representative configuration of a visual programming teaching device according to the present invention is a visual programming teaching device that uses visual programming to create a robot program for operating an industrial robot, the device comprising: a processing device that executes a visual programming tool that creates the robot program; a display device that displays a screen of the visual programming tool; and an input device that operates the visual programming tool; the visual programming tool has a visual programming screen and a manual operation screen that are displayed on the display device and can be switched between by operating the input device; the visual programming screen is a screen on which command blocks are placed by operating the input device to create a robot program, and one or more tags can be inserted at any position between multiple blocks by operating the input device; the manual operation screen includes buttons for moving the industrial robot and obtaining numerical values, and is a screen on which blocks are created by operating the buttons by operating the input device; and the processing device is characterized in that, when a tag has been inserted on the visual programming screen, when returning from a state where the manual operation screen has been transitioned to the visual programming screen, a tag can be selected by operating the input device, and the block created on the manual operation screen can be inserted at the position of the selected tag.
[0012] Preferably, the processor outputs an error message when a block or group of blocks is separated on the visual programming screen.
[0013] It is preferable that the above-mentioned processing device displays a list of the separated blocks or block groups on the visual programming screen on a display device, allows the user to specify the order of the listed blocks or block groups by operating an input device, and connects the blocks or block groups in the specified order.
[0014] The above-mentioned processing device preferably displays the industrial robot in 3D on the display device, changes the color of the last inserted block on the visual programming screen to a color different from that of the other blocks, and when debug-executing the robot program, moves the 3D displayed industrial robot on the display device in accordance with the robot program, and when executing the last inserted block, changes the color of the 3D displayed industrial robot to a color different from that when executing the other blocks. [Effects of the Invention]
[0015] According to the present invention, it is possible to provide a visual programming teaching device that can reduce operational errors by a user when creating a robot program for operating an industrial robot by visual programming. [Brief explanation of the drawings]
[0016] [Figure 1] 1 is a diagram illustrating an overview of a teaching device using visual programming according to an embodiment of the present invention; [Figure 2] FIG. 2 is a block diagram showing the functions of the teaching terminal of FIG. 1. [Figure 3] FIG. 3 is a diagram showing an example of a visual programming screen of the visual programming tool of FIG. 2. [Figure 4] FIG. 3 is a diagram showing an example of a manual operation screen of the visual programming tool of FIG. 2. [Figure 5] FIG. 3 is a diagram illustrating basic functions of the visual programming tool of FIG. 2. [Figure 6] FIG. 3 is a diagram illustrating additional functions of the visual programming tool of FIG. 2. [Figure 7] FIG. 7 is a diagram showing an example of a visual programming screen in which a block created on the manual operation screen of FIG. 6 has been inserted. [Figure 8] FIG. 10 is a diagram showing an example of a visual programming screen in which blocks are separated. [Figure 9]FIG. 10 is a diagram showing an example of a visual programming screen for connecting separated blocks. [Figure 10] FIG. 10 is a diagram showing an example of a visual programming screen during debugging; DETAILED DESCRIPTION OF THE INVENTION
[0017] Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Dimensions, materials, and other specific values shown in the embodiments are merely examples for facilitating understanding of the invention and, unless otherwise specified, do not limit the present invention. In this specification and drawings, elements having substantially the same functions and configurations are designated by the same reference numerals to avoid redundant explanation, and elements not directly related to the present invention are not shown.
[0018] 1 is a diagram illustrating an overview of a visual programming teaching device according to an embodiment of the present invention. The teaching device 100 is a device that creates a robot program for operating an industrial robot 101 by visual programming, and includes a teaching terminal 102.
[0019] The teaching terminal 102 is an operation terminal for creating a robot program for the industrial robot 101. The teaching terminal 102 is also connected to the industrial robot 101 by wire via a robot control device 103. The robot control device 103 is also connected to the industrial robot 101 by wire and controls the operation of the industrial robot 101. As an example, the teaching terminal 102 is configured such that an external unit 125 is detachably attached to a tablet including a display device 124. The unit 125 is connected to the robot control device 103 by wire and is further provided with an enable switch, an emergency stop button 125a, and the like. The unit 125 can be detached from the tablet so that the operator (user) can carry it around. The teaching terminal 102 may also be connected wirelessly.
[0020] The industrial robot 101 is, for example, a six-axis articulated robot, and includes a base 106 installed on a floor 104 of a factory or the like, a rotating frame 108, a first arm 110, a connecting arm 112, a second arm 114, and an end effector 116. The end effector 116 is attached to a joint 118 attached to the tip of the second arm 114.
[0021] The swivel frame 108 rotates about the J1 axis. When the base 106 is placed on the floor 104, the J1 axis is supported in a direction approximately perpendicular to the floor 104. The first arm 110 rotates about the J2 axis. The J2 axis is supported on the swivel frame 108 in a direction approximately perpendicular to the J1 axis. The connecting arm 112 is rotatably connected to the first arm 110 via the J3 axis. The J3 axis is supported approximately parallel to the J2 axis at a tip 120, which is the end of the first arm 110 opposite the J2 axis.
[0022] The second arm 114 is connected to the connecting arm 112 via a J4 axis extending in the longitudinal direction of the second arm 114 so as to be rotatable around the J4 axis in a twisting manner. A joint 118 attached to the tip of the second arm 114 rotates relative to the second arm 114 via the J5 axis in a tilting direction rather than a twisting direction. The end effector 116 rotates via the J6 axis in a direction (twisting direction) substantially perpendicular to the rotation direction of the joint 118. The J5 axis and J6 axis are supported by the joint 118 in a direction substantially perpendicular to the J4 axis.
[0023] Fig. 2 is a block diagram showing the functions of the teaching terminal 102 of Fig. 1. The teaching terminal 102 of the teaching device 100 has an input device 122, a display device 124, a visual programming tool 126 for creating a robot program, a processing device 128, and a robot program recording device 130. Note that the "programming tool" refers to a program for creating a program.
[0024] The input device 122 is a device for operating the visual programming tool 126. The input device 122 includes, for example, a microphone for inputting the user's voice, a touch panel superimposed on the display device 124, and the like.
[0025] The display device 124 is a device that displays the screen of the visual programming tool 126. The visual programming tool 126 has a visual programming screen 132 (see FIG. 3) and a manual operation screen 134 (see FIG. 4), and these screens can be switched between by operating the input device 122. The processing device 128 executes the visual programming tool 126 and records the robot program created by visual programming in the robot program recording device 130.
[0026] Fig. 3 is a diagram showing an example of the visual programming screen 132 of the visual programming tool 126 of Fig. 2. Fig. 4 is a diagram showing an example of the manual operation screen 134 of the visual programming tool 126 of Fig. 2.
[0027] As shown in Fig. 3, the visual programming screen 132 is a screen for creating a robot program by visual programming. On the visual programming screen 132, multiple (seven in this case) command blocks 136a-136g are arranged in a vertically linked order, as shown in Fig. 3(a).
[0028] These blocks 136a-136g are composed of an operation command to "move the robot" and pose constants (here, including the J1-J6 axes and numerical values corresponding to each axis) that represent the position, posture, and configuration of the industrial robot 101. The robot program is created so that the linked blocks 136a-136g arranged vertically on the visual programming screen 132 are executed in order (i.e., from "start" to "end").
[0029] When the manual operation button 138 displayed on the right side of the visual programming screen 132 shown in FIG. 3(a) is pressed, the manual operation screen 134 shown in FIG. 4(a) appears from the right side of the screen, and the visual programming screen 132 transitions to the manual operation screen 134.
[0030] The manual operation screen 134 shown in FIG. 4(a) includes buttons 140 for moving the industrial robot 101 shown in FIG. 1 and acquiring numerical values. These buttons 140 are used for performing axis operations and Cartesian coordinate system operations. Here, the user presses an enable switch provided on the external unit 125 of the teaching terminal 102 to put the industrial robot 101 into an operable state. When the button 140 is pressed in this state, the industrial robot 101 or the 3D model (see FIG. 10) moves, and the numerical values at that time are acquired. Then, on the manual operation screen 134, one or more blocks (for example, blocks 142a, 142b, and 142c shown in FIG. 4(b)) are created by operating the buttons 140 by operating the input device 122.
[0031] In this way, when creating a robot program using visual programming during a teaching operation to teach the industrial robot 101 how to move, the screen often transitions from the visual programming screen 132 to the manual operation screen 134 in order to visually obtain (decide) the destination of the industrial robot 101.
[0032] Furthermore, on the manual operation screen 134, each time the registration button 144 is pressed, the posture of the industrial robot 101 operated by the button 140 is acquired and a command is generated. When the registration history button 148 is pressed, a registration screen 146 appears on the manual operation screen 134 as shown in Fig. 4(b). Fig. 4(b) illustrates a plurality of (here, three) blocks 142a, 142b, and 142c.
[0033] On the registration screen 146 on the manual operation screen 134, pressing an operation button 150 such as "copy, paste, delete" allows you to delete commands that you have created too many times, or to increase them by copying and pasting. Furthermore, on the registration screen 146, pressing a transition button 152 called "Move to teaching screen" will transition to (return to) the visual programming screen 132.
[0034] Here, if a simple transition is made from the manual operation screen 134 to the visual programming screen 132 during teaching, blocks 142a, 142b, and 142c created on the manual operation screen 134 may be displayed separated and overlapping with blocks 136a-136g shown in FIG. 3(b). In FIG. 3(b), the separated blocks 142a, 142b, and 142c are overlapping in front of blocks 136a-136g, allowing the user to notice the existence of the separated blocks 142a, 142b, and 142c. However, if blocks 142a, 142b, and 142c are overlapping behind blocks 136a-136g, it may be difficult for the user to notice the existence of separated blocks 137a-137c, which may result in a user operation error.
[0035] Therefore, the visual programming tool 126 executed by the processing device 128 employs a function that can reduce operational errors by the user even when transitioning from the manual operation screen 134 to the visual programming screen 132 during teaching work. Each function of the visual programming tool 126 will be specifically described below.
[0036] Figure 5 is a diagram illustrating the basic functions of the visual programming tool 126 of Figure 2. First, as shown in Figure 5(a), the visual programming tool 126 can insert one or more "tag1 (tag 154a)" or "tag2 (tag 154b)" at any position between blocks 136a-136g on the visual programming screen 132. Here, tag 154a is inserted above block 136a, and tag 154b is inserted between blocks 136c and 136d.
[0037] Next, when the user presses the tag button 156 labeled "jump to tag" on the visual programming screen 132, the visual programming tool 126 jumps to the tag position. The jump means that the current line becomes the tag position and the visual programming screen 132 is scrolled to display the tag position.
[0038] 5(b) appears. When the user selects "tag1" or "tag2" on the tag list screen 158 as the jump destination tag, the user can jump to the selected tag position on the visual programming screen 132.
[0039] Fig. 6 is a diagram illustrating additional functions of the visual programming tool 126 in Fig. 2. When returning from the manual operation screen 134 shown in Fig. 6(a) to the visual programming screen 132, the visual programming tool 126 can insert commands (blocks 142a, 142b, 142c) created on the manual operation screen 134 into tag positions (see Fig. 7).
[0040] Specifically, when an insert button 160 labeled "Insert at tag position" is pressed on the registration screen 146 on the manual operation screen 134 shown in Fig. 6(a), a tag list screen 158 appears on the registration screen 146 as shown in Fig. 6(b). Then, when the user designates (selects) "tag1" or "tag2" as the tag to be inserted on the tag list screen 158, blocks 142a, 142b, and 142c are inserted into the selected tag to be inserted on the visual programming screen 132 as shown in Fig. 7.
[0041] Fig. 7 is a diagram showing an example of the visual programming screen 132 in which blocks 142a, 142b, and 142c created on the manual operation screen 134 in Fig. 6 have been inserted. Here, the user has selected "tag2 (tag 154b)" as the tag to insert into on the tag list screen 158 shown in Fig. 6(b), and as a result, blocks 142a, 142b, and 142c have been inserted directly below tag 154b.
[0042] In this way, in the teaching device 100, tags 154a and 154b are inserted in advance on the visual programming screen 132, and when returning from the manual operation screen 134 to the visual programming screen 132, tags 154a and 154b are selected, thereby allowing the blocks 142a, 142b, and 142c created on the manual operation screen 134 to be inserted at appropriate positions in the robot program.
[0043] Therefore, according to the teaching device 100, when creating a robot program for operating the industrial robot 101 using visual programming, even if the screen changes during the teaching operation, it is possible to reduce operational errors by the user.
[0044] Other functions of the visual programming tool 126 executing on the processing unit 128 will now be described with reference to FIGS.
[0045] 8A and 8B are diagrams showing an example of the visual programming screen 132 in a state where blocks are separated. In the visual programming screen 132 shown in Fig. 8A, blocks 136c and 136d, which should be connected, are separated, and two groups of blocks exist.
[0046] In such a case, when a check button 162 labeled "Check Go" is pressed on the visual programming screen 132, the visual programming tool 126 displays, for example, another button (not shown) for performing the "Check Go." Note that "Check Go" is a manual regeneration function for confirming operation. Subsequently, when the displayed button is pressed, the visual programming tool 126 executes the check go, which detects a separation between blocks 136c and 136d, and displays an error message dialog 164, shown in FIG. 8(b), stating, "There are two or more groups of blocks. Please connect them into one."
[0047] As a result, the teaching device 100 can make the user aware of the separation of a block or a group of blocks by means of an error message, thereby reducing operational errors.
[0048] 9A and 9B are diagrams showing an example of a visual programming screen 132 that connects the separated block groups. As shown in FIG. 9A, the visual programming tool 126 displays two separated block groups, namely, a block group 166 including blocks 136a, 136b, and 136c, and a block group 168 including blocks 136d, 136e, 136f, and 136g, side by side on the visual programming screen 132.
[0049] In the visual programming tool 126, when the user specifies (tap) the order in which two separated block groups 166 and 168, which are displayed in a list as shown in Figure 9(b), are to be connected, the block groups 166 and 168 are connected in the order in which they were tapped.
[0050] As a result, the teaching device 100 can reliably connect the two separated block groups 166, 168 in the order specified by the user, thereby reducing operational errors and enabling reliable creation of a robot program.
[0051] 10 is a diagram showing an example of the visual programming screen 132 during debugging. In the visual programming tool 126, debugging can be performed if the check button 162 (see FIG. 8(a)) is pressed and the check is passed.
[0052] At this time, the visual programming tool 126 changes (colors) the color of the last inserted block, ie, blocks 142a, 142b, and 142c, to a color different from that of the other blocks on the visual programming screen 132, as shown in FIG. 10(a).
[0053] Next, the visual programming tool 126 displays a 3D model 170 of the industrial robot 101 on the visual programming screen 132, and when an execution button 172 called "Run Program" is pressed, the robot program is debug-executed. In the visual programming tool 126, the debug execution position is indicated by a marker 174 on the visual programming screen 132, and the 3D model 170 operates according to the command at the execution position. Furthermore, when a stop button 176 called "Stop Program" is pressed, the debug execution can be stopped.
[0054] During debugging, when the visual programming tool 126 executes the "last inserted colored blocks 142a, 142b, 142c" as shown in FIG. 10(b), it changes (colors) the color of the 3D model 170 of the industrial robot 101 to a color different from that used when executing other blocks.
[0055] As a result, the teaching device 100 makes it easier for the user to check whether the industrial robot 101 operates appropriately with the last inserted command blocks 142a, 142b, and 142c, thereby enabling reliable debugging of the robot program. The visual programming tool 126 may operate the 3D model 170 of the industrial robot 101 on the visual programming screen 132 not only when debugging a robot program but also when simply executing a robot program, and may further change the color of the 3D model 170 when executing the "last inserted colored blocks 142a, 142b, and 142c" to a color different from that when other blocks are executed.
[0056] While the preferred embodiments of the present invention have been described above with reference to the accompanying drawings, it goes without saying that the present invention is not limited to such examples. It is clear that those skilled in the art can conceive of various modifications and alterations within the scope of the claims, and it is understood that such modifications and alterations also fall within the technical scope of the present invention. [Industrial Applicability]
[0057] The present invention can be used as a visual programming teaching device that creates a robot program for operating an industrial robot by visual programming. [Explanation of symbols]
[0058] 100...teaching device, 101...industrial robot, 102...teaching terminal, 103...robot control device, 104...floor, 106...base, 108...swivel frame, 110...first arm, 112...connecting arm, 114...second arm, 116...end effector, 118...joint, 120...tip of first arm, 122...input device, 124...display device, 125...unit, 125a...emergency stop button, 126...visual programming tool, 128...processing device, 130...robot program recording device, 132...visual programming screen, 134...manual operation screen, 1 36a, 136b, 136c, 136d, 136e, 136f, 136g, 142a, 142b, 142c...blocks, 138...manual operation button, 140...button, 144...registration button, 146...registration screen, 148...registration history button, 150...operation button, 152...transition button, 154a, 154b...tags, 156...tag button, 158...tag list screen, 160...insert button, 162...check button, 164...dialog, 166, 168...block group, 170...3D model of industrial robot, 172...execute button, 174...marker, 176...stop button
Claims
1. A visual programming teaching device that creates a robot program for operating an industrial robot by visual programming, a processing device that executes a visual programming tool for creating the robot program; a display device that displays a screen of the visual programming tool; an input device for operating the visual programming tool, The visual programming tool a visual programming screen and a manual operation screen that are displayed on the display device and can be switched between by operating the input device; the visual programming screen is a screen on which command blocks are arranged by operating the input device to create the robot program, and one or more tags can be inserted at any position between a plurality of the blocks by operating the input device; the manual operation screen includes buttons for moving the industrial robot and acquiring numerical values, and is a screen for creating the block by operating the buttons through an operation of the input device, The processing device includes: When the tag is inserted on the visual programming screen, the tag can be selected by operating the input device when returning to the visual programming screen from the state where the manual operation screen has been displayed, and the block created on the manual operation screen can be inserted at the position of the selected tag.
2. The processing device includes:
2. The teaching device for visual programming according to claim 1, wherein an error message is output when the block or group of blocks is separated on the visual programming screen.
3. The processing device includes: displaying a list of the blocks or block groups separated on the visual programming screen on the display device; The order of the blocks or block groups displayed in the list is designated by the user by operating the input device, 3. The visual programming teaching device according to claim 2, wherein the blocks or block groups are connected in a specified order.
4. The processing device includes: displaying the industrial robot in 3D on the display device; changing the color of the block inserted last on the visual programming screen to a color different from that of other blocks; When the robot program is executed, the 3D displayed industrial robot is moved on the display device in accordance with the robot program; 2. The visual programming teaching device according to claim 1, wherein when the last inserted block is executed, the color of the 3D displayed industrial robot is changed to a color different from that when other blocks are executed.
Citation Information
Patent Citations
Command display device
JP2024007645A