Robot programming device and robot programming system

JP7909601B2Active Publication Date: 2026-08-21FANUC LTD
View PDF 13 Cites 0 Cited by

Patent Information

Application Number
JP2024527995
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-15
Publication Date
2026-08-21
Estimated Expiration
2042-06-15

AI Technical Summary

Benefits of technology

【0010】 上記構成によれば、ロボット制御装置は、コードが撮像された画像を解析することで、プログラムを特定する情報を復号することができ、予め登録された複数のロボットプログラムの中から、復号された情報に対応するロボットプログラムを選択して実行することができる。これにより、ロボットシステムの生産状況が様々に変化するような状況においても、ロボットプログラムのロボットシステムへの適用を効率的に行うことが可能となる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007909601000001
    Figure 0007909601000001
  • Figure 0007909601000002
    Figure 0007909601000002
  • Figure 0007909601000003
    Figure 0007909601000003
Patent Text Reader

Abstract

A robot programming device (80, 80A, 530) comprises: a robot program teaching unit (183, 183A, 531) for executing robot program teaching; and a code converting unit (184, 532) for converting, to code, information for specifying the robot program which was taught.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

[0002] As methods for creating a robot program for operating a robot, there are known methods of operating a teaching panel to teach operations to an actual robot, and a method of arranging a three-dimensional model of a robot system on a virtual space of a programming device to teach a robot program.

[0003] In relation to this, Patent Document 1 describes that "in the robot system according to Modification Example 1 of the present embodiment, the operation control device 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 tags each storing a plurality of types of work program ID codes are respectively arranged at a plurality of installation positions. A work program specific to each installation position is determined in advance. At the installation position corresponding to each work program, a barcode tag recording a work program ID unique to the work program is arranged at that installation position." (paragraph 0050).

[0004] Patent Document 2 describes that "the robot teaching method is a method for teaching an operation related to an operation to be performed on a work 10 to a robot 1, and includes a photographing step (step S2) of acquiring an image of the work 10 having a marker 15 by a camera 6 provided in the robot 1, a detection step (step S3) of detecting the marker 15 from the image, an analysis step (steps S4, S5) of analyzing the marker 15 to acquire teaching information for the robot to operate, and a storage step (step S6) of storing the teaching information." (abstract).

[0005] Patent Document 3 describes the configuration of a robot simulation image display system as follows: "A QR code (registered trademark) 4 records robot model number information T and a demonstration program SP that operates a 3D image model M. A personal computer 2 obtains the orientation information of the QR code (registered trademark) 4 in 3D space from 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 camera 1. Using the reference point C0 as the origin of the 3D coordinate system, the direction along Q1 and Q2 from the origin is the X axis, the Y axis is the Y axis, and the normal to the origin on the XY plane is the Z axis. The rotation matrix Mr is obtained and multiplied by the 3D image data R to display the 3D image model M on display 5. When the position and orientation of the QR code (registered trademark) 4 captured by camera 1 changes, the position and orientation of the 3D image model M also changes and operates in 3D space display according to the demonstration program SP." (Abstract). [Prior art documents] [Patent Documents]

[0006] [Patent Document 1] Japanese Patent Publication No. 2016-215318 [Patent Document 2] Japanese Patent Publication No. 2012-228757 [Patent Document 3] Japanese Patent Publication No. 2010-179403 [Overview of the project] [Problems that the invention aims to solve]

[0007] When applying a robot program created through instruction to an actual robot system, the robot program is registered to the robot control device via a storage medium such as a USB memory stick. Here, we consider a scenario where an operator selects a desired program from multiple robot programs registered to the robot control device. In actual robot systems, the production status of the robot system can change in various ways, such as handling multiple types of workpieces or changes in work content. To respond to such changes, it may be necessary to temporarily stop the robot system and re-select an appropriate robot program, or the user may need to create a new program to call the appropriate robot program. However, these responses require significant effort. Therefore, there is a need for a robot programming device and robot programming system that can efficiently apply robot programs to robot systems even in situations where the production status of the robot system changes in various ways. [Means for solving the problem]

[0008] One aspect of this disclosure includes a robot program teaching unit for teaching a robot program, and a code conversion unit for converting information identifying the taught robot program into a code. The system comprises a three-dimensional model placement unit that places a robot system model having a robot model in a virtual space, which is a three-dimensional representation of a robot system having a robot, and the robot program teaching unit is configured to receive teaching of the robot program by operations on the robot system model. This is a robot programming device.

[0009] Another aspect of this disclosure is: A three-dimensional model placement unit that places a robot system model containing a robot model in a virtual space, which is a three-dimensional representation of a robot system containing a robot, A robot program teaching unit for teaching a robot program, and a code conversion unit that converts information identifying the taught robot program into code. , love A visual sensor that captures the code displayed on the information medium and , taken A code analysis unit analyzes the image of the code and decodes information that identifies the robot program; a robot program identification unit identifies a robot program corresponding to the information from a pre-registered robot program based on the decoded information that identifies the robot program; and a robot program execution unit executes the identified robot program. ,of equipment Furthermore, the robot program teaching unit is configured to accept teaching of the robot program by operations on the robot system model. This is a robot programming system. [Effects of the Invention]

[0010] According to the above configuration, the robot control device can decode information that identifies a program by analyzing an image in which a code has been captured, and can select and execute a robot program corresponding to the decoded information from among several pre-registered robot programs. This makes it possible to efficiently apply robot programs to the robot system even in situations where the production status of the robot system changes in various ways.

[0011] These and other objects, features, and advantages of the present invention will become even clearer from the detailed description of typical embodiments of the present invention shown in the accompanying drawings. [Brief explanation of the drawing]

[0012] [Figure 1] This diagram shows the equipment configuration of the robot programming system according to the first embodiment. [Figure 2] This figure shows an example of the hardware configuration of a programming device, a robot control device, and a teaching control panel. [Figure 3] This figure shows the functional blocks of the programming device and robot control device according to the first embodiment. [Figure 4] This flowchart illustrates the entire process from creating a robot program to reading the code and executing the robot program. [Figure 5] This diagram illustrates the first example of creating a robot program in a virtual space. [Figure 6] This diagram illustrates the first example of creating a robot program in a virtual space. [Figure 7] This diagram illustrates a second example of creating a robot program in a virtual space. [Figure 8]A diagram showing a second example of creating a robot program in a virtual space. [Figure 9] A diagram schematically showing the situation where code is created. [Figure 10] A diagram explaining the operation at the stage of reading code by a robot system. [Figure 11] A diagram explaining the operation at the stage of executing a specified robot program by a robot system. [Figure 12] A diagram showing the functional blocks of a programming device and a robot control device according to the second embodiment. [Figure 13] A diagram showing an example of creating a robot program dependent on a workpiece. [Figure 14] A diagram showing an example of creating a robot program dependent on a workpiece. [Figure 15] A diagram showing an example of creating a robot program dependent on a workpiece. [Figure 16] A diagram schematically showing the situation where code is created. [Figure 17] A diagram explaining the operation at the stage of executing a specified robot program by a robot system. [Figure 18] A diagram explaining the operation at the stage of executing a specified robot program by a robot system. [Figure 19] A diagram for explaining the stage where another workpiece is put into the work space and code is read. [Figure 20] A diagram explaining the operation at the stage of executing a specified robot program by a robot system. [Figure 21] A diagram showing the device configuration of a robot system that teaches a physical robot to generate a robot program.

Embodiments for Carrying Out the Invention

[0013] Next, embodiments of the present disclosure will be described with reference to the drawings. In the drawings, similar components or functional parts are given the same reference numerals. For ease of understanding, the scale of these drawings has been appropriately changed. Furthermore, the embodiments shown in the drawings are just one example of how to carry out the present invention, and the present invention is not limited to the illustrated embodiments.

[0014] The robot programming systems according to the first to third embodiments will be described below. Each embodiment of the robot programming system includes a robot programming device having a robot program teaching unit for teaching a robot program and a code conversion unit for converting information identifying the taught robot program into code, a visual sensor for capturing images of the code displayed on an information medium, and a robot control device for controlling the robot. In this configuration, the robot control device includes a code analysis unit for analyzing the captured code image and decoding information identifying the robot program, a robot program identification unit for identifying a robot program corresponding to the information from a pre-registered robot program based on the decoded robot program identifying information, and a robot program execution unit for executing the identified robot program. With this configuration, the robot control device can decode information identifying the robot program from an image captured by the visual sensor, and select and execute a robot program corresponding to the decoded information from a pre-registered robot program.

[0015] First Embodiment Figure 1 is a diagram showing the equipment configuration of a robot programming system 100 according to the first embodiment. As shown in Figure 1, the robot programming system 100 includes a robot programming device 80 that has the function of creating a robot program and converting information that identifies the robot program into code, and a robot system 110 that captures and analyzes the code displayed on an information medium 90 using a visual sensor 21, identifies the robot program, and executes it. Here, the information medium 90 includes any medium that can display or carry a code, such as a display screen of an information processing device or paper media.

[0016] As information to identify a robot program, for example, the program name or identification information that uniquely identifies the program (hereinafter referred to as the program ID) can be used. Various codes, including one-dimensional codes and two-dimensional codes, can be used as codes to represent such program-identifying information. The code provides information (encoded pattern) encoded within the code as decoded information through image analysis. In this embodiment, as an example, when the program name is used as the program-identifying information, the program name is encoded using a two-dimensional code, and when the program ID is used as the program-identifying information, it is encoded using a one-dimensional code. Figure 1 illustrates an example in which a two-dimensional code C1 is displayed on the information medium 90.

[0017] The robot programming device 80 is a robot programming device that can create a robot program by placing a robot system model, including a robot model, in a virtual space and teaching the robot system model in the virtual space. A PC (personal computer), tablet terminal, or other information processing device can be used as the robot programming device 80. The created robot program is registered with the robot control device 50, for example, via external memory (such as a USB memory stick).

[0018] The robot system 110 comprises a robot 10, a robot control device 50 that controls the robot 10, and a teaching control panel (teaching device) 30 connected to the robot control device 50. In Figure 1, an example is shown in which the vision sensor 21 is mounted on the tip of the arm of the robot 10, but the vision sensor 21 may be fixed within the workspace. The vision sensor 21 is connected to the robot control device 50 and operates under control from the robot control device 50.

[0019] The robot 10 can perform desired tasks using an end effector attached to the wrist at the end of its arm. The end effector is an external device that can be replaced depending on the application, such as a hand, welding gun, or tool. Figure 1 shows an example where a hand 15 is used as an example of an end effector.

[0020] With the above configuration, the robot 10 (robot control device 50) can read and decode the code created by the robot programming device 80 and displayed on the information medium 90 using the visual sensor 21. The robot control device 50 can then identify and execute the robot program corresponding to the decoded program name or program ID from among the pre-registered robot programs.

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

[0022] Figure 3 shows a functional block diagram of the robot programming device 80 and the robot control device 50. As shown in Figure 3, the robot programming device 80 includes a virtual space creation unit 181, a three-dimensional model placement unit 182, a robot program teaching unit 183, a code conversion unit 184, and a file output unit 185.

[0023] In the robot programming device 80, the virtual space creation unit 181 creates a virtual space for arranging various models that constitute the robot system. The three-dimensional model placement unit 182 places three-dimensional models of each object that constitutes the robot system, including the robot model, within the virtual space based on the placement information of the actual robot system 110. The robot system model placed within the virtual space is displayed on the display screen of the robot programming device 80.

[0024] The robot program teaching unit 183 provides functions for teaching robot programs. The robot program teaching unit 183 has the function of receiving operations such as jog operations, specifying teaching points, and setting various parameters for a robot model placed in a virtual space via a user interface screen, and generating a robot program according to these operation inputs. The functions of the robot program teaching unit 183 include the function of performing kinematic calculations (simulations) regarding the position, orientation, and joint positions (angles) of the robot model (and tool model) based on the above operation inputs.

[0025] The code conversion unit 184 has the function of converting information that identifies the created robot program (program name or program ID) into code.

[0026] The file output unit 185 provides a function to output the generated code as a file (e.g., an image file). This makes it possible to provide the code generated on the robot programming device 80 to other devices (display devices, printing devices, etc.) via a network, for example.

[0027] As described above, the code generated by the robot programming device 80 can be displayed on the information medium 90. For example, as shown in Figure 3, a display device 90A may be used to display the code. The display device 90A has a code display unit 191 for displaying the code. The display device 90A may be a tablet terminal, smartphone, or other information processing device with a display screen. The code generated and filed by the robot programming device 80 is transferred to the display device 90A via external memory or via a network. In this case, the display screen of the display device 90A becomes the information medium 90. The robot system 110 can read and decode the code displayed on the display device 90A.

[0028] The robot control device 50 includes a code imaging unit 151, a code analysis unit 152, a robot program storage unit 153, a robot program identification unit 154, and a robot program execution unit 155.

[0029] The code imaging unit 151 has the function of imaging a code displayed on the information medium 90 using the visual sensor 21. For example, the code imaging unit 151 may operate to image the information medium 90 which is pre-placed within the imaging range of the visual sensor 21, or it may operate to image the information medium 90 by controlling the robot 10. The function of the code imaging unit 151 can also be described as a code acquisition unit that acquires an image of a code representing information that identifies a program, captured by the visual sensor 21.

[0030] The robot control device 50 may also have an internal function as a vision sensor control device that controls the vision sensor 21. Alternatively, the vision sensor control device that controls the vision sensor 21 may be provided to the robot system 110 as a separate device from the robot control device 50. In the latter configuration, the robot control device 50 operates the vision sensor 21 via the vision sensor control device and acquires the image captured by the vision sensor 21 via the vision sensor control device.

[0031] The code analysis unit 152 analyzes the image in which the code is captured, extracts the region containing the code within the image, identifies the position and orientation of the code, and decodes the information encoded within the code.

[0032] The robot program storage unit 153 stores robot programs generated by the robot programming device 80 and introduced to the robot control device 50, for example, via external memory. Furthermore, if a program ID is used to identify a robot program, the robot program storage unit 153 maintains a table that associates program IDs with robot programs.

[0033] The robot program identification unit 154 identifies a robot program from among the robot programs pre-stored in the robot program storage unit 153 that corresponds to the robot program identification information (program name or program ID) decoded by the code analysis unit 152.

[0034] The robot program execution unit 155 executes the robot program identified by the robot program identification unit 154. For example, the robot program execution unit 155 interprets the robot program, sets a trajectory plan for a predetermined control part of the robot based on the robot program, generates motion commands for each axis based on the trajectory plan, and executes servo control of the motors of each axis.

[0035] With the above functions of the robot control device 50, the robot control device 50 can read a code displayed on the information medium 90 and execute a robot program identified by the information represented by the code.

[0036] Figure 4 is a flowchart illustrating the series of operations performed in the robot programming system 100, from creating a robot program to reading the code and executing the robot program.

[0037] First, in the robot programming device 80, a robot system model containing a robot model, which is a three-dimensional representation of a robot system containing a robot, is placed in a virtual space (step S1). This step S1 is performed by the functions of the virtual space creation unit 181 and the three-dimensional model placement unit 182.

[0038] Next, teaching (programming) is performed using the robot system model (step S2). This teaching is performed by the operator manipulating the robot model in a virtual space and specifying teaching points, etc., using functions provided by the robot program teaching unit 183.

[0039] Next, in step S3, a code is generated that contains information identifying the robot program and can be read and analyzed by the visual sensor 21, which acts as a reader. The processing in step S3 is performed as a function of the code conversion unit 184.

[0040] Next, in step S4, the code generated in step S3 and displayed on the information medium 90 is captured by the visual sensor 21, and the image is analyzed to decode the information embedded in the code (program name, program ID, etc.). This processing is performed as a function of the code analysis unit 152.

[0041] Next, the robot program identification unit 154 identifies a robot program from among the robot programs pre-registered in the robot program storage unit 153 that corresponds to the information decoded in step S4 (program name, program ID, etc.). Then, the robot program execution unit 155 executes the identified robot program (step S5).

[0042] The following describes a specific example of operation using the robot programming system 100. Here, we will describe an example of creating a robot program for picking up a workpiece. Figure 5 shows the state in which the robot model 10M, workpiece model WM, and peripheral equipment models 61M and 62M are placed in the virtual space created by the virtual space creation unit 181 by the three-dimensional model placement unit 182. In this example, the hand model 15M is attached to the tip of the arm of the robot model 10M as an end effector. The state in which these models are placed in the virtual space is displayed on the display screen of the robot programming device 80.

[0043] With the assistance of the robot program teaching unit 183, the operator teaches the robot program. Here, an example of teaching the operation to take a work model WM placed on peripheral device model 61M and place it on peripheral device model 62M is described. As an example, as shown in Figure 6, teaching is performed by jog-moving the robot model 10M in the virtual space and adjusting the teaching points one by one. The operator specifies the position where the work model WM will be taken out and the position where it will be placed in the virtual space, and further specifies the position of the work model WM relative to the hand model 15M when the hand model 15M grasps the work model WM. The robot program teaching unit 183 automatically generates the robot program 501 according to the teaching content specified in this way. Figure 6 schematically shows the state in which the robot program 501 has been generated. In this case, the robot program 501 includes operation commands and teaching point information for positioning the hand model 15M at the takeout position, grasping the work model WM, moving it to the placement position via a standby position, etc., and placing the work model WM.

[0044] The workpiece removal operation can also be generated using the following teaching method. Figure 7 shows the state in which the robot model 10M, workpiece model WM, and peripheral equipment models 61M and 62M are arranged in a virtual space (display screen). As shown in Figure 7, in this example, the hand model 15M is attached to the tip of the arm of the robot model 10M.

[0045] In this example, the operator controls the robot model 10M in a virtual space (display screen) to specify the workpiece WM's retrieval position P1 and installation position P2. As shown in Figure 8, the robot program teaching unit 183 automatically generates a robot program 501 that uses the hand model 15M to retrieve the workpiece model WM from the retrieval position P1 and install it at the installation position P2. The robot program 501 includes information on operation commands and teaching points for positioning the hand model 15M at the retrieval position P1 to grasp the workpiece model WM, moving it to the installation position P2 via intermediate points, and installing the workpiece model WM.

[0046] The code conversion unit 184 converts the information identifying the robot program 501 created as described above into a code. Figure 9 schematically shows the state in which the code is generated by the code conversion unit 184. As shown in Figure 9, when the program name is used as the information identifying the robot program 501, the code conversion unit 184 converts the program name (e.g., PROG01) into a two-dimensional code C1. When the program ID is used as the information identifying the robot program 501, the code conversion unit 184 converts the program ID (e.g., 10000010) into a one-dimensional code C2. When the program ID is used as the information identifying the robot program, the robot program teaching unit 183 may also provide the robot control device 50 with a table that associates the program ID with the robot program (program name, etc.).

[0047] The generated robot program 501 (and, if a program ID is used, a table associating the program ID with the robot program) is registered with the robot control device 50, for example, via a USB memory stick. The robot program 501 is stored in the robot program storage unit 153, and the robot control device 50 becomes ready to execute the robot program 501.

[0048] Next, referring to Figures 10 and 11, the operation of the actual robot system 110 during the code reading stage will be explained. As shown in Figure 10, when a workpiece W is placed in the workspace, the robot control device 50 uses the visual sensor 21 to capture an image of the code displayed on the information medium 90 (here, let's assume it is code C1). The captured image of the code is analyzed by the code analysis unit 152, and information identifying the robot program 501 (for example, program name: PROG01) is decoded. As mentioned above, the information medium 90 may be the display screen of the display device 90A, the display screen of the robot programming device 80, or a printed piece of paper attached to the workpiece.

[0049] The robot program identification unit 154 identifies the robot program 501 corresponding to the decoded information (for example, program name: PROG01) from among the robot programs stored in the robot program storage unit 153. As a result, the robot program execution unit 155 can execute the identified robot program 501, as schematically shown in Figure 11.

[0050] Thus, according to the first embodiment, the robot control device 50 can decode information that identifies a program by analyzing an image in which a code has been captured, and can select and execute a robot program corresponding to the decoded information from among a plurality of pre-registered robot programs. This makes it possible to efficiently apply robot programs to the robot system even in situations where the production status of the robot system changes in various ways.

[0051] Second Embodiment The second embodiment will now be described. The second embodiment is an example of a configuration for creating a robot program that depends on the workpiece in a robot programming device. The equipment configuration and hardware configuration of the robot programming system according to the second embodiment are equivalent to the configuration in the first embodiment shown in Figures 1 and 2.

[0052] In this embodiment, the code is attached to a predetermined location on the workpiece, and the code attached to the workpiece is read when the robot 10 performs its task. Here, "workpiece-dependent" means, for example, that the operation of the robot program depends on the type and number of workpieces.

[0053] Figure 12 shows a functional block diagram of the robot programming device 80A and robot control device 50 according to the second embodiment. In Figure 12, the same reference numerals are used for functional blocks that are the same as those in the first embodiment. The robot programming device 80A according to the second embodiment has a robot program teaching unit 183A which includes a work target designation unit 186 and a work program generation unit 187, as a configuration for automatically generating a robot program that depends on the workpiece.

[0054] The work target designation unit 186 has the function of assisting the operator in specifying a work target area in the work model displayed on the virtual space (display screen) based on the geometric features of the work W (e.g., contour lines, surfaces) that can be extracted from the 3D model of the work W, and identifying the specified work target area.

[0055] The work program generation unit 187 automatically generates a robot program for performing a predetermined task using a work tool on the work target location specified by the work target designation unit 186.

[0056] The following describes an example of generating a robot program dependent on the workpiece using the robot programming device 80A.

[0057] Figures 13-15 show a first example of creating a robot program that depends on the workpiece. Figure 13 shows the state in which the robot model 10M, workpiece model WM, and peripheral equipment model 61M are arranged in a virtual space (display screen) by the robot programming device 80A. In this example, a vision sensor model 21M and a polishing tool model 16M, which serves as a work tool, are attached to the tip of the arm of the robot model 10M.

[0058] Figure 14 shows the state in which the operator has designated the ridge line L1 of the upper cylindrical part of the work model WM as the work target area, with the assistance of the work target designation unit 186.

[0059] Next, as shown in Figure 15, the work program generation unit 187 automatically generates a robot program 503 for moving the polishing tool model 16M along the designated ridge line L1 to perform the polishing operation. In this case, the robot program 503 includes information on multiple teaching points along the ridge line L1 and operation commands for moving the polishing tool model 16M along the ridge line L1 via the teaching points.

[0060] The generated robot program 503 is registered with the robot control device 50, for example, via a USB memory stick.

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

[0062] The code generated in this way is attached to a predetermined location on the workpiece W (a location that can be imaged by the visual sensor 21) before the work begins (see Figure 17).

[0063] As shown in Figure 17, when a workpiece W is placed in the workspace, the robot 10 (robot control device 50) uses the visual sensor 21 to image the code C1 attached to a predetermined position on the workpiece W. The code analysis unit 152 analyzes the image and decodes information that identifies the robot program 503. The robot program identification unit 154 identifies the robot program 503 corresponding to the decoded information (robot program name, program ID, etc.) from among the robot programs stored in the robot program storage unit 153. The robot program execution unit 155 executes the identified robot program 503 (see Figure 18).

[0064] After the operation on workpiece W (execution of robot program 503) is completed, suppose another workpiece W2 is placed in the robot 10's workspace, as shown in Figure 19. Workpiece W2 has a code C12 attached to it that identifies the robot program to be executed on workpiece W2. Even in this case, the robot 10 (robot control device 50) reads the code C12 attached to workpiece W2 using the vision sensor 221 and decodes the program identification information encoded in code C12. Then, the robot control device 50 identifies the robot program corresponding to the decoded information among the robot programs stored in the robot program storage unit 153.

[0065] As a result, as shown in Figure 20, the robot program execution unit 155 can retrieve the identified robot program 505 from the robot program storage unit 153 and execute it. When a program ID is used as the information to identify the robot program, the robot program identification unit 154 maintains a table that associates the program ID with the robot program (program name, etc.). Such an association table that associates the program ID with the program (program name) may be created in advance on the robot programming device 80A side and provided to the robot control device 50 side.

[0066] Thus, according to the second embodiment, the robot control device 50 can decode information that identifies a program by analyzing an image in which a code has been captured, and can select and execute a robot program corresponding to the decoded information from among a plurality of pre-registered robot programs. This makes it possible to efficiently apply robot programs to the robot system even in situations where the production status of the robot system changes in various ways.

[0067] In particular, in the second embodiment, a robot program dependent on the workpiece is generated, and a code representing information identifying such a robot program is created and attached to the workpiece. Therefore, even in situations where the robot system performs tasks on various types of workpieces, the robot program can be efficiently applied to the robot system.

[0068] Third Embodiment The third embodiment will now be described with reference to Figure 21. The third embodiment relates to a configuration for applying a robot program created by teaching an actual robot system to another robot system. The actual robot system used to create the robot program is the robot system 500 shown in Figure 21.

[0069] The robot system 500 includes a robot 510, a robot control device 550 for controlling the robot 510, and a teaching control panel 530 for teaching the robot 510. In this configuration, the teaching control panel 530 functions as a robot programming device for creating robot programs. Figure 21 also shows a functional block diagram of the teaching control panel 530.

[0070] As shown in Figure 21, the teaching control panel 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 functions for teaching (programming), including jog operation of the robot 510 and setting operation parameters. With the assistance of the robot program teaching unit 531, the operator creates a robot program.

[0071] As shown in Figure 21, in the robot system 500, a robot program 501 is created by operating the actual robot 510 using the teaching control panel 530. The generated robot program 501 can be registered in the robot system 110 (robot control device 50) shown in Figure 1, for example, via a USB memory.

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

[0073] The file output unit 533 provides a function to output the generated code as a file (for example, an image file). Since the generated code can also be output as a file by the file output unit 533, for example, the code can be printed on paper or displayed on the display screen of a display device and read by the robot system 110 as shown in Figure 10-11.

[0074] Alternatively, the teaching control panel 530 can function as a display device for displaying codes. In this case, the teaching control panel 530 further functions as a code display unit for displaying codes. The codes displayed on the teaching control panel 530 can be read and executed by the robot system 110 shown in Figure 1.

[0075] In the third embodiment as well, the code generated by the teaching control panel 530 can be displayed on various media as the information medium 90.

[0076] Thus, according to the third embodiment, even when applying a robot program created on an actual robot system to another robot system, the application of the robot program to the robot system can be carried out efficiently.

[0077] As described above, according to each embodiment, the robot control device can decode information that identifies a program by analyzing an image in which a code has been captured, and can select and execute a robot program corresponding to the decoded information from among a plurality of pre-registered robot programs. This makes it possible to efficiently apply robot programs to the robot system even in situations where the production status of the robot system changes in various ways.

[0078] In other words, compared to situations where the production status of the robot system changes in various ways, where the robot system has to be stopped, a new robot program must be selected, or the user must create a new program to call the appropriate robot program, it is possible to significantly reduce the effort and man-hours required to apply the robot program to the robot system.

[0079] In each of the embodiments described above, information with little data, such as the program name and program ID, is coded as information that identifies the robot program, thus reducing the amount of information embedded in the code. This makes it possible to reduce the size of the code itself and to perform code analysis quickly.

[0080] Although the present invention has been described above using typical embodiments, those skilled in the art will understand that modifications to the above embodiments and various other modifications, omissions, and additions can be made without departing from the scope of the present invention.

[0081] In the embodiments described above, the program name and program ID were given as examples of information that identify the robot program, but the information that identifies the robot program is not limited to these. Other information that uniquely identifies the robot program may be used.

[0082] In each of the embodiments described above, additional information may be added to the information that identifies the robot program as the information to be coded. For example, in a situation where there are multiple robots that execute a particular program, the code conversion unit may add information that identifies the robot executing that particular program in addition to the program name. Since two-dimensional codes can hold a relatively large amount of information, they can be suitably used in embodiments that add additional information.

[0083] In the above-described embodiment, the functional blocks in the functional block diagram exemplified to represent the functional configuration of the robot programming device or robot control device may be realized by the processor of the robot programming device or robot control device executing various software stored in a memory device, or they may be realized by a hardware-based configuration such as an ASIC (Application Specific Integrated Circuit).

[0084] In the embodiments described above, the program that performs various processes in a series of operations from the creation of the robot program to the identification and execution of the robot program can be recorded on various computer-readable recording media (for example, semiconductor memory such as ROM, EEPROM, and flash memory, magnetic recording media, optical discs such as CD-ROM and DVD-ROM). [Explanation of Symbols]

[0085] 10 Robots 15,515 Hand 30. Instructional control panel 50 Robot control devices 80 Robot Programming Device 31, 51, 81 processors 32, 52, 82 memory 33, 83 display section 34, 54, 84 Operation section 35, 53, 86 Input / Output Interfaces 85 Storage device 90 Information media 90A display device 100 Robot Programming Systems 110 Robot Systems 151 Code Imaging Unit 152 Code Analysis Section 153 Robot Program Memory Unit 154 Robot Programming Specialist 155 Robot Program Execution Unit 181 Virtual Space Creation Department 182 Three-dimensional model placement section 183, 183A Robot Program Teaching Unit 184 Code Conversion Section 185 File Output Section 186 Designated work area 187 Work Program Generation Unit 191 Code display section 10M Robot Model 15M Hand Model 61M, 62M peripheral models 500 Robot Systems 510 Robots 530 Instruction and Control Panel 531 Robot Programming Unit 532 Code Conversion Unit 533 File Output Section 550 Robot Control Device

Claims

1. A robot program teaching unit for teaching robot programs, A code conversion unit that converts information identifying the taught robot program into code, It comprises a three-dimensional model placement unit that places a robot system model containing a robot model in a virtual space, which represents a robot system containing a robot in three dimensions, The robot program teaching unit is configured to receive teaching of the robot program by operations on the robot system model. Robot programming device.

2. A robot program teaching unit for teaching robot programs, The system comprises a code conversion unit that converts information identifying the taught robot program into code, The robot program teaching unit is configured to accept an operation to teach the robot program by operating an actual robot. Robot programming device.

3. The robot programming device according to claim 1, wherein the robot program is a program that has properties dependent on the workpiece being worked on.

4. A robot program teaching unit for teaching robot programs, The system comprises a code conversion unit that converts information identifying the taught robot program into code, The robot program is a program that has properties that depend on the workpiece being worked on. The robot program teaching unit is: A work target designation unit that accepts operations to designate the edges on the work model as work target locations based on the geometric characteristics of the work model, A robot programming device comprising: a work program generation unit that generates a robot program for performing work on the work target location using a work tool by generating a plurality of teaching points along the specified ridge line.

5. A robot program teaching unit for teaching robot programs, The system comprises a code conversion unit that converts information identifying the taught robot program into code, The code conversion unit performs the conversion to code by adding information identifying the robot that will execute the robot program as additional information to the information identifying the robot program. Robot programming device.

6. The robot programming device according to any one of claims 1 to 5, further comprising a file output unit that outputs the code generated by the code conversion unit as a file.

7. The robot programming device according to any one of claims 1 to 5, wherein the information identifying the robot program is either the program name or the program ID of the robot program.

8. A three-dimensional model placement unit that places a robot system model containing a robot model in a virtual space, which is a three-dimensional representation of a robot system containing a robot, A robot program teaching unit for teaching robot programs, A code conversion unit that converts information identifying the taught robot program into code, A visual sensor that captures the code displayed on an information medium, A code analysis unit analyzes the captured image of the code and decodes information to identify the robot program, A robot program identification unit identifies a robot program corresponding to the decoded robot program from a pre-registered robot program based on the information identifying the robot program, A robot program execution unit that executes the identified robot program, It is equipped with, The robot program teaching unit is configured to receive teaching of the robot program by operations on the robot system model. Robot programming system.

9. The robot programming system according to claim 8, further comprising a display device having a display screen as an information medium on which the code is displayed.

10. The robot programming system according to claim 8, wherein the information medium on which the code is displayed is a paper medium and is attached to a predetermined position on the workpiece to be worked on.

11. The robot programming system according to any one of claims 8 to 10, wherein the robot program is a program that has properties dependent on the workpiece being worked on.

12. A robot program teaching unit for teaching robot programs, A code conversion unit that converts information identifying the taught robot program into code, A visual sensor that captures the code displayed on an information medium, A code analysis unit analyzes the captured image of the code and decodes information to identify the robot program, A robot program identification unit identifies a robot program corresponding to the decoded robot program from a pre-registered robot program based on the information identifying the robot program, A robot program execution unit that executes the identified robot program, It is equipped with, The robot program is a program that has properties that depend on the workpiece being worked on. The robot program teaching unit is: A work target designation unit that accepts operations to designate the edges on the work model as work target locations based on the geometric characteristics of the work model, The system includes a work program generation unit that generates a robot program for performing work on the target work area using a work tool by generating a plurality of teaching points along the specified ridge line, Robot programming system.

13. A robot program teaching unit for teaching robot programs, A code conversion unit that converts information identifying the taught robot program into code, A visual sensor that captures the code displayed on an information medium, A code analysis unit analyzes the captured image of the code and decodes information to identify the robot program, A robot program identification unit identifies a robot program corresponding to the decoded robot program from a pre-registered robot program based on the information identifying the robot program, A robot program execution unit that executes the identified robot program, It is equipped with, The robot program teaching unit is configured to generate the robot program by teaching an actual robot. Robot programming system.

14. A robot program teaching unit for teaching robot programs, A code conversion unit that converts information identifying the taught robot program into code, A visual sensor that captures the code displayed on an information medium, A code analysis unit analyzes the captured image of the code and decodes information to identify the robot program, A robot program identification unit identifies a robot program corresponding to the decoded robot program from a pre-registered robot program based on the information identifying the robot program, A robot program execution unit that executes the identified robot program, It is equipped with, The code conversion unit performs the conversion to code by adding information identifying the robot that will execute the robot program as additional information to the information identifying the robot program. Robot programming system.

Citation Information

Patent Citations

  • Program selecting method for industrial robot

    JP1991264282A

  • Industrial robot

    JP1995251391A

  • Robot control device and robot system

    JP2006031311A

  • Robot simulation image display system

    JP2010179403A

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

    JP2012228757A