ROBOT PROGRAMMING DEVICE AND ROBOT PROGRAMMING SYSTEM

DE112022006277T5Pending Publication Date: 2025-02-27FANUC LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
DE112022006277
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-06-15
Publication Date
2025-02-27

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A robot programming device (80, 80A, 530) comprises: a robot program learning unit (183, 183A, 531) for performing the learning of a robot program; and a code conversion unit (184, 532) for converting information to specify the robot program that has been learned into code.
Need to check novelty before this filing date? Find Prior Art

Description

FIELD

[0001] The present invention relates to a robot programming device and a robot programming system. BACKGROUND

[0002] As techniques for creating a robot program for operating a robot, there are known a technique for teaching an operation to an actual robot by operating a teaching pendant and a technique for performing teaching of a robot program by arranging a three-dimensional model of a robot system in a virtual space of a teaching pendant.

[0003] With reference to the above, PTL 1 describes as follows: "In a robot system according to a modified example 1 of the present embodiment, an operation controller 100 includes: a system control unit 101; a barcode reader 104; a work program storage unit 106; and a robot control unit 107. A plurality of barcode labels, each storing a plurality of types of work program ID codes, are respectively arranged at a plurality of installation positions. A work program unique to each installation position is predetermined. A barcode label, in which a work program ID unique to each work program is recorded, is arranged at an installation position corresponding to each work program." (paragraph 0050).

[0004] PTL 2 describes as follows: "A robot teaching method is a method for teaching a robot 1 an operation related to a work performed on a workpiece 10, and includes: an image acquiring step (step S2) for acquiring an image of the workpiece 10 including a mark 15 by a camera 6 attached to the robot 1; a detecting step (step S3) for detecting the mark 15 from the detected image; an analyzing step (steps S4 and S5) for acquiring teaching information for the operation of the robot 1 by analyzing the mark 15; and a storing step (step S6) for storing the teaching information." (Summary).

[0005] PTL 3 relates to the configuration of an image display system for robot simulation and is described as follows: "Model number information T of a robot and a demonstration program SP for operating a three-dimensional image model M are recorded in a QR code (registered trademark) 4; and a personal computer 2 acquires posture information, that is, a rotation matrix Mr in a three-dimensional space of the QR code (registered trademark) 4 from four points P1 to P4 on a screen corresponding to four points Q1 to Q4 in image data of the QR code (registered trademark) 4 captured by a camera 1, where a reference point C0 is the origin of the three-dimensional coordinates, directions extending from the origin to Q1 and Q2, an X-axis and a Y-axis, respectively.are a Y-axis, and a normal to the origin in the XY plane is a Z-axis, multiplies the three-dimensional image data R by the rotation matrix Mr and displays the three-dimensional image model M on a display 5. In accordance with the change in the position and posture of the QR code (registered trademark) 4 in an image captured by the camera 1, the position and posture of the three-dimensional image model M are also changed, and the three-dimensional image model M is operated in the three-dimensional space display in accordance with the demonstration program SP." (Summary). [CITATION LIST][PATENT LITERATURE] [PTL 1] Unexamined Japanese Patent Publication (Kokai) No. 2016-215318 A [PTL 2] Unexamined Japanese Patent Publication (Kokai) No. 2012-228757 A [PTL 3] Unexamined Japanese Patent Publication (Kokai) No. 2010-179403 A SUMMARY[TECHNICAL PROBLEM]

[0006] When applying a robot program created through teaching to an actual robot system, the robot program is registered in a robot controller, for example, through a storage medium such as a USB memory. Consider a scenario in which an operator causes the execution of a desired program from among a plurality of robot programs registered in the robot controller. In an actual robot system, the production situation of the robot system may change multiple times, for example, when the robot system handles many types of workpieces or when the work content changes. To cope with such changes, it may be necessary to temporarily stop the robot system and reselect a suitable robot program, or to recreate a program for calling a suitable robot program on the user side. However, these measures require considerable man-hours.What is desired is a robot programming device and a robot programming system that can efficiently apply a robot program to a robot system even in situations where the production situation of the robot system changes differently. (SOLUTION OF THE PROBLEM)

[0007] One embodiment of the present disclosure is a robot programming device comprising: a robot program teaching unit configured to perform teaching of a robot program; and a code conversion unit configured to convert information for identifying the taught robot program into a code.

[0008] Another embodiment of the present disclosure is a robot programming system comprising: a robot programming device comprising: a robot program teaching unit configured to perform teaching of a robot program; and a code conversion unit configured to convert information for identifying the learned robot program into a code; an image sensor configured to capture an image of the code displayed on an information medium; and a robot controller configured to control a robot, the robot controller comprising: a code analysis unit configured to decode the information for identifying the robot program by analyzing the captured image of the code;a robot program determining unit configured to determine, based on the decoded robot program identifying information, a robot program corresponding to the information from one or more pre-registered robot programs; and a robot program executing unit configured to execute the determined robot program. [ADVANTAGEOUS EFFECTS OF THE INVENTION]

[0009] The aforementioned configuration enables a robot controller to decode information for identifying a program by analyzing an image in which a code is captured, select a robot program corresponding to the decoded information from a variety of pre-registered robot programs, and execute the program. Thus, a robot program can be efficiently applied to a robot system, even in situations where the robot system's production situation changes.

[0010] The objects, features and advantages of the present invention, as well as other objects, features and advantages, will become more apparent from the detailed description of typical embodiments of the present invention illustrated in the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram showing a device configuration of a robot programming system according to a first embodiment. Fig. Figure 2 is a diagram showing examples of the hardware configuration of a programming device, a robot controller, and a teaching pendant. Fig. 3 is a diagram showing the functional blocks of the teaching device and the robot controller according to the first embodiment. Fig. Figure 4 is a flowchart showing a processing sequence from creating a robot program to reading a code and executing the robot program. Fig. Figure 5 is a diagram showing a first example of creating a robot program in a virtual space. Fig. Figure 6 is a diagram showing the first example of creating a robot program in a virtual space. Fig. Figure 7 is a diagram showing a second example of creating a robot program in a virtual space. Fig. Figure 8 is a diagram showing the second example of creating a robot program in a virtual space. Fig. Figure 9 is a diagram schematically illustrating a situation in which a code is created. Fig. Figure 10 is a diagram illustrating the operation in a phase of reading a code by the robot system. Fig. Figure 11 is a diagram illustrating the operation in a phase of execution of a specific robot program by the robot system. Fig. 12 is a diagram showing functional blocks of a teaching device and a robot controller according to a second embodiment. Fig. Figure 13 is a diagram showing an example of creating a robot program depending on a workpiece. Fig. Figure 14 is a diagram showing the example of creating a workpiece-dependent robot program. Fig. Figure 15 is a diagram showing the example of creating a workpiece-dependent robot program. Fig. Figure 16 is a diagram schematically illustrating a situation in which a code is created. Fig. Figure 17 is a diagram illustrating the operation in a phase of execution of a specific robot program by the robot system. Fig. Figure 18 is a diagram illustrating the operation in the phase of execution of a specific robot program by the robot system. Fig. Figure 19 is a diagram illustrating a stage in which another workpiece is placed in a work area and a code is read. Fig. Figure 20 is a diagram illustrating the operation in a phase of execution of a specific robot program by the robot system. Fig. 21 is a diagram illustrating a device configuration of a robot system that generates a robot program by teaching the operation to an actual robot. DESCRIPTION OF THE EMBODIMENTS

[0011] Embodiments of the present disclosure will be described below with reference to the drawings. In the drawings referred to, similar components or functional parts are designated by similar reference numerals. To facilitate understanding, different scales may be used in the drawings. Furthermore, the configurations illustrated in the drawings are examples for implementing the present invention, and the present invention is not limited to the illustrated configurations.

[0012] Robot programming systems according to first to third embodiments are described below. The robot programming system according to each embodiment includes a robot programming device having a robot program teaching unit configured to perform robot program teaching, a code conversion unit configured to convert information for identifying the taught robot program into code, an image sensor configured to capture an image of the code displayed on an information medium, and a robot controller configured to control a robot.In this configuration, the robot controller includes a code analysis unit configured to decode robot program identification information by analyzing a captured image of the code, a robot program determination unit configured to determine a robot program corresponding to the decoded information from pre-registered robot programs based on the decoded robot program identification information, and a robot program execution unit configured to execute the determined robot program. With this configuration, the robot controller can decode robot program identification information from an image captured by the image sensor, select a robot program corresponding to the decoded information from pre-registered robot programs, and execute the program. First embodiment

[0013] Fig. 1 is a diagram showing a device configuration of a robot programming system 100 according to a first embodiment. As shown in Fig. As shown in Figure 1, the robot programming system 100 includes a robot programming device 80, which functions to create a robot program and convert information for identifying the robot program into a code, and a robot system 110 configured to capture an image of the code displayed on an information carrier 90 with an image sensor 21, analyze the code, and determine and execute the robot program. The information carrier 90 includes any medium capable of displaying or carrying a code, such as a screen of an information processing device or a print medium.

[0014] For example, a program name or identification information that enables unique identification of a program (hereinafter referred to as a program ID) can be used as information for identifying a robot program. Various codes, including a one-dimensional code and a two-dimensional code, can be used as a code representing such information for identifying a program. Through image analysis, the code provides the information encoded therein (in the form of a coding pattern) as decoding information. In the present embodiment, it is assumed as an example that when a program name is used as information for identifying a program, the program name is encoded by a two-dimensional code, and when a program ID is used as information for identifying a program, the program ID is encoded by a one-dimensional code. Fig. 1 shows an example of a two-dimensional code C1 displayed on the information carrier 90.

[0015] The robot programming device 80 is a robot programming device that can arrange a robot system model including a robot model in a virtual space and teach the robot system model how to operate in the virtual space to create a robot program. A personal computer (PC), a tablet terminal, or other information processing device can be used as the robot programming device 80. The created robot program is registered in a robot controller 50 via, for example, an external memory (e.g., a USB memory).

[0016] The robot system 110 includes a robot 10, the robot controller 50 that controls the robot 10, and a teach-in handset 30 that is connected to the robot controller 50. While Fig. While Figure 1 shows an example of the image sensor 21 mounted on an arm tip of the robot 10, the image sensor 21 can also be mounted in a work area. The image sensor 21 is connected to the robot controller 50 and operates under the control of the robot controller 50.

[0017] The robot 10 can perform the desired task using an end effector attached to the wrist of the arm tip. The end effector is an external device that can be interchangeable depending on its purpose and can be, for example, a hand, a welding gun, or a tool. Fig. 1 shows an example of a hand 15 used as an end effector.

[0018] With the above configuration, the robot 10 (robot controller 50) can use the image sensor 70 to read and decode a code generated by the robot programming device 80 and displayed on the information carrier 90. The robot controller 50 can then determine and execute a robot program corresponding to the decoded program name or program ID from the pre-registered robot programs.

[0019] Fig. 2 shows examples of the hardware configuration of the robot programming terminal 80, the robot controller 50, and the teaching pendant 30. The robot programming terminal 80 has a hardware configuration as an ordinary computer with a memory 82 (e.g., a ROM, a RAM, or a non-volatile memory), a display unit 83, an operation unit 84 configured with input devices such as a keyboard and a mouse, a storage device 85 (e.g., a hard disk), various input / output interfaces 86, etc., connected to a processor 81. The robot controller 50 may be configured as an ordinary computer with a memory 52 (e.g., ROM, RAM, or non-volatile memory), various input / output interfaces 53, an operation unit 54 with various operation switches, etc., connected to a processor 51 via a bus.The teaching handset 30 may be configured as a conventional computer including a memory 32 (e.g., a ROM, a RAM, or a non-volatile memory), a display unit 33, an operation unit 34 with an input device such as a keyboard (or a software keyboard), various input / output interfaces 35, etc., connected to a processor 31 via a bus.

[0020] Fig. 3 shows functional block diagrams of the robot programming device 80 and the robot controller 50. As in Fig. 3, the robot programming device 80 includes a virtual space generation unit 181, a three-dimensional model arrangement unit 182, a robot program teaching unit 183, a code conversion unit 184, and a file output unit 185.

[0021] In the robot programming device 80, the virtual space generation unit 181 creates a virtual space for arranging various models that constitute a robot system. The three-dimensional model arranging unit 182 arranges, in the virtual space, a three-dimensional model of each object that constitutes the robot system, including a robot model, based on arrangement information of the actual robot system 110. The robot system model arranged in the virtual space is displayed on a screen of the robot programming device 80.

[0022] The robot program teaching unit 183 provides a function for performing robot program teaching. For example, the robot program teaching unit 183 has a function for accepting operations for performing a push operation on a robot model arranged in virtual space, specifying teaching points, and setting various parameters, etc., via a user interface screen, and generating a robot program in accordance with the user input. The function of the robot program teaching unit 183 includes a function for executing a kinematic calculation (a simulation) regarding the position and posture of a robot model (and a tool model) and each joint position (angle) based on the user input, as described above.

[0023] The code conversion unit 184 has the task of converting information for identifying a created robot program (a program name or a program ID) into a code.

[0024] The file output unit 185 provides a function for outputting the generated code as a file (e.g., an image file). Thus, code generated on the robot programming device 80 can be provided to another device (e.g., a display device or a printer), for example, via a network.

[0025] As described above, a code generated by the robot programming device 80 can be displayed on the information carrier 90. As an example, a display device 90A can be used to display a code as shown in Fig. 3. The display device 90A includes a code display unit 191 configured to display a code. The display device 90A can be one of various information processing devices with a screen, such as a tablet terminal or a smartphone. A code generated as a file by the robot programming device 80 is transmitted to the display device 90A via an external memory or a network. In this case, the screen of the display device 90A is the information carrier 90. The robot system 110 can read and decode a code displayed on the display device 90A.

[0026] The robot controller 50 includes a code image acquisition unit 151, a code analysis unit 152, a robot program storage unit 153, a robot program determination unit 154, and a robot program execution unit 155.

[0027] The code image acquisition unit 151 functions to acquire an image of a code displayed on the information carrier 90 using the image sensor 21. For example, the code image acquisition unit 151 may operate to acquire an image of the information carrier 90 previously placed within the image acquisition range of the image sensor 21, or it may operate to acquire an image of the information carrier 90 while controlling the robot 10. The function of the code image acquisition unit 151 can be expressed as a code acquisition unit that acquires an image of a code indicating information for identifying a program, the image being acquired by the image sensor 21.

[0028] The robot controller 50 may function as an image sensor controller for controlling the image sensor 21 as an internal function of the robot controller 50. Alternatively, an image sensor controller for controlling the image sensor 21 may be arranged in the robot system 110 as a device separate from the robot controller 50. In the latter configuration, the robot controller 50 controls the image sensor 21 via the image sensor controller and acquires an image captured by the image sensor 21 via the image sensor controller.

[0029] By analyzing a captured image of a code, the code analysis unit 152 extracts a region of the code in the image, determines the position and location of the code, and decodes the information encoded in the code.

[0030] The robot program storage unit 153 stores a robot program generated by the robot programming device 80 and supplied to the robot controller 50, for example, via an external memory. When a program ID is used as information for identifying a robot program, the robot program storage unit 153 contains a table in which a program ID is associated with a robot program.

[0031] The robot program determining unit 154 determines, from the robot programs previously stored in the robot program storing unit 153, a robot program corresponding to the robot program identifying information (a program name or a program ID) decoded by the code analyzing unit 152.

[0032] The robot program execution unit 155 executes a robot program determined by the robot program determination unit 154. For example, the robot program execution unit 155 interprets a robot program, sets a trajectory plan of a predetermined control part of a robot based on the robot program, and generates an operation command for each axis based on the trajectory plan to perform servo control of a motor for each axis.

[0033] Through the functions of the robot controller 50 described above, the robot controller 50 can read a code displayed on the information carrier 90 and execute a robot program determined by the information specified in the code.

[0034] Fig. 4 is a flowchart illustrating the sequence of processes executed in the robot programming system 100, from creating a robot program to reading a code and further to executing the robot program.

[0035] First, a robot system model including a robot model representing a robot system with a robot in three dimensions is placed in a virtual space in the robot programming device 80 (step S1). The processing in this step S1 is executed by the functions of the virtual space generation unit 181 and the three-dimensional model placement unit 182.

[0036] Next, teaching is performed using the robot system model (programming) (step S2). Teaching is performed, for example, by an operator operating the robot model in virtual space and defining 183 teaching points using the robot program teaching unit's function.

[0037] Subsequently, in step S3, a code is generated in which information for identifying the robot program is embedded. This code can be read by the image sensor 21 as a reader and evaluated by the robot controller. The processing in step S3 is performed as a function of the code conversion unit 184.

[0038] Next, in step S4, the information embedded in the code (such as a program name or program ID) is decoded by capturing an image of the code generated in step S3 and displayed on the information carrier 90 with the image sensor 21 and analyzing the image. This processing is performed here as a function of the code analysis unit 152.

[0039] Next, the robot program determining unit 154 determines a robot program corresponding to the information decoded in step S4 (such as a program name or program ID) from the robot programs pre-registered in the robot program storing unit 153. Then, the robot program executing unit 155 executes the determined robot program (step S5).

[0040] The following describes a specific example of using the robot programming system 100. An example of creating a program for picking up a workpiece as a robot program is described. Fig. 5 shows a state of a robot model 10M, a workpiece model WM, and peripheral device models 61M and 62M arranged by the three-dimensional model arrangement unit 182 in a virtual space generated by the virtual space generation unit 181. In this example, a hand model 15M is attached as an end effector to an arm tip of the robot model 10M. The state of the models arranged in the virtual space is displayed on the screen of the robot teaching device 80.

[0041] An operator performs robot program teaching with the assistance of the robot program teaching unit 183. An example of teaching a process for picking up the workpiece model WM placed on the peripheral device model 61M and arranging the workpiece model WM on the peripheral device model 62M into the robot model will be described. As an example, teaching is performed by setting the teaching points one by one by a jog operation on the robot model 10M in virtual space, as shown in Fig. 6. The operator specifies a position where the workpiece model WM is picked up and a position where the workpiece model WM is located in the virtual space, and further specifies a position of the workpiece model WM relative to the hand model 15M when the workpiece model WM is held by the hand model 15M. The robot program teaching unit 183 automatically generates a robot program 501 in accordance with the thus specified teaching content. Fig. 6 schematically shows a state of the robot program 501 being generated. The robot program 501 in this case includes information about operating instructions and teaching points for holding the workpiece model WM by positioning the hand model 15M in the receiving position, arranging the workpiece model WM by moving the hand model 15M to the arranging position via a standby position, and so on.

[0042] The picking process of a workpiece can also be generated by a teaching technique as follows. Fig. Figure 7 shows a state of the robot model 10M, the workpiece model WM, and the peripheral device models 61M and 62M arranged in the virtual space (display screen). As shown in Fig. As shown in Figure 7, the hand model 15M is attached to the arm tip of the robot model 10M in this example.

[0043] The operator specifies a pick-up position P1 and an arrangement position P2 of the workpiece WM by operating the robot model 10M in virtual space (display screen). Fig. 8, the robot program teaching unit 183 automatically generates a robot program 501 for picking up the workpiece model WM from the picking position P1 and arranging the workpiece model WM at the arrangement position P2 using the hand model 15M. The robot program 501 includes information about operation instructions and teaching points for holding the workpiece model WM by positioning the hand model 15M at the picking position P1 and arranging the workpiece model WM by moving the hand model 15M to the arrangement position P2 via waypoints.

[0044] The code conversion unit 184 converts the identification information of the robot program 501 created as described above into a code. Fig. Fig. 9 schematically shows a state of a code generated by the code conversion unit 184. As in Fig. As shown in Figure 9, when a program name is used as information for identifying the robot program 501, the code conversion unit 184 converts the program name (e.g., PROG01) into a two-dimensional code C1. When a program ID is used as information for identifying the robot program 501, the code conversion unit 184 converts the program ID (e.g., 10000010) into a one-dimensional code C2. When a program ID is used as information for identifying a robot program, the robot program teaching unit 183 may create a table in which a program ID is associated with a robot program (e.g., a program name) and transmit the table to the robot controller 50.

[0045] A generated robot program 501 (and a table linking a program ID to a robot program when a program ID is used) is registered in the robot controller 50, for example, via a USB memory. The robot program 501 is stored in the robot program storage unit 153, and the robot controller 50 enters a state where the robot program 501 can be executed.

[0046] Next, an operation in a phase of reading a code by the actual robot system 110 will be described with reference to Fig. 10 and Fig. 11. As described in Fig. As shown in Figure 10, when a workpiece W is placed in the work area, the robot controller 50 captures an image of a code (assumed to be code C1) displayed on the information carrier 90 using the image sensor 21. The captured image of the code is analyzed by the code analysis unit 152, and information for identifying the robot program 501 (e.g., a program name: PROG01) is decoded. As described above, the information carrier 90 can be, for example, the screen of the display device 90A, the screen of the robot programming device 80, or a printing medium attached to a workpiece.

[0047] The robot program determining unit 154 determines the robot program 501 corresponding to the decoded information (e.g., the program name: PROG01) from the robot programs stored in the robot program storing unit 153. As shown in Fig. 11, the robot program execution unit 155 can execute the determined robot program 501.

[0048] Thus, the robot controller 50 according to the first embodiment can decode program identification information by analyzing a captured code image, select a robot program corresponding to the decoded information from a plurality of pre-registered robot programs, and execute the program. Consequently, a robot program can be efficiently applied to a robot system even in situations where the production situation of the robot system changes variously. Second embodiment

[0049] A second embodiment will be described below. The second embodiment is a configuration example in which a workpiece-dependent robot program is created in a robot programming device. A device configuration and a hardware configuration of a robot programming system according to the second embodiment are equivalent to the configurations according to the first embodiment shown in Fig. 1 and Fig. 2 are shown.

[0050] According to the present embodiment, a code is affixed to a predetermined position on a workpiece, and the code affixed to the workpiece is read when a robot 10 performs a work. In this specification, a robot program dependent on a workpiece refers to the operation content of a robot program that depends on, for example, the type of workpiece or the number of workpieces.

[0051] Fig. 12 shows functional block diagrams of a robot programming device 80A and a robot controller 50 according to the second embodiment. Fig. In Figure 12, a functional block identical to a functional block according to the first embodiment is designated by the same symbol. As a configuration for automatically generating a robot program depending on a workpiece, a robot program teaching unit 183A in the robot teaching device 80A according to the second embodiment includes a work target setting unit 186 and a work program creation unit 187.

[0052] The work target setting unit 186 has a function of supporting an operation of specifying a work target part in a workpiece model displayed in a virtual space (display screen) by an operator, based on a geometric feature (such as an outline and / or a plane) of a workpiece W that can be extracted from a three-dimensional model of the workpiece W, and determining the specified work target part.

[0053] The work program creating unit 187 automatically creates a robot program for performing a predetermined work with a tool on the work target part designated by the work target setting unit 186.

[0054] The following describes an example of creating a workpiece-dependent robot program in the 80A robot programming device.

[0055] Fig. 13 to Fig. 15 are diagrams showing a first example of creating a robot program depending on a workpiece. Fig. Figure 13 shows a state of a robot model 10M, a workpiece model WM, and a peripheral device model 61M arranged in a virtual space (screen) by the robot teaching device 80A. In this example, an image sensor model 21M and a grinding tool model 16M are attached as tools to an arm tip of the robot model 10M.

[0056] Fig. 14 shows a state in which an operator sets an edge line L1 of an upper cylinder of the workpiece model WM as a work target part under the assistance of the work target setting unit 186.

[0057] Next, as in Fig. As shown in Figure 15, the work program generation unit 187 automatically generates a robot program 503 for performing grinding work by moving the grinding tool model 16M along the specified edge line L1. In this case, the robot program 503 includes information about a plurality of teaching points along the edge line L1 and operating instructions for moving the grinding tool model 16M along the edge line L1 through the teaching points.

[0058] The created robot program 503 is registered in the robot controller 50, e.g., via a USB memory.

[0059] As in Fig. 16, the code conversion unit 184 converts information for identifying the robot program 503 as described above into a code. Fig. 16 schematically shows a state of a code generated by the code conversion unit 184. As in Fig. As shown in Figure 16, when a program name is used as information for identifying the robot program 503, the code conversion unit 184 converts the program name (e.g., PROG01) into a two-dimensional code C1. When a program ID is used as information for identifying the robot program 503, the code conversion unit 184 converts the program ID (e.g., 10000010) into a one-dimensional code C2.

[0060] The code thus generated is applied to a predetermined position on the workpiece W before starting work (a position whose image can be captured by an image sensor 21) (see Fig. 17).

[0061] As in Fig. As shown in Figure 17, the robot 10 (robot controller 50) captures an image of the code C1 affixed to the predetermined position on the workpiece W using the image sensor 21 when the workpiece W is placed in a work area. The image is analyzed by the code analysis unit 152, and the robot program identification information 503 is decoded. The robot program determination unit 154 determines, from among the robot programs stored in the robot program storage unit 153, the robot program 503 corresponding to the decoded information (such as a robot program name or program ID). The robot program execution unit 155 executes the determined robot program 503 (see Fig. 18).

[0062] It is assumed that another workpiece W2 is placed in the work area of ​​the robot 10 after the work on the workpiece W (execution of the robot program 503) is completed, as shown in Fig. 19. A code C12 is applied to the workpiece W2, which represents information for identifying a robot program to be executed on the workpiece W2. The robot 10 (robot controller 50) decodes the program identification information encoded in the code C12 by reading the code C12 applied to the workpiece W2, again in this case with the aid of the image sensor 21. The robot controller 50 then determines a robot program corresponding to the decoded information from the robot programs stored in the robot program storage unit 153.

[0063] Consequently, the unit for executing a robot program 155 as shown in Fig. 20, retrieve the determined robot program 505 from the robot program storage unit 153 and execute the program. When a program ID is used as information for identifying a robot program, the robot program determination unit 154 includes a table in which a program ID is linked to a robot program (e.g., a program name). Such a correspondence table in which a program ID is linked to a program (program name) can be created in advance on the robot programming device 80A side and provided to the robot controller 50 side.

[0064] Thus, the robot controller 50 according to the second embodiment can decode program identification information by analyzing a captured image of a code, select a robot program corresponding to the decoded information from a plurality of pre-registered programs, and execute the program. Consequently, a robot program can be efficiently applied to a robot system, even in situations where the production situation of the robot system changes variously.

[0065] Specifically, according to the second embodiment, a workpiece-dependent robot program is generated, and a code containing information for identifying such a robot program is created and applied to a workpiece. Accordingly, a robot program can be efficiently applied to a robot system, even in situations where work is performed on various types of workpieces in the robot system. Third embodiment

[0066] A third embodiment will be described below with reference to Fig. 21. The third embodiment relates to a configuration for applying a robot program created by teaching the operation of a current robot system to another robot system. As the current robot system to be used for creating a robot program, a robot system 500 is assumed, which is Fig. 21 is shown.

[0067] The robot system 500 includes a robot 510, a robot controller 550 that controls the robot 510, and a teach-in handset 530 for teaching the robot 510 how to operate. In this configuration, the teach-in handset 530 functions as a robot programming device for creating a robot program. Fig. 21 also shows a functional block diagram of the teach-in handset 530.

[0068] As in Fig. As shown in Figure 21, the teaching handheld unit 530 includes a robot program teaching unit 531, a code conversion unit 532, and a file output unit 533. The robot program teaching unit 531 provides various teaching (programming) functions, including performing a jog operation on the robot 510 and setting operating parameters. An operator creates a robot program with the assistance of the robot program teaching unit 531.

[0069] In the robot system 500, it is assumed that a robot program 501 is created by operating the actual robot 510 with the aid of the teaching handset 530, as shown in Fig. 21. The created robot program 501 can be used in the Fig. 1 shown robot system 110 (robot controller 50), e.g. via a USB memory.

[0070] The code conversion unit 532 in the teaching handset 530 converts information for identifying the robot program 501 into a code. Fig. Fig. 21 schematically shows a state of a code generated by the code conversion unit 532. As in Fig. As shown in Figure 21, when a program name is used as information for identifying the robot program 501, the code conversion unit 532 converts the program name (e.g., PROG01) into a two-dimensional code C1. When a program ID is used as information for identifying the robot program 501, the code conversion unit 532 converts the program ID (e.g., 10000010) into a one-dimensional code C2.

[0071] The file output unit 533 provides a function for outputting a generated code as a file (e.g., as an image file). Since the generated code can also be output as a file by the file output unit 533, the code can be printed on a printing medium or displayed on a screen of a display device so that the code can be read by the robot system 110, as shown in the Fig. 10 and Fig. 11 shown.

[0072] Alternatively, the teach-in handset 530 can also serve as a code display device. In this case, the teach-in handset 530 also functions as a code display unit that displays a code. A code displayed on the teach-in handset 530 can be Fig. 1 can be read and executed by the robot system 110 shown.

[0073] In the third embodiment, a code generated by the teach-in handset 530 can also be displayed on various media as information carrier 90.

[0074] Thus, according to the third embodiment, a robot program can be efficiently applied to a robot system even when a robot program created by a current robot system is applied to another robot system.

[0075] As described above, the robot controller according to each embodiment can decode program identification information by analyzing a captured image of a code, selecting a robot program corresponding to the decoded information from a plurality of pre-registered programs, and executing the program. Thus, a robot program can be efficiently applied to a robot system even in situations where the production situation of the robot system changes variously.

[0076] In other words, in situations where the production situation of a robot system changes variously, the time and labor required to apply a robot program to the robot system can be greatly reduced, compared with a case where the robot system is temporarily stopped and an operation to re-select a suitable robot program is performed, or a case where a program to call a suitable robot program is re-created on the user side.

[0077] According to each of the embodiments described above, a small amount of information, such as a program name or program ID, is encoded as information for identifying a robot program, and therefore, the amount of information embedded in the code can be reduced. Consequently, the size of the code itself can be reduced, and code analysis can be performed quickly.

[0078] While the present invention has been described above with reference to the typical embodiments, it will be understood by those skilled in the art that changes and various other modifications, omissions and additions can be made to the above embodiments without departing from the scope of the present invention.

[0079] While a program name and a program ID were described as examples of information for identifying a robot program in the above embodiments, the information for identifying a robot program is not limited to these. Other types of information for uniquely identifying a robot program may also be used.

[0080] As information to be encoded in a code, additional information may be added to the information for identifying a robot program in each embodiment described above. For example, in a situation where multiple robots execute a specific program, the code conversion unit may convert information for identifying a robot executing the specific program into a code, in addition to the program name. A two-dimensional code can contain a relatively large amount of information and can therefore be suitably used in an embodiment in which the additional information is added to the information for identifying a robot program.

[0081] Functional blocks in a functional block diagram shown as a diagram for illustrating a functional configuration of the robot programming device or the robot controller in the embodiments described above may be provided by the execution of various types of software stored in the storage device by the processor in the robot programming device or the robot controller, or they may be provided by a configuration based mainly on hardware such as an application-specific integrated circuit (ASIC).

[0082] The program that performs various types of processing in a series of operations from the creation of a robot program to the determination and execution of the robot program in the embodiments described above can be recorded on various computer-readable recording media (e.g., semiconductor memories such as a ROM, an EEPROM, and a flash memory; a magnetic recording medium; and optical disks such as a CD-ROM and a DVD-ROM). REFERENCE SYMBOL LIST 10 robots 15, 515 Hand 30 Learning handset 50 robot control 80 Robot Programming Device 31, 51, 81 processor 32, 52, 82 memory 33, 83 display unit 34, 54, 84 operating unit 35, 53, 86 Input / Output Interface 85 storage device 90 information carriers 90A display device 100 robot programming system 110 Robot system 151 Code Image Capture Unit 152 Code Analysis Unit 153 Unit for storing a robot program 154 Unit for determining a robot program 155 Unit for executing a robot program 181 Unit for generating virtual space 182 Unit for arranging three-dimensional models 183, 183A Unit for teaching a robot program 184 Code conversion unit 185 File output unit 186 Unit for setting a work goal 187 Unit for preparing a work program 191 Code display unit 10M robot model 15M hand model 61M, 62M peripheral model 500 robot system 510 robots 530 Learning handset 531 Unit for teaching a robot program 532 Code conversion unit 533 File output unit 550 robot control QUOTES CONTAINED IN THE DESCRIPTION

[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature

[0000] JP 2016-215318 A

[0005] JP 2012-228757 A

[0005] JP 2010-179403 A

[0005]

Claims

[1] A robot programming device with: a robot program teaching unit configured to perform the teaching of a robot program; and a code conversion unit configured to convert information identifying the taught robot program into code. [2] The robot programming device according to claim 1, further comprising: a three-dimensional model arranging unit configured to arrange in a virtual space a robot system model including a robot model that represents a robot system including a robot in three dimensions, wherein the robot program teaching unit is configured to accept teaching of the robot program by operation on the robot system model. [3] The robot programming apparatus according to claim 1 or 2, wherein the robot program is a program having a property depending on a workpiece being a work target. [4] The robot programming device according to claim 3, wherein the unit for teaching a robot program comprises: a work target setting unit configured to accept an operation for specifying a work target part on the workpiece model based on a geometric characteristic of a workpiece model; and a work program creation unit configured to create a robot program for performing work by a tool on the specified work target part. [5] The robot programming apparatus according to any one of claims 1 to 4, wherein the code conversion unit adds, as additional information, information for identifying a robot by which the robot program is executed to the information for identifying the robot program, and converts the information for identifying the robot program to which the additional information is added into a code. [6] The robot programming device according to any one of claims 1 to 5, further comprising a file output unit configured to output the code generated by the code conversion unit as a file. [7] The robot programming device according to any one of claims 1 to 6, wherein the information for identifying the robot program is one of a program name and a program ID of the robot program. [8] A robot programming system comprising: a robot programming device with: a robot program teaching unit configured to perform the teaching of a robot program; and a code conversion unit configured to convert information identifying the taught robot program into code; an image sensor configured to capture an image of the code displayed on an information carrier; and a robot controller configured to control a robot, the robot controller comprising: a code analysis unit configured to decode the robot program identification information by analyzing the captured image of the code; a robot program determining unit configured to determine, based on the decoded robot program identification information, a robot program corresponding to the robot program identification information from one or more pre-registered robot programs; and a robot program executing unit configured to execute the specific robot program. [9] The robot programming system according to claim 8, wherein the robot programming device further includes a three-dimensional model arranging unit configured to arrange in a virtual space a robot system model including a robot model representing a robot system including the robot in three dimensions, and the robot program teaching unit is configured to accept teaching of the robot program by operation on the robot system model. [10] The robot programming system according to claim 8 or 9, further comprising a display device having a screen as an information carrier on which the code is displayed. [11] The robot programming system according to claim 8 or 9, wherein the information carrier on which the code is displayed is a printing medium and is attached to a predetermined position on a workpiece as a work target. [12] The robot programming system according to any one of claims 8 to 11, wherein the robot program is a program having a property that depends on a workpiece being a work target. [13] The robot programming system according to claim 12, wherein the robot program teaching unit comprises: a work target setting unit configured to accept an operation for specifying a work target part on the workpiece model based on a geometric characteristic of a workpiece model; and a work program creating unit configured to create a robot program for performing work by a work tool on the specified work target part. [14] The robot programming system according to any one of claims 8 to 11, wherein the robot programming device is a teaching handheld device configured to generate the robot program by teaching an actual robot. [15] The robot programming system according to any one of claims 8 to 14, wherein the code conversion unit adds, as additional information, information for identifying a robot by which the robot program is executed to the information for identifying the robot program, and converts the information for identifying the robot program to which the additional information is added into a code.

Citation Information

Patent Citations

  • Robot simulation image display system

    JP2010179403A

  • Teaching method of robot, teaching device of robot, and program

    JP2012228757A

  • Robot system and robot device

    JP2016215318A

  • 2010-179403A

  • 2012-228757A