Apparatus, control device, method, and computer program for managing a temperature of an imaging unit

A temperature management system for industrial machines maintains imaging unit temperature within a predetermined range, addressing temperature-induced accuracy issues in detection operations and improving precision.

DE112022007712T5Pending Publication Date: 2025-07-03FANUC LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
DE112022007712
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-11-07
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

The accuracy of detection operations in industrial machines is affected by the temperature fluctuations of the imaging unit, leading to image quality issues and reduced precision in workpiece detection.

Method used

A temperature management system that includes a temperature detection unit, a determination unit, and an adjustment unit to maintain the imaging unit's temperature within a predetermined allowable range by performing heating or cooling operations as needed, ensuring accurate detection processes.

Benefits of technology

The system effectively maintains imaging unit temperature within an optimal range, thereby enhancing the accuracy and reliability of detection operations in industrial machines.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

In an industrial machine that performs a detection operation for recognizing a workpiece based on image data obtained by imaging a workpiece with an imaging unit, there is a problem that the accuracy of the detection operation is affected by the temperature of the imaging unit. This device 100 includes: a temperature detection unit 56 that detects a temperature measured by a temperature sensor 16; a temperature determination unit 58 that determines whether or not the temperature detected by the temperature detection unit 56 is within an allowable range determined in advance to ensure the accuracy of the detection operation at the time of executing the work detection operation; and a temperature control unit that executes a warm-up operation to increase the temperature when the temperature determination unit 58 determines that the temperature is lower than the lower limit of the allowable range and a cooling operation to decrease the temperature when the temperature determination unit 58 determines that the temperature is higher than the upper limit of the allowable range.
Need to check novelty before this filing date? Find Prior Art

Description

Technical area

[0001] The present disclosure relates to an apparatus, a controller, a method, and a computer program configured to manage a temperature of an imaging unit of an industrial machine. State of the art

[0002] A method is known for adjusting the interval at which an imaging device performs an imaging operation depending on the temperature of the imaging device (e.g., PTL 1). Citation listPatent literature

[0003] PTL 1: JP 2013-251872 A Summary of the inventionTechnical problem

[0004] In an industrial machine configured to perform a detection operation for detecting a workpiece based on image data obtained by imaging the workpiece by an imaging unit, a problem has arisen that the accuracy of the detection operation is affected by the temperature of the imaging unit. Solution to the problem

[0005] According to one aspect of the present disclosure, an apparatus configured to manage a temperature of the imaging unit in an industrial machine that performs a detection operation to detect a workpiece based on image data of the workpiece imaged by an imaging unit and performs work on the detected workpiece includes: a temperature detection unit configured to detect a temperature measured by a temperature sensor; a temperature determination unit configured to determine whether or not the temperature detected by the temperature detection unit when the detection operation for the work is performed falls within an allowable range predetermined to ensure the accuracy of the detection operation;and a temperature adjustment unit configured to perform a heating operation to increase the temperature when the temperature determination unit determines that the temperature is lower than a lower limit of the allowable range, while performing a cooling operation to decrease the temperature when the temperature determination unit determines that the temperature is higher than an upper limit of the allowable range.; Brief description of the drawings [ Fig. 1] Fig. 1 is a schematic diagram of an industrial machine according to an embodiment. [ Fig. 2] Fig. 2 is a block diagram of the Fig. 1 shown industrial machine. [ Fig. 3] Fig. 3 is an enlarged view of a Fig. 1 imaging unit shown. [ Fig. 4] Fig. 4 is a flowchart showing an example of an operation of the Fig. 1 shows the industrial machine shown. [ Fig. 5] Fig. Figure 5 shows an example of image data of a workpiece imaged by an imaging unit. [ Fig. 6] Fig. 6 is a flowchart showing another example of the operation of the Fig. 1 shows the industrial machine shown. [ Fig. 7] Fig. Fig. 7 is a flowchart showing an example of the procedure of step S10 in Fig. 6 shows. [ Fig. 8] Fig. 8 is a block diagram showing another function of the Fig. 1 shows the industrial machine shown. [ Fig. 9] Fig. 9 is a flowchart showing an example of an operation of a Fig. 8 shows the industrial machine shown. [ Fig. 10] Fig. 10 is a block diagram showing another function of the Fig. 1 illustrated industrial machine. [ Fig. 11] Fig. 11 is a flowchart showing an example of an operation of a Fig. 10 shows the industrial machine shown. [ Fig. 12] Fig. 12 shows an example of an image of a result list. [ Fig. 13] Fig. 13 shows an example of a result detail image. [ Fig. 14] Fig. 14 shows an example of a result comparison image. [ Fig. 15] Fig. 15 is a block diagram showing another function of the Fig. 1 shows the industrial machine shown. [ Fig. 16] Fig. 16 is a flowchart showing an example of an operation of a Fig. 15 shows the industrial machine shown. [ Fig. 17] Fig. 17 is a block diagram showing another function of the Fig. 1 illustrated industrial machine. [ Fig. 18] Fig. 18 is a flowchart illustrating an example of a warm-up scheme used by a Fig. 17 shown industrial machine. [ Fig. 19] Fig. 19 is a flowchart showing another example of the warm-up scheme of the Fig. 17 shows the industrial machine shown. Description of the embodiments

[0006] Embodiments of the present disclosure will be described in detail below with reference to the drawings. Note that in various embodiments described below, the same elements are denoted by the same reference numerals, and overlapping descriptions are omitted. With reference to the Fig. 1 to 3, an industrial machine 10 according to one embodiment is first described. The industrial machine 10 includes a robot 12, an imaging unit 14, a temperature sensor 16, and a controller 18.

[0007] In the present embodiment, the robot 12 is a vertically articulated robot comprising a robot base 20, a swing body 22, a lower arm 24, an upper arm 26, a wrist 28, and an end effector 30. The robot base 20 is mounted on the floor of a work cell or on an automated guided vehicle (AGV). The swing body 22 is rotatably mounted on the robot base 20 about a vertical axis. A proximal end portion of the lower arm 24 is rotatably mounted on the swing body 22 about a horizontal axis, and a proximal end portion of the upper arm 26 is rotatably mounted on a distal end portion of the lower arm 24.

[0008] The wrist 28 includes a wrist base 28a provided at a distal end portion of the upper arm 26 so as to be rotatable about two mutually orthogonal axes, and a wrist flange 28b provided on the wrist base 28a so as to be rotatable about a wrist axis A1. The end effector 30 is detachably attached to the wrist flange 28b. The end effector 30 includes, for example, a robot hand, a cutting tool, a laser processing head, or a welding torch, and performs predetermined work (such as workpiece handling, cutting, laser processing, or welding) on a workpiece W.

[0009] The robot base 20, the swivel body 22, the lower arm 24, the upper arm 26 and the wrist 28 are each equipped with a plurality of servo motors 32 ( Fig. 2). Upon a command from the controller 18, the servo motors 32 rotate the swivel body 22, the lower arm 24, the upper arm 26, the wrist base 28a, and the wrist flange 28b around drive shafts, thereby moving the end effector 30.

[0010] The imaging unit 14 images the workpiece W in response to a command from the controller 18. In the present embodiment, the imaging unit 14 is attached to the end effector 30 (or the wrist flange 28b) and is moved by the robot 12. As shown in Fig. 3, the imaging unit 14 comprises, in particular, a housing 34, a camera 36, an illumination device 38, and a processor 40. The housing 34 is hollow and houses electronic components such as the processor 40.

[0011] The camera 36 of the present embodiment is a two-dimensional camera capable of imaging two-dimensional image data and is housed in the housing 34. Specifically, the camera 36 includes an image sensor (CCD, CMOS, or the like), an optical lens (collimator lens, focus lens, or the like) that directs an object image onto the image sensor, a shutter that opens / closes an optical path of the object image incident on the image sensor, and the like, and images the object image (i.e., the workpiece W) along an optical axis A2.

[0012] The illumination device 38 includes an LED light, a halogen lamp, a fluorescent lamp, or the like, and is arranged in the housing 34 near the camera 36. When the camera 36 images the workpiece W, the illumination device 38 irradiates the workpiece W with light in response to a command from the controller 18. As described above, in the present embodiment, the camera 36 and the illumination device 38 are integrally integrated into the housing 34. The processor 40 includes, for example, an image processing processor (DSP, ISP, or the like) configured to perform image processing on the image data imaged by the camera 36 and to supply the acquired image data to the controller 18.

[0013] The temperature sensor 16 comprises a platinum temperature measuring resistor, a thermocouple, or the like and measures a temperature T of the imaging unit 14. In the present embodiment, the temperature sensor 16 is housed in the housing 34. However, the temperature sensor 16 can be arranged on any component of the imaging unit 14, e.g., on the camera 36 (in particular, the image sensor or the optical lens), the illumination device 38, or the processor 40. The temperature sensor 16 provides the measured temperature T data to the controller 18.

[0014] As in Fig. 2, the controller 18 controls the operation of the robot 12 and the imaging unit 14. In particular, the controller 18 is a computer including a processor 42, a memory 44, an I / O interface 46, and a clock 48. The processor 42 includes a CPU, a GPU, or the like, is connected to the memory 44, the I / O interface 46, and the clock 48 via a bus 50, and performs arithmetic processing to enable a temperature management function described later while communicating with these components.

[0015] The memory 44 includes a RAM, a ROM, or the like, and temporarily or permanently stores various types of data. The memory 44 may be a non-transitory, computer-readable recording medium, such as a semiconductor memory, a magnetic recording medium, or an optical recording medium. The I / O interface 46 includes, for example, an Ethernet port (registered trademark), a USB port, an optical fiber port, or an HDMI port (registered trademark), and communicates with the external device wired or wirelessly upon command from the processor 42. In the present embodiment, the imaging unit 14, the temperature sensor 16, and each of the servo motors 32 are communicatively connected to the I / O interface 46. Upon a command from the processor 42, the clock part 48 clocks an elapsed time t from a certain time.

[0016] The controller 18 is equipped with a display device 52 and an input device 54. The display device 52 comprises a liquid crystal display, an organic EL display, or the like, and visibly displays various types of data upon command from the processor 42. The input device 54 comprises a push button, a switch, a keyboard, a mouse, a touch pad, or the like, and receives data input from an operator. The display device 52 and the input device 54 can be integrated into a housing of the controller 18 or can be embodied as a computer (e.g., a PC) with a housing separate from the housing of the controller 18 and connected to the I / O interface 46.

[0017] As in Fig. 1, a robot coordinate system (or a world coordinate system) C1 and a tool coordinate system C2 are set for the robot 12. The robot coordinate system C1 is a coordinate system for controlling the operations of the movable components (i.e., the swing body 22, the lower arm 24, the upper arm 26, and the wrist 28) of the robot 12. In the present embodiment, the robot coordinate system C1 is set for the robot base 20 so that the origin is located at the center of the robot base 20 and the z-axis coincides with a swing shaft of the swing body 22.

[0018] On the other hand, the tool coordinate system C2 is set for the end effector 30 and determines the position of the end effector 30 in the robot coordinate system C1. In the present embodiment, the tool coordinate system C2 for the end effector 30 is set so that the origin (ie, the TCP) is located at a working position (e.g., a workpiece gripping position, a tool distal end point, a laser beam exit port, or a welding position) of the end effector 30, and the z-axis is parallel to (specifically, coincident with) a wrist axis A1.

[0019] When moving the end effector 30, the processor 42 of the controller 18 sets the tool coordinate system C2 in the robot coordinate system C1 and generates a command for each of the servomotors 32 of the robot 12 to position the end effector 30 at a position represented by the set tool coordinate system C2. In this way, the end effector 30 is positioned at any position in the robot coordinate system C1 by the operation of the robot 12.

[0020] On the other hand, a camera coordinate system C3 is defined for the camera 36 of the imaging unit 14, as in Fig. 3. The camera coordinate system C3 determines the position of the camera 36 in the robot coordinate system C1 (i.e., the coordinates of the optical axis A2) and also determines the coordinates of each pixel of the image data captured by the camera 36 (or the image sensor). In the present embodiment, the camera coordinate system C3 is two-dimensional and is set for the camera 36 such that the origin is located at the center of the image sensor of the camera 36.

[0021] In the industrial machine 10, the processor 42 of the controller 18 operates the imaging unit 14 to image the workpiece W and performs a detection operation DO to detect the workpiece W based on the image data ID of the imaged workpiece W. Then, the processor 42 operates the robot 12 to perform work (workpiece handling, cutting, laser processing, welding, or the like) on the workpiece W detected by the detection operation DO.

[0022] While the imaging unit 14 is operating, the temperature T of the imaging unit 14 fluctuates. Such a fluctuation in the temperature T affects the image quality of the image data ID imaged by the imaging unit 14. Specifically, for example, when the temperature T increases, distortion of the image sensor or the optical lens of the camera 36 occurs, or the amount of light from the illumination device 38 changes (e.g., increases). As a result, the distortion of the imaged image data ID or the brightness of the pixel may change.

[0023] If the image quality of the image data ID is deteriorated as described above, the accuracy of the detection process DO performed based on the image data ID may be reduced. Accordingly, in the present embodiment, the processor 42 manages the temperature T of the imaging unit 14 to ensure the accuracy of the detection process DO when performing work on the workpiece W. An operation flow of the industrial machine 10 will be described below with reference to Fig. 4 described.

[0024] The Fig. The process shown in Figure 4 begins when the processor 42 receives a command to start work from an operator, a host controller, or a computer program PG. In step S1, the processor 42 detects the temperature T of the imaging unit 14. Specifically, the processor 42 detects the temperature T data measured by the temperature sensor 16 at this time. In this way, the processor 42 functions as the temperature detection unit 56 ( Fig. 2) which is configured to detect the temperature T measured by the temperature sensor 16.

[0025] In step S2, the processor 42 determines whether the temperature T detected in the last step S1 falls within a permissible range [T th1 , T th2 ] falls or not. The admissibility range [T th1 , T th2] is predetermined to ensure the accuracy of the detection process DO performed in step S6 described below. A method for determining the admissible range [T th1 , T th2 ] will be described later. The data of a lower limit T th1 and an upper limit T th2 , which covers the admissibility range [T th1 , T th2 ] are stored in advance in the memory 44.

[0026] If the temperature T is within the permissible range [T th1 , T th2 ] falls (ie, T th1 ≤ T ≤ T th2 ), the processor 42 determines YES and proceeds to step S6. If, however, the temperature T is outside the permissible range [T th1 , T th2 ] (i.e. T < T th1 or T th2< T), the processor 42 determines NO and proceeds to step S3. As described above, in the present embodiment, the processor 42 functions as the temperature determination unit 58 ( Fig. 2), which is configured to determine whether the temperature T falls within the permissible range [T th1 , T th2 ] falls or not.

[0027] In step S3, the processor 42 acts as a temperature determination unit 58 and determines whether the temperature T detected in the last step S1 is higher than the upper limit value T th2 ] of the admissibility range [T th1 , T th2 ] or lower than the lower limit T th1 of the admissibility range [T th1 , T th2 ] or not. The processor 42 determines YES if the temperature T is higher than the upper limit T th2 (ie T th2< T), and proceeds to step S4. On the other hand, the processor 42 determines NO if the temperature T is lower than the lower limit value T th1 (ie T < T th1 ), and proceeds to step S5.

[0028] In step S4, the processor 42 performs a cooling process CO to reduce the temperature T of the imaging unit 14. Specifically, the processor 42 activates the clock part 48 to start timing an elapsed time t1 from the start time of step S4. The processor 42 may activate the clock part 48 at the start time or the end time of the above-mentioned step S1 to clock the elapsed time t1 from the start time or the end time thereof.

[0029] When the elapsed time t1, which is clocked by the clock part 48, exceeds a predetermined cooling time t th1 reaches, the processor 42 terminates step S4. For example, the cooling time t th1be predetermined by an operator as a required value. As another example, the processor 42 may determine the cooling time t th1 depending on the temperature T of the imaging unit 14. For example, a data table DT1 (or a diagram) is stored in advance in the memory 44. In the data table DT1, the temperature T of the imaging unit 14 and the cooling time t th1 which is required to reduce the temperature T from to the upper limit T th2 ] or below, are stored in conjunction with each other. The data table DT1 is created in advance, for example, by an experimental procedure or a simulation performed by the operator.

[0030] If the processor 42 starts step S4 (or determines YES in step S3), the processor 42 can set the cooling time t corresponding to the temperature T th1by applying the temperature T detected in the last step S1 to the data table DT1. In this way, the processor 42 can determine the cooling time t th1 to be referred to in step S4, depending on the temperature T. The processor 42 can determine the cooling time t th1 as a function of the temperature T by performing a predetermined calculation using the temperature T and a heat dissipation parameter of the imaging unit 14 (e.g., the thermal conductivity of the housing 34).

[0031] Until the elapsed time t1 clocked by the clock part 48 reaches the cooling time t th1is reached, the processor 42 stops the operation of the components of the imaging unit 14 (i.e., the camera 36, the illumination device 38, and the processor 40). For example, the processor 42 stops the operation of each component (e.g., the processor 40) of the imaging unit 14 by stopping the command to the component.

[0032] At this time, processor 42 may continue to supply minimal power to at least one component of imaging unit 14. This configuration makes it possible to suppress power consumption in imaging unit 14, thereby reducing the temperature T of imaging unit 14 and maintaining various setting information temporarily stored in a memory (not shown) of imaging unit 14.

[0033] As another example, the processor 42 may stop the operation of any component of the imaging unit 14 by stopping the power supply to the component. Thus, the processor 42 may reduce the temperature T of the imaging unit 14 by stopping the operation of the imaging unit 14 for the predetermined cooling time t th1 stops.

[0034] Again with reference to Fig. 4, if the determination made in step S3 is NO, the processor 42 executes a heating process WO to increase the temperature T of the imaging unit 14 in step S5. As an example of the heating process WO, the processor 42 causes the camera 36 to simulate an imaging process IO. In the imaging process IO, the camera 36 may image the workpiece W or any object other than the workpiece W. Alternatively, the camera 36 may execute the imaging process IO in a state where the shutter is closed. In this case, a subject image of the shutter (i.e., a black image) is captured by the image sensor.

[0035] In the imaging process IO, the camera 36 may repeatedly image a predetermined number of images of the subject image or continuously image the subject image for a predetermined time (ie, moving image capture). The imaging conditions CDi (exposure time, shutter speed, resolution, sensitivity, etc.) when executing the imaging process IO may be completely identical to the imaging conditions CDi when the workpiece W is imaged in step S6 described later, or they may be at least partially different therefrom.

[0036] As another example of the heating process WO, the processor 42 causes the processor 40 integrated in the imaging unit 14 to execute a predetermined arithmetic processing CL. For example, the processor 40 executes the image processing CL1 as the arithmetic processing CL on the image data ID of the workpiece W acquired in step S6 ( Fig. 4) was mapped before step S5.

[0037] Within the scope of the image processing CL1, the processor 40 performs, for example, processing for detecting an edge or a contour of the workpiece W appearing in the image data ID, or processing for removing noise from the image data ID. As described above, by performing the image processing CL1 on the image data ID accumulated in the past using the heating process WO, the cycle time of the process can be reduced in Fig. 4 can be reduced.

[0038] The processor 40 may execute processing other than the image processing CL1 (or in addition to the image processing CL1) as the arithmetic processing CL. As described above, the processor 42 of the controller 18 causes the processor 40 of the imaging unit 14 to execute the arithmetic processing CL to operate the processor 40, thereby allowing the processor 40 to generate heat. As a result, the temperature T of the imaging unit 14 may be increased.

[0039] As another example of the heating process WO, the processor 42 executes an illumination process LO to turn on the illumination device 38. As a result, the illumination device 38 generates heat, which can increase the temperature T of the imaging unit 14. The illumination conditions CDI (power, illuminance, frequency, and the like) when the illumination process LO is executed may be completely identical to the illumination conditions CDI when the illumination process LO is executed in step S6 described later, or they may be at least partially different therefrom. For example, at least one of the illumination conditions CDI (e.g., power or illuminance) may be set larger in the heating process WO than in step S6.

[0040] The processor 40 may perform the heating process WO in step S5 (ie, the simulative imaging process IO, the arithmetic processing CL, or the illumination process LO) for a predetermined heating time t th2 Specifically, the processor 42 activates the clock part 48 to start timing a third elapsed time t3 from the start time of step S5. The processor 42 may activate the clock part 48 at the start time or the end time of the above-mentioned step S1 to clock the elapsed time t3 from the start time or the end time thereof.

[0041] If the elapsed time t3 clocked by the clock part 48 exceeds the predetermined warm-up time t th2 reaches, the processor 42 terminates step S5. For example, the warm-up time t th2 be predetermined by the operator as a required value. As another example, the processor 42 may set the warm-up time t th2depending on the temperature T of the imaging unit 14. For example, a data table DT2 (or a diagram) is stored in advance in the memory 44. In the data table DT2, the temperature T of the imaging unit 14 and the warm-up time t th2 which is required to bring the temperature T to the lower limit T th1 or more, stored in conjunction with each other.

[0042] The data table DT2 is created in advance, for example, by an experimental procedure or a simulation performed by the operator. When the processor 42 enters step S5 (or determines NO in step S3), the processor 42 can calculate the warm-up time t corresponding to the temperature T. th2 by applying the temperature T recorded in the last step S1 to the data table DT2.

[0043] As described above, in the present embodiment, when it is determined as a result of steps S2 and S3 that the temperature T is higher than the upper limit value T th2 ] of the admissibility range [T th1 , T th2 ], the cooling process CO to reduce the temperature T in step S4. On the other hand, if it is determined that the temperature T is lower than the lower limit value T th1 of the admissibility range [T th1 , T th2 ], the processor 42 executes the heating process WO to increase the temperature T in step S5. Thus, the processor 42 functions as a temperature adjustment unit 60 ( Fig. 2) which is configured to carry out the cooling process CO and the heating process WO.

[0044] In step S6, the processor 42 executes the detection operation DO configured to detect the workpiece W. Specifically, the processor 42 controls the robot 12 to position the imaging unit 14 at an imaging position IP1 where the workpiece W mounted on a jig J falls within the field of view of the camera 36. Subsequently, the processor 42 causes the illumination device 38 to perform the illumination operation LO to irradiate the workpiece W with light.

[0045] While the illumination device 38 is performing the illumination operation LO, the camera 36 is activated to perform the imaging operation IO to image the workpiece W. The processor 42 acquires the image data ID imaged by the imaging operation IO from the camera 36. An example of the image data ID acquired at this time is shown in Fig. 5. Each pixel of the image data ID is represented as a coordinate in the camera coordinate system C3.

[0046] Subsequently, the processor 42 detects the workpiece W included in the image data ID by matching a previously taught shape TS of the workpiece W with the image data ID. Then, the processor 42 acquires the coordinates Qc in the camera coordinate system C3 of a feature point (e.g., a center point) of the workpiece W in the detected image data ID.

[0047] The positional relationship between the camera coordinate system C3 and the robot coordinate system C1 (i.e., the tool coordinate system C2) is known through a calibration process CB described later. Thus, the coordinates of the camera coordinate system C3 and the coordinates of the robot coordinate system C1 can be determined by a known transformation matrix M cr (e.g. homogeneous transformation matrix or Jacobian matrix) are transformed into each other.

[0048] On the other hand, in the present embodiment, a distance d between the camera 36 arranged at the imaging position IP1 (ie, the origin of the camera coordinate system C3) and the workpiece W placed on the clamping device J is also known. The processor 42 determines, on the basis of the detected coordinates Qc in the camera coordinate system C3, the distance d and the transformation matrix M cr a position P (x, y, z) of the workpiece W in the robot coordinate system C1. The processor 42 thus executes the detection operation DO for detecting the workpiece W based on the image data ID and determines the position P of the workpiece W in the robot coordinate system C1 as the detection position P (x, y, z). Accordingly, the processor 42 functions as the detection operation execution unit 62 ( Fig. 2) which is configured to execute the detection operation DO.

[0049] In step S7, the processor 42 performs work on the workpiece W. More specifically, the processor 42 calculates a deviation amount δP from the teaching position P0 to the detection position P on the basis of the detection position P acquired in the last step S6 and a teaching position P0 taught in advance. The teaching position P0 is taught in advance together with the teaching form TS described above in a teaching process TP to be described later and stored in the computer program PG for the execution of Fig. 4 determined.

[0050] Then, the processor 42 corrects a command (e.g., a position command) to each servo motor 32 to position the end effector 30 (i.e., the TCP) to the gauge position P0 determined in the computer program PG based on the calculated deviation amount δP, and drives each servo motor 32 according to the corrected command. Thus, the processor 42 moves the end effector 30 through the operation of the robot 12 and performs work (work handling, cutting, laser processing, welding, or the like) on the workpiece W located at the detection position P by the end effector 30.

[0051] In step S8, the processor 42 determines whether the work has been completed on all workpieces W or not. If the determination is YES, the processor 42 terminates the Fig. 4, or returns to step S1 if the determination is NO. In this way, the processor 42 repeatedly loops from step S1 to step S8 until it determines YES in step S8.

[0052] As described above, in the present embodiment, the industrial machine 10 (more specifically, the processor 42 of the controller 18) executes the detection process DO for recognizing the workpiece W based on the image data ID obtained by imaging the workpiece W by the imaging unit 14 (step S6), and performs work on the recognized workpiece W (step S7). In this type of industrial machine 10, the processor 42 functions as the temperature detection unit 56, the temperature determination unit 58, the temperature adjustment unit 60, and the detection process execution unit 62, and manages the temperature T of the imaging unit 14. Accordingly, the temperature detection unit 56, the temperature determination unit 58, the temperature adjustment unit 60, and the detection process execution unit 62 constitute an apparatus 100 ( Fig. 2) configured to manage the temperature T of the imaging unit 14.

[0053] In the device 100, the temperature detection unit 58 determines whether the temperature T detected by the temperature detection unit 56 when performing the detection process DO (step S6) for the work (step S7) falls within the allowable range [T th1 , T th2 ] predetermined to ensure the accuracy of the detection process DO (step S2). If the temperature determination unit 58 determines that the temperature T is lower than the lower limit value T th1 of the admissibility range [T th1 , T th2 ] (ie, NO in step S3), the temperature adjusting unit 60 executes the heating process WO to increase the temperature T (step S5).

[0054] On the other hand, if the temperature determination unit 58 determines that the temperature T is higher than the upper limit value T th2 of the admissibility range [T th1 , T th2] (i.e., YES in step S3), the temperature adjustment unit 60 performs the cooling operation CO to reduce the temperature T (step S4). This configuration makes it possible to manage the temperature T of the imaging unit 14 when the detection operation DO is performed, so that the temperature T is close to the allowable range [T th1 , T th2 ] in which the accuracy of the detection process DO can be ensured. Accordingly, the accuracy of the detection process DO can be effectively ensured.

[0055] Furthermore, the temperature adjustment unit 60 in the device 100 causes the imaging unit 14 to simulate the imaging process IO as an example of the heating process WO. According to this configuration, it is possible to easily increase the temperature T of the imaging unit 14 without having to provide a separate heating device (e.g., a heater). As another example of the heating process WO, the temperature adjustment unit 60 causes the processor 40 integrated in the imaging unit 14 to execute the predetermined arithmetic processing CL.

[0056] When the processor 40 is caused to execute the above-described image processing CL1 as the arithmetic processing CL, the temperature T can be increased without using a heater, and the cycle time of the work can be reduced. As another example of the heating process WO, the temperature adjustment unit 60 turns on the illumination device 38 provided in the imaging unit 14. This configuration makes it possible to easily and reliably increase the temperature T of the imaging unit 14 without using a heater.

[0057] Further, in the apparatus 100, the temperature adjustment unit 60 reduces the temperature T by stopping the operation of the imaging unit 14 for the predetermined cooling time t th1as a cooling process CO. This configuration makes it possible to reduce the temperature T of the imaging unit 14 easily and reliably without providing a separate cooling device (e.g., a cooling fan).

[0058] In step S5 described above, the processor 42 may execute at least two (e.g., all) of the simulative imaging operations IO, the arithmetic processing CL, and the illumination operations LO of the illumination device 38 in parallel as the heating operation WO. A heating device (a heater or the like) may further be provided in the imaging unit 14, and the processor 42 may operate the heating device as the heating operation WO in step S5 to increase the temperature T of the imaging unit 14 by the heating device. The imaging unit 14 may further be provided with a cooling device (a cooling fan or the like), and the processor 42 may operate the cooling device as the above-described cooling operation CO in step S4 to decrease the temperature T of the imaging unit 14 by the cooling device.

[0059] Next, another example of the operation of the industrial machine 10 will be described with reference to the Fig. 6 and Fig. 7. In the Fig. 6 and Fig. The process shown in Figure 7 is the same as in , the process of Fig. 4, indicated by the same step number, and redundant description is omitted here. In the present embodiment, if the processor 42 determines NO in step S2, a temperature management scheme is executed in step S10.

[0060] As in Fig. 7, after starting step S10, the processor 42 executes the above-described steps S3 to S5 in sequence. After step S4 or S5, the processor 42 functions as a temperature detection unit 56 to detect the temperature T of the imaging unit 14 in step S11, as in step S1 described above. In step S12, as in step S2 described above, the processor 42 functions as a temperature determination unit 58 to determine whether the temperature T detected in the last step S11 falls within the allowable range [T th1 , T th2 ] falls or not. The processor 42 proceeds to step S6 in Fig. 6 if it determines YES, or it proceeds to step S13 if it determines NO.

[0061] In step S13, the processor 42 determines whether the third elapsed time t3 clocked by the clock part 48 exceeds a predetermined time limit t th3 (ie t3 ≥ t th3) or not. In the present embodiment, the processor 42 activates the clock part 48 at the start time of step S10 (ie, the time at which NO is determined in step S2), and the clock part 48 clocks the third elapsed time t3 from that time. The processor 42 may activate the clock part 48 at the start time or the end time of the above-described step S1 to clock the elapsed time t3 from that time.

[0062] If the processor 42 determines that the elapsed time t3, which is clocked by the clock part 48, exceeds the time limit t th3 reached (ie YES), the processor 42 proceeds to step S6 in Fig. 6. If NO is determined, the processor 42 returns to step S3. In this way, the processor 42 repeatedly executes a loop of steps S3 to S4 and S11 to S13 in Fig. 7 until it determines YES in step S12 or S13, so that it functions as a temperature adjusting unit 60 to perform the cooling process CO in step S4 or the heating process WO in step S5.

[0063] As described above, in the present embodiment, each time the temperature adjusting unit 60 executes the cooling operation CO (step S4) or the heating operation WO (step S5), the temperature determining unit 58 determines whether the temperature T falls within the allowable range [T th1 , T th2 ] or not (step S 12). If the temperature determination unit 58 determines that the temperature T falls within the allowable range [T th1 , T th2 ] falls (YES in step S12), the detection process execution unit 62 executes the detection process DO (step S6 in Fig. 6) for the work (step S7 in Fig. 6).

[0064] On the other hand, the detection operation execution unit 62 does not execute the detection operation DO for the work when it is determined that the temperature T is outside the allowable range [T th1 , T th2 ] (NO in step S12). This configuration makes it possible to perform the detection process DO in a state where the temperature T of the imaging unit 14 falls within the allowable range [T th1 , T th2 ], which ensures the accuracy of the detection process DO more reliably.

[0065] In the present embodiment, the detection operation execution unit 62 executes the detection operation DO for the work (step S6 in Fig. 6) when the elapsed time t3 clocked by the clock part 48 while the temperature determination unit 58 determines that the temperature T is outside the permissible range [T th1 , T th2] (NO in step S12), the predetermined time limit t th3 reached (determined YES in step S13). Here, an excessive increase in a cycle time tc of the flow in Fig. 6. By setting the time limit t described above th3 in the course of Fig. 7, an excessive increase in the cycle time tc can be prevented.

[0066] The processor 42 can set the time limit t th3 based on the target cycle time tc. In this case, the operator, for example, operates the input device 54 to enter the target cycle time tc. The processor 42 automatically determines the time limit t based on the entered cycle time tc. th3 . With this configuration, the time limit t th3 be optimized.

[0067] In the following, a procedure for determining the admissibility range [T th1 , T th2 ] with reference to the Fig. 1 and Fig. 8. Before executing the procedure in Fig. 4 or Fig. 6, the operator executes the teaching process TP for teaching the shape TS and the teaching position P0 of the workpiece W to detect the workpiece W through the detection process DO described above in step S6. The teaching process TP is described below. The operator can perform the teaching process TP described below using a teaching device (teach pendant or similar). The teaching is communicatively connected to the I / O interface 46 of the controller 18.

[0068] First, the operator places the workpiece W in the predetermined teaching position P0 using the clamping device J. Next, the operator issues a teaching command to the controller 18, for example, by operating the teaching device. In response to the teaching command, the processor 42 of the controller 18 controls the robot 12 to move the imaging unit 14 to the imaging position IP1.

[0069] Then, the processor 42 causes the illumination device 38 to perform the illumination operation LO to irradiate the workpiece W with light, and causes the imaging unit 14 to perform the imaging operation IO to image the workpiece W set at the gauge position P0. As a result, the image data ID is generated as shown in Fig. 5. The processor 42 displays the imaged image data ID on the display device 52 (or a display device of the gauges).

[0070] Next, while visually recognizing the image data ID displayed on the display device 52, the operator operates the input device 54 (or the input device of the gauge) to determine a contour useful for the detection operation DO among the contours of the workpiece W appearing in the image data ID (an edge or a surface of the workpiece W, a boundary between the workpiece W and the background, or the like), and inputs the controller 18 to mask out the contours unnecessary for the detection operation DO. Thus, the processor 42 of the controller 18 can recognize the gauge shape TS of the workpiece W.

[0071] Subsequently, the processor 42 detects the workpiece W appearing in the image data ID by comparing the taught shape TS with the imaged image data ID. Then, the processor 42 records the position P0 of the detected workpiece W in the robot coordinate system C1 as the teaching position P0 (x0, y0, z0). By executing such a teaching operation TP, the shape TS of the workpiece W and the teaching position P0 of the workpiece W are taught.

[0072] In the present embodiment, the temperature sensor 16 measures a temperature T1 (first temperature) of the imaging unit 14 when the imaging unit 14 executes the imaging operation IO for the teaching operation TP. For example, the temperature sensor 16 measures the temperature T1 immediately before, immediately after, or during the imaging unit 14 executes the imaging operation IO in the teaching operation TP. The processor 42 functions as the temperature detection unit 56 and detects the temperature T1 measured by the temperature sensors 16 during the teaching operation TP.

[0073] Then, based on the detected temperature T1, the operator determines the lower limit value T th1 and the upper limit T th2 ] of the admissibility range [T th1 , T th2 ]. For example, the operator sets the lower limit T th1 and the upper limit T th2 ] so that the relationship T th1 < T1 < T th2] is met. For example, the operator enters the lower limit value T via the input device 54 (or the input device of the gauge). th1 and the upper limit T th2 and the processor 42 detects the lower limit T th1 and the upper limit T th2 via the input device 54 and stores the recorded values in the memory 44.

[0074] Thus, the processor 42 detects the permissible range [T th1 , T th2 ]. Accordingly, the processor 42 functions as a permissible range detection unit 64 ( Fig. 8), which is configured to define the admissibility range [T th1 , T th2 ] to be recorded. After recording the admissibility range [T th1 , T th2 ] the processor 42 executes the process in Fig. 4 or Fig. 6 refers to the admissibility range [T th1 , Tth2 ] and executes step S2, S3 or S12.

[0075] As already mentioned, the processor 42 functions in the Fig. 8, the industrial machine 10 includes a temperature detection unit 56, a temperature determination unit 58, a temperature adjustment unit 60, a detection operation execution unit 62, and a permissible range detection unit 64 to manage the temperature T of the imaging unit 14. Accordingly, the temperature detection unit 56, the temperature determination unit 58, the temperature adjustment unit 60, the detection operation execution unit 62, and the permissible range execution unit 64 constitute a device 110 configured to manage the temperature T of the imaging unit 14.

[0076] In the present embodiment, the temperature detection unit 56 detects the first temperature T1 measured by the temperature sensor 16 when the imaging unit 14 executes the imaging process IO for the teaching process TP for teaching the shape of the workpiece W. Subsequently, the allowable range detection unit 64 detects the allowable range [T th1 , T th2 ] and stores the detected admissibility range in the memory 44.

[0077] According to this configuration, it is possible to set the admissibility range [T th1 , T th2] effectively, so that the accuracy of the detection process DO can be ensured. More specifically, the teaching shape TS and the teaching position P0 are taught based on the image data ID imaged by the imaging process IO in the teaching process TP. In a case where the temperature T of the imaging unit 14 can be brought close to the first temperature T1 measured in the imaging process IO of the teaching process TP when step S6 is executed, the accuracy of the detection process DO executed in the above-mentioned step S6 can be improved. Since the allowable range detecting unit 64 determines the allowable range [T th1 , T th2 ] is detected, the accuracy of the detection operation DO according to the present embodiment can be more effectively ensured.

[0078] Next, another method for determining the admissibility range [T th1 , T th2 ] with reference to the Fig. 1 and Fig. 8. Before executing the procedure in Fig. 4 or Fig. 6, the operator performs the calibration procedure CB to calibrate the imaging parameters PRi of the imaging unit 14. The operator can perform the calibration procedure CB described below using the teaching device described above.

[0079] First, the operator sets an index DX (not shown) for calibration at a known position in the robot coordinate system C1. The index DX comprises, for example, a dot pattern. The operator then issues a calibration command to the controller 18 by actuating the teach button, for example. In response to the calibration command, the processor 42 of the controller 18 controls the robot 12 to move the imaging unit 14 to an imaging position IP2 in which the index DX falls within the field of view of the camera 36.

[0080] Subsequently, the processor 42 causes the imaging unit 14 to perform the imaging process IO to image the index DX. As a result, image data ID' is acquired in which the index DX appears. Next, the processor 42 determines the respective parameters of the transformation matrix M based on the acquired image data ID'. crwhich represent the positional relationship between the robot coordinate system C1 and the camera coordinate system C3 as imaging parameter PRi.

[0081] Furthermore, the processor 42 determines, on the basis of the image data ID' as imaging parameters PRi, correction parameters for correcting distortions of the image data ID' caused by the distortion of an optical lens of the camera 36 or the like. By performing such a calibration process CB, the imaging parameters PRi (the parameters of the transformation matrix M cr , the correction parameters and the like).

[0082] In the present embodiment, the temperature sensor 16 measures a temperature T2 (first temperature) of the imaging unit 14 when the imaging unit 14 executes the imaging operation IO for the calibration operation CB. For example, the temperature sensor 16 measures the temperature T2 immediately before, immediately after, or during the execution of the imaging operation IO by the imaging unit 14 in the calibration operation CB. The processor 42 functions as the temperature detection unit 56 and detects the temperature T2 measured by the temperature sensors 16 during the calibration operation CB.

[0083] As in the teaching process TP described above, the operator determines the lower limit value T based on the detected temperature T2 th1 and the upper limit T th2 ] of the admissibility range [T th1 , T th2]. The processor 42 functions as an allowable range detection unit 64 to determine the allowable range [T th1 , T th2 ] and store the detected acceptance range in the memory 44. According to this configuration, the accuracy of the detection process DO can be more effectively ensured.

[0084] The following is a Fig. 8 shown industrial machine 10 executed work sequence with reference to Fig. 9. It should be noted that in the Fig. 9 the same processing as in the process of Fig. 4 is identified by the same step number, so redundant description is omitted. The processor 42 sets a number of error times "n" to "0" in step S21. The number of error times "n" indicates the number of times of determination of NO in step S2 in Fig. 9. After step S21, the processor 42 successively executes the steps S1 and S2 described above.

[0085] If the determination made in step S2 is NO, the processor 42 increases the number of error times "n" by "1" (n = n + 1) in step S22. In step S23, the processor 42 determines whether the number of error times "n" at this time exceeds a predetermined threshold value n. th (n = n th ) or not. The threshold n th is predetermined by the operator (e.g. n th = 100). The processor 42 proceeds to step S24 if it determines YES, or proceeds to step S3 if it determines NO, and sequentially executes the above-described steps S3 to S8.

[0086] In step S24, the processor 42 determines a recommended temperature Tr. If the determination made in step S23 is YES, this means that in step S2 n th(= 100) times it was repeatedly determined that the temperature T was outside the permissible range [T th1 , T th2 ] (i.e., NO). In this case, the cycle time tc of the work may increase.

[0087] For example, if the admissibility range [T th1 , T th2 ] is determined as described above in the teaching operation TP or the calibration operation CB, the above-mentioned temperature error message may occur because the temperature T1 or T2 detected in the teaching operation TP or the calibration operation CB is unreasonably low or high. In this case, re-executing the teaching operation TP or the calibration operation CB at a more appropriate temperature T can reduce the cycle time tc of the work while ensuring the accuracy of the detection operation DO.

[0088] Therefore, in the present embodiment, the processor 42 obtains the recommended temperature Tr in step S24 when the teaching process TP or the calibration process CB is executed again on the basis of a plurality of temperatures T obtained from Fig. 9. As an example, the processor 42 receives the temperature T detected in the m-th (e.g., m = 100) execution of step S1 as the recommended temperature Tr.

[0089] As another example, the processor 42 obtains, as the recommended temperature Tr, an average of the temperatures T collected a predetermined number of times during the execution of step S1. As another example, the processor 42 may multiply the temperatures T collected during the execution of step S1 m times by weighting coefficients and obtain a weighted average as the recommended temperature Tr. In this way, the processor 42 obtains the recommended temperature Tr based on the temperatures T collected in step S1 and stores the obtained recommended temperature Tr in the memory 44.

[0090] In step S25, the processor 42 outputs an alarm AL1 and the recommended temperature Tr determined in step S24. For example, the processor 42 generates the alarm AL1 with the wording "The temperature determination is often erroneous. It is recommended to perform the teaching operation or the calibration operation again." as image data or sound data.

[0091] Subsequently, the processor 42 outputs the generated alarm AL1 to the display device 52 or to a loudspeaker (not shown) provided in the controller 18. In this way, it is possible to notify the operator of the alarm AL1 by image or sound. The processor 42 displays the recommended temperature Tr determined in step S24 along with the alarm AL1 on the display device 52 (or outputs it via the loudspeaker). After step S25, the processor 42 ends the process in Fig. 9 (or proceed to step S6).

[0092] If the admissibility range [T th1, T th2 ] For example, if the recommended temperature Tr is determined based on the temperature T1 or T2 acquired in the teaching operation TP or the calibration operation CB, the operator can easily recognize that the temperature T1 or T2 may be inappropriate. In addition, the operator can recognize that the teaching operation TP or the calibration operation CB needs to be performed again and can automatically acquire the recommended temperature Tr when the teaching operation TP or the calibration operation CB is performed again. Note that step S24 in the flow of Fig. 9 can be omitted. In this case, the processor 42 can only output the alarm AL1 in step S25.

[0093] Steps S21 to S25 in Fig. 9 can also refer to the process in Fig. 6. For example, the processor 42, after the sequence in Fig. 6 was started, execute step S21 and steps S22 to S25 if the information in step S2 of Fig. 6 is NO. Alternatively, the processor 42 may execute steps S22 to S25 if the determination made in step S12 of Fig. 7 is NO. In step S24, which is executed in this case, the processor 42 can obtain the recommended temperature Tr based on the temperature T which is determined each time step S11 of Fig. 7 is executed.

[0094] In the step S25 described above, the processor 42 may propose a change to the computer program PG instead of issuing the alarm AL1 (or in addition to issuing the alarm AL1). For example, the computer program PG may generate a robot program PG1 for executing the sequence of Fig. 9 and a detection program PG2 for causing the imaging unit 14 to execute the detection process DO of step S6.

[0095] In this case, the processor 42 may propose to modify the robot program PG1 so that an instruction code for the additional execution of the cooling process CO or the heating process WO in the sequence of Fig. 9 is added (e.g., when the determination made in step S8 is NO). For example, the processor 42 may generate an alarm AL2 stating, "Temperature error determination occurs frequently. It is recommended to add a command code for the cooling operation or the heating operation to the robot program." and output the generated alarm to the display device 52 or the speaker. This allows the operator to automatically recognize the need to modify the robot program PG1 to avoid frequent temperature errors.

[0096] Next, another method for determining the admissibility range [T th1 , T th2 ] with reference to the Fig. 10 and Fig. 11. In the Fig. 10, the processor 42 of the controller 18 executes the sequence of Fig. 11 before the expiry of Fig. 4, Fig. 6 or Fig. 9 to determine the admissibility range [T th1 , T th2 ] to determine the process in Fig. 11 is started when the processor 42 receives a command to set the permissible range from the operator, the higher-level control system or the computer program PG. Before starting the process in Fig. 11 the operator places the workpiece W at the gauge position P0 using the clamping device J.

[0097] In step S31, the processor 42 determines whether or not the temperature T of the imaging unit 14 has reached a predetermined initial temperature T0. Specifically, the processor 42 functions as the temperature detection unit 56 and detects the temperature T of the imaging unit 14 measured by the temperature sensor 16 at that time. Then, the processor 42 determines whether or not the detected temperature T is equal to the initial temperature T0 (or whether or not the detected temperature T falls within a range determined based on the initial temperature T0). The initial temperature T0 is predetermined by the operator (e.g., T0 = 10°C or 60°C). The processor 42 proceeds to step S33 if it determines YES, or proceeds to step S32 if it determines NO.

[0098] In step S32, the processor 42 functions as the temperature adjustment unit 60 and adjusts the temperature T of the imaging unit 14. For example, if the determination made in the last step S31 is NO because the temperature T is lower than the initial temperature T0, the processor 42 executes the heating process WO described above. On the other hand, if the processor 42 determines NO in the last step S31 because the temperature T is higher than the initial temperature T0, the processor 42 executes the cooling process CO described above. After step S32, the processor 42 returns to step S31.

[0099] In contrast, the processor 42 functions as the temperature adjustment unit 60 and changes the temperature T of the imaging unit 14 in step S33 when the determination made in step S31 is YES. For example, when the initial temperature T0 is set to 10°C, the processor 42 increases the temperature T of the imaging unit 14 by performing the heating process WO described above. As another example, when the initial temperature T0 is set to 60°C, the processor 42 decreases the temperature T of the imaging unit 14 by performing the cooling process CO described above.

[0100] In step S34, the processor 42 functions as the temperature detection unit 56 to detect the temperature T of the imaging unit 14 as in step S1 described above. In step S35, the processor 42 determines, based on the temperature T detected in step S34, whether or not the temperature T of the imaging unit 14 has changed (i.e., increased or decreased) by a predetermined change amount δT by executing the final step S33.

[0101] The change amount δT is predetermined by the operator (e.g., δT = 5°C). The processor 42 proceeds to step S36 if it determines YES, or returns to step S33 if it determines NO. In this way, the processor 42 changes the temperature T of the imaging unit 14 by the predetermined change amount δT by executing a loop from step S33 to step S35.

[0102] In step S36, the processor 42 functions as the detection operation execution unit 62 and performs a trial of the detection operation DO. Specifically, the processor 42 positions the imaging unit 14 at the imaging position IP1 by the robot 12. Then, the processor 42 causes the illumination device 38 to perform the illumination operation LO to irradiate the workpiece W with light, and causes the imaging unit 14 to perform the imaging operation IO to image the workpiece W. The imaging conditions CDi when the imaging operation IO is performed or the illumination conditions CDl when the illumination operation LO is performed in step S36 may be completely identical to those in step S6 described above or at least partially different therefrom. As a result of the detection operation DO, the processor 42 obtains detection result parameters RD.

[0103] The detection result data RD includes, for example, the imaged image data ID and the detection result parameters PRr. The detection result parameters PRr are parameters related to the accuracy of the result of the detection process DO and may include, for example, a detection position P (x, y, z) of the workpiece W detected as a result of the detection process DO, as well as a score α, a contrast β, and a distortion γ of the image data ID. The score α indicates, for example, the degree of agreement between the shape of the workpiece W detected from the image data ID and the previously learned shape TS.

[0104] The processor 42 stores the acquired detection result data RD (the image data ID and the detection result parameters PRr) in the memory 44. The detection result parameters PRr may include all parameters related to the accuracy of the detection result DO, except for the detection position P, the evaluation α, the contrast β, and the distortion γ. For example, the detection result parameters PRr may also include a deviation amount δP between the detection position P and the previously learned teaching position P0.

[0105] The detection result data RD may include any data indicating a result of the detection process DO, except for the image data ID and the detection result parameters PRr. If the determination made in step S31 described above is YES, the detection process DO trial may be performed in the same manner as in step S36, and the detection result parameters RD at the initial temperature T0 may be further acquired.

[0106] In step S37, the processor 42 determines whether or not to terminate the detection process DO trial. For example, the operator optionally sets the initial temperature T0, the change amount δT, and a maximum temperature Tmax or a minimum temperature Tmin to change (increase or decrease) the temperature T of the imaging unit 14 from the initial temperature T0 (= 10°C or 60°C) to the maximum temperature Tmax (= 60°C) or to the minimum temperature Tmin (= 10°C) by the change amount δT (= 5°C), each through a loop from step S33 to step S37.

[0107] In this case, the operator can Fig. 11, operate the input device 54 to input the initial temperature T0, the change amount δT, and the maximum temperature Tmax or the minimum temperature Tmin. The processor 42 may determine YES in step S37 if the temperature T has reached the maximum temperature Tmax or the minimum temperature Tmin at the time the processor 42 determined YES in step S35.

[0108] The processor 42 proceeds to step S38 if it determines YES, or returns to step S33 if it determines NO. In this way, the processor 42 repeatedly executes the loop of steps S33 to S37 until the processor 42 determines YES in step S37. Each time the temperature T is changed by the change amount δT, the processor 42 executes the trial detection process DO in step S36 to acquire the detection result parameters RD.

[0109] In step S38, the processor 42 displays the result of the detection process DO performed in step S36 described above (ie, the detection result parameters RD). Specifically, the processor 42 generates a detection result image RI for displaying the detection result parameters RD and displays the generated image on the display device 52. Fig. 12 shows a result list image RI1 as an example of the detection result image RI.

[0110] The result list image RI1 displays, from the detection result data RD, the detection result parameters PRr (the detection position P, the score α, the contrast β, and the distortion γ) in list form for each temperature T at which the trial of the detection operation DO is performed. More specifically, the result list image RI1 includes an image area 70 indicating the temperature T, an image area 72 indicating the detection position P (x, y, z), an image area 74 indicating the score α, an image area 76 indicating the contrast β, and an image area 78 indicating the distortion γ. The operator can easily confirm the relationship between the temperature T at which the trial of the detection operation DO is performed in step S36 and the detection result parameters PRr by referring to the result list image RI1.

[0111] Fig. Figure 13 shows a result detail image RI2 as another example of the detection result parameter image RI. The result detail image RI2 shows details of the detection result parameters RD (the image data ID, the detection position P, the score α, the contrast β, and the distortion γ) at a certain temperature T (in the example of Fig. 13, T = 25°C). More specifically, the result detail image RI2 includes an image area 80 indicating the image data ID, the image area 72 indicating the detection position P (x, y, z), the image area 74 indicating the evaluation α, the image area 76 indicating the contrast β, and the image area 78 indicating the distortion γ. The operator can easily confirm the details of the result of the detection process DO at the specific temperature T by referring to the result detail image RI2.

[0112] Fig. Figure 14 shows a result comparison image RI3 as another example of the detection result parameter image RI. In the result comparison image RI3, the result detail images RI2 are shown at different temperatures T (15°C and 25°C in the example of Fig. 14) are shown side by side. Using the result comparison image RI3, the operator can compare and examine the details of the results of the detection processes DO at the different temperatures T. The result comparison image RI3 in Fig. 14 displays two result detail images RI2 at temperatures T of 15°C and 25°C side by side, but the result comparison image RI3 can display the result detail images RI2 at three or more temperatures T side by side.

[0113] The processor 42 can optionally display the result list image RI1 from Fig. 12, the result detail image RI2 from Fig. 13 or the result comparison image RI3 from Fig. 14 in response to an input operation performed by the operator on the input device 54. For example, if the result list image RI1 from Fig. 12 is displayed on the display device 52, the operator operates the input device 54 to select one of the temperatures T (or the detection result parameters PRr) in the result list image RI1 by clicking on the image. In response to this input operation, the processor 42 can display the result detail image RI2 ( Fig. 13) on the display device 52.

[0114] Further, the operator selects at least two of the temperatures T (or the detection result parameters PRr) in the result list image RI1 displayed on the display device 52 by clicking on the image with the input device 54. In response to this input operation, the processor 42 can display the result comparison image RI3 ( Fig. 14) corresponding to the selected plurality of temperatures T on the display device 52.

[0115] As described above, in the present embodiment, the processor 42 generates the detection result image RI (specifically, the result list image RI1, the result detail image RI2, and the result comparison image RI3) indicating the results (the detection result parameters RD) of the plurality of imaging operations DO repeatedly attempted in step S36. Accordingly, the processor 42 functions as the image generation unit 66 ( Fig. 10) which is configured to generate the detection result image RI.

[0116] Again referring to Fig. 11, the processor 42 determines in step S39 whether the lower limit value T th1 and the upper limit T th2 ] of the admissibility range [T th1 , T th2 ] have been entered or not. Here the operator can set the lower limit Tth1 and the upper limit T th2 ] of the temperature T, which may reduce the accuracy of the detection process DO, by examining the detection result parameters RD shown in the detection result image RI (the result list image RI1, the result detail image RI2, and the result comparison image RI3) displayed in step S38 described above.

[0117] By comparing the detection position P (x, y, z) displayed in the detection result image RI with the previously taught teaching position P0 (x0, y0, z0), the operator can, for example, detect a deviation of the detection position P from the teaching position P0 and thus recognize the relationship between the deviation and the temperature T. In addition, the operator can recognize the relationship between the temperature T and the point value α, the contrast β, and the distortion γ, which can affect the accuracy of the detection process DO.

[0118] The operator operates the input device 54 to set the lower limit value T th1 and the upper limit T th2 which were determined as a result of examining the detection result image RI. At this time, the processor 42 can generate an input image for inputting the lower limit value T th1 and the upper limit T th2 ] and display the generated input image on the display device 52, together with the detection result image RI (or by switching from the detection result image RI).

[0119] The processor 42 determines YES in step S39 and proceeds to step S41 if the input of the lower limit value T th1 and the upper limit T th2 is received, while the processor 42 proceeds to step S40 if NO is determined. In the present embodiment, the processor 42 thus functions as an input receiving unit 68 ( Fig. 10), which is configured to accept the input of the lower limit T th1 and the upper limit T th2 to receive.

[0120] In step S40, the processor 42 determines whether or not a trial execution command for re-executing the trial of the detection operation DO has been received from the operator. For example, the operator executes the trial detection operation DO while gradually increasing the temperature T from the initial temperature T0, which is 10°C, to the maximum temperature Tmax, which is 60°C, over the first time loop from step S31 to step S40.

[0121] Subsequently, the operator performs the trial detection process DO while gradually decreasing the temperature T from the initial temperature T0, which is 60°C, to the minimum temperature Tmin, which is 10°C, through the second time loop from step S31 to step S40. To execute the loop from step S31 to step S40 multiple times, the operator can instruct the processor 42 to trial execution in step S40. The processor 42 returns to step S31 if it determines YES, or returns to step S39 if it determines NO.

[0122] In step S41, the processor 42 determines the admissibility range [T th1 , T th2 ] by the lower limit T th1 and the upper limit T th2 which it received in the immediately preceding step S39 and stores the determined admissibility range in the memory 44. The processor 42 executes the process in Fig. 4, Fig. 6 or Fig. 9 with reference to the admissibility range determined as described above [T th1 , T th2 ] out of.

[0123] As described above, the processor 42 functions in the Fig. 10 as a temperature detection unit 56, a temperature determination unit 58, a temperature adjustment unit 60, a detection operation execution unit 62, an image generation unit 66, and an input reception unit 68 to manage the temperature T of the imaging unit 14. Accordingly, the temperature detection unit 56, the temperature detection unit 58, the temperature adjustment unit 60, the detection operation execution unit 62, the image generation unit 66, and the input reception unit 68 constitute a device 120 configured to manage the temperature T of the imaging unit 14.

[0124] In the device 120, the temperature adjustment unit 60 changes the temperature T (step S33) by performing the heating process WO or the cooling process CO before the work (step S6) to the allowable range [T th1 , T th2 ] to determine. Then, the detection operation execution unit 62 executes the trial detection operation DO when the temperature adjustment unit 60 changes the temperature T (step S36). This configuration makes it possible to clarify the relationship between the temperature T and the result of the detection operation DO. In this way, it is possible to determine the allowable range [T th1 , T th2 ] so that the accuracy of the detection process DO can be ensured.

[0125] In the device 120, the image generation unit 66 generates the detection result image RI indicating the result of the plurality of detection operations DO repeatedly attempted by the detection operation execution unit 62 (step S38). Then, the input receiving unit 68 receives the input of the lower limit value T th1 and the upper limit T th2 , which are determined by the operator based on the result of the detection operations DO (step S39). According to this configuration, the operator can easily check the relationship between the temperature T and the detection result parameters from the detection result image RI. As a result, the operator can set the lower limit value T th1 and the upper limit T th2 ] of the admissibility range [T th1 , T th2 ] in an appropriate manner.

[0126] Next, another method for determining the admissibility range [Tth1 , T th2 ] with reference to the Fig. 15 and Fig. 16. In the Fig. 15, the processor 42 of the controller 18 executes a sequence of Fig. 16 before the expiry of Fig. 4, Fig. 6 or Fig. 9 to determine the admissibility range [T th1 , T th2 ] It should be noted that in the Fig. 16 shows similar processes to those in the sequence of Fig. 11 are identified by the same step number, so that a redundant description is omitted.

[0127] The process in Fig. 16 is started when the processor 42 receives a command to set the permissible range from the operator, the higher-level control or the computer program PG. After the Fig. 16 has been started, the processor 42 successively executes the steps S31 to S36 described above. In the following description, a case will be explained in which the processor 42 executes the steps S33 to S35 in Fig. 16 the temperature T is increased from the initial temperature T0 (= 10°C) by the amount of change δT.

[0128] In step S51, the processor 42 determines whether the detection result parameters included in the detection result parameters PRr obtained by executing the immediately preceding step S36 are within threshold ranges suitable for ensuring the accuracy of the detection operation DO. For example, threshold ranges of ± 5% of [x0 × 0.95, x0 × 1.05], [y0 × 0.95, y0 × 1.05], and [z0 × 0.95, z0 × 1.05] are set for the coordinates x0, y0, and z0 of the pre-taught teaching position P0.

[0129] In this case, the processor 42 determines whether or not the coordinates x, y and z of the detection position P (x, y, z) acquired as the detection result parameter PRr in the immediately preceding step S36 fall within the threshold ranges [x0 × 0.95, x0 × 1.05], [y0 × 0.95, y0 × 1.05] and [z0 × 0.95, z0 × 1.05], respectively (ie, x0 × 0.95 ≤ x ≤ x0 × 1.05, y0 × 0.95 ≤ y ≤ y0 × 1.05, and z0 × 0.95 ≤ z ≤ z0 × 1.05).

[0130] If each of the x, y, and z coordinates of the detection position P falls within the threshold range, it can be assumed that the accuracy of the detection process DO is ensured. Therefore, if at least one of the x, y, and z coordinates is outside the threshold range, the processor 42 determines NO in step S51. The threshold ranges are not limited to ± 5% of the coordinates of the detection position P, but can each encompass a range of any percentage, such as ± 1% or ± 10%.

[0131] As a further example, in the immediately preceding step S36, the processor 42 detects a deviation amount δP between the detection position P (x, y, z) and the previously learned teaching position P0 (x0, y0, z0) as the detection result parameter PRr. The deviation amount δP is determined by calculating ((x - x0) 2 + (y - y0) 2 + (z - z0) 2 ) 1 / 2 determined. If the deviation amount δP exceeds a predetermined threshold value δP th exceeds (ie, δP > δP th ), the processor 42 determines that the deviation amount δP is outside the threshold range that can ensure the accuracy of the detection operation DO (ie, NO).

[0132] Another example: When the score α, the contrast β or the distortion γ acquired as the detection result parameter PRr in the immediately preceding step S36 is smaller or larger than a predetermined threshold αth , β th or γ th is (e.g., α < α th , β < β th or γ > γ th ), the processor 42 determines that the score α, the contrast β or the distortion γ is outside the threshold range that allows ensuring the accuracy of the detection process DO (ie, NO).

[0133] The processor 42 may determine whether or not all of the detection result parameters PRr, including the coordinates x, y, and z of the detection position P, the deviation amount δP, the score α, the contrast β, and the distortion γ, fall within the respective threshold ranges, and may determine NO in step S51 if at least one of the detection result parameters PRr is outside the threshold range.

[0134] The processor 42 returns to step S33 if it determines NO, or proceeds to step S52 if it determines YES. If the determination made in step S51 is YES, it can be considered that the temperature T gradually increased in step S33 exceeds the lower limit value T th1 of the admissibility range [T th1 , T th2 ] that can ensure the accuracy of the detection process DO and within the permissible range [T th1 , T th2 ] falls.

[0135] In this way, the processor 42 repeatedly executes a loop of steps S33 to S36 and step S51 until the processor 42 determines YES in step S51, and each time the temperature T of the imaging unit 14 is increased by the change amount δT, the processor 42 repeatedly executes the trial of the detection operation DO. Each time the trial of the detection operation DO is performed, it is determined whether the detection result parameters PRr each fall within the threshold range capable of ensuring the accuracy of the detection operation DO, thereby setting the lower threshold T th1 of the temperature T that is capable of ensuring the above-mentioned accuracy. That is, in the present embodiment, the processor 42 functions as the allowable range determining unit 82 ( Fig. 15), which is configured to set the lower limit T th1 of the permissible range [T th1 , Tth2 ] based on the results of the plurality of repeatedly attempted detection operations (in particular the detection result parameter PRr).

[0136] In step S52, the processor 42 functions as the allowable range determining unit 82 to determine the lower limit value T based on the determination result in step S51. th1 of the permissible range [T th1 , T th2 ] More specifically, the processor 42 determines the temperature T at the time when the processor 42 determines YES in the immediately preceding step S51 as the lower limit value T th1 and stores the determined value in the memory 44. After step S52, the processor 42 executes steps S33 to S36.

[0137] In step S53, the processor 42 functions as the acceptance range determination unit 82 to determine whether the detection result parameters PRr (the coordinates of the detection position P, the deviation amount δP, the point value α, the contrast β, and the distortion γ) obtained by executing the immediately preceding step S36 each fall within the threshold ranges that can ensure the accuracy of the detection process DO, similarly to step S51 described above. The processor 42 proceeds to step S54 if it determines YES, or proceeds to step S55 if it determines NO.

[0138] In step S54, the processor 42 functions as an admissible range determining unit 82 to determine a temporary upper limit value T th2 ' as a temporary setting value of the upper limit T th2 ] of the admissibility range [T th1 , T th2] More specifically, the processor 42 determines the temperature T at time , if the processor 42 determines YES in the immediately preceding step S53, as the temporary upper limit value T th2 ' and stores the temporary value in memory 44. Thus, after step S52 described above, processor 42 repeatedly executes a loop of steps S33 to S36, S53, and S54 until it determines NO in step S53. Then, processor 42 updates the temporary upper limit value T stored in memory 44. th2 ' each time the processor 42 executes step S54.

[0139] On the other hand, if the determination made in step S53 is NO, it can be assumed that the temperature T gradually increased in step S33 exceeds the upper limit value T th2 ] of the admissibility range [T th1 , T th2], which can ensure the accuracy of the detection process DO, and is outside the permissible range [T th1 , T th2 ] In this way, the processor 42 repeatedly executes the loop of steps S33 to S36, S53 and S54, searching for the upper limit value T th2 ] of the temperature T, which can ensure the accuracy of the detection process DO.

[0140] In step S55, the processor 42 functions as the allowable range determining unit 82 to determine the upper limit value T based on the determination result of step S53. th2 More specifically, the processor 42 determines the temporary upper limit value T stored in the memory 44 th2 ' at the time when the determination made in the immediately preceding step S53 is NO, as the official upper limit value T th2 ] of the admissibility range [T th1 , T th2] and stores the official value in memory 44. The temporary upper limit value T stored at this time th2 ' is the temperature T at which the last determination made in step S53 is YES (in other words, the temperature T detected in the twice earlier step S34).

[0141] In step S56, the processor 42 determines the admissible range [T th1 , T th2 ] by the lower limit T th1 and the upper limit T th2 determined in step S52 and step S55, and stores the determined admissible range in the memory 44. The processor 42 executes the process in Fig. 4, Fig. 6 or Fig. 9 with reference to the admissibility range determined as described above [T th1 , T th2 ] out of.

[0142] As described above, the processor 42 functions in the Fig. 15, the industrial machine 10 includes a temperature detection unit 56, a temperature determination unit 58, a temperature adjustment unit 60, a detection operation execution unit 62, and a permissible range determination unit 82 to manage the temperature T of the imaging unit 14. Accordingly, the temperature detection unit 56, the temperature determination unit 58, the temperature adjustment unit 60, the detection operation execution unit 62, and the permissible range determination unit 82 constitute a device 130 configured to manage the temperature T of the imaging unit 14.

[0143] In the device 130, the permissible range determining unit 82 automatically determines the lower limit value T th1 and the upper limit T th2 ] of the permissible range [T th1 , T th2] based on the results (specifically, the determination result parameter PRr) of the plurality of detection operations DO (step S36) repeatedly attempted by the detection operation execution unit 62. Since the admissibility range [T th1 , T th2 ] can be automatically adjusted according to this configuration, the burden on the operator can be reduced.

[0144] In the device 130, each time the detection operation execution unit 62 performs the trial of the detection operation DO (step S36), the allowable range determination unit 82 determines whether or not the detection result parameters PRr (the coordinates of the detection position P, the deviation amount δP, the score α, the contrast β, the distortion γ, and the like) included in the result of the detection operation DO fall within the threshold ranges that can ensure the accuracy of the detection operation DO (steps S51 and S53).

[0145] Then, the allowable range determining unit 82 determines the lower limit value T based on the determination results of the detection result parameters PRr th1 and the upper limit T th2 According to this configuration, as used for example in Fig. 16, the process of determining the admissibility range [T th1 , T th2 ] can be automated using a relatively simple algorithm.

[0146] In the present embodiment, the case has been described that the processor 42 in steps S33 to S35 in Fig. 16 the temperature T is increased from the initial temperature T0 (= 10°C) by the change amount δT. In steps S33 to S35 in Fig. 16, however, the processor 42 can reduce the temperature T from the initial temperature T0 (= 60°C) by the amount of change δT.

[0147] In this case, in step S52, the processor 42 determines the temperature T at the time when the processor 42 determines YES in the immediately preceding step S51 as the upper limit value T th2 . In step S54, the processor 42 stores the temperature T at the time at which the processor 42 determines YES in the immediately preceding step S53 in the memory 44 as a temporary lower limit value T th1 '. In step S55, the processor 42 then determines the temporary lower limit value T th1 ' stored in the memory 44 at the time when the determination made in the immediately preceding step S53 is NO, as the official lower limit value T th1 of the admissibility range [T th1 , T th2 ].

[0148] The process in Fig. 16 can be supplemented by various changes. For example, steps S33 to S36 and S53 to S55 can be performed after step S52 in the flow of Fig. 16 can be omitted. In this case, the processor 42 can increase or decrease the temperature T compared to the initial temperature T0 (= 10°C or 60°C) by the change amount δT in steps S33 to S35 and can determine the lower limit value T th1 or the upper limit T th2 ] That is, in this case, the processor 42 automatically determines one of the two limit values, the lower limit T th1 or the upper limit T th2 . In addition, steps S31 and S32 in the sequence of Fig. 11 or Fig. 16 can be omitted. In this case, the initial temperature T0 can be set to the ambient temperature at that time.

[0149] Next, another function of the industrial machine 10 will be described with reference to the Fig. 17 and Fig. 18. In the Fig. 17, the processor 42 of the controller 18 functions as a device 140, which includes the temperature detection unit 56, the temperature determination unit 58, the temperature adjustment unit 60, the detection process execution unit 62, the allowable range detection unit 64, the image adjustment unit 66, the input reception unit 68, the allowable range determination unit 82, a difference detection unit 84, and a difference determination unit 86. Accordingly, the processor 42 can perform the functions of the Fig. 2, Fig. 8, Fig. 10 and Fig. 15 shown industrial machines 10 (ie the processes of Fig. 4, Fig. 6, Fig. 9, Fig. 11 and Fig. 16).

[0150] In the present embodiment, the processor 42 introduces a Fig. 18 as a preparatory process for the work immediately before (or immediately after) the start of the process in Fig. 4, Fig. 6 or Fig. 9. One in Fig. The sequence shown in Figure 18 is started when the imaging unit 14 is set to Fig. 4, Fig. 6 or Fig. 9 is activated (ie switched on).

[0151] In step S61, the processor 42 functions as the detection operation execution unit 62, as in step S36 described above, and performs the trial of the detection operation DO. As a result, the processor 42 acquires the detection result parameters PRr (the detection position P, the score α, the contrast β, the distortion γ, and the like). In step S62, the processor 42 functions as the temperature adjustment unit 60 and executes the heating operation WO as described in step S5 above. In step S63, the processor 42 functions as the detection operation execution unit 62, as described in step S61 above, and performs the trial of the detection operation DO. As a result, the processor 42 again acquires the detection result parameters PRr (the detection position P, the score α, the contrast β, the distortion γ, and the like).

[0152] In step S64, the processor 42 detects a difference δr ibetween a detection result parameter PRr i , which is the result of a last attempted detection process DO i (first detection process) and a detection result parameter PRr i-1 , which is contained in the result of a DO i attempted detection process DO i-1 (second detection process). As an example, the processor 42 detects a deviation amount between a detection position P i (x i , y i , e.g. i ), which as detection result parameter PRr i was detected, and a detection position P i-1 (x i1 , y i-1 , e.g. i-1 ), which as detection result parameter PRr i-1 was recorded as difference δr1 i . The amount of the deviation results from the calculation of ((x i - x i-1 ) 2 + (y i - y i-1 ) 2 + (e.g. i - zi-1 ) 2 ) 1 / 2 .

[0153] As another example, the processor 42 detects a difference δr2 i equal to |α i - α i- |, a difference δr3 i equal to |β i - β i-1 |, or a difference δr4 i equal to |γ i - γ i-1 | between a result α i , a contrast β i or a distortion γ i , which serves as detection result parameter PRr i recorded, and a score α i-1 , a contrast β i-1 or a distortion γ i-1 , which serves as detection result parameter PRr i-1 be recorded.

[0154] As described above, the processor 42 in the present embodiment functions as a difference detection unit 84 ( Fig. 17), which is configured to calculate the difference δr i (δr1 i , δr2 i , δr3 i or δr4 i) between the detection result parameter PRr i and the detection result parameter PRr i-1 For example, when the processor 42 executes step S64 after continuously executing steps S61, S62, and S63, the processor 42 detects a difference δr1 between a detection result parameter PRr2 detected in the immediately preceding step S63 and a detection result parameter PRr1 detected in step S61 executed before the above-mentioned step S63.

[0155] In step S65, the processor 42 determines whether the difference δr detected in the immediately preceding step S64 i (e.g. δr1 i , δr2 i , δr3 i or δr4 i ) is less than a predetermined threshold δr th is or not. If δr i < δr th the processor 42 determines YES and terminates the process in Fig. 18 and then carries out the process in Fig. 4, Fig. 6 or Fig. 9 to successively execute steps S6 and S7 described above.

[0156] In the case of δr (i) ≥ δr th the processor 42 determines NO and returns to step S62. In this way, the processor 42 functions as a difference determination unit 86 ( Fig. 17), which is configured to determine whether the difference δr i (e.g. δr1 i , δr2 i , δr3 i or 8r4 i ) is less than the predetermined threshold δr th is or not.

[0157] As described above, the processor 42 acts as the device 140 configured to Fig. 18 as a preparatory process for work. In the apparatus 140, the temperature adjusting unit 60 executes the heating operation WO (step S62) when the imaging unit 14 is activated (after the power supply is turned on), and the detection operation executing unit 62 repeatedly attempts the detection operation DO (step S63) each time the temperature adjusting unit 60 executes the heating operation WO.

[0158] The difference detection unit 84 detects the difference δr i between the detection result parameter PRr i , which is contained in the result of the first detection process DO i attempted by the detection operation execution unit 62 and the detection result parameter PRr i-1 , which is contained in the result of the second detection process DO i-1which is executed by the detection operation execution unit 62 before the first detection operation DO i was attempted (step S64). Then, the difference determination unit 86 determines whether the difference δr detected by the difference detection unit 84 i less than the predetermined threshold δr th is or not (step S65). If the difference determination unit 86 determines that the difference δr i is smaller than the threshold value δr th (YES in step S65), the detection operation execution unit 62 executes the detection operation DO for the work (step S6).

[0159] After the imaging unit 14 (i.e., the camera 36, the illumination device 38, and the processor 40) has been activated (e.g., turned on), there is a possibility that the accuracy of the detection process DO is unstable because the temperature T of the imaging unit 14 rises rapidly. In the present embodiment, the heating process WO is performed until a deviation (i.e., a difference δr) in the detection result parameters PRr obtained by repeatedly performing the detection process DO becomes small by Fig. 18 is executed. This configuration allows the accuracy of the subsequent detection process DO to be stabilized.

[0160] Next, another example of the warm-up scheme is shown using Fig. 19. The processor 42 executes the Fig. 19 as a preparatory process for the work immediately before (or immediately after) the start of the process in Fig. 4, Fig. 6 or Fig. 9. In step S71, the processor 42 functions as a temperature detection unit 56 for detecting the temperature T of the imaging unit 14 as in step S1 described above. In step S72, the processor 42 functions as a temperature adjustment unit 60 as in step S62 described above and executes the heating process WO.

[0161] In step S73, the processor 42 functions as a temperature detection unit 56 to detect the temperature T of the imaging unit 14 as in step S71 described above. In step S74, the processor 42 functions as a difference detection unit 84 to detect a difference δM i (= T i - T i-1 ) between a temperature T detected in the immediately preceding step S73 i(first temperature) and one before the temperature T i recorded temperature T i-1 (second temperature) to be recorded.

[0162] In step S75, the processor 42 acts as a difference determination unit 86 and determines whether the difference δM detected in the immediately preceding step S74 i less than a predetermined threshold δM th is or not. In a case of δM i < δM th the processor 42 determines YES and terminates the process in Fig. 19 and then carries out the process in Fig. 4, Fig. 6 or Fig. 9 to successively execute the steps S6 and S7 discussed above. In a case of δM (i) ≥ δM th the processor 42 determines NO and returns to step S72.

[0163] As described above, the processor 42 acts as the device 140 configured to Fig. 19 as a preparatory process for the work. In the device 140, the temperature detection unit 56 detects the temperature T repeatedly measured by the temperature sensors 16 each time the temperature adjustment unit 60 performs the heating process WO (step S73). The difference detection unit 84 detects the difference δM i between the temperature T detected by the temperature detection unit 56 i and the temperature T i-1 , which is detected by the temperature detection unit 56 before the temperature T i was detected (step S74). Then, the difference determining unit 86 determines whether the difference δM detected by the difference detecting unit 84 i less than the predetermined threshold δM th is or not (step S75).

[0164] If the difference determination unit 86 determines that the difference δM i smaller than the threshold δM th(YES in step S75), the detection operation execution unit 62 executes the detection operation DO for the work (step S6). This configuration makes it possible to stabilize the accuracy of the detection operation DO, which is executed after the execution in Fig. 19 is executed as in the sequence in Fig. 18.

[0165] The processor 42 can Fig. 2, Fig. 8, Fig. 10, Fig. 15 and Fig. 17 functions of the industrial machine 10 (ie the processes in the Fig. 4, Fig. 6, Fig. 9, Fig. 11, Fig. 16, Fig. 18 and Fig. 19) in accordance with the computer program PG prestored in the memory 44. The functions of the temperature detection unit 56, the temperature determination unit 58, the temperature setting unit 60, the image generation unit 66, the input reception unit 68, the allowable range detection unit 82, the difference detection unit 84, and the difference determination unit 86 executed by the processor 42 may be functional modules implemented by the computer program PG.

[0166] In the embodiment described above, the case where the camera 36 and the illumination device 38 are integrated into the housing 34 was described. However, the present invention is not limited to this, and the camera 36 and the illumination device 38 may be provided as separate devices in the imaging unit 14. In this case, the temperature sensor 16 may be provided in either the camera 36 or the illumination device 38 and measure the temperature T of one of them.

[0167] Alternatively, the temperature sensor 16 may include a first temperature sensor 16A provided on the camera 36 to measure a temperature Tc of the camera 36, and a second temperature sensor 16B provided on the lighting device 38 to measure a temperature Tl of the lighting device 38. In this case, the processor 42 functions as the device 100, 110, 120, 130, or 140 configured to execute a process FL1 for managing the temperature Tc of the camera 36.

[0168] In the process FL1, the processor 42 can execute steps S1 to S5 in Fig. 4, steps S1, S2 and S10 in Fig. 6 or S21, S1, S2, S22 to S25 and S3 to S5 in Fig. 9. In the heating process WO of step S5 executed in the flow FL1, the processor 42 executes, for example, the above-described simulative imaging process IO or the arithmetic processing CL.

[0169] On the other hand, the processor 42 functions as a device 100, 110, 120, 130, or 140 configured to execute a process FL2 for managing the temperature Tl of the lighting device 38 in parallel with the process FL1 for the camera 36. In the process FL2, the processor 42 may execute steps S1 to S5 in Fig. 4, steps S1, S2 and S10 in Fig. 6 or S21, S1, S2, S22 to S25 and S3 to S5 in Fig. 9 execute.

[0170] In the heating process WO of step S5, which is executed in the flow FL2, the processor 42 executes, for example, the lighting process LO described above. The permissible range [T th1 , T th2 ] referred to in the processes FL1 and FL2 can be determined separately for the camera 36 and the lighting device 38 according to the method described above.

[0171] The process FL1 for the temperature management of the camera 36 and the process FL2 for the temperature management of the lighting device 38 are based on the Fig. 4, Fig. 6 or Fig. 9 is applicable. In this case, the processor 42 executes after starting the sequence of Fig. 4, Fig. 6 or Fig. 9, the processor 42 executes flow FL1 for the camera 36 and flow FL2 for the lighting device 38 in parallel and then executes steps S6 to S7. Note that the processor 42 may include a first processor 42A configured to execute flow FL1 and a second processor 42B configured to execute flow FL2.

[0172] If the camera 36 and the lighting device 38 are integrated into the housing 34, the temperature sensor 16 may include a first temperature sensor 16A configured to measure the temperature Tc of the camera 36 and a second temperature sensor 16B configured to measure the temperature Tl of the lighting device 38. Also in this case, the processor 42 may execute the process FL1 for managing the temperature Tc of the camera 36 and the process FL2 for managing the temperature Tl of the lighting device 38 in parallel.

[0173] In this form, the processor 42 may determine YES in step S2, which is executed in one of the streams FL1 and FL2, and NO in step S2, which is executed in the other of the streams FL1 and FL2. In this case, the processor 42 may automatically determine which of the two streams, namely the thermal management of the stream FL1 and the thermal management of the stream FL2, takes precedence.

[0174] For example, assume that when the processor 42 executes the FL1 and FL2 processes in parallel, the processor 42 determines YES in step S2 of the FL1 process and NO in step S2 of the FL2 process. In this case, the processor 42 may give priority to the FL1 process to manage the temperature Tc of the camera 36 and abort step S4 (cooling process CO) and step S5 (heating process WO) to be executed in the FL2 process.

[0175] Alternatively, when executing streams FL1 and FL2 in parallel and then executing steps S6 to S7, processor 42 may automatically determine, based on the result of detection operation DO (detection result parameter RD) in step S6, which of the temperature management in stream FL1 and the temperature management in stream FL2 has priority. For example, processor 42 may determine, based on the detection result parameters PRr (detection position P, score α, contrast β, and distortion γ) included in detection result data RD, which of the temperatures Tc of camera 36 and Tl of illumination device 38 cause the deterioration of the accuracy of detection operation DO.

[0176] Therefore, the processor 42 can determine which temperature management of the streams FL1 and FL2 is prioritized based on the detection result parameters PRr, and execute step S4 (cooling operation CO) and step S5 (heating operation WO) of the prioritized stream FL1 or FL2, and cancel steps S4 and S5 of the non-priority stream FL1 or FL2.

[0177] In the embodiment described above, the case was described where the processor 42 of the controller 18 functions as the devices 100, 110, 120, 130, and 140. However, the function of the device 100, 110, 120, 130, or 140 may also be implemented in a device other than the controller 18. For example, the function of the Fig.2 may be implemented in a host controller of the controller 18 or in the imaging unit 14. In this case, a processor of the host controller or the processor 40 of the imaging unit 14 functions as the device 100. In this case, the detection operation execution unit 62 may be omitted from the device 100.

[0178] Furthermore, in the embodiment described above, the case where the camera 36 is a two-dimensional camera was described. However, the camera 36 is not limited to this and may be a three-dimensional image sensor. In this case, for example, the image data ID imaged by the camera 36 is three-dimensional point group image data, and each point appearing in the three-dimensional point group image data includes information about a distance d between the camera 36 and the object (workpiece W). In this case, a three-dimensional camera coordinate system C3 is set for the camera 36, and each pixel of the image data ID to be imaged is represented by three-dimensional coordinates Qc (xc, yc, zc) in the camera coordinate system C3.

[0179] In the above-described embodiment, the case where the imaging unit 14 is moved by the robot 12 was described. However, the present invention is not limited to this, and the imaging unit 14 may be fixed at the predetermined imaging position IP1. Furthermore, the illumination device 38 may be omitted from the imaging unit 14. The allowable range [T th1 , T th2 ] is not limited to being determined by the various methods mentioned above, but may be determined by any method. Furthermore, the robot 12 is not limited to the vertical articulated robot, but may be any type of robot, such as a horizontal articulated robot or a parallel-joint robot.

[0180] The present disclosure has been described in detail so far, but the present disclosure is not limited to the individual embodiments. Various additions, replacements, changes, partial deletions, and the like can be made to these embodiments without departing from the gist of the present disclosure or without departing from the gist of the present disclosure, which is understood from the contents described in the claims and their equivalents. Furthermore, these embodiments can also be combined and implemented with each other. For example, in the embodiment described above, the order of operations and the order of processing are given as an example and are not limited thereto. The same applies to the case where numerical values or mathematical expressions are used in the description of the embodiment described above.

[0181] With regard to the embodiment described above, the following additional notes are disclosed.

[0182] (Supplementary Note 1) The device 100, 110, 120, 130, or 140 configured to manage the temperature T of the imaging unit 14 in the industrial machine 10, which performs the detection operation DO to detect a workpiece W based on the image data ID of the workpiece W imaged by the imaging unit 14, and performs work on the detected workpiece W, the device 100, 110, 120, 130, or 140 comprising: the temperature detection unit 56 configured to detect the temperature T measured by the temperature sensor 16; the temperature determination unit 58 configured to determine whether the temperature T detected by the temperature detection unit 56 when the detection operation DO for the work is performed falls within the allowable range [T th1, T th2 ] falls or not, which is predetermined to ensure the accuracy of the detection process DO; and the temperature adjustment unit 60 is configured to execute the heating process WO to increase the temperature T when the temperature determination unit 58 determines that the temperature T is lower than the lower limit value T th1 of the admissibility range [T th1 , T th2 ] while performing the cooling operation CO to lower the temperature T, when the temperature determination unit 58 determines that the temperature T is higher than the upper limit value T th2 ] of the admissibility range [T th1 , T th2 ] is.

[0183] (Supplementary Note 2) The apparatus 110 or 140 of Supplementary Note 1, wherein the temperature detection unit 56 is configured to detect the first temperature T1 or T2 measured by the temperature sensor 16 when the imaging unit 14 executes the imaging operation IO for the teaching operation TP for teaching the shape TS of the workpiece W or the calibration operation CB for calibrating the imaging parameter PRi of the imaging unit 14, and wherein the apparatus 110 or 140 further comprises the allowable range detection unit 64 configured to detect the allowable range [T th1 , T th2 ] and to store the detected admissibility range in the memory 44.

[0184] (Supplementary Note 3) The device 120, 130 or 140 of Supplementary Note 1, wherein the temperature adjustment unit 60 is configured to change the temperature T by performing the heating process WO or the cooling process CO before the work to set the allowable range [T th1 , T th2 ], and wherein the device 120, 130 or 140 further comprises the detection operation execution unit 62 configured to attempt the detection operation DO when the temperature adjustment unit 60 changes the temperature T.

[0185] (Supplementary Note 4) The device 120 or 140 of Supplementary Note 3 further includes: the image generation unit 66 configured to generate the detection result image RI indicating the results of a plurality of detection operations DO repeatedly attempted by the detection operation execution unit 62; and the input reception unit 68 configured to receive an input of the lower limit value T th1 and the upper limit T th2 to receive, which were determined on the basis of the results of the detection operations DO.

[0186] (Supplementary Note 5) The device 130 or 140 of Supplementary Note 3 further includes the allowable range determining unit 82 configured to determine the lower limit value T th1 or the upper limit T th2 of the permissible range [T th1 , T th2] based on the results of a plurality of detection operations DO repeatedly attempted by the detection operation execution unit 62.

[0187] (Supplementary Note 6) The device 130 or 140 of Supplementary Note 5, wherein the detection operation execution unit 62 is configured to repeatedly attempt the detection operation DO each time the temperature adjustment unit 60 changes the temperature T by the predetermined change amount δT, and wherein the admissible range determining unit 82 is configured to determine the admissible range: each time the detection operation execution unit 62 attempts the detection operation DO, determining whether or not a detection result parameter PRr included in the result of the detection operation DO falls within a threshold range that enables ensuring accuracy; and based on the determination result of the detection result parameter PRr the lower limit value T th1 or the upper limit T th2 determine.

[0188] (Supplementary Note 7) The apparatus 100, 110, 120, 130, or 140 of any one of Supplementary Notes 1 to 6, wherein the temperature adjusting unit 60 is configured to increase the temperature T by causing the imaging unit 14 to simulatively perform the imaging operation IO, causing the processor 40 built in the imaging unit 14 to perform the predetermined arithmetic processing CL, or turning on the illumination device 38 provided in the imaging unit 14, as the heating operation WO.

[0189] (Supplementary Note 8) The apparatus 100, 110, 120, 130 or 140 of any one of Supplementary Notes 1 to 7, wherein the temperature adjustment unit 60 is configured to adjust the temperature T by stopping an operation of the imaging unit 14 for the predetermined cooling time t th1 as a cooling process to reduce CO.

[0190] (Supplementary Note 9) The device 100, 110, 120, 130 or 140 of any one of Supplementary Notes 1 to 8, wherein the temperature determination unit 58 is configured to determine whether the temperature T falls within the allowable range [T th1 , T th2] or not, and wherein the device 100, 110, 120, 130, or 140 further includes the detection operation execution unit 62 configured to execute the detection operation DO for the work when the temperature determination unit 58 determines that the temperature T falls within the allowable range [T th1 , T th2 ] while not performing the detection operation DO when the temperature determination unit 58 determines that the temperature T is outside the allowable range [T th1 , T th2 ] lies.

[0191] (Supplementary Note 10) The device 100, 110, 120, 130 or 140 of Supplementary Note 9, wherein the detection operation execution unit 62 is configured to execute the detection operation DO for the work when the elapsed time t3 that is clocked while the temperature determination unit 58 determines that the temperature T is outside the allowable range [T th1 , Tth2 ], the predetermined time limit t th3 reached.

[0192] (Supplementary Note 11) The device 140 according to any one of Supplementary Notes 1 to 10, wherein the temperature adjustment unit 60 is configured to perform the heating operation WO when the imaging unit 14 is activated, wherein the device 140 further comprises: the detection operation execution unit 62 is configured to repeatedly attempt the detection operation DO each time the temperature adjustment unit 60 executes the heating operation WO; the difference detection unit 84 is configured to detect a difference δr i between a detection result parameter PRr i , which is a result of a first detection process DO i which is attempted by the detection operation execution unit 62, and a detection result parameter PRr i-1which is a result of a second detection process DO i-1 which is executed by the detection operation execution unit 62 before the first detection operation DO i is attempted; and the difference determination unit 86 is configured to determine whether the difference δr detected by the difference detection unit 84 i less than the predetermined threshold δr th is or not, and wherein the detection operation execution unit 62 executes the detection operation DO for the work when the difference determination unit 86 determines that the difference δr i less than the threshold 8r th is.

[0193] (Supplementary Note 12) The device 140 according to any one of Supplementary Notes 1 to 10, wherein the temperature adjustment unit 60 is configured to perform the heating operation WO when the imaging unit 14 is activated, wherein the temperature detection unit 56 is configured to detect the temperature T repeatedly measured by the temperature sensor 16 each time the temperature adjustment unit 60 performs the heating operation WO, and wherein the device 140 further comprises: the difference detection unit 84 is configured to detect a difference δM i between a first temperature T i , which is detected by the temperature detection unit 56, and a second temperature T i-1 , which is detected by the temperature detection unit 56 before the first temperature T i is recorded; the difference determination unit 86 is configured to determine whether the difference δM detected by the difference detection unit 84 i less than the predetermined threshold δM th is or not; and the detection operation execution unit 62 is configured to execute the detection operation DO for the work when the difference determination unit 86 determines that the difference δM i smaller than the threshold δM th is.

[0194] (Supplementary Note 13) The controller 18 of the industrial machine 10, including the device 100, 110, 120, 130 or 140 according to any one of Supplementary Notes 1 to 12.

[0195] (Supplementary Note 14) A method for managing the temperature T of the imaging unit 14 in the industrial machine 10 that performs the detection operation DO to detect a workpiece W based on the image data ID of the workpiece W imaged by the imaging unit 14 and performs the work on the detected workpiece W, the procedure including: Detecting the temperature T measured by the temperature sensor 16 by a processor; determining by the processor whether the temperature T detected when the detection process DO for the work is carried out falls within the allowable range [T th1 , T th2 ], which is predetermined to ensure the accuracy of the detection process DO, or not; and Execution of the heating operation WO by the processor to increase the temperature T when it is determined that the temperature T is lower than the lower limit value T th1 of the admissibility range [T th1 , T th2 ] while the cooling process CO is carried out to lower the temperature T when it is detected that the temperature T is higher than the upper limit T th2 ] of the admissibility range [T th1 , T th2 ] is.

[0196] (Supplementary Note 15) The computer program PG is configured to cause the processor 42 to execute the method of Supplementary Note 14. List of reference symbols 10 industrial machines 12 robots 14 Imaging unit 16 Temperature sensor 18 Control 36 Camera 38 Lighting device 40, 42 processor 56 Temperature recording unit 58 Temperature determination unit 60 Temperature adjustment unit 62 Detection process execution unit 64 Permissibility area detection unit 66 Image generation unit 68 Input receiving unit 82 Admissibility area determination unit 84 Differential detection unit 86 Difference determination unit 100, 110, 120, 130, 140 device QUOTES CONTAINED IN THE DESCRIPTION

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

[0000] JP 2013-251872 A

[0003]

Claims

[1] An apparatus for managing a temperature of an imaging unit in an industrial machine that performs a detection operation for detecting a workpiece based on image data of the workpiece imaged by the imaging unit and performing work on the detected workpiece, the apparatus comprising: a temperature detection unit configured to detect the temperature measured by a temperature sensor; a temperature determination unit configured to determine whether the temperature detected by the temperature detection unit when the detection operation for the work is performed falls within an allowable range predetermined to ensure the accuracy of the detection operation; and a temperature adjustment unit configured to perform a heating operation to increase the temperature when the temperature determination unit determines that the temperature is lower than a lower limit of the allowable range, while performing a cooling operation to decrease the temperature when the temperature determination unit determines that the temperature is higher than an upper limit of the allowable range. [2] The device according to claim 1, wherein the temperature detection unit is configured to detect a first temperature measured by the temperature sensor when the imaging unit performs an imaging operation for a teaching operation for teaching a shape of the workpiece or a calibration operation for calibrating an imaging parameter of the imaging unit, and wherein the device further comprises an allowable range detecting unit for detecting the allowable range, which is configured to detect the allowable range determined based on the first temperature and to store the detected allowable range in a memory. [3] The device according to claim 1, wherein the temperature adjustment unit is configured to to change the temperature by performing the heating process or the cooling process before work to determine the permissible range, and wherein the apparatus further comprises a detection operation execution unit configured to attempt the detection operation when the temperature adjustment unit changes the temperature. [4] The device of claim 3, further comprising: an image generation unit configured to generate a detection result image, which displays results of a plurality of detection operations repeatedly attempted by the detection operation execution unit; and an input receiving unit configured to receive an input of the lower limit value and the upper limit value determined based on the results of the detection operations. [5] The apparatus according to claim 3, further comprising an allowable range determining unit configured to automatically determine the lower limit value or the upper limit value of the allowable range based on results of a plurality of the detection operations repeatedly attempted by the detection operation executing unit. [6] The apparatus according to claim 5, wherein the detection operation execution unit is configured to repeatedly attempt the detection operation each time the temperature adjustment unit changes the temperature by a predetermined change amount, and wherein the admissibility range determination unit is configured to each time the detection operation execution unit attempts the detection operation, determines whether a detection result parameter included in the result of the detection operation falls within a threshold range that can ensure accuracy, and to determine the lower limit value or the upper limit value based on the determination result of the detection result parameter. [7] The apparatus according to claim 1, wherein the temperature adjusting unit is configured to increase the temperature by causing the imaging unit to simulate an imaging operation, by causing a processor included in the imaging unit to perform predetermined arithmetic processing, or by turning on an illumination device provided in the imaging unit, as a heating operation. [8] The apparatus according to claim 1, wherein the temperature adjusting unit is configured to reduce the temperature by stopping an operation of the imaging unit for a predetermined cooling time as a cooling process. [9] The apparatus according to claim 1, wherein the temperature determination unit is configured to determine whether or not the temperature falls within the allowable range each time the temperature adjustment unit executes the heating operation or the cooling operation, and wherein the apparatus further comprises a detection operation execution unit configured to execute the detection operation for the work when the temperature determination unit determines that the temperature falls within the allowable range, while not executing the detection operation while the temperature determination unit determines that the temperature is out of the allowable range. [10] The apparatus according to claim 9, wherein the detection operation execution unit is configured to execute the detection operation for the work when an elapsed time clocked while the temperature determination unit determines that the temperature is out of the allowable range reaches a predetermined time limit. [11] The apparatus according to claim 1, wherein the temperature adjustment unit is configured to perform the heating operation when the imaging unit is activated, the device further comprising: a detection operation execution unit configured to repeatedly attempt the detection operation each time the temperature adjustment unit executes the heating operation; a difference acquisition unit configured to acquire a difference between a detection result parameter included in a result of a first detection operation attempted by the detection operation execution unit and a detection result parameter included in a result of a second detection operation attempted by the detection operation execution unit before the first detection operation; and a difference determination unit configured to determine whether or not the difference detected by the difference detection unit is smaller than a predetermined threshold, and wherein the detection operation execution unit is configured to execute the detection operation for the work when the difference determination unit determines that the difference is smaller than the threshold value. [12] The apparatus according to claim 1, wherein the temperature adjustment unit is configured to perform the heating operation when the imaging unit is activated, wherein the temperature detection unit is configured to repeatedly detect the temperature measured by the temperature sensor each time the temperature adjustment unit performs the heating operation, and the device further comprising: a difference detection unit configured to detect a difference between a first temperature detected by the temperature detection unit and a second temperature detected by the temperature detection unit before the first temperature; a difference determination unit configured to determine whether the difference detected by the difference detection unit is smaller than a predetermined threshold; and a detection operation execution unit configured to execute the detection operation for the work when the difference determination unit determines that the difference is smaller than the threshold. [13] Control of the industrial machine comprising the device according to claim 1. [14] A method for managing a temperature of an imaging unit in an industrial machine that performs a detection operation for detecting a workpiece based on image data of the workpiece imaged by the imaging unit and that performs work on the detected workpiece, the method comprising: Detecting the temperature measured by a temperature sensor by a processor; Determining by the processor whether the temperature detected when the detection operation for the work is carried out falls within an acceptance range predetermined to ensure the accuracy of the detection operation; and Performing a heating operation by the processor to increase the temperature when it determines that the temperature is lower than a lower limit of the allowable range, while performing a cooling operation to decrease the temperature when it determines that the temperature is higher than an upper limit of the allowable range. [15] A computer program configured to cause the processor to perform the method of claim 14.

Citation Information

Patent Citations

  • Imaging device

    JP2013251872A