Robot programming system and robot control device

By converting the robot program into encoding and using visual sensors for shooting and parsing, the robot control device automatically replicates and stores the program, solving the high workload and time consumption problems when the robot program is applied to the real machine system in the prior art, and achieving more efficient automation applications.

CN119855688APending Publication Date: 2025-04-18FANUC LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202280093554.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-03-23
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

After the prior art teaches and creates a robot program after the robot system model configured in a virtual space, it needs to be carried out through USB memory or other methods when applying the program to the real robot system, resulting in a large amount of workload and time consumption, especially in a multi-robot system environment.

Method used

Using a robot programming system, the robot program is converted into encoding through the first information processing device, and the visual sensor captures the encoding displayed on the information medium, and the robot control device analyzes and copies the encoding to realize automatic copying and storage of the robot program.

Benefits of technology

The workload and time of applying robot programs to robot systems has been greatly reduced, especially in multi-robot system environments, improving efficiency and automation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119855688A_ABST
    Figure CN119855688A_ABST
Patent Text Reader

Abstract

A robot programming system (100) is provided with: a first information processing device (80) having a code conversion unit for converting a robot program into a code; a vision sensor (21) that captures an image of the code displayed on the information medium; a robot control device (50) that controls a robot includes: a code analysis unit (152) that analyzes a captured coded image and restores a robot program; and a robot program copying unit (153) that copies the recovered robot program and stores the recovered robot program in the storage unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a robot programming system and a robot control device. Background Art

[0002] As methods for creating a robot program for making a robot move, the following methods are known: a method of teaching movements to a real machine (physical object) robot by operating a teaching operating panel (see patent document 1), and a method of teaching the robot program by configuring a three-dimensional model of the robot system in the virtual space of a programming device (see patent documents 2 to 4).

[0003] In addition, Patent Document 5 describes the structure of a detection device that detects a two-dimensional code attached to an object and generates control information for the object, and states that "a two-dimensional code detection device 1 includes: an image input unit 2 that inputs a captured image captured by a camera C; an image analysis unit 4 that analyzes the captured image, calculates position / posture information representing the position and posture of the two-dimensional code M based on an inherent pattern of the two-dimensional code M that appears in the captured image, and decodes the information encoded in the two-dimensional code M; and a control information generation unit 5 that generates control information corresponding to an object having the two-dimensional code M based on the position / posture information and the decoded information" (see abstract).

[0004] Patent document 6 describes the structure of a robot simulation image display system as follows: "The robot model information T and a demonstration program SP for moving a three-dimensional image model M are recorded in a QR code (registered trademark) 4; a personal computer 2 sets a reference point C0 as the origin of three-dimensional coordinates based on four points P1 to P4 on the screen corresponding to four points Q1 to Q4 in the image data of the QR code (registered trademark) 4 captured by the camera 1, sets the directions from the origin along Q1 and Q2 as the X-axis and Y-axis, sets the normal line standing at the origin on the XY plane as the Z-axis, obtains the posture information of the QR code (registered trademark) 4 in the three-dimensional space: a rotation matrix Mr, multiplies the rotation matrix Mr by the three-dimensional image data R, and displays the three-dimensional image model M on the display 5. When the position / posture of the QR code (registered trademark) 4 captured by the camera 1 changes, the position / posture of the three-dimensional image model M also changes, and moves in the three-dimensional space display according to the demonstration program SP" (see abstract).

[0005] Patent document 7 relates to a program production assistance system using a computer, and records that "prepare a plurality of small pieces with patterns defined in advance by commands and a specified sheet on which the small pieces are arranged. The user selectively arranges the plurality of small pieces on the sheet according to the purpose. Use a camera possessed by a portable terminal such as a smart fan to photograph the arrangement of the small pieces. The processing device (such as a server) in the program production assistance system identifies the pattern image of each small piece from the arrangement image of the small pieces obtained by the camera, determines the command codes constituting the program, and produces program data based on the arrangement of the command codes" (see paragraph 0015).

[0006] Prior art literature

[0007] Patent Literature

[0008] Patent Document 1: Japanese Patent Application Laid-Open No. 11-249725

[0009] Patent Document 2: Japanese Patent Application Publication No. 2016-101644

[0010] Patent Document 3: Japanese Patent Application Publication No. 2018-51692

[0011] Patent Document 4: Japanese Patent Application Publication No. 2017-140684

[0012] Patent Document 5: Japanese Patent Application Publication No. 2007-90448

[0013] Patent Document 6: Japanese Patent Application Publication No. 2010-179403

[0014] Patent Document 7: Japanese Patent Application Publication No. 2018-136446 Summary of the invention

[0015] Problems to be solved by the invention

[0016] When a robot program is created by teaching a robot system model configured in a virtual space, the robot program is sometimes applied to a real robot system by storing the robot program in a storage medium such as a USB memory and inserting the storage medium into the control device of the real robot to read the robot program. Applying the robot program to a real robot system in this way is a time-consuming and labor-intensive task. For example, when operating multiple identical robot systems in a factory, a particularly large amount of labor and time is required.

[0017] Means for solving problems

[0018] One method disclosed herein is a robot programming system comprising: a first information processing device having a code conversion unit that converts a robot program into a code; a visual sensor that captures the code displayed on an information medium; and a robot control device that controls a robot, the robot control device comprising: a code analysis unit that analyzes the captured image of the code and restores the robot program; and a robot program copying unit that copies the restored robot program and stores it in a storage unit.

[0019] Another embodiment of the present invention is a robot control device for controlling a robot, comprising: a code acquisition unit, which acquires information related to an image obtained by capturing a code through a visual sensor, wherein the code is obtained by encoding a robot program; a code analysis unit, which analyzes information related to the captured image of the code and restores the robot program; and a robot program copying unit, which copies the restored robot program and stores it in a storage unit.

[0020] Another embodiment of the present disclosure is a robot control device for controlling a robot, comprising: a code acquisition unit, which acquires information related to an image obtained by capturing a code through a visual sensor, wherein the code is obtained by encoding a robot program for performing an operation depending on a workpiece, and the code is pasted on the workpiece; a code analysis unit, which analyzes information related to the captured image of the code and restores the robot program; a robot program copying unit, which copies the restored robot program and stores it in a storage unit; and a program execution unit, which executes the robot program.

[0021] Effects of the Invention

[0022] Compared with the case of using a USB memory, etc., the workload and time when applying the motion program created by the programming device to the robot system can be greatly reduced.

[0023] These and other objects, features and advantages of the present invention will become more apparent in light of the detailed description of typical embodiments of the present invention as shown in the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 It is a diagram showing the device configuration of the robot programming system according to the first embodiment.

[0025] Figure 2 This is a diagram showing an example of the hardware configuration of a programming device, a robot control device, and a teaching pendant.

[0026] Figure 3 This is a functional block diagram of a programming device, a robot control device, and a device for displaying a two-dimensional code according to a first embodiment.

[0027] Figure 4 This is a flowchart expressing the robot program copying process according to the first embodiment.

[0028] Figure 5 This is a diagram for explaining the operation of the first embodiment, and shows a state where a robot system model is arranged in a virtual space.

[0029] Figure 6 This is a diagram for explaining the operation of the first embodiment, and shows a state where a robot program has been created.

[0030] Figure 7 This is a diagram for explaining the operation of the first embodiment, and shows a state where a two-dimensional code expressing a robot program is generated.

[0031] Figure 8 This is a diagram for explaining the operation of the first embodiment, and shows a state where a two-dimensional code is imaged in an actual robot system.

[0032] Fig. 9 This is a diagram for explaining the operation of the first embodiment, and shows a state where a robot program is copied to a real robot system.

[0033] Fig.10 This is a diagram for explaining the operation of the second embodiment, and shows a state where a robot program is divided into a plurality of parts and two-dimensional codes are generated.

[0034] Fig.11 This is a diagram for explaining the operation of the second embodiment, and shows a state where a plurality of two-dimensional codes generated by dividing a robot program in an actual robot system are photographed.

[0035] Fig.12 This is a diagram for explaining the operation of the second embodiment, and shows a state where a robot program is copied to a real robot system.

[0036] Fig.13 This is a diagram for explaining the operation of the third embodiment, and shows a state where a two-dimensional code expressing a robot program created by an actual robot system is generated.

[0037] Fig.14 This is a diagram for explaining a case where a tablet terminal is used as a programming device and the tablet terminal is also used as a device for displaying a two-dimensional code.

[0038] Fig.15 This is a diagram showing a state where a two-dimensional code displayed on a tablet terminal is captured in an actual robot system.

[0039] Fig.16This figure shows a state where a robot program is generated by a programming device constituted by a PC, and a two-dimensional code expressing the robot program is generated.

[0040] Fig.17 This diagram explains how to send a generated QR code by e-mail or print it out.

[0041] Fig.18 This is a diagram showing a state where a two-dimensional code displayed on a paper medium is photographed in an actual robot system.

[0042] Fig.19 It is a diagram showing the device configuration of a robot programming system according to a second embodiment.

[0043] Fig. 20 This is a functional block diagram of a programming device and a robot control device according to a second embodiment.

[0044] Fig.21 This is a flowchart expressing the robot program copying process according to the second embodiment.

[0045] Fig. 22 This is a diagram showing a first example of creating a robot program depending on a workpiece, and shows a state where a robot system model is arranged in a virtual space.

[0046] Fig.23 This is a diagram showing a first example of creating a robot program depending on a workpiece, and shows a state in which an edge line of the workpiece is specified.

[0047] Fig.24 This is a diagram showing a first example of creating a robot program depending on a workpiece, and shows a state in which a robot program for machining a designated edge line is generated.

[0048] Fig.25 This is a diagram showing a second example of creating a robot program depending on a workpiece, and shows a state where a pick-up position of a work object and the like are specified.

[0049] Fig.26 This is a diagram showing a second example of creating a robot program depending on a workpiece, and shows a state where the robot program has been generated.

[0050] Fig. 27 This is a diagram showing a state where a two-dimensional code expressing the robot program created in the first creation example is generated.

[0051] Fig.28 This is a diagram showing a state where a two-dimensional code expressing the robot program created in the first creation example is captured in an actual robot system.

[0052] Fig.29This is a diagram showing a state in which the robot program created in the first creation example is executed in an actual robot system.

[0053] Fig.30 This figure shows a state where another workpiece is put into the robot system and a two-dimensional code attached to the workpiece is photographed.

[0054] Fig.31 This is a diagram showing the status of executing the robot program on other workpieces. DETAILED DESCRIPTION

[0055] Next, the embodiments of the present disclosure are described with reference to the accompanying drawings. In the referenced drawings, the same structural parts or functional parts are marked with the same reference symbols. For easy understanding, the scales of these drawings are appropriately changed. In addition, the method shown in the drawings is an example for implementing the present invention, and the present invention is not limited to the method shown in the drawings.

[0056] The robot programming system of the first embodiment and the second embodiment is described below. The robot programming system of the first embodiment and the second embodiment is configured to include: a first information processing device, which has a code conversion unit that converts a robot program into a code; a visual sensor that captures the code displayed on an information medium; a robot control device that controls the robot and has a code analysis unit and a robot program copying unit, wherein the code analysis unit analyzes the captured code image to restore the robot program, and the robot program copying unit copies the restored robot program and stores it in a storage unit. The first information processing device is, for example, a programming device for making a robot program. In this structure, the robot program made on the programming device is converted into a code and displayed on an information medium such as a device or various media. In the actual robot system, the robot (robot control device) captures the code displayed on the information medium through a visual sensor, analyzes the captured image, restores the robot program, and copies it.

[0057] First embodiment

[0058] Figure 1 1 is a diagram showing the device configuration of the robot programming system 100 according to the first embodiment. Figure 1 As shown, the robot programming system 100 includes: a programming device 80, which has the function of creating a robot program and converting the robot program into a code; and a robot system 110, which has the function of copying by photographing the code displayed on the information medium 90 through a visual sensor 21 and restoring the robot program.

[0059] As a code expressing information such as a robot program, various codes including one-dimensional codes and two-dimensional codes can be used, but in this embodiment (and each embodiment described below), a two-dimensional code is used. The code provides information (coding mode) encoded in the code by image analysis as composite information.

[0060] The programming device 80 is a device that can configure a robot system model including a robot model in a virtual space and teach the robot model in the virtual space to create a robot program. A PC (personal computer), a tablet terminal, or other various information processing devices can be used as the programming device 80. The robot program created by the programming device 80 is converted into a two-dimensional code C1.

[0061] The generated two-dimensional code C1 is displayed on the information medium 90 and arranged in a position in the working space of the robot system 110 where it can be photographed by the visual sensor 21. In this specification, the information medium includes all media that can display the code, such as the display screen of an information processing device (tablet terminal, PC, etc.), paper, and other media.

[0062] When using the display screen of an information processing device to display the two-dimensional code, for example, an information processing device such as a tablet terminal owned by an operator may be used, or the programming device 80 itself may function as a device for displaying the two-dimensional code.

[0063] The robot system 110 includes a robot 10, a robot control device 50 for controlling the robot 10, and a teaching operation panel (teaching device) 30 connected to the robot control device 50. A visual sensor 21 is mounted on the front end of the arm of the robot 10. The visual sensor 21 is connected to the robot control device 50 and operates under the control of the robot control device 50.

[0064] The robot 10 can perform the desired work by means of an end effector mounted on the wrist at the front end of the arm. The end effector is an external device that can be replaced according to the purpose, such as a manipulator, welding gun, tool, etc. Figure 1 , an example using a robot 15 as an example of an end effector is shown.

[0065] According to the above structure, the robot 10 (robot control device 50) can read and copy the two-dimensional code C1 produced by the programming device 80 and displayed on the information medium 90 using the visual sensor 21. As a result, the workload and time when applying the robot program produced by the programming device 80 to the robot system 110 can be greatly reduced compared to the case of using a USB memory.

[0066] Figure 2The following is an example of the hardware configuration of the programming device 80, the robot control device 50, and the teaching operation panel 30. The programming device 80 has the following hardware configuration as a general-purpose computer: a memory 82 (ROM, RAM, non-volatile memory, etc.), a display unit 83, an operation unit 84 composed of input devices such as a keyboard and a mouse, a storage device (HDD, etc.) 85, various input / output interfaces 86, etc. are connected to the processor 81. The robot control device 50 may have the following configuration: a memory 52 (ROM, RAM, non-volatile memory, etc.), various input / output interfaces 53, an operation unit 54 including various operation switches, etc. are connected to the processor 51 via a bus as a general computer. The teaching operation panel 30 may have the following configuration: a memory 32 (ROM, RAM, non-volatile memory, etc.), a display unit 33, an operation unit 34 composed of input devices such as a keyboard (or software keys), various input / output interfaces 35, etc. are connected to the processor 31 via a bus as a general computer.

[0067] Figure 3 80 and the robot control device 50. Figure 3 The figure shows the functional blocks of the tablet terminal 90A when the tablet terminal 90A is used as the information medium 90 that displays a two-dimensional code.

[0068] like Figure 3 As shown, the programming device 80 includes: a virtual space creation unit 181, a three-dimensional model configuration unit 182, a robot program teaching unit 183, a robot program division unit 184, a code conversion unit 185, and a file output unit 187. In addition, the programming device 80 may also include a code display unit 186 in order to enable the programming device 80 itself to be used as a device for displaying a two-dimensional code.

[0069] The tablet terminal 90A includes a code display unit 191 for displaying the two-dimensional code transferred from the programming device 80 .

[0070] The robot control device 50 includes a code imaging unit 151 , a code analyzing unit 152 , a robot program copying unit 153 , and a robot program storage unit 154 .

[0071] In the programming device 80, the virtual space creation unit 181 creates a virtual space for configuring various models constituting the robot system. The three-dimensional model configuration unit 182 configures three-dimensional models of various objects constituting the robot system in the virtual space based on the configuration information of the actual robot system 110, wherein the robot system includes the robot model, etc. The robot system model configured in the virtual space is displayed on the display screen of the programming device 80.

[0072] The robot program teaching unit 183 provides a function of, for example, accepting operations of specifying teaching points or setting various setting parameters by jogging the robot model via the user interface screen, and teaching the robot model operations (ie, programming) according to these user inputs.

[0073] The robot program dividing unit 184 provides a function of dividing the robot program when the robot program is large.

[0074] The code conversion unit 185 converts the created robot program into a two-dimensional code. The code display unit 186 provides a function of displaying the created two-dimensional code on a display screen.

[0075] The file output unit 187 provides a function of outputting the generated two-dimensional code to a file. The two-dimensional code output to a file can be forwarded to the tablet terminal 90A via an e-mail function or printed.

[0076] The code photographing unit 151 of the robot control device 50 provides the following function: using the visual sensor 21 to photograph the two-dimensional code displayed on the information medium 90. For example, the code photographing unit 151 can be operated in a manner of photographing the information medium 90 pre-set within the photographing range of the visual sensor 21, or in a manner of moving the robot 10 to photograph the information medium 90 set at a predetermined position in the work space. In addition, the function of the code photographing unit 151 can also be expressed as a code acquisition unit that acquires information related to the image obtained by photographing the robot program encoded by the visual sensor 21.

[0077] In addition, the robot control device 50 may also have a function as a visual sensor control device that controls the visual sensor 21 as its internal function. Alternatively, a visual sensor control device that controls the visual sensor 21 may be provided to the robot system 110 as a device separate from the robot control device 50. In the case of the latter structure, the robot control device 50 operates the visual sensor 21 via the visual sensor control device, and also obtains the image captured by the visual sensor 21 via the visual sensor control device.

[0078] The code analysis unit 152 analyzes the image obtained by photographing the two-dimensional code, extracts the area of ​​the two-dimensional code in the image, determines the position and posture of the two-dimensional code, decodes the information encoded in the two-dimensional code, and restores the robot program.

[0079] The robot program copying unit 153 copies the restored robot program and stores it in the robot program storage unit 154 .

[0080] Through these functions of the robot control device 50, the robot program encoded as the two-dimensional code displayed on the information medium 90 is copied and stored in the robot control device 50. Thus, the robot control device 50 can execute the copied robot program.

[0081] Figure 4 This is a flowchart expressing the basic operation of a series of processes (hereinafter also referred to as robot program copying processes) executed in the robot programming system 100 , from the creation of a robot program to the copying of the robot program into the robot control device 50 .

[0082] First, in the programming device 80, a robot system model having a robot model is arranged in a virtual space, wherein the robot system model represents a robot system having a robot in three dimensions (step S1). The processing of step S1 is performed by the functions of the virtual space creation unit 181 and the three-dimensional model arrangement unit 182.

[0083] Next, in step S2 , the operator teaches the robot the operation (ie, performs programming) with the assistance of the robot program teaching unit 183 .

[0084] Next, the programming device 80 (code conversion unit 185) converts the created robot program into a two-dimensional code including command statements, action statements, and teaching positions of the robot program (step S3). The two-dimensional code generated here is displayed on the information medium 90 (eg, tablet terminal 90A).

[0085] Next, in the robot system 110, under the control of the code capturing unit 151, the visual sensor 21 of the robot 10 captures the two-dimensional code displayed on the information medium 90, and the code analyzing unit 152 analyzes it (step S4). Thus, the command statements, action statements, and teaching positions of the robot program are restored.

[0086] Next, the robot control device 50 (the robot program copying unit 153 and the robot program storage unit 154) copies and stores the restored robot program (step S5).

[0087] A specific example of a series of operations from creation of a robot program using the programming device 80 to copying and storing the robot program in the robot control device 50 will be described below.

[0088] First embodiment

[0089] Reference Figures 5 to 9 A first embodiment will be described. Figure 5The state in which the robot model 10M, the workpiece model WM, and the peripheral equipment models 61M and 62M are arranged in the virtual space created by the virtual space creation unit 181 is shown. In this example, an example in which the manipulator model 15M is attached to the front end of the arm of the robot model 10M as an end effector is shown. The state in which these models are arranged in the virtual space is displayed on the display screen of the programming device 80.

[0090] Next, the operator teaches the robot program with the assistance of the robot program teaching unit 183. Here, an example of teaching the action of taking out the workpiece W placed on the peripheral device model 61M and placing it on the peripheral device model 62M is described. Figure 6 As shown, the robot model 10M is operated in jog mode in the virtual space, and the teaching point is adjusted point by point while the teaching is performed. In addition, the operator specifies the position to take out the workpiece model WM and the position to be set in the virtual space, and specifies the position of the workpiece model WM relative to the robot model 15M when the workpiece model WM is held by the robot model 15M. According to the teaching content thus specified, the robot program 501 is automatically generated. Figure 6 The robot program 501 is schematically shown in a state where it is generated. The robot program 501 at this time includes operation instructions or teaching point information for positioning the robot model 15M at the removal position to hold the workpiece model WM, and moving to the setting position via the waiting position to set the workpiece model WM.

[0091] Next, the code conversion unit 185 converts the created robot program into a two-dimensional code. Figure 7 The schematic diagram shows a state where a two-dimensional code C1 is generated by converting the robot program 501. The two-dimensional code C1 obtained here is displayed on the information medium 90 and positioned at a position where the actual robot 10 (visual sensor 21) can capture the image.

[0092] Then, if Figure 8 As shown, the two-dimensional code C1 displayed on the information medium 90 is photographed and read by the visual sensor 21 of the robot 10 mounted on the actual machine.

[0093] Next, the captured two-dimensional code is analyzed in the robot control device 50, the robot program 501 is restored, copied and stored in the robot control device 50. Fig. 9 Schematically shows a state where the robot program 501 is copied into the actual robot system 110 .

[0094] Thus, according to the first embodiment, by representing the robot program created by the programming device 80 as a two-dimensional code and reading it with the visual sensor 21 mounted on the robot 10, the robot program can be copied and stored in the robot control device 50. Thus, the workload and time when applying the robot program created by the programming device 80 to the actual robot system 110 are reduced.

[0095] Second embodiment

[0096] Below, refer to Figures 10 to 12 The second embodiment is described below. The second embodiment is an operation example when the robot program is divided to generate a two-dimensional code when the robot program data volume is large.

[0097] like Fig.10 As shown, a robot program 502 is created by a programming device 80. The robot program 502 has a large number of teaching points and a large amount of data. The robot program segmentation unit 184 segments the robot program 502 according to a prescribed rule. The prescribed rule may be, for example: (1) segmenting in such a way that the amount of data of each program after segmentation converges within the capacity of a two-dimensional code; (2) segmenting according to a group of contents within the robot program, etc. In this example, the robot program 502 is segmented into four, and four two-dimensional codes C11, C12, C13, and C14 are generated. When the program is segmented in this way, information indicating which program it is may also be included in each two-dimensional code.

[0098] Then, if Fig.11 As shown, the two-dimensional codes C11-C14 displayed on the information medium 90 are photographed by the visual sensor 21 of the robot 10 mounted on the actual machine. When the two-dimensional codes C11-C14 are displayed on the display screen of the information processing device, the two-dimensional codes C11-C14 can be displayed on the display screen at the same time, or can be displayed in sequence in time series. The encoding analysis unit 152 restores each program encoded into the photographed two-dimensional codes C11-C14, and uses the information representing the program number contained in each two-dimensional code to restore the robot program 502 as a whole. The robot program 502 restored in this way is copied and stored in the robot control device 50. Fig.12 The figure schematically shows a state where the robot program 502 is copied to the actual robot system 110 .

[0099] As described above, according to the second embodiment, even when the robot program is large in size, the above-mentioned advantage of reducing the workload and time can be achieved, and the robot program can be reliably applied to an actual robot.

[0100] Third embodiment

[0101] Below, refer to Fig.13The third embodiment is described below. The third embodiment is an example of an operation when a robot program created using a real robot system is applied to another robot system. Fig.13 The robotic system 500 is shown.

[0102] The robot system 500 includes: a robot 510, a robot control device 550 for controlling the robot 510, and a teaching operation panel (teaching device) 530 for teaching the robot 510 the movements. In the case of this structure, the teaching operation panel 530 in the robot system 500 functions as a programming device for generating a robot program. Fig.13 A functional block diagram of the teaching operation panel 530 is also shown in FIG.

[0103] like Fig.13 As shown, the teaching operation panel 530 includes: a robot teaching unit 531, a code conversion unit 532, and a file output unit 533. The robot teaching unit 531 provides various functions for teaching (i.e., programming) including jogging operation or setting motion parameters of the robot 510. The code conversion unit 532 converts the robot program created with the assistance of the robot teaching unit 531 into a two-dimensional code. The file output unit 533 provides the following function: outputting the generated two-dimensional code as a file.

[0104] like Fig.13 As shown, in the robot system 500, a robot program 501 is created using a teaching operation panel 530. The teaching operation panel 530 converts the robot program 501 into a two-dimensional code C1.

[0105] The generated two-dimensional code C1 is displayed on the information medium 90 (for example, the display screen of a tablet terminal) for reference. Figure 8 The described approach is replicated to the robot system 110 as other robot systems.

[0106] Furthermore, in order to make the teaching operation panel 530 itself function as a device for displaying a two-dimensional code, the teaching operation panel 530 may also function as a code display unit 186. In this case, the visual sensor 21 of the robot system 110, which is another robot system, may read the two-dimensional code C1 displayed on the display screen of the teaching operation panel 530. In this case, the teaching operation panel 530 may be composed of a tablet terminal.

[0107] Alternatively, a two-dimensional code expressing a robot program created by the robot system 500 may be forwarded to a tablet terminal or the like via a PC using an email function or the like, and the two-dimensional code may be displayed and read by a visual sensor of another robot system.

[0108] In this way, even in a scenario where a robot program created by an actual robot system is applied to another robot system, it is possible to obtain the advantage of being able to significantly reduce the workload and time required to apply the robot program to the robot system.

[0109] Hereinafter, a specific example will be described regarding what kind of device constitutes the programming device 80 and what kind of device or medium is used as the information medium 90 that displays the two-dimensional code.

[0110] Reference Fig.14 and Fig.15 , a case where a tablet terminal 80A is used as the programming device 80 and the tablet terminal 80A is also used as a display device for displaying a two-dimensional code is described.

[0111] like Fig.14 As shown, in this example, the tablet terminal 80A is used to create the robot program 501. The robot program 501 is converted into a two-dimensional code C1 by the code conversion unit 185 of the tablet terminal 80A, and is displayed on the display screen of the tablet terminal 80A.

[0112] like Fig.15 As shown, the operator places the tablet terminal 80A displaying the two-dimensional code C1 at a predetermined position within the imaging range of the visual sensor 21 or holds it by himself, thereby causing the visual sensor 21 to read the two-dimensional code C1. Thus, the robot program 501 is copied and stored in the robot system 110.

[0113] Below, refer to Figures 16 to 18 A specific configuration example related to presentation of the two-dimensional code C1 to the robot system will be described.

[0114] like Fig.16 As shown, in this example, a PC (personal computer) is used as the programming device 80. The programming device 80 can be arranged at a place remote from the place where the robot system 110 is installed. The robot program 501 is created using the programming device 80. The robot program 501 is converted into a two-dimensional code C1 by the code conversion unit 185 of the programming device 80, and is generated as a file by the file output unit 187.

[0115] like Fig.17 As shown, the two-dimensional code C1 created by the programming device 80 can be forwarded from the programming device 80 to the operator's tablet terminal 90A via an email function, or can be printed out from a printer connected to the programming device 80. During printing, the printed paper medium 90B functions as the information medium 90.

[0116] When the two-dimensional code C1 is forwarded to the tablet terminal 90A for display, the Fig.15In the above-described manner, the visual sensor 21 of the robot system 110 reads the two-dimensional code displayed on the tablet terminal 90A.

[0117] When printing out the QR code, Fig.18 As shown, the paper medium 90B printed with the two-dimensional code C1 is placed at a predetermined position within the imaging range of the visual sensor 21, or held by an operator, and read by the visual sensor 21. In this way, the robot program 501 is copied and stored in the robot system 110.

[0118] As described above, according to the present embodiment, the workload and time when applying a robot program created by a programming device to a robot system can be significantly reduced compared to the case of using a USB memory or the like.

[0119] In addition, Figure 1 In the illustrated structure, there may be a structure example in which the data file of the two-dimensional code C1 generated by the programming device 80 is forwarded to the teaching operation panel 30 of the robot system 110 through the mail function, displayed on the display screen of the teaching operation panel 30, and read by the visual sensor 21. In this case, the teaching operation panel 30 may be composed of a tablet terminal.

[0120] Second embodiment

[0121] Fig.19 2 is a diagram showing the device structure of the robot programming system 200 according to the second embodiment. Fig.19 As shown, the robot programming system 200 includes: a programming device 280, which has the function of creating a robot program and converting the robot program into a two-dimensional code; and a robot system 201, which has the function of photographing the two-dimensional code through a visual sensor 221 and restoring the robot program for copying. In this embodiment, the two-dimensional code of the robot program is put into the robot system 201 in a state of being attached to the workpiece W as the working object.

[0122] like Fig.19 As shown, the robot system 201 includes: a robot 210, a robot control device 250 for controlling the robot 210, and a teaching operation panel (teaching device) 230 connected to the robot control device 250. A visual sensor 221 is mounted on the front end of the arm of the robot 210. A workpiece W to be a work object is placed on the peripheral device 61. The visual sensor 221 is connected to the robot control device 250 and operates under the control of the robot control device 250.

[0123] The robot 210 can perform the desired work by using the end effector installed on the wrist at the front end of the arm. Fig.19 , an example using a grinding tool 216 as an example of an end effector is shown.

[0124] In the robot programming system 200, the robot program depending on the workpiece produced by the programming device 280 is converted into a two-dimensional code C2, printed on a medium, and pasted on a specified position of the workpiece of the work object. For example, when the workpiece W is moved into the working space of the robot system 201 by the conveying device, the two-dimensional code C2 on the workpiece W is photographed by the visual sensor 221 in the robot system 201, and the robot program is restored and copied to the robot system 201. As a result, the robot system 201 can execute the robot program applicable to the workpiece W. The robot system 201 can copy the robot program applied to the workpiece by reading the two-dimensional code pasted on the workpiece W, so there is no need to store the robot program for the workpiece W in the robot system 201 (robot control device 250) in advance.

[0125] The programming device 280 is a device that can create a robot program by placing a robot system model including a robot model and a workpiece model in a virtual space and teaching the robot model in the virtual space. As the programming device 280, a PC, a tablet terminal, and other various information processing devices can be used.

[0126] The hardware configuration examples of the programming device 280, the robot control device 250, and the teaching operation panel 230 are similar to Figure 2 The hardware configuration examples of the programming device 80, the robot control device 50, and the teaching operation panel 30 shown are the same.

[0127] Fig. 20 2 is a functional block diagram of the programming device 280 and the robot control device 250. Fig. 20 As shown, the programming device 280 includes: a virtual space creation unit 281, a three-dimensional model configuration unit 282, a work object designation unit 283, a work program generation unit 284, and a code conversion unit 285. The robot control device 250 includes: a code imaging unit 251, a code analysis unit 252, a robot program copying unit 253, a robot program storage unit 254, and a robot program execution unit 255.

[0128] In the programming device 280, the virtual space creation unit 281 creates a virtual space for arranging various models constituting the robot system. The three-dimensional model configuration unit 282 configures three-dimensional models of various objects constituting the robot system, including the robot model and the workpiece model, in the virtual space based on the actual configuration information of the robot system. The robot system model configured in the virtual space is displayed on the display screen of the programming device 280.

[0129] The work object designation unit 283 has the following functions: based on the shape features (contour lines, surfaces, etc.) of the workpiece W that can be extracted from the three-dimensional model of the workpiece W, it assists the operator in specifying the work object part in the workpiece model displayed in the virtual space (display screen) and determines the specified work object part.

[0130] The work program generation unit 284 automatically generates a robot program for executing a predetermined work using a work tool on the work target site identified by the work target designation unit 283 .

[0131] The code conversion unit 285 converts the created robot program into a two-dimensional code.

[0132] The code photographing unit 251 of the robot control device 250 photographs the two-dimensional code attached to the workpiece W put into the work space through the visual sensor 221. In addition, the code photographing unit 251 can also be expressed as a code acquisition unit that acquires information related to the image obtained by photographing the code attached to the workpiece W through the visual sensor 221.

[0133] In addition, the robot control device 250 may have a function as a visual sensor control device that controls the visual sensor 221 as its internal function. Alternatively, a structure may be provided to the robot system 201 as a separate device from the robot control device 250. In the case of the latter structure, the robot control device 250 operates the visual sensor 221 via the visual sensor control device, and also obtains the image captured by the visual sensor 221 via the visual sensor control device.

[0134] The code analysis unit 252 analyzes the captured two-dimensional code image and restores the robot program.

[0135] The robot program copying unit 253 copies the restored robot program and stores it in the robot program storage unit 254. The robot program executing unit 255 has a function of executing the copied robot program.

[0136] Fig.21 This is a flowchart expressing the basic operation of a series of processes (also described as program copying processes) executed in the robot programming system 200 , from the creation of a robot program to the copying of the robot program to the robot control device 250 .

[0137] First, in the programming device 280, a robot system model including a robot model and a workpiece model is arranged in a virtual space, wherein the robot system model represents the robot system including the robot and the workpiece in three dimensions (step S11). The processing of step S11 is performed by the virtual space creation unit 281 and the three-dimensional model arrangement unit 282.

[0138] Next, with the assistance of the work object specifying unit 283, the operator specifies a work object for the workpiece model (step S12).

[0139] Next, the work program generation unit 284 automatically generates a robot program for performing work on the workpiece model for the designated work target (step S13 ).

[0140] Next, the code conversion unit 285 converts the robot program for operating the workpiece model into a two-dimensional code, which includes the command statements, action statements, and teaching position information of the robot program for operating the workpiece model (step S14). As an example, the two-dimensional code is printed on a medium and pasted on, for example, Fig.19 In the posture of the robot 210 shown, a predetermined position of the workpiece can be imaged by the visual sensor 221 .

[0141] Next, in the robot control device 250 (code capturing unit 251, code analyzing unit 252), the visual sensor 221 of the robot 210 captures the two-dimensional code attached to the predetermined position of the workpiece W, and uses the captured image to analyze the two-dimensional code (step S15). Thus, the command statements, action statements, and teaching positions of the robot program are restored.

[0142] Next, the robot control device 250 (the robot program copying unit 253 and the robot program storage unit 254 ) copies and stores the robot program for performing work on the workpiece W (step S16 ).

[0143] Hereinafter, a specific operation example of the robot programming system 200 will be described.

[0144] Figure 22 to Figure 24 This is a diagram showing a first example of creating a robot program depending on a workpiece. Fig. 22 The figure shows a state where the robot model 210M, the workpiece model WM, and the peripheral equipment model 61M are arranged in the virtual space (display screen) by the programming device 280. A vision sensor model 221M and a grinding tool model 216M as a working tool are attached to the front end of the arm of the robot model 210M.

[0145] Fig.23 This shows a state in which the operator designates the edge line L1 of the upper cylindrical portion of the workpiece model WM as a work target with the assistance of the work target designating unit 283 .

[0146] Then, if Fig.24As shown, the operation program generation unit 284 automatically generates a robot program 503 for moving the grinding tool model 216M along the designated edge line L1 to perform grinding operation. The robot program 503 at this time includes information on a plurality of teaching points along the edge line L1 and operation commands for moving the grinding tool model 216M along the edge line L1 via the teaching points.

[0147] Fig.25 as well as Fig.26 This is a diagram showing a second example of creating a robot program depending on a workpiece. Fig.25 The robot model 210M, the workpiece model WM, and the peripheral device models 61M and 62M are arranged in the virtual space (display screen). Fig.25 As shown, in this example, a visual sensor model 221M and a manipulator model 215M as a working tool are attached to the front end of the arm of a robot model 210M.

[0148] In this example, the operator designates the removal position P1 and the setting position P2 of the workpiece WM as work targets in the virtual space (display screen) with the assistance of the work target designating unit 283 .

[0149] Then, if Fig.26 As shown, the operation program generation unit 284 automatically generates a robot program 504 for taking out the workpiece model WM from the taking-out position P1 and setting it at the setting position P2 using the robot model 215M. The robot program 504 includes an action command and teaching point information for positioning the robot model 215M at the taking-out position P1 to hold the workpiece model WM, and moving the robot model 215M to the setting position P2 via the passing point to set the workpiece model WM.

[0150] like Fig. 27 As schematically shown, the code conversion unit 285 of the programming device 280 converts the robot program 503 generated as described above into a two-dimensional code C2. The two-dimensional code C2 is printed on a predetermined medium by a printing device (not shown) and affixed to a predetermined position of the workpiece W before operation.

[0151] like Fig.28 As shown in FIG. 2 , when a workpiece W is put into the work space, the robot 210 (robot control device 250) uses the visual sensor 221 to capture the two-dimensional code C2 attached to a predetermined position of the workpiece W. The robot control device 250 (code analysis unit 252) analyzes the two-dimensional code, restores and copies the robot program 503, and stores it in the robot control device 250. Fig.29 As shown, the actual robot 210 can execute the robot program 503 on the workpiece W.

[0152] After the workpiece W is completed, Fig.30At this time, the robot 210 (robot control device 250) can also read the two-dimensional code C3 attached to the workpiece W2 through the visual sensor 221, thereby copying and storing the robot program for the workpiece W2 encoded as the two-dimensional code C3.

[0153] Therefore, if Fig.31 As shown, the actual robot 210 can execute the robot program 505 corresponding to the two-dimensional code C3 on the workpiece W2.

[0154] As described above, according to the present embodiment, the workload and time when applying the operation program created by the programming device to the robot system can be greatly reduced compared to the case of using a USB memory or the like.

[0155] Furthermore, according to the present embodiment, a two-dimensional code encoding a robot program depending on a workpiece is affixed to the workpiece placed in the workspace, so the robot system does not need to store a robot program for processing the workpiece. In addition, when a program for a workpiece placed in the workspace is completed, a two-dimensional code expressing the program is affixed to the workpiece to be processed next, so that the robot control device 250 (robot program execution unit 255) can delete the workpiece program for which the operation has been completed.

[0156] This can prevent the storage area in the robot control device 250 from being crowded. In particular, even when a variety of workpieces are processed in the robot system, it is worth noting that the storage area in the robot control device 250 can be prevented from being crowded.

[0157] In addition, in the case where the operation on the same workpiece is continuous, information related to how many workpieces are continuously input (information related to the number of workpieces) can be included in the two-dimensional code. In this case, when the two-dimensional code attached to the workpiece input into the working space contains the workpiece number information, the robot control device 250 maintains the robot program and repeatedly executes the robot program according to the specified number of workpieces. In addition, the robot control device 250 deletes the robot program after the operation on the specified number of workpieces is completed. In this case, a method of attaching a two-dimensional code only to the first workpiece among the continuously input workpieces can also be adopted.

[0158] In the second embodiment, the structure of pasting a QR code on a workpiece is described, but a modified example as described below may also be constructed. For example, there may be a structural example in which a QR code is displayed on a display device such as a tablet terminal. For example, the display device is arranged at a specified position in the working space, and at the moment when the workpiece is put into the working space, a QR code of the robot program for the workpiece is displayed on the display device. In addition, it is configured to detect the situation in which the workpiece is moved into the working space by a sensor (camera, etc.) on the upstream side of the conveying path of the workpiece, and notify the display device. In the display device, QR codes of multiple robot programs are forwarded and stored from the programming device. In addition, the notification from the sensor also includes information expressing the category of the workpiece to be moved in. The display device is configured to determine the QR code of the robot program that processes the workpiece corresponding to the notification when receiving the notification, and display the QR code.

[0159] As described above, according to each of the present embodiments, the workload and time when applying an operation program created by a programming device to a robot system can be significantly reduced compared to the case of using a USB memory or the like.

[0160] Although the present invention has been described above using typical embodiments, it should be understood by those skilled in the art that the above-described embodiments may be modified and various other modifications, omissions, and additions may be made without departing from the scope of the present invention.

[0161] In the above-mentioned embodiment, a structure example in which a visual sensor for photographing a two-dimensional code is mounted on a robot is described, but there may also be a structure example in which the visual sensor is set at a fixed position in the working space. In this case, the information medium (e.g., a tablet terminal) displaying the two-dimensional code is positioned at a predetermined position within the photographing range of the visual sensor, and the two-dimensional code is read by the visual sensor.

[0162] Reference Figure 3 , Fig. 20 The functional modules of the programming device, robot control device, and device for displaying a two-dimensional code described above can be realized by the processors of these devices executing various software stored in a storage device, or can be realized by a structure based on hardware such as ASIC (Application Specific Integrated Circuit).

[0163] The programs for executing various processes such as the robot program copying process in the above-mentioned embodiment can be recorded on various computer-readable recording media (for example, semiconductor memories such as ROM, EEPROM, flash memory, magnetic recording media, CD-ROM, DVD-ROM and other optical disks).

[0164] Explanation of symbols

[0165] 10. Robot

[0166] 10M Robot Model

[0167] 15. Robot

[0168] 15M Robot Model

[0169] 21. Vision Sensor

[0170] 30 Teaching operation panel

[0171] 31 Processor

[0172] 32 Memory

[0173] 33 Display

[0174] 34 Operation Department

[0175] 35 Input and output interfaces

[0176] 50 Robot control device

[0177] 51 Processor

[0178] 52 Memory

[0179] 53 Input and output interfaces

[0180] 54 Operation Department

[0181] 61, 62 Peripheral equipment

[0182] 61M, 62M peripheral equipment models

[0183] 80 Programming device

[0184] 81 Processor

[0185] 82 Memory

[0186] 83 Display

[0187] 84 Operation Department

[0188] 85 Storage device

[0189] 86 Input and output interface

[0190] 90 Information medium

[0191] 90A flat terminal

[0192] 100 Robot Programming System

[0193] 110 Robotic System

[0194] 151 Encoding and Shooting Department

[0195] 152 Code Analysis Department

[0196] 153 Robot Program Copying Department

[0197] 154 Robot program storage unit

[0198] 181 Virtual Space Production Department

[0199] 182 3D Model Configuration Department

[0200] 183 Robot Program Teaching Department

[0201] 184 Robot Program Division

[0202] 185 Code conversion department

[0203] 186 Code display unit

[0204] 187 File Output Unit

[0205] 191 Code display unit

[0206] 200 Robot Programming System

[0207] 201 Robotic System

[0208] 210 Robot

[0209] 210M Robot Model

[0210] 215M Robot Model

[0211] 216 Grinding tools

[0212] 216M Grinding Tool Model

[0213] 221 Vision Sensor

[0214] 221M Vision Sensor Model

[0215] 230 Teaching Operation Panel

[0216] 250 Robot control device

[0217] 251 Encoding and Photography Department

[0218] 252 Encoding Analysis Department

[0219] 253 Robot Program Copying Department

[0220] 254 Robot program storage unit

[0221] 255 Robot Program Execution Unit

[0222] 281 Virtual Space Production Department

[0223] 282 3D Model Configuration Department

[0224] 283 Operation object designation department

[0225] 284 Operation Program Generation Department

[0226] 285 Code conversion department

[0227] W workpiece

[0228] WM artifact model.

Claims

1. A robot programming system, characterized in that: have: A first information processing device having a code conversion unit that converts a robot program into a code; a visual sensor that captures the code displayed on the information medium; and a robot control device, which controls the robot, The robot control device has: a code analysis unit that analyzes the captured image of the code and restores the robot program; and A robot program copying unit copies the restored robot program and stores it in a storage unit.

2. The robot programming system according to claim 1, characterized in that: The first information processing device is a programming device, The programming device comprises: a model configuration unit that configures a robot system model having a robot model in a virtual space, wherein the robot system model represents the robot system having the robot in three dimensions; a robot program teaching unit, which teaches the robot system model according to user input; and The code conversion unit converts the robot program created by the teaching into a code including command statements, operation statements, and teaching position information of the robot program.

3. The robot programming system according to claim 1, characterized in that: The first information processing device is a teaching device for teaching a real robot to generate the robot program.

4. The robot programming system according to any one of claims 1 to 3, characterized in that: The information medium displaying the code is a display screen of a second information processing device.

5. The robot programming system according to claim 4, characterized in that: The first information processing device forwards the code to the second information processing device through an email function.

6. The robot programming system according to any one of claims 1 to 3, characterized in that: The information medium that displays the code is a display screen of the first information processing device.

7. The robot programming system according to any one of claims 1 to 3, characterized in that: The information medium displaying the code is a paper medium.

8. The robot programming system according to any one of claims 1 to 7, characterized in that: The first information processing device further comprises: a robot program dividing unit which divides the robot program into a plurality of parts; The code conversion unit generates a plurality of codes corresponding to each of the robot programs divided into a plurality of pieces, The visual sensor photographs the multiple codes, The code analysis unit restores the entire robot program based on the images captured for the plurality of codes.

9. The robot programming system according to claim 1, characterized in that: The first information processing device is a programming device, The programming device comprises: a model configuration unit that configures a robot system model having a robot model and a workpiece model in a virtual space, wherein the robot system model represents the robot system having the robot and the workpiece in three dimensions; A work object specifying unit, which is used to specify a work object of the workpiece model; a work program generating unit that generates a robot program for performing work on the designated work object; and The code conversion unit converts the generated robot program into a code including command statements, action statements, and teaching position information of the robot program.

10. The robot programming system according to claim 9, characterized in that: The information medium displaying the code is a medium on which the code is printed, and is attached to a predetermined position on the workpiece.

11. The robot programming system according to claim 9 or 10, characterized in that: The robot control device further comprises: a program execution unit that executes the copied robot program; The program execution unit deletes the robot program stored in the storage unit after the execution of the robot program for the workpiece is completed.

12. The robot programming system according to claim 9 or 10, characterized in that: The robot control device further comprises: a program execution unit that executes the copied robot program; The code includes: information related to the number of the workpieces on which the robot program should be executed; The program execution unit deletes the robot program stored in the storage unit after repeatedly executing the robot program for the number of workpieces.

13. A robot control device for controlling a robot, characterized in that: The robot control device has: a code acquisition unit that acquires information related to an image obtained by photographing a code using a visual sensor, wherein the code is obtained by encoding a robot program; a code analyzing unit that analyzes information related to the captured image of the code and restores the robot program; and A robot program copying unit copies the restored robot program and stores it in a storage unit.

14. A robot control device for controlling a robot, characterized in that: have: a code acquisition unit that acquires information related to an image obtained by photographing a code by a visual sensor, wherein the code is obtained by encoding a robot program for performing a task depending on a workpiece, and the code is attached to the workpiece; a code analyzing unit that analyzes information related to the captured image of the code and restores the robot program; a robot program copying unit that copies the restored robot program and stores it in a storage unit; and A program execution unit executes the robot program.

15. The robot control device according to claim 14, characterized in that: The program execution unit deletes the robot program stored in the storage unit after the execution of the robot program for the workpiece is completed.

Citation Information

Patent Citations

  • Robot controller

    JP1999249725A

  • Two-dimensional code detecting device, program for it, and robot control information generating device and robot

    JP2007090448A

  • Robot simulation image display system

    JP2010179403A

  • Robot programming apparatus for teaching machining operation to robot

    JP2016101644A

  • Robot programming unit for teaching robot program

    JP2017140684A