Apparatus, industrial machine, and method for verifying the operation of industrial machinery

The apparatus and method enable easier verification of industrial machinery operations by associating detection data with controlling commands, facilitating the identification and correction of malfunctions.

JP7853327B2Active Publication Date: 2026-04-28FANUC LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FANUC LTD
Filing Date
2021-12-07
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Existing technologies lack efficient methods for verifying the operation of industrial machinery controlled by sensor detection data, making it difficult to identify and correct malfunctions.

Method used

An apparatus and method that includes a detection data acquisition unit and an association generation unit to associate executed commands with detection data, allowing for easier identification of malfunctioning operations by correlating detection data with the commands that control them.

Benefits of technology

Facilitates the retrieval of detection data used to control malfunctioning operations, simplifying the process of determining the cause of malfunctions in industrial machinery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007853327000001
    Figure 0007853327000001
  • Figure 0007853327000002
    Figure 0007853327000002
  • Figure 0007853327000003
    Figure 0007853327000003
Patent Text Reader

Abstract

There is a demand for technology that makes it easier to verify the operation of an industrial machine. A device 60 is for verifying the operation of an industrial machine 10 which controls operations on the basis of detection data of a sensor 14, said device comprising: a detection data acquisition unit 44 which acquires detection data detected by the sensor 14 during execution of an operation program which includes a plurality of commands causing the industrial machine 10 to execute a plurality of operations; and an association generation unit 46 which associates, with each other, the executed commands and the detection data used in the control of the operations which the commands caused to be executed.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to an apparatus for verifying the operation of industrial machinery. Industrial machinery, Regarding methods and procedures. [Background technology]

[0002] Conventionally, in industrial machines whose operation is controlled based on detection data from sensors (e.g., vision sensors), techniques for verifying whether the detection data was properly detected are known (for example, Patent Document 1). [Prior art documents] [Patent Documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 5-12409 [Overview of the Initiative] [Problems that the invention aims to solve]

[0004] There is a need for technologies that make it easier to verify the operation of industrial machinery as described above. [Means for solving the problem]

[0005] In one aspect of the present disclosure, an apparatus for verifying the operation of an industrial machine whose operation is controlled based on sensor detection data includes a detection data acquisition unit that acquires detection data detected by a sensor when executing an operation program which includes a plurality of commands that cause the industrial machine to perform a plurality of operations, and an association generation unit that associates the executed command with the detection data used to control the operation performed by the command.

[0006] In another aspect of the present disclosure, a method for verifying the operation of an industrial machine whose operation is controlled based on sensor detection data includes a processor that obtains detection data detected by a sensor while executing an operation program which includes a plurality of instructions causing the industrial machine to perform a plurality of operations, and correlates the executed instructions with the detection data used to control the operations performed by the instructions. [Effects of the Invention]

[0007] According to this disclosure, the operator can retrieve detection data used to control the malfunctioning operation from the command that executed the malfunctioning operation. As a result, the process of verifying the cause of the malfunction in the industrial machine's operation can be made easier by checking whether the detection data is falsely detected. [Brief explanation of the drawing]

[0008] [Figure 1] This is a schematic diagram of an industrial machine according to one embodiment. [Figure 2] Figure 1 is a block diagram of the industrial machinery shown. [Figure 3] An example of an operating program is shown below. [Figure 4] An example of detection data detected by a sensor is shown. [Figure 5] An example of setting image data for configuring the operating parameters of industrial machinery is shown. [Figure 6] A schematic diagram of an industrial machine according to another embodiment is shown. [Figure 7] Figure 6 is a block diagram of the industrial machinery shown. [Figure 8] Figure 6 shows an example of the operation flow of an industrial machine. [Figure 9] An example of the flow of step S8 in Figure 8 is shown. [Figure 10] An example of image data for operational verification is shown. [Figure 11] Furthermore, schematic diagrams of industrial machinery according to other embodiments are shown. [Figure 12] Figure 11 is a block diagram of the industrial machinery shown. [Modes for carrying out the invention]

[0009] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the various embodiments described below, similar elements will be denoted by the same reference numerals, and redundant descriptions will be omitted. First, an industrial machine 10 according to one embodiment will be described with reference to Figure 1. The industrial machine 10 includes a robot 12, a sensor 14, and a control device 16.

[0010] In this embodiment, the robot 12 is a vertical articulated robot having a robot base 18, a swivel torso 20, a forearm 22, an upper arm 24, a wrist 26, and an end effector 28. The robot base 18 is fixed to the floor of the work cell. The swivel torso 20 is mounted on the robot base 18 so as to be rotatable around a vertical axis.

[0011] The lower arm portion 22 is mounted on the swivel body 20 so as to be rotatable around a horizontal axis, and the upper arm portion 24 is rotatably mounted at the tip of the lower arm portion 22. The wrist portion 26 has a wrist base 26a mounted at the tip of the upper arm portion 24 so as to be rotatable around two mutually orthogonal axes, and a wrist flange 26b mounted rotatably on the wrist base 26a.

[0012] The end effector 28 is detachably attached to the wrist flange 26b and performs a predetermined operation on the workpiece W. In this embodiment, the end effector 28 is a robot hand capable of gripping the workpiece W, and has a hand base 28a connected to the wrist flange 26b and a plurality of claw portions 28b that are openable and closable on the hand base 28a.

[0013] The end effector 28 can grip and release the workpiece W by opening and closing its claw portion 28b in response to a command from the control device 16. The end effector 28 may also be a robot hand having a suction portion (negative pressure generator, suction cup, etc.) capable of attracting an object, and which uses the suction portion to attract and grip the workpiece W.

[0014] Multiple servo motors 30 (Figure 2) are provided on the robot base 18, rotating torso 20, forearm 22, upper arm 24, and wrist 26, respectively. The servo motors 30 are controlled by the control device 16. directive Accordingly, the rotating torso 20, forearm 22, upper arm 24, wrist 26, and wrist flange 26b are rotated around the drive axis, thereby moving the end effector 28. The robot 12 performs work handling operations (for example, work loading operations or work removal operations) in which the end effector 28 handles the workpiece W while moving the end effector 28.

[0015] In this embodiment, the sensor 14 is a visual sensor that detects the workpiece W by imaging the workpiece W. Specifically, the sensor 14 is a three-dimensional visual sensor having an imaging sensor (CMOS, CCD, etc.) and an optical lens (collimating lens, focusing lens, etc.) that guides the subject image to the imaging sensor, and is configured to image the subject along the line of sight direction VL and to measure the distance d to the subject.

[0016] In this embodiment, the sensor 14 is fixed at a predetermined position within the work cell so that the workpiece W can be contained within its field of view. The sensor 14 images the workpiece W and acquires the image data of the workpiece W as detection data DD. Details of the detection data DD will be described later.

[0017] As shown in Figure 1, the robot 12 is configured with a robot coordinate system (or world coordinate system) C1 and a tool coordinate system C2. The robot coordinate system C1 is a control coordinate system for automatically controlling the movement of the robot 12's moving components (swivel torso 20, forearm 22, upper arm 24, wrist 26, and wrist flange 26b). In this embodiment, the robot coordinate system C1 is configured on the robot base 18 such that its origin is located at the center of the robot base 18 and its z-axis coincides with the rotation axis of the swivel torso 20.

[0018] On the other hand, the tool coordinate system C2 is set relative to the end effector 28 and defines the position of the end effector 28 in the robot coordinate system C1. In this embodiment, the tool coordinate system C2 is set relative to the end effector 28 such that its origin is located at the midpoint of the multiple claw portions 28b, its x-axis direction is parallel to the opening and closing direction of the claw portions 28b, and its z-axis direction is parallel to the extending direction of each claw portion 28b.

[0019] Furthermore, the sensor 14 is configured with a sensor coordinate system C3. The sensor coordinate system C3 defines the position of the sensor 14 in the robot coordinate system C1 (i.e., the line of sight direction VL), and also defines the coordinates of each pixel in the image data (or imaging sensor) captured by the sensor 14. In this embodiment, the sensor coordinate system C3 is configured on the sensor 14 such that its origin is located at the center of the imaging sensor, and its z-axis direction is parallel to (specifically coincides with) the line of sight direction VL of the sensor 14.

[0020] As shown in Figure 2, the control device 16 is a computer having a processor 32, memory 34, I / O interface 36, display device 38, and input device 40. The processor 32 has a CPU or GPU, and is connected to the memory 34, I / O interface 36, display device 38, and input device 40 via a bus 42 so as to be communicative. While communicating with these components, it performs calculation processing to realize the operation verification function described later.

[0021] The memory 34 has RAM or ROM, etc., and stores various data temporarily or permanently. The I / O interface 36 has, for example, an Ethernet® port, a USB port, an optical fiber connector, or an HDMI® terminal, and communicates data with external devices via wired or wireless connection under the command of the processor 32. In this embodiment, the I / O interface 36 is connected to the sensor 14 and each servo motor 30 in a communicative manner.

[0022] The display device 38 has a liquid crystal display or an organic EL display, etc., and displays various data in a visible manner under commands from the processor 32. The input device 40 has push buttons, a keyboard, a mouse, or a touch panel, etc., and receives input data from the operator.

[0023] When the robot 12's moving components (swivel torso 20, forearm 22, upper arm 24, wrist 26, and wrist flange 26b) position the end effector 28 to a predetermined position, the processor 32 first sets the tool coordinate system C2 representing the predetermined position to the robot coordinate system C1.

[0024] The processor 32 then generates commands to each servo motor 30 to position the end effector 28 at a location defined by the set tool coordinate system C2, and moves the end effector 28 by operating the robot 12's movement components in accordance with these commands. In this way, the processor 32 can position the end effector 28 at any location in the robot coordinate system C1. In this paper, "position" may refer to both position and orientation.

[0025] Next, the operation of the industrial machine 10 when performing work on the workpiece W (specifically, workpiece handling work) will be described. The industrial machine 10 performs work on the workpiece W by executing a pre-created operation program OP. The operation program OP includes multiple commands CM that cause the industrial machine 10 (i.e., the robot 12, sensor 14, and control device 16) to perform multiple actions, one by one. Each command CM is written using multiple letters, numbers, or symbols (a so-called code).

[0026] In this embodiment, the operation program OP includes a first operation program OP1 that controls the operation of acquiring detection data DD by the sensor 14, and a second operation program OP2 that defines the main operation flow of the robot 12, sensor 14, and control device 16 when performing work handling operations.

[0027] The first operation program OP1 includes an instruction CM1 that causes the sensor 14 to perform an operation for detecting detection data DD by imaging the workpiece W i and an instruction CM1 that causes the control device 16 to perform an operation for calculating a correction amount CA for correcting the operation of the robot 12 when performing a workpiece handling operation using the detection data DD i+1 and includes them.

[0028] On the other hand, the second operation program OP2 includes a plurality of instructions CM2 that cause the robot 12 to perform a series of operations for a workpiece handling operation based on the detection data DD detected by executing the first operation program OP1 j and includes them. An example of the second operation program OP2 is shown in FIG. 3.

[0029] In the example shown in FIG. 3, the second operation program OP2 includes various instructions CM2 shown in the first to 100th lines j (j = 1, 2, 3, ···, n, n + 1, n + 2, n + 3, ··· 100). After the start of the second operation program OP2 (the instruction CM21 in the first line: "START"), the processor 32 of the control device 16 reads and executes the instructions CM2 in the first to 100th lines j in order to execute a series of operations for a workpiece handling operation.

[0030] Hereinafter, the operation of the industrial machine 10 when executing the instructions CM2 in the nth to n + 3rd lines in FIG. 3 n , CM2 n+1 , CM2 n+2 , and CM2 n+3 for a workpiece handling operation will be described. When the processor 32 reads the instruction CM2 n : "VISION DETECTION [A]" in the nth line, it causes the sensor 14 to perform an operation for detecting detection data DD.

[0031] Here, the instruction CM2 nThe string "VISION DETECTION" is the instruction code to initiate the detection of detection data DD, and the code "[A]" is the identification code to identify the type of first operation program OP1 to perform the detection of detection data DD.

[0032] Here, as the first operation program OP1, there are multiple first operation programs OP1 corresponding to the type of sensor 14 used or the operation to be performed by the sensor 14. A OP1 B OP1 C ...can be prepared in advance. Identification code "A" is the first operation program OP1 of type A among a plurality of first operation programs OP1. A This identifies the problem.

[0033] Processor 32 processes this instruction CM2 n When you read it, the first operating program OP1 A The first operating program OP1 is executed. A Instruction CM1 as defined in i Accordingly, a detection command is sent to the sensor 14. In response to the detection command, the sensor 14 images the workpiece W and detects the detection data DD.

[0034] An example of the detected data DD is shown in Figure 4. In the example shown in Figure 4, the detected data DD is 3D image data in which the visual features of the workpiece W (faces, edges, holes, or vertices, etc.) are displayed as a 3D point cloud. Each point constituting the 3D point cloud has the distance d information described above and can be represented as a 3D coordinate (X, Y, Z) in the sensor coordinate system C3.

[0035] The processor 32 of the control device 16 acquires detection data DD from the sensor 14 through the I / O interface 36. In other words, in this embodiment, the processor 32 functions as a detection data acquisition unit 44 (Figure 2) that acquires the detection data DD detected by the sensor 14.

[0036] Next, processor 32 processes the n+1th line instruction CM2 n+1 : "AC Q The instruction "UIRE VISION CORRECTION DATA [A] REGISTER [1]" (the first instruction) is read. Here, instruction CM2 n+1 Among them, "AC Q The code "UIRE VISION CORRECTION DATA [A]" is used to send a first operation program of type A, OP1, to processor 32. A Execute the instruction CM2 on the nth line. n This instruction code executes the operation to calculate the correction amount CA using the detection data DD obtained by executing the command. The code "REGISTER [1]" is a register code that represents the data storage location of the calculated correction amount CA.

[0037] Processor 32 processes this instruction CM2 n+1 When you read it, the first operating program OP1 A The first operating program OP1 is executed. A Instruction CM1 as defined in i+1 Accordingly, the correction amount CA is calculated using the detected data DD. Specifically, the processor 32 calculates the contour shape PF of the workpiece W as seen in the detected data DD shown in Figure 4. W The detected contour shape PF is determined by comparing it with a pre-taught reference contour shape PF0. W Next, a work model WM (e.g., 3D CAD data) that models the workpiece W is matched in the sensor coordinate system C3. The reference contour shape PF0 is the contour shape PF of the workpiece W as reflected in the detected data DD. W To detect this, it is taught in advance, for example, using a work model WM.

[0038] Then, the processor 32 processes the contour shape PF W Position data PD representing the position of the matched work model WM in the sensor coordinate system C3. S(Specifically, coordinates (X, Y, Z, W, P, R) representing position and orientation are acquired.) Then, the processor 32 uses a transformation matrix (for example, a homogeneous transformation matrix) that represents the known positional relationship between the robot coordinate system C1 and the sensor coordinate system C3 to obtain the acquired position data PD. S The position data PD of the robot coordinate system C1 R Convert to [the desired result].

[0039] This location data PD R This shows the position of the actual workpiece W detected by sensor 14 in the robot coordinate system C1. Then, the processor 32 processes the position data PD. R Based on this, a correction amount CA is calculated, which is the amount by which the robot 12 shifts the position where it positions the end effector 28 when performing a work handling operation from the pre-taught teaching position TP. This teaching position TP is expressed as coordinates in the robot coordinate system C1 and is pre-taught to the robot 12 as the target position for positioning the end effector 28 (i.e., setting the tool coordinate system C2) when performing a work handling operation.

[0040] Then, the processor 32 stores the calculated correction amount CA in memory area RG1, which is specified by the register code "REGISTER [1]". This memory area RG1 may be located in a register within the processor 32 or in memory 34. In this way, the processor 32 processes instruction CM2 n+1 This process calculates the correction amount CA and stores it in memory area RG1.

[0041] Next, processor 32 processes the n+2th line instruction CM2 n+2 : Read out the command "MOVE [TP] VISION CORRECTION REGISTER [1]" (second command). Here, command CM2 n+2 Among these, the code "MOVE [TP]" is an instruction code that causes the robot 12 to perform the action of moving the end effector 28 to the taught position TP.

[0042] Furthermore, the code "VISION CORRECTION REGISTER [1]" is an instruction code that causes the robot 12 to perform an operation to correct the position of the end effector 28 according to the correction amount CA stored in the memory area RG1 specified by "REGISTER [1]" when the robot 12 moves the end effector 28 to the teaching position TP.

[0043] Processor 32 processes this instruction CM2 n+2 When the data is read, the processor 32 sends commands to each servo motor 30 of the robot 12, correcting the robot 12's movement so that it moves the end effector 28 from the taught position TP to a position TP' shifted by a correction amount CA. In this way, the processor 32 controls the robot 12's movement of the end effector 28 based on the detected data DD.

[0044] Next, processor 32 processes the n+3th instruction CM2 n+3 : Reads "ACTIVATE END EFFECTOR". This command CM2 n+3 This is an instruction code that activates the end effector 28 and causes the robot 12 to perform the action of gripping the workpiece W with the end effector 28. Therefore, the processor 32 processes this instruction CM2 n+3 When the signal is read, the end effector 28 is activated to grip the workpiece W.

[0045] Processor 32 processes the instructions CM2 from line n to line n+3. n CM2 n+1 CM2 n+2 , and CM2 n+3 This is repeatedly executed for multiple workpieces W, and the first operation program OP1 A Accordingly, the sensor 14 receives detection data DD1, DD2, DD3...DD for each workpiece W. m It detects and functions as a detection data acquisition unit 44, and the first operation program OP1 A Detection data DD detected during execution m(m=1,2,3,···) is obtained as historical data HS.

[0046] In this historical data HS, the detection data DD acquired from sensor 14 is included. m Along with, detection data DD m Detection time t, indicating the time of detection, and detection data DD. m Location data PD obtained using R_m The first operating program used was OP1 A Identification information i (e.g., identification code "A"), and detection data DD m Detection result information RS m However, the detection dataset DS m It is stored in chronological order.

[0047] Detection result information RS m For example, detection data DD m Contour shape PF of workpiece W detected from W The score α represents the degree of agreement with the pre-programmed reference contour shape PF0. m , detection data DD m The contrast of the image β m , and detection data DD for the reference contour shape PF0 m The outline shape PF that is reflected W Distortion γ m Includes the above. Detection dataset DS stored in historical data HS. m (Detected data DD) m Detection time t, location data PD R_m Identification information i, score α m , contrast β m , distortion γ m An example of image data obtained by converting ) into an image is shown in Figure 5.

[0048] Figure 5 shows the detection dataset DS. m Based on this, setting image data ID1 is shown for setting the operating parameter PR of the industrial machine 10. The setting of the operating parameter PR will be described later. In the example shown in Figure 5, setting image data ID1 is the detected data DD mThe detection data image area 50 that displays the three-dimensional point group image, and the position data PD R_m (X m , Y m , Z m , W m , P m , R m ) The position data image area 52 that displays, and the detection result information RS m (Specifically, the score α m , the contrast β m , the distortion γ m ) The detection result image area 54 that displays, the identification information image area 56 that displays the identification information "PROGRAM [A]" of the first operation program OP1 A , and the data information image area 58 that displays various information of the detection data DD m . It includes.

[0049] In the example shown in FIG. 5, in the data information image area 58, the detection time t of the detection data DD m : "2021 / 11 / 01 12:30:44") and the coordinate system (in this embodiment, the robot coordinate system C1: "ROBOT") used for the acquisition of the position data PD R_m are displayed. The processor 32 can generate the setting image data ID1 that displays the detection data DD m stored in the history data HS and display it on the display device 38.

[0050] Here, in this embodiment, the processor 32 associates the instruction CM2 of the executed second operation program OP2 j with the detection data DD j used for the control of the operation executed by the instruction CM2 m . Specifically, the processor 32 obtains the specific information SI n for specifying the detection data DD m when obtaining the detection data DD m by executing the instruction CM2 in the nth row. m .

[0051] This specific information SI mThis includes, for example, the detection time t and identification information i mentioned above. Specific information SI m The detection data DD is determined by the detection time t and identification information i contained within it. m However, it is possible to determine which type of first operation program OP1 was used and at what time it was detected. Then, the processor 32 processes the instruction CM2 on the (n+1)th line. n+1 By executing this, the detected data DD m Using the correction amount CA m When calculating the correction amount CA m Specific Information SI m It is then attached and saved to memory area RG1.

[0052] This specific information system m (Detection time t, identification information i, etc.) are corrected by the correction amount CA m The detection data DD used in the calculation m The correction amount CA m This is information that is associated with the data, and this specific information SI m Through this, the processor 32 calculates the correction amount CA m Therefore, the correction amount CA m The detection data DD used in the calculation m This makes it possible to search for this information within the historical data (HS).

[0053] On the other hand, the instruction CM2 on the (n+1)th line n+1 (First instruction), and instruction CM2 on line (n+2) n+2 (Second instruction) and correction amount CA m This is associated via the register code "REGISTER [1]" mentioned above. In this way, the processor 32 calculates the correction amount CA m Specific Information SI m By adding this, instruction CM2 j (Specifically, instruction CM2 n+1 CM2 n+2 ) and detection data DD m The register code and the correction amount CA. m , and specific information SI mThey can be associated with each other in the data via this. That is, the processor 32 can associate instruction CM2 j and detected data DD m It functions as an association generation unit 46 (Figure 2) that associates these with each other.

[0054] Here, the instruction CM2, defined in the second operating program OP2, is defined on lines n to (n+3). n CM2 n+1 CM2 n+2 , and CM2 n+3 When the end effector 28 is executed to grip the workpiece W, malfunctions may occur in the operation of the industrial machine 10, such as the end effector 28 being unable to properly grip the workpiece W.

[0055] In this embodiment, the processor 32 functions as a detection data acquisition unit 44 and an associated data generation unit 46, and generates instructions CM2 of the second operation program OP2. j and detected data DD m Because these are related to each other, it becomes easier to verify the cause of malfunctions in the operation of the industrial machine 10. In other words, the detection data acquisition unit 44 and the related generation unit 46 constitute a device 60 (Figure 2) for verifying the operation of the industrial machine 10. This device 60 (detection data acquisition unit 44 and related generation unit 46) is a functional module realized, for example, by an operation program OP executed by the processor 32.

[0056] As described above, the detected data DD m The device 60 for verifying the operation of the industrial machine 10, whose operation is controlled based on the operation program OP (OP1, OP2), uses detection data DD detected by the sensor 14 when the operation program OP (OP1, OP2) is being executed. m The detection data acquisition unit 44 acquires the data, and the executed instruction CM2 j (Specifically, instruction CM2 n+1 and CM2 n+2 ) and the instruction CM2 j Detection data DD used to control the actions performed by m It includes a relationship generation unit 44 that associates these with each other.

[0057] According to this device 60, the operator can determine the command CM2 that caused the malfunction. j From there, the detection data DD used to control the operation m This makes it possible to search for the data. As a result, the detected data DD m By checking whether any false detections have occurred, the process of verifying the cause of malfunctions in the operation of the industrial machine 10 can be made easier.

[0058] Furthermore, in this embodiment, the detection data acquisition unit 44 acquires detection data DD detected during the execution of the operation program OP (OP1, OP2). m The detected data DD is stored as historical data HS in chronological order. m This configuration allows the operator to obtain multiple detection data DD each time they perform a work handling operation on multiple workpieces W. m This data can be stored in a searchable format as historical data (HS).

[0059] Furthermore, in this embodiment, the operation program OP issues an instruction CM1 that causes the sensor 14 to perform the operation of detecting detection data DD by imaging the workpiece W. i First operating program OP1 including A and the first operation program OP1 A The detection data DD was detected by executing this. m Based on this, command CM2 causes robot 12 to perform actions for work handling tasks. j (For example, instruction CM2 n+2 It has a second operating program OP2 which includes ).

[0060] Then, the related generation unit 46 generates the instruction CM2 included in the second operation program OP2. j And the instruction CM2 j Detection data DD used to control the actions performed by m They are related to each other. According to this configuration, the operator is the instruction CM2 defined in the second operation program OP2. j(For example, instruction CM2 n+1 or CM2 n+2 ) From the detection data DD used to control the operation in which the malfunction occurred m The detected data DD becomes searchable. m Based on this, it becomes possible to perform operational verification to determine the cause of the malfunction.

[0061] Furthermore, in this embodiment, the operation program OP (specifically, the second operation program OP2) uses the detected data DD m The first command CM2 causes the system to calculate a correction amount CA that corrects the movement of the industrial machine 10 (specifically, the robot 12) when performing work handling operations. n+1 And the first instruction CM2 n+1 The correction amount CA calculated by performing this operation m A second command CM2 corrects the operation of the industrial machine 10 (robot 12) accordingly. n+2 This includes the following. And the related generation unit 46 generates the correction amount CA m via the first instruction CM2 n+1 and the second instruction CM2 n+2 and detected data DD m They are related to each other.

[0062] More specifically, the first instruction CM2 n+1 and the second instruction CM2 n+2 This is the calculated correction amount CA m It includes the register code "REGISTER [1]" which represents the data storage location (i.e., memory area RG1). The related generation unit 46 then generates the correction amount CA m The detection data DD used in the calculation m Specific information SI m Obtain the register code and correction amount CA m , and specific information SI m via the first instruction CM2 n+1 and the second instruction CM2 n+2 and detected data DD m They are related to each other.

[0063] According to this configuration, the correction amount CAm When acquiring the correction amount CA m and detected data DD m and, specific information SI m It can be automatically associated via this, thereby command CM2 n+1 or CM2 n+2 and detected data DD m The register code and the correction amount CA. m , and specific information SI m This allows for automatic association via command CM2. n+1 or CM2 n+2 Detected data DD m This allows for automatic searching, making it easier to verify the operation of the industrial machine 10.

[0064] Next, with reference to Figures 6 and 7, an industrial machine 70 according to another embodiment will be described. The industrial machine 70 differs from the industrial machine 10 described above in that it further includes a teaching device 72. The teaching device 72 teaches the robot 12 the actions necessary to perform work on the workpiece W (in this embodiment, workpiece handling work).

[0065] Specifically, the teaching device 72 is a portable computer, such as a teaching pendant or a tablet terminal, and includes a processor 74, memory 76, I / O interface 78, display device 80, and input device 82. The configuration of the processor 74, memory 76, I / O interface 78, display device 80, and input device 82 is the same as that of the processor 32, memory 34, I / O interface 36, display device 38, and input device 40 described above, so redundant explanations will be omitted.

[0066] The processor 74 is communicatively connected to the memory 76, I / O interface 78, display device 80, and input device 82 via the bus 84, and performs arithmetic processing to realize the teaching function while communicating with these components. The I / O interface 78 is communicatively connected to the I / O interface 36 of the control device 16. The display device 80 and input device 82 may be integrated into the housing of the teaching device 72, or they may be attached externally to the housing of the teaching device 72 as separate components.

[0067] The processor 74 is configured to send commands to the servo motors 30 of the robot 12 via the control device 16 in response to input data to the input device 82, and to make the robot 12 perform a jog motion according to the commands. The operator teaches the robot 12 an action for work handling (for example, an action to position the end effector 28 to a taught position TP) by operating the input device 82, and the processor 74 generates an action program OP (for example, a second action program OP2) based on data such as the taught position TP obtained as a result of the teaching.

[0068] Next, the operation of the industrial machine 70 will be described with reference to Figure 8. The flow shown in Figure 8 is started when the processor 32 of the control device 16 receives a work start command from the operator, the operation program OP (second operation program OP2), or the higher-level controller. In step S1, the processor 32 of the control device 16 starts the operation program OP. Specifically, the processor 32 reads the instruction CM21 "START" on the first line of the second operation program OP2 and starts the second operation program OP2.

[0069] In step S2, the processor 32 operates the sensor 14 to detect the workpiece W. Specifically, the processor 32 operates the instruction CM2 on the nth line of the second operation program OP2 as described above. n : Read "VISION DETECTION [A]", and execute the first operating program OP1 ABy executing this, detection data DD of the workpiece W is captured. m This is detected by sensor 14.

[0070] The processor 32 functions as a detection data acquisition unit 44 and acquires detection data DD from the sensor 14. m In addition to obtaining the above-mentioned detection time t and location data PD, R_m Identification information i, and detection result information RS m (Score α) m , contrast β m , distortion γ m ) obtain the detection dataset DS m This is stored in the history data HS and saved in memory 34.

[0071] In step S2, the processor 32 generates the detected data DD m When the detected data DD is obtained, m Score α m However, it is smaller than a predetermined threshold α0 (α m It may also be determined whether or not <α0). Then, the processor 32 determines α m If <α0, the acquired detection data DD m This setting is disabled, and the sensor 14 is made to image the workpiece W again, generating new detection data DD. m_2 You may obtain this threshold α0, which is the detected detection data DD. m The lower limit of the score α for which the result is valid is predetermined by the operator.

[0072] In step S3, the processor 32 calculates the correction amount CA. m The processor calculates the n+1th instruction CM2 of the second operation program OP2, as described above. n+1 AC Q Read "UIRE VISION CORRECTION DATA [A] REGISTER [1]" and retrieve the detected data DD m Based on this, the position data PD of the workpiece W in the robot coordinate system C1. R_m Obtain the location data PD R_mBased on this, the correction amount CA corrects the movement of the robot 12 to move the end effector 28 to the teaching position TP. m Calculate.

[0073] In step S4, the processor 32 executes instruction CM2 j and detected data DD m The two are associated with each other. Specifically, the processor 32 functions as an association generation unit 46 and, as described above, the correction amount CA calculated in the most recent step S3 m , Specific Information System Integration m (Detection time t, identification information i, etc.) are attached, and the correction amount CA m It is stored in memory area RG1. This allows the instruction CM2 j (For example, instruction CM2 n+1 and CM2 n+2 ) and detection data DD m The register code and the correction amount CA are used. m , and specific information SI m They are related to each other through this process.

[0074] Furthermore, if the capacity of memory area RG1 is small (for example, if memory area RG1 is located in a register within processor 32), processor 32 will store the correction amount CA that was previously stored in memory area RG1. m-1 and specific information SI m-1 The newly calculated correction amount CA m and specific information SI m It may be updated to the latest correction amount CA. That is, in this case, the latest correction amount CA m and specific information SI m Only that will be stored in memory area RG1.

[0075] In step S5, the processor 32 executes the operation on workpiece W. Specifically, the processor 32 executes the instruction CM2 on the (n+2)th line of the second operation program OP2, as described above. n+2The instruction "MOVE [TP] VISION CORRECTION REGISTER [1]" is read, and the end effector 28 is moved to position TP', which is shifted by the correction amount CA from the teaching position TP. Next, the processor 32 reads the instruction CM2 of the (n+3)th line. n+3 The command "ACTIVATE END EFFECTOR" is read, and the end effector 28 is activated to grip the workpiece W with the end effector 28.

[0076] In step S6, the processor 32 determines whether or not a malfunction has occurred in the operation of the industrial machine 70. As an example, after performing step S5, the operator visually checks whether the end effector 28 is properly gripping the workpiece W. If the end effector 28 is not properly gripping the workpiece W, the operator operates the input device 82 of the teaching device 72 (or the input device 40 of the control device 16) to provide the processor 32 with an input IP1 indicating that a malfunction has occurred in the operation of the industrial machine 70.

[0077] The processor 32 of the control device 16 determines YES if it receives input IP1 and proceeds to step S8, while it determines NO if it does not receive input IP1 (or if it receives input IP1' indicating that there is no malfunction in the operation of the industrial machine 70) and proceeds to step S7.

[0078] In step S7, the processor 32 determines whether it has completed the work (work handling work) for all workpieces W. For example, the processor 32 can determine whether it has completed all work from the second operation program OP2. If the processor 32 has completed all work, it determines YES and terminates the flow shown in Figure 8, while if there are still workpieces W that have not been worked on, it determines NO and returns to step S2. In this way, the processor 32 repeatedly executes steps S1 to S7 until it determines YES in step S6 or S7, and sequentially executes the series of operations in steps S1 to S7 for each of the multiple workpieces W.

[0079] On the other hand, if the result in step S6 is YES, in step S8, the processor 74 of the teaching device 72 executes the operation verification scheme. Step S8 will be explained with reference to Figure 9. In step S11, the processor 74 displays the operation program OP on the display device 80.

[0080] Specifically, the processor 74 processes each instruction CM2 of the second operation program OP2. j An operation verification image data ID2 is generated and displayed on the display device 80. An example of operation verification image data ID2 is shown in Figure 10. In the example shown in Figure 10, the operation verification image data ID2 is the instruction CM2 of the second operation program OP2. j It includes a program image area 86 for displaying the program, an instruction addition button image 88, and an operation verification button image 90.

[0081] In the operation verification image data ID2, the operator operates the input device 82 to execute one command CM2 displayed in the program image area 86. j It can be selected by clicking on the image. The instruction add button image 88 is the instruction CM2 selected in the program image area 86. j Add new code to the instruction CM2 j By deleting or modifying the code described in the instruction CM2, j This is for editing.

[0082] On the other hand, the operation verification button image 90 is the instruction CM2 selected in the program image area 86. j This is for verifying the actions performed. For example, suppose the operator confirmed in step S6 above that the end effector 28 had failed to grip the workpiece W properly.

[0083] In this case, the operator, for example, executes instruction CM2 of the second operation program OP2. j Among these, the command CM2 causes the end effector 28 to grip the workpiece W. n+3Command CM2 immediately preceding "ACTIVATE END EFFECTOR" n+2 It can be inferred that the malfunction lies in the operation of "MOVE [TP] VISION CORRECTION REGISTER [1]".

[0084] This command CM2 n+2 To verify the operation, the operator operates the input device 82 to input command CM2 in the program image area 86. n+2 "n+" represents 2 Clicking the code "" or "MOVE [TP] VISION CORRECTION REGISTER [1]" on the image will execute the command CM2 n+2 Select this option, and then click the operation verification button image 90 on the image.

[0085] Processor 74, through operational verification image data ID2, one instruction CM2 n+2 Selecting this option accepts an input IP2 to operate the operation verification button image 90. Thus, in this embodiment, the processor 74 accepts one instruction CM2 n+2 It functions as an input receiving unit 92 (Figure 7) that accepts an input IP2 to select.

[0086] In step S12, the processor 74 determines whether or not it has received the input IP2 described above. If the processor 74 has received the input IP2, it determines YES and proceeds to step S13; if it has not received the input IP2, it determines NO and proceeds to step S14.

[0087] In step S13, the processor 74 selects the instruction CM2 from the input IP2 received in step S12. n+2 DD associated with the detection data m It outputs the following. Specifically, processor 74 outputs instruction CM2 n+2 Referencing the register code "REGISTER [1]", and in cooperation with the control device 16, the latest correction amount CA stored in the memory area RG1 specified by the register code mThe processor 74 then searches for and retrieves the found correction amount CA. m Specific information SI attached to m (Referring to the detection time t and identification information i), the control device 16 cooperates to determine the specific information SI m Detection data DD identified by m This is searched within the historical data HS.

[0088] For example, the processor 74 sends a command to the control device 16, and the processor 32 of the control device 16 receives the correction amount CA stored in the control device 16 (for example, memory 34). m and detection data DD m Perform a search and find the correction amount CA m and the detected data DD m This may be obtained from the control device 16.

[0089] As another example, the processor 74 receives a correction amount CA from the control unit 16. m The historical data HS may also be acquired and stored in the memory 76 of the teaching device 72. Then, the processor 74 will acquire the acquired correction amount CA m Specific information SI m Detection data DD identified by m This can also be searched for in the history data HS stored in memory 76.

[0090] As described above, instruction CM2 j and detected data DD m Since they are associated with each other by the association generation unit 46, the processor 74 generates instructions CM2 n+2 Depending on the input IP2 selected, the instruction CM2 n+2 DD associated with the detection data m It can be searched automatically. In this embodiment, as described above, the detected data DD m This includes the detection time t and location data PD. R_m Identification information i, and detection result information RS m Along with the detection dataset DS mIt is stored in the history data HS. Therefore, in step S13, the processor 74 retrieves the detected data DD. m The detection dataset DS contains m Obtain it.

[0091] Processor 32 processes the acquired detection dataset DS m The image data is output. Specifically, processor 74 outputs the detection dataset DS m The system generates a setting image data ID1 (Figure 5) that displays the setting image data ID1. In other words, in this embodiment, the processor 74 functions as an image generation unit 94 (Figure 7) that generates the setting image data ID1.

[0092] At this time, the processor 74 executes the first operation program OP1 described above. A The configuration image data ID1 may be generated by executing the following. In this case, the first operating program OP1 A This is the instruction CM1, which causes the processor 74 to execute the operation of generating the configuration image data ID1. i+2 It also includes.

[0093] When generating the configuration image data ID1, the processor 74 generates the acquired detection dataset DS m This is output to the function of the image generation unit 94 (for example, the first operation program OP1 A Load the detection dataset DS into the system. m (In other words, detection data DD) m Detection time t, location data PD R_m Identification information i, score α m , contrast β m , distortion γ m Generates a setting image data ID1 with the image data of ) displayed.

[0094] Thus, in this embodiment, the processor 74 processes the detected data DD m (In this embodiment, the detection dataset DS mIt functions as a data output unit 96 (Figure 7) that outputs the instruction CM2 selected by the input IP2. n+2 DD associated with the detection data m The processor 74 searches for and outputs the data, generating the setting image data ID1 shown in Figure 5. The processor 74 then displays the generated setting image data ID1 on the display device 80.

[0095] In step S14, the processor 74 determines whether or not it has received an input IP3 to change the operating parameter PR0 of the industrial machine 70. The operating parameter PR0 includes, for example, the reference contour shape PF0 and the threshold α0 of the score α as described above. The operator can adjust the pre-set operating parameter PR0 (reference contour shape PF0 or threshold α0, etc.) by operating the input device 82 while viewing the setting image data ID1 displayed on the display device 80.

[0096] The processor 74 functions as an input receiving unit 92 and receives an input IP3 to change the operation parameter PR0 through the setting image data ID1. If the processor 74 receives input IP3, it determines YES and proceeds to step S15, while if it does not receive input IP3, it determines NO and proceeds to step S16.

[0097] In step S15, the processor 74 changes the operating parameter PR0. Specifically, the processor 74 changes the pre-set operating parameter PR0 (contour shape PF0, threshold α0, etc.) to a new operating parameter PR1 according to the input IP3. Thus, in this embodiment, the processor 74 functions as a parameter setting unit 98 (Figure 7) for setting the operating parameter PR.

[0098] In step S16, the processor 74 determines whether it has received an operation termination command from the operator, the operation program OP (second operation program OP2), or the higher-level controller. If the processor 74 has received an operation termination command, it determines YES and terminates step S8, thereby ending the flow in Figure 8. On the other hand, if the processor 74 has not received an operation termination command, it determines NO and returns to step S12.

[0099] As described above, in this embodiment, the processor 32 of the control device 16 functions as a detection data acquisition unit 44 and a related data generation unit 46, while the processor 74 of the teaching device 72 functions as an input receiving unit 92, an image generation unit 94, a data output unit 96, and a parameter setting unit 98. The control device 16 and the teaching device 72 work together to verify the operation of the industrial machine 70. Therefore, the detection data acquisition unit 44, the related data generation unit 46, the input receiving unit 92, the image generation unit 94, the data output unit 96, and the parameter setting unit 98 constitute the device 100 for verifying the operation of the industrial machine 70.

[0100] In this embodiment, the device 100 receives one instruction CM2 n+2 An input receiving unit 92 receives an input IP2 to select one instruction CM2, and an association generating unit 46 generates the single instruction CM2 according to the received input IP2. n+2 DD associated with the detection data m It includes a data output unit 96 that outputs [something].

[0101] In this configuration, the operator suspects that instruction CM2 is the cause of the malfunction. n+2 Simply by selecting the command CM2 n+2 Detection data DD used to control the actions performed by m This data is automatically acquired and can be viewed, for example, as setting image data ID1 (Figure 5). This significantly simplifies the process of verifying the operation.

[0102] Furthermore, in this embodiment, the device 100 further includes an image generation unit 94 that generates the set image data ID1, and the data output unit 96 generates the detected data DD m The image data (3D point cloud image data) is output to the image generation unit 94. The image generation unit 94 then generates the detection data DD m The image data displayed is used to generate the setting image data ID1 (Figure 5).

[0103] In this configuration, the operator receives the detection data DD displayed as the configured image data ID1. m By visualizing the detected data DD m This allows for easy verification of whether a false detection has occurred, thereby enabling more rapid investigation into the cause of malfunctions in the industrial machine 70.

[0104] Furthermore, in this embodiment, the input receiving unit 92 further receives an input IP3 through the set image data ID1 to change the operation parameter PR0 (reference contour shape PF0, threshold α0, etc.), and the device 100 further includes a parameter setting unit 98 that changes the preset operation parameter PR0 according to the input IP3.

[0105] According to this configuration, the operator can, for example, determine the cause of a malfunction in the operation of the industrial machine 70 using the detected data DD. m If a false detection occurs, the operating parameter PR can be adjusted to prevent such false detections from occurring. As a result, malfunctions in the operation of the industrial machine 70 can be suppressed.

[0106] In step S12 described above, the operator operates the input device 82 to input the command CM2 displayed in the program image area 86. n+1 AC Q The processor 74 may be given input IP2 to select "UIRE VISION CORRECTION DATA [A] REGISTER [1]". In this case as well, instruction CM2 n+1 and detected data DD mThe register code is "REGISTER [1]", and the correction amount is CA. m , and specific information SI m Since they are associated via this, the processor 74 functions as a data output unit 96 and detects data DD according to the input IP2. m It can search and output results.

[0107] In step S6 described above, the processor 32 may automatically determine whether or not a malfunction has occurred in the operation of the industrial machine 70 without receiving input IP1 from the operator. For example, the industrial machine 70 may further include a second sensor 14', and the processor 32 may determine whether or not a malfunction has occurred based on the detection data DD' from the second sensor 14'.

[0108] As an example, the second sensor 14' is a force sensor (for example, a 6-axis force sensor having multiple strain gauges) capable of detecting a force F applied to the robot 12, and is installed on any part of the robot 12 (for example, the wrist portion 26 or the claw portion 28b). When the end effector 28 grips the workpiece W in step S5 described above, the second sensor 14' detects the force F applied from the workpiece W to the robot 12 (wrist portion 26 or claw portion 28b) and supplies the detected force F data DD' to the control device 16.

[0109] As another example, the second sensor 14' may be a position sensor (e.g., a proximity switch or a linear scale, etc.) provided on the hand base 28a of the end effector 28 that detects the position P of the claw portion 28b. In this case, the second sensor 14' detects the position P of the claw portion 28b when the end effector 28 grips the workpiece W in step S5 described above, and supplies the detected position P data DD' to the control device 16.

[0110] As yet another example, if the end effector 28 is a robot hand having a suction part, the second sensor 14' may be a pressure sensor capable of detecting the pressure ρ generated in the suction part. In this case, when the end effector 28 grips the workpiece W in step S5 described above, the second sensor 14' detects the pressure ρ in the suction part and supplies the detected pressure ρ data DD' to the control device 16.

[0111] In step S6, the processor 32 determines that the detected value δ (for example, the value of force F, position P, or pressure ρ) shown in the detected data DD' is within a predetermined tolerance range [δ th1 ,δ th2 ] is located within (that is, δ th1 ≤δ≦δ th2 Determine whether or not this tolerance range [δ th1 ,δ th2 The threshold δ that defines ] th1 and δ th2 This is predetermined by the operator, based on a reference detection value δ0 (reference force F0, reference position P0, or reference pressure ρ0) detected by the second sensor 14' when the end effector 28 properly grips the workpiece W.

[0112] The processor 32 checks if the detected value δ is within the acceptable range [δ th1 ,δ th2 If it is within the ] range, it is judged as NO, while within the acceptable range [δ th1 ,δ th2 If it is outside the range, it is determined to be YES. In this way, the processor 32 can automatically determine whether or not a malfunction has occurred based on the detection data DD' of the second sensor 14'.

[0113] Note that the detection data DD output in step S13 m If, after checking, no malfunctions such as false detections are found, the operator operates the input device 82 to activate the operation program OP (i.e., the first operation program OP1). A The processor 74 may adjust the first or second operation program OP2). The processor 74 updates the operation program OP in response to the input for adjusting the operation program OP and stores it in memory 76.

[0114] In the above embodiment, specific information SI m However, the case where the detection time t and identification information i are included was described, however, the specific information SI m The detection data DD m This may include any information that can identify the subject. For example, specific information SI m Instead of the detection time t, the detection data DD m It may include a detection code c that is uniquely assigned to it.

[0115] Specifically, in step S2 described above, the processor 32 of the control device 16 processes the detected data DD m When the detected data DD is obtained, m A unique detection code c is assigned to the dataset DS. m Save it as such. This detection code c may be written as multiple letters, numbers, or symbols.

[0116] Then, in step S4 described above, the processor 32 functions as the related generation unit 46 and calculates the correction amount CA calculated in the most recent step S3. m , Specific Information System Integration m The detection code c is attached as such, and this corrects the amount CA m and detected data DD m The two are associated via detection code c. In this case, the processor 74 of the teaching device 72 functions as a data output unit 96 in step S13 described above, and the correction amount CA m Detection code c associated with the detection data DD m You can search for it.

[0117] Alternatively, specific information SI m Instead of the detection time t, it may include the order φ stored in the history data HS. For example, in the flow shown in Figure 8, when the third step S2 is executed, the processor 32 receives the detection data DD m When obtained, assign the order φ=3 and set the dataset DS mThis is stored in the history data HS. According to this order φ, the detection data DD stored in the history data HS m It can be identified.

[0118] Then, in step S4 described above, the processor 32 functions as the related generation unit 46 and calculates the correction amount CA calculated in the most recent step S3. m , Specific Information System Integration m The sequence φ is added, and this results in the correction amount CA. m and detected data DD m The two are associated via the sequence φ. In this case as well, the processor 74 of the teaching device 72 functions as a data output unit 96 in step S13 described above, and the correction amount CA m The detected data DD is located in the order φ attached to it. m You can search for it.

[0119] Furthermore, specific information SI m Instead of the above-mentioned order φ=3, the nth line instruction CM2 n (i.e., step S2), or the (n+1)th line instruction CM2 n+1 The number of times (i.e., step S3) is executed may be N. For example, in the flow shown in Figure 8, when step S2 or S3 is executed for the third time, the processor 32 generates specific information SI. m We obtained the number of iterations N=3 and used the dataset DS. m This is stored in the history data HS. Even after this count N=3, the detected data DD stored in the history data HS is still there. m It can identify specific information. m The detection data DD m Location data PD obtained using R_m It may also include the following.

[0120] Note that the detection data DD obtained in step S2 of Figure 8 is shown below. m In some cases, multiple workpieces W may be captured. In this case, the processor 32 detects the data DD mFor each workpiece W that appears in the image, the series of operations in steps S3 to S6 may be performed in order. For example, the detection data DD acquired in step S2 m Let's assume that the image shows a total of three workpieces, W1, W2, and W3.

[0121] In this case, after step S2, the processor 32 executes steps S3 to S6 for the first workpiece W1. Then, after step S6, in step S6' (not shown), the processor 32 processes the detected data DD m For all three workpieces W1, W2, and W3 shown in the image, determine whether steps S3 to S6 have been executed. If the result is YES, proceed to step S7.

[0122] On the other hand, if the processor 32 determines NO in step S6', it returns to step S3 and executes the series of operations from steps S3 to S6 on the second workpiece W2. In this way, the processor 32 retrieves the detected data DD. m The series of operations in steps S3 to S6 are executed sequentially on the first workpiece W1, the second workpiece W2, and the third workpiece W3, which are projected onto the image. With this configuration, the cycle time required to execute the flow shown in Figure 8 can be reduced.

[0123] In the above embodiment, the related generation unit 46 generates instruction CM2 j and detected data DD m The register code and the correction amount CA. m , and specific information SI m The case of associating via was described. However, the association generation unit 46 is not limited to this, and the instruction CM2 j and detected data DD m It is also possible to associate them solely through register codes.

[0124] For example, in step S4 described above, the processor 32 functions as the association generation unit 46 and acquires the detection data DD as the detection data acquisition unit 44. m (or, dataset DS) m ) to command CM2 jThe memory region RG1, specified by the register code contained within it, is stored directly.

[0125] This results in instruction CM2 j and detected data DD m The two can be associated via a register code. In this case, the processor 32 functions as a data output unit 96 in step S13 described above, and the instruction CM2 j Referencing the register code inside, the detection data DD stored in memory area RG1 m You can search for it.

[0126] Alternatively, the related generation unit 46 generates instruction CM2 j and detected data DD m It is also possible to directly associate them. For example, in step S4 described above, the processor 32 functions as an association generation unit 46 and the instruction CM2 j and detected data DD m Link data can be generated that directly links (for example, hyperlinks) the two elements within the data.

[0127] In the embodiments described above, the case where the sensor 14 is fixed in a predetermined position was described. However, the sensor 14 may be attached to any part of the robot 12 (for example, the wrist portion 26 or the end effector 28) and moved by the robot 12.

[0128] Furthermore, the flow shown in Figure 8 may be executed when performing work handling operations on the workpiece W in an actual manufacturing line, or it may be executed to experimentally perform work handling operations during the teaching phase in which the operator teaches the robot 12 the movements using the teaching device 72. By experimentally executing the flow shown in Figure 8 during the teaching phase, the operation parameters PR can be optimized in step S15 before actual operation on the manufacturing line.

[0129] Furthermore, the sensor 14 is not limited to a three-dimensional vision sensor, but may also be a two-dimensional camera. In this case, the industrial machine 10 or 70 may further include a distance sensor for measuring the distance d from the sensor 14 to the subject. The sensor 14 may also further include a processor, which may execute a first operation program OP1 to image the workpiece W and calculate a correction amount CA. In this case, the processor of the sensor 14 may perform the functions of the detection data acquisition unit 44 and the related generation unit 46 (i.e., the device 60 in Figure 2).

[0130] In the above-described embodiment, the end effector 28 is a robot hand capable of gripping the workpiece W, and the case where it performs workpiece handling operations on the workpiece W has been described. However, the end effector is not limited to this, and may perform any operation other than a robot hand, such as a laser processing head.

[0131] Hereinafter, such embodiments will be described with reference to Figures 11 and 12. The industrial machine 110 shown in Figures 11 and 12 comprises a robot 112, a sensor 114, a laser oscillator 116, a control device 16, and a teaching device 72. The robot 112 differs from the robot 12 described above in its end effector 118.

[0132] In this embodiment, the end effector 118 is a laser processing head that receives the laser light generated by the laser oscillator 116, focuses the laser light, and irradiates the workpiece W with it to perform laser processing on the workpiece W. The tool coordinate system C2 is set relative to the end effector 118 such that its origin is located at the laser light emission port of the end effector 118, and its z-axis is parallel to (specifically coincides with) the optical axis of the emitted laser light.

[0133] The laser oscillator 116 is a solid-state laser oscillator (e.g., a YAG laser oscillator or a fiber laser oscillator), or a gas laser oscillator (e.g., a carbon dioxide laser oscillator), etc., which generates laser light in response to commands from the control device 16 and supplies it to the end effector 118.

[0134] In this embodiment, the sensor 114 includes, for example, a photoelectric sensor that detects the optical characteristic value OV of the laser light generated by the laser oscillator 116. The optical characteristic value OV includes, for example, the intensity, power, or frequency of the laser light. The sensor 114 detects the optical characteristic value OV and supplies it to the control device 16 as detected data DD.

[0135] The processor 32 of the control device 16 controls the operation of the robot 112 and the laser oscillator 116 according to the operation program OP. In this embodiment, the operation program OP includes a first operation program OP3 which includes an instruction CM3 for the robot 112 to move the end effector 118, and a second operation program OP4 which includes an instruction CM4 for the laser oscillator 116 to perform an operation to generate laser light.

[0136] The processor 32 operates the robot 112 according to the first operation program OP3 to position the end effector 118 to the teaching position TP for performing laser processing on the workpiece W. The processor 32 also sends a command to the laser oscillator 116 according to the second operation program OP4 to cause the laser oscillator 116 to perform the operation of generating laser light.

[0137] The processor 32 functions as a detection data acquisition unit 44 and acquires the detection data DD" detected by the sensor 114 when the operation program OP is executed. Based on the detection data DD", the processor 32 controls the operation of the robot 112 and the laser oscillator 116.

[0138] For example, the first operation program OP3 is commanded CM3 to calculate a correction amount CA that corrects the operating speed of the robot 112 using the detected data DD. k(The first instruction) and an instruction CM3 that corrects the operating speed of the robot 112 according to the correction amount CA” calculated according to the instruction CM3 k include an instruction CM3 that corrects the operating speed of the robot 112 according to the correction amount CA” calculated according to the instruction CM3 k+1 (The second instruction).

[0139] On the other hand, the second operation program OP4 includes, for example, an instruction CM4 that calculates a correction amount CA” for correcting a command value of an optical characteristic value OV to be transmitted to the laser oscillator 116 using the detection data DD”. l (The first instruction) and the instruction CM4 l include an instruction CM4 that corrects the command value of the optical characteristic value OV according to the correction amount CA” calculated according to the instruction CM4 l+1 (The second instruction).

[0140] The processor 32 stores the detection data DD” acquired from the sensor 114 during the execution of the operation program OP in the memory 34 as history data HS”. Then, the processor 32 functions as an association generation unit 46 and associates the executed instruction CM3 k , CM3 k+1 , CM4 l or CM4 l+1 with the detection data DD” used for the control of the operation executed by the instruction CM3 k , CM3 k+1 , CM4 l or CM4 l+1 via the correction amount CA”.

[0141] For example, the instruction CM3 k , CM3 k+1 , CM4 l or CM4 l+1 may include a register code “REGISTER [1]” representing a data storage location (i.e., a memory area RG1) for storing the calculated correction amount CA” in the memory 34 (or a register of the processor 32).

[0142] Also, the processor 32 functions as an association generation unit 46 and adds specific information SI for specifying the detection data DD” to the calculated correction amount CA”. m”(Detection time t, identification information i, detection code c, order φ, number of times N, etc.) may be attached and stored in the memory area RG1. Thereby, the processor 32 executes the instruction CM3 k 、CM3 k+1 、CM4 l or CM4 l+1 and the detection data DD” can be associated via the register code, correction amount CA”, and specific information SI m ”.

[0143] Note that the processor 32 directly stores the detection data DD” in the memory area RG1 specified by the register code in the instruction CM3 k 、CM3 k+1 、CM4 l or CM4 l+1 to associate the instruction CM3 k 、CM3 k+1 、CM4 l or CM4 l+1 and the detection data DD” via only the register code. Alternatively, the processor 32 may directly associate the instruction CM3 k 、CM3 k+1 、CM4 l or CM4 l+1 and the detection data DD” on the data via link data or the like.

[0144] If a malfunction (e.g., processing defect) occurs in the operation of the industrial machine 110, the operator operates the input device 82 of the teaching device 72 to provide the processor 74 with an input IP2 for selecting one instruction CM3 k 、CM3 k+1 、CM4 l or CM4 l+1 included in the first operation program OP3 or the second operation program OP4 displayed on the display device 80.

[0145] The processor 74 functions as an input reception unit 92 to receive the input IP2 and functions as a data output unit 96 to output the instruction CM3 k 、CM3 k+1 、CM4 l or CM4l+1 The system searches for and outputs the detection data DD associated with the industrial machine 110. At this time, the processor 74 may function as an image generation unit 94 to generate setting image data ID 1" for setting the operating parameters PR" of the industrial machine 110, and may also function as a data output unit 96 to output the searched detection data DD" to the image generation unit 94.

[0146] In this case, the image generation unit 94 generates a setting image data ID 1" in which the image data of the detected data DD" is displayed. For example, the setting image data ID 1" may include a detection data image region 50" in which a graph showing the time-varying characteristics of multiple detection data DD" (intensity, power, or frequency of laser light) acquired in time series is displayed.

[0147] Furthermore, the processor 74 may function as an input receiving unit 92 to receive an input IP3 that changes the operation parameter PR" through the set image data ID1", and may function as a parameter setting unit 98 to change the pre-set operation parameter PR" according to the input IP3.

[0148] Thus, in the industrial machine 110, the processors 32 and 74 also have the functions of the device 100 (detection data acquisition unit 44, related generation unit 46, input reception unit 92, image generation unit 94, data output unit 96, and parameter setting unit 98), and the operator can verify the operation of the industrial machine 110 using the device 100.

[0149] In the embodiments described above, the case where the operation program OP has first operation programs OP1 and OP3 and second operation programs OP2 and OP4 was described. However, the invention is not limited to this, and the first operation program OP1 and the second operation program OP2 may be integrated into a single operation program OP. In this case, the single operation program OP may include instruction CM1 of the first operation program OP1 and instruction CM2 of the second operation program OP2. The same applies to the first operation program OP3 and the second operation program OP4.

[0150] In addition, in the industrial machine 70 or 110, the processor 74 of the teaching device 72 may perform the functions of the detection data acquisition unit 44, the related generation unit 46, the input reception unit 92, the image generation unit 94, the data output unit 96, and the parameter setting unit 98. In this case, all the functions of the device 100 will be implemented in the teaching device 72.

[0151] Alternatively, in the industrial machine 70 or 110, the processor 32 of the control device 16 may perform the functions of the detection data acquisition unit 44, the related generation unit 46, the input reception unit 92, the image generation unit 94, the data output unit 96, and the parameter setting unit 98. In this case, all the functions of the device 100 would be implemented in the control device 16.

[0152] In the embodiments described above, robot 12 or 112 is not limited to a vertical articulated robot, but may be any type of robot, such as a horizontal articulated robot or a parallel link robot. Furthermore, robots 12 and 112 may perform any operation other than work handling and laser processing. The present disclosure has been explained through the embodiments described above, but the embodiments described above do not limit the invention to the scope of the claims. [Explanation of Symbols]

[0153] 10,70,110 Industrial Machinery 12,112 robots 14,114 sensors 16 Control device 32.74 processors 44 Detection data acquisition unit 46 Related Generation Unit 60,100 equipment 72 Teaching device 92 Input Reception Section 94 Image generation unit 96 Data Output Section 98 Parameter Setting Section

Claims

1. A device for verifying the operation of an industrial machine whose operation is controlled based on sensor detection data, A detection data acquisition unit that acquires the detection data detected by the sensor when executing an operation program which includes a plurality of commands that cause the industrial machine to perform a plurality of the operations, The system comprises a relationship generation unit that associates the executed instruction with the detection data used to control the operation performed by the instruction, The aforementioned operating program, A first operation program including the command to cause the sensor, which is an industrial machine, to perform the operation of detecting the detection data by imaging the workpiece, The system includes a second operation program which includes an instruction to cause the robot, as an industrial machine, to perform the operation for a predetermined task on the workpiece, based on the detection data detected by executing the first operation program, The association generation unit is a device that associates the instruction included in the second operation program with the detection data used to control the operation for the predetermined task executed by the instruction.

2. The apparatus according to claim 1, wherein the detection data acquisition unit acquires the detection data as historical data in which the detection data detected during the execution of the operation program is stored in chronological order.

3. A device for verifying the operation of an industrial machine whose operation is controlled based on detection data from a sensor, A detection data acquisition unit that acquires the detection data detected by the sensor when executing an operation program which includes a plurality of commands that cause the industrial machine to perform a plurality of the operations, The system comprises a relationship generation unit that associates the executed instruction with the detection data used to control the operation performed by the instruction, The aforementioned operating program, A first command which causes the detection data to be used to calculate a correction amount for correcting the operation of the industrial machine, The system includes a second instruction that corrects the operation of the industrial machine according to the correction amount calculated by executing the first instruction, The association generation unit is a device that associates the first command or the second command with the detection data through the correction amount.

4. The first instruction or the second instruction includes a register code representing the data storage location of the calculated correction amount, The aforementioned related generation unit is Information is obtained that identifies the detection data used in calculating the correction amount. The apparatus according to claim 3, wherein the first instruction or the second instruction and the detection data are associated with each other via the register code, the correction amount, and the identifying information.

5. An input receiving unit that receives input to select one of the aforementioned commands, The apparatus according to any one of claims 1 to 4, further comprising: a data output unit that outputs the detection data associated with one command by the association generation unit in accordance with the selected input received by the input receiving unit.

6. The system further includes an image generation unit that generates setting image data for setting the operating parameters of the industrial machine, The data output unit outputs the image data of the detected data to the image generation unit. The apparatus according to claim 5, wherein the image generation unit generates the setting image data in which the image data of the detected data is displayed.

7. An apparatus for verifying the operation of an industrial machine whose operation is controlled based on detection data from a sensor, A detection data acquisition unit that acquires the detection data detected by the sensor when executing an operation program which includes a plurality of commands that cause the industrial machine to perform a plurality of the operations, A relationship generation unit that associates the executed instruction with the detection data used to control the operation performed by the instruction, An input receiving unit that receives input to select one of the aforementioned commands, A data output unit outputs the detection data associated with one instruction by the association generation unit in accordance with the selected input received by the input receiving unit, The system includes an image generation unit that generates setting image data for setting the operating parameters of the industrial machine, The data output unit outputs the image data of the detected data to the image generation unit. The image generation unit generates the setting image data in which the image data of the detected data is displayed. The input receiving unit further receives input to change the operation parameters through the setting image data, The apparatus further comprises a parameter setting unit that changes the pre-set operating parameters in accordance with the input to be changed.

8. An industrial machine comprising the apparatus described in any one of claims 1 to 7.

9. A method for verifying the operation of an industrial machine whose operation is controlled based on sensor detection data, The processor, When executing an operation program that includes multiple commands to cause the industrial machine to perform multiple operations, the detection data detected by the sensor is acquired. The executed instruction and the detection data used to control the operation performed by the instruction are associated with each other. The aforementioned operating program, A first operation program including the command to cause the sensor, which is an industrial machine, to perform the operation of detecting the detection data by imaging the workpiece, The system includes a second operation program which includes the command to cause the robot, as an industrial machine, to perform the operation for a predetermined task based on the detection data detected by executing the first operation program, A method by which the processor relates the instruction included in the second operation program and the detection data used to control the operation for the predetermined task executed by the instruction.

Citation Information

Patent Citations

  • Joint using anisotropic microcapsule

    JP1988054796A

  • Image processing method for industrial vision sensor

    JP1993012409A

  • Controller for robot

    JP1998260710A

  • Autonomous search system, operation terminal, mobile search device, and search control method

    JP2015080836A