Device and method for generating test route

The inspection route generation device addresses the issue of reduced accuracy in existing inspection systems by calculating an optimal inspection route based on captured images and posture changes, resulting in efficient and accurate defect detection.

JP2025061945AActive Publication Date: 2025-04-11ASTEMO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025013169
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-01-29
Publication Date
2025-04-11
Estimated Expiration
2040-12-11

AI Technical Summary

Technical Problem

Existing inspection systems fail to maintain inspection accuracy due to changes in the camera's position during a spiral movement trajectory, leading to reduced inspection efficiency and accuracy.

Method used

An inspection route generation device that calculates an optimal inspection route based on captured images, considering the path length and posture change of the image pickup section, to minimize movement and maintain accurate defect positioning.

Benefits of technology

The solution reduces inspection time while maintaining high accuracy by determining an optimal inspection route that minimizes camera position changes and ensures thorough defect detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025061945000001_ABST
    Figure 2025061945000001_ABST
Patent Text Reader

Abstract

To provide a test route that can reduce the time of a test and also can suppress reduction of the accuracy of a test to an appearance test device for running a test on the appearance of a test target object.SOLUTION: A test route generator 100 generates a test route for an appearance test device 200 for running a test on the appearance of a test target object on the basis of an image taken by an imaging unit 210. In the test route generator 100, a route determination unit 141 calculates a route length between each test position when the imaging unit 210 moves between a plurality of test positions and the posture change amount of the imaging unit 210 on the basis of test position information 1330 and test information configuration information 131, and determines a test route on the basis of the calculated route length and posture change amount.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an apparatus and method for generating an inspection path when a visual inspection apparatus that performs visual inspection of an inspection object moves between a plurality of inspection positions. [Background technology]

[0002] The technology of the following Patent Document 1 is known as background technology related to the present invention. Patent Document 1 discloses an inspection system that includes a moving mechanism that moves an object to be inspected so that images of a plurality of imaging regions set on an inspection surface are captured, and that includes a section in which the movement trajectory of the imaging regions on the inspection surface moves so as to circle the center of gravity of the object to be inspected, thereby enabling the object to be imaged more smoothly in a plurality of imaging regions (inspection regions). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2016-224707 A Summary of the Invention [Problem to be solved by the invention]

[0004] In the inspection system disclosed in Patent Document 1, a spiral movement trajectory is set around the center of gravity of the object to be inspected, and the object to be inspected is imaged and inspected in multiple inspection areas on this movement trajectory, thereby minimizing the amount of movement between the inspection areas and shortening the inspection time. However, the method of Patent Document 1 does not take into consideration the attitude of the camera at the time of imaging. Therefore, when a defect present in the object to be inspected is imaged in multiple inspection areas, the position of the defect on the captured image also changes in a spiral shape according to the movement of the camera. Thus, when the same surface of the object to be inspected is imaged by a camera from multiple viewpoints to perform an appearance inspection, the conventional technology has a problem that the position change of the defect on the captured image of the object to be inspected is large because the attitude change of the camera is large, and as a result, the inspection accuracy is reduced.

[0005] Therefore, the main object of the present invention is to provide an inspection path for an appearance inspection device that performs an appearance inspection of an object to be inspected, which can shorten the inspection time while suppressing a decrease in inspection accuracy. [Means for solving the problem]

[0006] The inspection path generation device according to the present invention generates an inspection path for a visual inspection device that performs visual inspection of an inspection object based on an image captured by an imaging unit, and comprises a memory unit that stores inspection position information representing a plurality of inspection positions at which the imaging unit captures images of the inspection object and inspection device configuration information representing a configuration of the visual inspection device, and a route determination unit that calculates a path length and an amount of change in posture of the imaging unit between each inspection position when the imaging unit moves between the plurality of inspection positions based on the inspection position information and the inspection device configuration information, and determines the inspection path based on the calculated path length and amount of change in posture. The inspection path generation method according to the present invention generates an inspection path for a visual inspection device that performs visual inspection of an object to be inspected based on an image captured by an imaging unit, and includes a calculation device that performs the following processes: acquires inspection position information representing multiple inspection positions at which the imaging unit captures images of the object to be inspected and inspection device configuration information representing the configuration of the visual inspection device; calculates a path length and an amount of change in posture of the imaging unit between each inspection position when the imaging unit moves between the multiple inspection positions based on the acquired inspection position information and inspection device configuration information; and determines the inspection path based on the calculated path length and amount of change in posture. Effect of the Invention

[0007] According to the present invention, it is possible to provide an inspection route for an appearance inspection device that performs an appearance inspection of an object to be inspected, which can shorten the inspection time while suppressing a decrease in inspection accuracy. Problems, configurations and effects other than those described above will become apparent from the following description of the embodiments. [Brief description of the drawings]

[0008] [Figure 1] 1 is a diagram showing an example of the configuration of a visual inspection system including an inspection path generating device according to a first embodiment of the present invention. [Diagram 2] FIG. 4 is a diagram showing an example of robot configuration information data. [Diagram 3] FIG. 11 is a diagram showing an example of data of inspection equipment configuration information. [Figure 4] FIG. 11 is a diagram showing an example of data of inspection target region information. [Diagram 5] FIG. 11 is a diagram showing an example of data of inspection condition information. [Figure 6] 1 is a diagram illustrating an example of a connection relationship between nodes represented by inter-node connection information; [Figure 7] FIG. 11 is a diagram illustrating an example of data of travel cost information. [Figure 8] FIG. 11 is a diagram illustrating an example of data of output information. [Figure 9] 4 is an example of a flowchart of a planning process for an inspection route according to the first embodiment of the present invention. [Figure 10] 13 is an example of a flowchart of an inspection route determination process. [Figure 11] FIG. 11 is an explanatory diagram of a method for calculating a movement cost. [Figure 12] FIG. 2 is a diagram showing an example of an output screen in the inspection path generating device according to the first embodiment of the present invention. [Figure 13] FIG. 4 is a diagram showing another example of the output screen in the inspection path generating device according to the first embodiment of the present invention. [Figure 14] FIG. 11 is a diagram illustrating an example of the configuration of a visual inspection system including an inspection path generating device according to a second embodiment of the present invention. [Figure 15] 13 is an example of a flowchart of a planning process for an inspection route according to a second embodiment of the present invention. [Figure 16] 13 is an example of a flowchart of an inspection route change process. [Figure 17] FIG. 13 is an explanatory diagram of a method for selecting an inspection position to be changed. [Figure 18] 11 is an explanatory diagram of a method for setting candidate positions and candidate orientations. FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. The following description and drawings are examples for explaining the present invention, and appropriate omissions and simplifications have been made for clarity of explanation. The present invention can be implemented in various other forms. Unless otherwise specified, each component may be singular or plural.

[0010] In order to facilitate understanding of the invention, the position, size, shape, range, etc. of each component shown in the drawings may not represent the actual position, size, shape, range, etc. Therefore, the present invention is not necessarily limited to the position, size, shape, range, etc. disclosed in the drawings.

[0011] When there are multiple components having the same or similar functions, they may be described by using the same reference numerals with different subscripts, but when there is no need to distinguish between these multiple components, the subscripts may be omitted.

[0012] In addition, in the following description, the processing performed by executing a program may be described, but the program is executed by a processor (e.g., CPU, GPU) to perform a defined process using storage resources (e.g., memory) and / or interface devices (e.g., communication ports) as appropriate, so the subject of the processing may be the processor. Similarly, the subject of the processing performed by executing a program may be a controller, device, system, computer, or node having a processor. The subject of the processing performed by executing a program may be a calculation device, and may include a dedicated circuit (e.g., FPGA or ASIC) that performs a specific process.

[0013] A program may be installed in a device such as a computer from a program source. The program source may be, for example, a program distribution server or a computer-readable storage medium. When the program source is a program distribution server, the program distribution server may include a processor and a storage resource for storing a program to be distributed, and the processor of the program distribution server may distribute the program to be distributed to other computers. In the following description, two or more programs may be realized as one program, and one program may be realized as two or more programs.

[0014] -First embodiment- A first embodiment of the present invention will be described below.

[0015] [Description of device configuration] Fig. 1 is a diagram showing an example of the configuration of a visual inspection system including an inspection path generating device according to a first embodiment of the present invention. The visual inspection system shown in Fig. 1 is configured by connecting an inspection path generating device 100 and a visual inspection device 200 to each other via a communication line 300. The communication line 300 is configured using, for example, Ethernet (registered trademark) or wireless LAN, and transmits various pieces of information transmitted and received between the inspection path generating device 100 and the visual inspection device 200.

[0016] The appearance inspection device 200 includes an imaging unit 210, a robot unit 220, and a calculation processing unit 230. The imaging unit 210 captures an image of an object to be inspected (not shown) and outputs the captured image to the calculation processing unit 230. The robot unit 220 is configured by combining a plurality of joints that are configured to be rotatable along a predetermined rotation direction and links connecting each joint, and by adjusting the angle of each joint according to the control of the calculation processing unit 230, the imaging unit 210 attached to the tip is moved to an arbitrary inspection position and is set to a posture according to an arbitrary imaging direction. The calculation processing unit 230 controls the robot unit 220 and determines whether the appearance of the object to be inspected is normal or not based on the captured image input from the imaging unit 210. In this way, an appearance inspection of the object to be inspected is performed.

[0017] The inspection path generating device 100 generates, as an inspection path for the appearance inspection device 200, the order of each inspection position through which the imaging unit 210 passes and the attitude of the imaging unit 210 at each inspection position when the appearance inspection device 200 performs the appearance inspection of the inspection object. Then, information on the generated inspection path is transmitted to the appearance inspection device 200, and the inspection path generating device 100 supports the appearance inspection of the inspection object by the appearance inspection device 200.

[0018] The inspection path generating device 100 includes an input device 110 , an output device 120 , a storage unit 130 , and a calculation device 140 .

[0019] The input device 110 is a device for inputting, by a user's operation, various pieces of information (to be described later) that are to be stored in the storage unit 130. The input device 110 is configured using, for example, a keyboard, a mouse, a touch panel, and the like.

[0020] The output device 120 is a device for outputting information such as the generated inspection route and providing it to a user. The output device 120 is configured using, for example, a display, a printer, a smartphone, a tablet PC, or the like.

[0021] The storage unit 130 stores information such as information input by a user using the input device 110 and information such as the results of calculations by the calculation device 140. The storage unit 130 is configured using a known information storage device capable of reading and writing data, such as a hard disk drive (HDD) or a solid state drive (SSD). The storage unit 130 stores inspection device configuration information 131, inspection target information 132, inspection condition information 133, route graph information 134, and output information 135. Note that other information, such as information on a program executed by the calculation device 140, may also be stored in the storage unit 130.

[0022] The inspection apparatus configuration information 131 is information relating to the configuration of the appearance inspection apparatus 200, and includes robot configuration information 1310 and inspection equipment configuration information 1311. The robot configuration information 1310 is information that represents the shape of the robot unit 220 in the appearance inspection apparatus 200, the range and limit speed of each joint angle, etc. The inspection equipment configuration information 1311 is information that represents the arrangement of the imaging unit 210 and the robot unit 220 that constitute the appearance inspection apparatus 200, etc.

[0023] The inspection target information 132 is information about an inspection target on which the appearance inspection apparatus 200 performs appearance inspection, and includes shape information 1320 and inspection target area information 1321. The shape information 1320 is information that represents the shape of the inspection target. The inspection target area information 1321 is information that represents an area of ​​the inspection target that is to be subject to appearance inspection.

[0024] The inspection condition information 133 is information on constraint conditions when the appearance inspection device 200 performs the appearance inspection of the inspection object, and includes inspection position information 1330, inspectable area information 1331, and camera movable range information 1332. The inspection position information 1330 is information representing the inspection position where the imaging unit 210 images the inspection object and the attitude of the imaging unit 210 at each inspection position. The inspectable area information 1331 is information representing the inspectable area for each inspection position. The inspectable area represented by the inspectable area information 1331 is a surface area in which the appearance inspection device 200 can perform the appearance inspection from the captured image for each inspection position acquired by the imaging unit 210, among multiple surface areas to be the target of the appearance inspection of the inspection object. The camera movable range information 1332 is information representing the movable range of the imaging unit 210 at each inspection position. The movable range represented by the camera movable range information 1332 corresponds to the constraint condition of the attitude of the imaging unit 210 at each inspection position.

[0025] The route graph information 134 is information about a route graph used in the calculation performed by the calculation device 140 when generating an inspection route for the appearance inspection device 200, and includes inter-node connection information 1340 and movement cost information 1341. The inter-node connection information 1340 is information that represents the connection relationship between nodes corresponding to each inspection position. The movement cost information 1341 is information that represents the movement cost according to the length of movement time when the imaging unit 210 moves between each node represented by the inter-node connection information 1340.

[0026] The output information 135 is information representing the calculation result by the calculation device 140, and includes inspection path information 1350, camera angle information 1351, and robot posture information 1352. The inspection path information 1350 is information representing an optimal inspection path for the appearance inspection device 200 generated by the calculation of the calculation device 140. The camera angle information 1351 is information representing the rotation angle of the imaging unit 210 at each inspection position on the inspection path represented by the inspection path information 1350. The robot posture information 1352 is information representing the posture of the robot unit 220 at each inspection position on the inspection path represented by the inspection path information 1350.

[0027] The arithmetic device 140 is a part that performs various arithmetic processing for the inspection path generation device 100 to generate an inspection path, and is configured with well-known elements such as a CPU, a GPU, a RAM, a ROM, etc. The arithmetic device 140 has, as its functions, the following functional blocks: a path determination unit 141, an inspection possible area calculation unit 142, a camera movable range calculation unit 143, a path graph generation unit 144, a movement cost calculation unit 145, a minimum cost path selection unit 146, and an output information generation unit 147. The arithmetic device 140 can realize these functional blocks by, for example, executing a predetermined program stored in advance.

[0028] The path determination unit 141 determines an inspection path using each of the functional blocks from the inspectable area calculation unit 142 to the output information generation unit 147. Details of the process performed by the path determination unit 141 will be described later with reference to FIGS. 9 and 10.

[0029] The inspectable area calculation unit 142 calculates the inspectable area for each inspection position, and stores the calculation result in the storage unit 130 as inspectable area information 1331 .

[0030] The camera movable range calculation unit 143 calculates the movable range of the imaging unit 210 for each inspection position, and stores the calculation result in the storage unit 130 as camera movable range information 1332.

[0031] The route graph generating unit 144 sets a node corresponding to each inspection position, generates a route graph that indicates the connection relationship between each node, and stores information on the generated route graph in the storage unit 130 as inter-node connection information 1340.

[0032] The movement cost calculation unit 145 calculates the movement cost when the imaging unit 210 moves between each node of the route graph based on the inspection device configuration information 131 and the inspection condition information 133, and stores the calculation result in the memory unit 130 as movement cost information 1341.

[0033] The minimum cost route selection unit 146 selects a route that passes through all nodes with the minimum cost, based on the route graph generated by the route graph generation unit 144 and the movement costs calculated by the movement cost calculation unit 145. In this way, an optimal inspection route is generated when the appearance inspection apparatus 200 performs an appearance inspection of an object to be inspected.

[0034] The output information generation unit 147 determines the rotation angle (imaging direction) of the imaging unit 210 at each node and the angle of each joint of the robot unit 220 at each node for the minimum cost route selected by the minimum cost route selection unit 146. Then, using this determined information and the information of the inspection route generated by the minimum cost route selection unit 146, the output information 135 is generated and stored in the storage unit 130.

[0035] [Data Description] Next, data used in the inspection path generating device according to the first embodiment of the present invention will be described below with reference to FIGS.

[0036] FIG. 2 is a diagram showing an example of data of robot configuration information 1310 in inspection apparatus configuration information 131 stored in storage unit 130. In the example of FIG. 2, robot configuration information 1310 has data shown in data columns 101 to 103 for each component that configures robot unit 220. Data column 101 stores names such as "robot," "link," and "joint" as classification names of each component that configures robot unit 220. Data column 102 stores item names of data. Data column 103 stores data values, file names, and the like as information corresponding to the item names of data column 102.

[0037] FIG. 3 is a diagram showing an example of data of inspection equipment configuration information 1311 in the inspection device configuration information 131 stored in the storage unit 130. In the example of FIG. 3, the inspection equipment configuration information 1311 has data shown in data columns 111 to 114 for each piece of equipment constituting the appearance inspection device 200. The data column 111 stores the name of each piece of equipment constituting the appearance inspection device 200. The data column 112 stores information indicating the equipment to which each piece of equipment is to be attached, that is, information indicating which other equipment each piece of equipment is to be attached to. The data column 113 stores information regarding the relative position of each piece of equipment with respect to the equipment to which it is to be attached. The data column 114 stores information regarding the relative attitude of each piece of equipment with respect to the equipment to which it is to be attached.

[0038] FIG. 4 is a diagram showing an example of data of inspection target area information 1321 in inspection target information 132 stored in storage unit 130. In the example of FIG. 4, inspection target area information 1321 has data shown in data columns 211 to 218 for each inspection target on which visual inspection device 200 performs visual inspection. Data column 211 stores the part name of each inspection target. Data columns 211 to 218 store information indicating whether or not each of areas F1 to Fn (n is a natural number) is a target of visual inspection when the surface of each inspection target is divided into a plurality of areas and each area is designated as F1 to Fn. Specifically, in data columns 211 to 218, "1" indicates that the area is a target of inspection, and "0" indicates that the area is not a target of inspection. Note that data indicating areas F1 to Fn of the inspection target are stored in storage unit 130 as shape information 1320 in inspection target information 132, and can be represented in a known polygon data format such as STL.

[0039] Fig. 5 is a diagram showing an example of data of inspection condition information 133 stored in storage unit 130. In the example of Fig. 5, inspection condition information 133 has data shown in data strings 301-307, 311-316, and 321-322 for each inspection position where imaging unit 210 captures an image of an inspection target when visual inspection apparatus 200 performs visual inspection. Data string 301 stores information representing each inspection position. In the example of Fig. 5, each inspection position is designated as A to L, and information representing these inspection positions A to L is stored.

[0040] Data columns 302 to 304 store information representing the relative position of each inspection position with respect to the inspection object. Data columns 305 to 307 store information representing the relative orientation of the imaging unit 210 at each inspection position with respect to the inspection object. The data in these data columns 302 to 307 configure inspection position information 1330.

[0041] The data columns 311-316 store information indicating whether the visual inspection device 200 can perform visual inspection of the regions F1-Fn from the captured images of the inspection object acquired by the imaging section 210 at each inspection position. Specifically, in the data columns 311-316, "1" indicates that the region can be inspected from the captured images obtained at each inspection position, and "0" indicates that the region cannot be inspected from the captured images obtained at each inspection position. The data in the data columns 311-316 configure the inspectable region information 1331.

[0042] The data columns 321 to 322 store information indicating the range in which the robot unit 220 can move the imaging unit 210 at each inspection position. In the example of FIG. 5, the minimum rotation angle stored in the data column 321 and the maximum rotation angle stored in the data column 322 represent the rotation angle range in the case where the imaging unit 210 is rotated in the yaw direction. Specifically, for example, for the inspection position A, "30" is stored in the data column 321 and "200" is stored in the data column 322. This represents that, at the inspection position A, the imaging unit 210 can take a posture required for imaging the inspection object within the range of yaw rotation angles of 30° to 200°. On the other hand, for the inspection position L, no numerical value is stored in either of the data columns 321 and 322. This represents that, at the inspection position L, the imaging unit 210 cannot take a posture required for imaging the inspection object at any yaw rotation angle. The camera movable range information 1332 is configured by each data of the data columns 321 and 322. In the example of Figure 5, an example is shown in which the camera movement range information 1332 is represented by the yaw rotation angle, but the camera movement range information 1332 may also be represented by, for example, a roll rotation angle or a pitch rotation angle, or these may be combined to form the camera movement range information 1332.

[0043] Fig. 6 is a diagram showing an example of the connection relationships between nodes represented by the inter-node connection information 1340 in the route graph information 134 stored in the storage unit 130. In the inter-node connection information 1340, for example, as shown in Fig. 6, nodes corresponding to the respective inspection positions A to G are set, and the connection relationships between these nodes are represented by arrows. The information on the arrows between the nodes shown in Fig. 6 is stored in the storage unit 130 as the inter-node connection information 1340, thereby representing a combination of the order in which the imaging unit 210 moves among the inspection positions A to G when the appearance inspection apparatus 200 performs the appearance inspection of the inspection target.

[0044] FIG. 7 is a diagram showing an example of data of the movement cost information 1341 in the route graph information 134 stored in the storage unit 130. In the example of FIG. 7, the movement cost information 1341 stores a numerical value indicating the magnitude of the movement cost for each combination of a column 411 representing a start node and a row 422 representing an end node for the connection relationship between each node represented by the node-to-node connection information 1340. Note that a numerical value is not stored for a combination between nodes that is known to have a high movement cost, for example, a combination of a start point B and an end point C in FIG. 7. In addition, the numerical value of the movement cost stored for each node is an asymmetric numerical value so that the numerical value changes when the start point and the end point are interchanged, in order to impose a constraint such as circulating the inspection positions in a clockwise direction. These numerical values ​​of the movement cost are calculated in the movement cost calculation unit 145 by obtaining the movement time between each inspection position, the change in posture of the imaging unit 210, the traveling direction, and the like based on the inspection device configuration information 131 and the inspection condition information 133.

[0045] Fig. 8 is a diagram showing an example of data of output information 135 stored in storage unit 130. In the example of Fig. 8, output information 135 has data shown in data strings 501-507, 511, and 521-525 for each inspection position where imaging unit 210 captures an image of an inspection target when visual inspection apparatus 200 performs visual inspection. Data string 501 stores information representing each inspection position in the order in which imaging unit 210 passes through on the inspection route generated by minimum cost route selection unit 146.

[0046] Data columns 502 to 504 store information representing the relative position of each inspection position with respect to the inspection object. Data columns 505 to 507 store information representing the relative attitude of the imaging unit 210 at each inspection position with respect to the inspection object. The data in these data columns 502 to 507 configure the inspection path information 1350. Note that data in each row in the inspection path information 1350 corresponds to data in each row in the inspection position information 1330, and the same data is stored in the same inspection position.

[0047] Data string 511 stores information indicating the rotation angle of imaging unit 210 at each inspection position. In the example of Fig. 8, it indicates the rotation angle of imaging unit 210 in the yaw direction. The data of this data string 511 constitutes camera angle information 1351. Note that, although an example of indicating camera angle information 1351 by a yaw rotation angle is shown in the example of Fig. 8, camera angle information 1351 may be indicated by, for example, a roll rotation angle or a pitch rotation angle, or these may be combined to form camera angle information 1351.

[0048] When each joint of robot part 220 is designated as J1 to Jn (n is a natural number), information indicating the angle of these joints J1 to Jn at each inspection position is stored in data columns 521 to 525. Robot posture information 1352 is configured by each data of these data columns 521 to 525.

[0049] [Flowchart explanation] Next, the inspection path planning process executed in the inspection path generating device according to the first embodiment of the present invention will be described below with reference to the flowcharts in FIGS. 9 and 10 and the explanatory diagram in FIG.

[0050] 9 is an example of a flowchart of a planning process of an inspection route according to the first embodiment of the present invention. The process shown in the flowchart of FIG.

[0051] In step S101, as information to be used in the processing of step S102, the inspection device configuration information 131, the inspection target information 132, and the inspection position information 1330 are read from the storage unit 130 and input to the calculation device 140. It is assumed that these pieces of information are stored in advance in the storage unit 130 based on information input in advance by the user using the input device 110, etc.

[0052] In step S102, an inspection route determination process is executed to determine an optimal inspection route based on each piece of information input in step S101. Details of the inspection route determination process executed in step S102 will be described later with reference to the flowchart in FIG.

[0053] In step S103, information on the inspection route determined in step S102 is stored in the storage unit 130 as output information 135, and is output to the output device 120.

[0054] Fig. 10 is an example of a flowchart of the inspection route determination process performed in step S102. The process shown in the flowchart in Fig. 10 is executed by the route determination unit 141 in the calculation device 140 by appropriately calling the inspection possible area calculation unit 142, the camera movable range calculation unit 143, the route graph generation unit 144, the movement cost calculation unit 145, the minimum cost route selection unit 146, and the output information generation unit 147, using these functional blocks.

[0055] In step S200, the inspection possible area of ​​the appearance inspection device 200 at each inspection position is calculated based on the inspection object information 132 and the inspection position information 1330 read in step S101 of FIG. 9. Here, for example, the inspection possible area calculation unit 142 compares the position and orientation of the imaging unit 210 with the position and orientation of the inspection object areas F1 to Fn for each inspection position based on the relative position and orientation of the imaging unit 210 at each inspection position represented by the inspection position information 1330 and the shape information 1320 included in the inspection object information 132. As a result, if the difference between them is within a predetermined range, the area is determined to be an inspection possible area, and if it is outside the predetermined range, the area is determined to be not an inspection possible area. In this way, the inspection possible area can be calculated. The information on the inspection possible area calculated in step S200 is stored in the storage unit 130 as inspection possible area information 1331 included in the inspection condition information 133. Furthermore, based on inspection target area information 1321 included in inspection target object information 132, inspection target areas are extracted from the calculated inspection possible areas, and the area of ​​each of the extracted inspection possible areas is calculated based on shape information 1320. The area of ​​each inspection possible area calculated here is used when calculating total inspection possible areas Ao, Ac in steps S204 and S207 described later.

[0056] In step S201, the movable range of the imaging unit 210 according to the posture that the robot unit 220 can take at each inspection position is calculated based on the inspection device configuration information 131 and the inspection position information 1330 read in step S101 of Fig. 9. Here, for example, the camera movable range calculation unit 143 acquires information such as the shape of the robot unit 220, the angle range and limit speed of each joint, and the shape and arrangement of each piece of equipment in the appearance inspection device 200 from the robot configuration information 1310 and the inspection equipment configuration information 1311 included in the inspection device configuration information 131, and calculates the range of posture that the robot unit 220 can take at each inspection position based on this information. Then, the movable range of the imaging unit 210 at each inspection position, that is, the constraint condition of the posture of the imaging unit 210 is calculated from the calculated range of posture of the robot unit 220. The information on the movable range of the imaging unit 210 calculated in step S201 is stored in the storage unit 130 as camera movable range information 1332 included in the inspection condition information 133.

[0057] In step S202, the movement cost between each inspection position is calculated based on the inspection position information 1330 read in step S101 of FIG. 9 and the camera movable range information 1332 calculated in step S201, and a route graph is generated. Here, for example, the route graph generation unit 144 sets nodes corresponding to each inspection position based on the inspection position information 1330, and sets a movement route expressing the connection relationship of the imaging unit 210 with lines connecting each node. Then, the movement cost calculation unit 145 calculates the path length (distance between nodes) of each set movement route, the amount of change in attitude of the imaging unit 210, the traveling direction, etc. based on the inspection position information 1330 and the camera movable range information 1332, and calculates the movement cost between each node using these calculation results. In this way, a route graph can be generated. The movement route information and movement cost information calculated in step S202 are stored in the storage unit 130 as inter-node connection information 1340 and movement cost information 1341 included in the route graph information 134, respectively.

[0058] Fig. 11 is an explanatory diagram of a method for calculating the movement cost. In the following, an example will be described in which four nodes A to D are set as shown in Fig. 11, and the movement cost between these nodes is calculated.

[0059] The movement cost calculation unit 145 calculates the length (distance) of each movement path connecting the two points, the amount of change in posture of the imaging unit 210, and the traveling direction for all combinations when two are selected from the four nodes A, B, C, and D shown in Fig. 11. Fig. 11 shows an example of the distance of each movement path, the amount of change in posture of the imaging unit 210, and the traveling direction thus calculated. For example, in a movement path starting from node A and ending at node B, the distance is 0.2, the amount of change in posture of the imaging unit 210 is 30, and this indicates that the imaging unit 210 moves in a counterclockwise direction.

[0060] The movement cost calculation unit 145 can calculate the movement cost between each node by evaluating the length of time required for the image capture unit 210 to move along each movement path based on the above information calculated for each movement path, and set the movement cost information 1341. At this time, for a movement path in which the movement cost is obviously excessive compared to other movement paths, such as a movement path in which the posture change amount of the image capture unit 210 is equal to or greater than a predetermined threshold, it is preferable not to set a movement cost in the movement cost information 1341, as in the combination of the start point B and the end point C in the example of FIG. 7. In this way, in the processing in step S203 and thereafter described later, candidates for inspection paths with high movement costs can be excluded in advance, and an inspection path can be efficiently determined.

[0061] Returning to the explanation of FIG. 10, in step S203, the minimum cost route selection unit 146 generates an initial inspection route candidate Ro using the route graph generated in step S202. Here, the initial inspection route candidate Ro is generated by randomly selecting the passing order of nodes in the route graph, and this is set as the initial value of the inspection route candidate Rc. At this time, it is not necessary to select a route that passes through all nodes. Any route that passes through at least two or more nodes can be selected as the initial inspection route candidate Ro. In addition, for a travel route for which a cost is not set in the travel cost information 1341, for example, a travel route corresponding to the combination of the start point B and the end point C in FIG. 7, it is preferable to generate the initial inspection route candidate Ro so as not to include that travel route.

[0062] In step S204, the minimum cost route selection unit 146 calculates the total movement cost Co and the total inspectable area Ao of the initial inspection route candidate Ro generated in step S203. For example, the total movement cost Co can be calculated by summing up the movement costs calculated in step S202 for each movement route included in the initial inspection route candidate Ro according to the passing order of the nodes selected in the initial inspection route candidate Ro. In addition, the total inspectable area Ao can be calculated by summing up the areas of the inspectable areas calculated in step S200 for each inspection position corresponding to each node of the initial inspection route candidate Ro while avoiding overlaps. The total movement cost Co and the total inspectable area Ao of the initial inspection route candidate Ro calculated in step S204 correspond to the initial values ​​of the total movement cost Cc and the total inspectable area Ac of the inspection route candidate Rc, respectively.

[0063] In steps S205 to S210, a loop process is executed. Here, the process from steps S206 to S210 is executed repeatedly until the values ​​of the total movement cost Cc and the total inspectable area Ac of the inspection path candidate Rc set during the loop process exceed predetermined thresholds, respectively, or the number of loops exceeds a predetermined threshold.

[0064] In step S206, the minimum cost route selection unit 146 generates a new inspection route candidate Rc from the route graph generated in step S202. Here, as in step S203, an unselected inspection route can be generated as an inspection route candidate Rc by randomly selecting the order of passing through the nodes in the route graph. Alternatively, the inspection route candidate Rc may be generated by replacing, adding, deleting, etc., some nodes of the current inspection route R in the loop processing. In this case, as in step S203, it is not necessary to select a route that passes through all nodes. Any route that passes through at least two or more nodes can be selected as the inspection route candidate Rc. In addition, for a travel route for which a cost is not set in the travel cost information 1341, it is preferable to generate the inspection route candidate Rc so as not to include the travel route.

[0065] In step S207, the total movement cost Cc and the total inspectable area Ac of the inspection path candidate Rc generated in step S206 are calculated by the minimum cost path selection unit 146. Here, the total movement cost Cc and the total inspectable area Ac can be calculated in the same manner as in step S204.

[0066] In step S208, the minimum cost route selection unit 146 compares the total travel cost Cc of the inspection route candidate Rc calculated in step S207 with the total travel cost C of the current inspection route R. If Cc<=C, the process proceeds to step S209; otherwise, the process proceeds to step S205.

[0067] In step S209, the minimum cost path selection unit 146 compares the total testable area Ac of the inspection path candidate Rc calculated in step S207 with the total testable area A of the current inspection path R. If Ac>=A, the process proceeds to step S210; otherwise, the process proceeds to step S205.

[0068] In step S210, the minimum cost path selection unit 146 updates the inspection path R, and the total movement cost C and total inspectable area A of the inspection path R. Here, the inspection path candidate Rc generated in the most recent step S206 is set as the inspection path R, and the total movement cost Cc and total inspectable area Ac of the inspection path candidate Rc are set as the total movement cost C and total inspectable area A of the inspection path R, respectively, thereby updating these values. After performing the processing of step S210, the process transitions to the processing of step S205.

[0069] When the loop process of steps S205 to S210 is completed, the inspection path candidate Rc that has the smallest total movement cost Cc and the largest total inspectable area Ac is finally determined as the inspection path R.

[0070] In step S211, the output information generating unit 147 calculates the rotation angle of the imaging unit 210 for each inspection position on the inspection path R finally determined in the loop processing of steps S205 to S210. Here, according to the passing order of each inspection position on the inspection path R, a combination of rotation angles that minimizes the change in the yaw rotation angle of the imaging unit 210 within the camera movable range calculated in step S201 is selected for each inspection position on the inspection path R. Note that a similar calculation method can also be applied when setting a roll rotation angle, a pitch rotation angle, or the like for the imaging unit 210 as described above. As a result, the attitude P of the imaging unit 210 on the inspection path R is calculated.

[0071] In step S212, output information 135 is generated based on the inspection path R finally determined in the loop processing of steps S205 to S210 and the posture P calculated in step S212. Here, for example, the output information generating unit 147 determines the angle of each joint of the robot unit 220 at each node of the inspection path R based on the inspection device configuration information 131 and the inspection position information 1330 read in step S101 of FIG. 9. Then, in accordance with the passing order of each inspection position on the inspection path R, the inspection position information 1330 read in step S101 is rearranged, and the posture P corresponding to each inspection position and the angle of each joint are set, thereby determining the inspection path information 1350, the camera angle information 1351, and the robot posture information 1352. In this way, the output information 135 can be generated. The output information 135 generated in step S212 is stored in the storage unit 130 and is output to the output device 120 in step S103 of FIG. 9. At this time, information such as the total movement cost C of the inspection route R and the total inspectable area A may be included in the output information 135.

[0072] 10 described above, when generating the route graph in step S202, the travel cost between each node may not be calculated. In this case, when calculating the total travel cost Co of the initial inspection route candidate Ro in step S204, or when calculating the total travel cost Cc of the inspection route candidate Rc in step S207, it is preferable to calculate the total travel costs Co, Cc taking into consideration the total inter-node distances in the entire inspection route candidate, the amount of change in attitude of the imaging unit 210, the change in the traveling direction, and the like.

[0073] For example, a method of calculating the total movement cost Cc when a route passing through four nodes A to D shown in FIG. 11 in the order of A→B→C→D is selected as an inspection route candidate Rc will be described below. In this case, the total route length L of the inspection route candidate Rc is calculated as L=0.2+0.1+0.2=0.5 from the distance information between each node. Also, the number of times D of changes in the direction of travel between each node is D=0 because the direction of travel of the inspection route candidate Rc is counterclockwise→counterclockwise→counterclockwise from the travel direction information between each node. In this way, the number of times D of changes in the direction of travel is reduced, and the inspection route becomes smooth, so that the route error that occurs when the imaging unit 210 operates continuously without stopping at each via point can be reduced. Also, the total amount of change in the direction Y of the imaging unit 210 in the inspection route candidate Rc is calculated as Y=30+20+5=55 from the camera attitude change information between each node.

[0074] Based on the total route length L, the number of changes in the travel direction D, and the total amount of change in posture Y obtained as described above, a total movement cost Cc of the inspection route candidate Rc is obtained, for example, by using the following formula (1). Cc=αL+βD+γY …Equation (1) In equation (1), α, β, and γ are weighting coefficients, each of which is set to an arbitrary value.

[0075] 10, in the loop process of steps S205 to S210, an inspection path candidate Rc that minimizes the total movement cost Cc expressed by formula (1) is finally selected as the inspection path R. This makes it possible to generate an inspection path in which the movement distance of the imaging unit 210 is short, the posture change is small, and there are few direction changes.

[0076] In the flowchart of FIG. 10, the order of steps S208 and S209 may be interchanged, or only one of steps S208 and S209 may be performed.

[0077] When only step S208 is performed, in the loop processing of steps S205 to S210, the inspection path candidate Rc with the smallest movement cost is finally selected as the inspection path R. Therefore, an inspection path that enables the visual inspection of the inspection object by the visual inspection device 200 to be realized in a short time is obtained. At this time, instead of performing the judgment of step S209, it may be determined whether or not the total inspectable area Ac of the inspection path candidate Rc is equal to or greater than a predetermined threshold, and the processing of step S210 may be performed only if it is equal to or greater than the threshold. In this way, it is possible to prevent the generation of an inspection path in which the inspectable area of ​​the inspection object is narrow and therefore the desired inspection accuracy cannot be obtained.

[0078] On the other hand, when only step S208 is performed, in the loop processing of steps S205 to S210, the inspection path candidate Rc with the largest inspectable area is finally selected as the inspection path R. Therefore, an inspection path that can maximize the inspectable area in the visual inspection of the inspection object by the visual inspection device 200 is obtained. At this time, instead of performing the judgment of step S208, it is also possible to judge whether the total movement cost Cc of the inspection path candidate Rc is equal to or less than a predetermined threshold, and perform the processing of step S210 only if it is equal to or less than the threshold. In this way, it is possible to prevent the generation of an inspection path that has a high movement cost and therefore cannot perform visual inspection within a desired time.

[0079] Alternatively, instead of performing the judgments in steps S208 and S209, a total cost W1, which is a weighted sum of the total movement cost Cc of the inspection path candidate Rc and the total inspectable area Ac, may be calculated using the following equation (2), and the inspection path candidate Rc may be evaluated using this total cost W1. W1 = δCc + ε(A all -Ac) …Formula (2) In formula (2), δ and ε are weighting coefficients, each of which is set to an arbitrary value. all is the total area of ​​the inspection region in the inspection object.

[0080] Furthermore, instead of performing the processes of steps S203 to S210, the total cost W1 for all the movement routes included in the route graph generated in step S202 may be calculated by the above formula (2), and then the route that minimizes the total cost W1 may be obtained as the inspection route R. When obtaining such an inspection route R, for example, by treating it as a traveling salesman problem, an optimal solution can be obtained using a well-known method. Alternatively, the inspection route R that minimizes the total cost W1 may be calculated by a general method such as a brute force method or a greedy method.

[0081] Furthermore, instead of performing the processes of steps S203 to S211, a total cost W2 other than the total cost W1 may be calculated for all routes represented by the route graph generated in step S202, and then the route that minimizes the total cost W2 may be obtained as the inspection route R. The total cost W2 may be calculated, for example, as a weighted sum of the total movement cost Cc, the total inspectable area Ac, and the total posture change amount Y of each inspection route candidate Rc obtained from the route graph, for example, using the following formula (3). W2 = δCc + ε(A all -Ac)+γ(MAX(Y)-MIN(Y))...Formula (3) In equation (3), MAX(Y) is the maximum value of the total attitude change amount Y, and MIN(Y) is the minimum value of the total attitude change amount Y.

[0082] By obtaining the inspection route R using the total cost W2 calculated by the formula (3), it is possible to optimize the inspection route R all at once, including the amount of change in the posture of the imaging unit 210. Note that the optimal solution of the inspection route R in this case can be solved as a traveling salesman problem, or can be calculated by a general method such as a brute force method or a greedy method.

[0083] [Output Description] Next, an example of output of a processing result in the inspection path generating device according to the first embodiment of the present invention will be described below with reference to FIG. 12 and FIG.

[0084] Fig. 12 is a diagram showing an example of an output screen in the inspection path generating device according to the first embodiment of the present invention. An output screen 1100 shown in Fig. 12 is displayed on the output device 120 based on the output information 135 output in step S103 in Fig. 9. The output screen 1100 includes selection frames 1101 to 1103, operation buttons 1104 to 1107, an inspection path list 1108, and a display frame 1109.

[0085] A user can use input device 110 to select any inspection equipment as visual inspection apparatus 200. Information on the selected inspection equipment is displayed in selection frame 1101. When any inspection equipment is selected and the user performs an operation to select operation button 1104 on output screen 1100, inspection equipment configuration information 131 corresponding to the inspection equipment is stored in storage unit 130.

[0086] The user can select any inspection object using the input device 110. Information on the selected inspection object is displayed in a selection frame 1102. When any inspection object is selected and the user performs an operation to select an operation button 1105 on the output screen 1100, inspection object information 132 and inspection position information 1330 corresponding to the inspection object are stored in the storage unit 130.

[0087] After the inspection device configuration information 131, the inspection target information 132, and the inspection position information 1330 are stored in the storage unit 130 as described above, the user can select the operation button 1106 on the output screen 1100 to cause the calculation device 140 to execute a route planning process. At this time, in the calculation device 140, the route determination unit 141 executes the process according to the flowcharts of Figs. 9 and 10.

[0088] Inspection route list 1108 displays a list of inspection routes generated by route planning processing. Based on the output information 135 determined in the route planning processing plus the above-mentioned total movement cost C and total inspectable area A, information such as the execution time of the appearance inspection for each inspection route, the amount of change in attitude of the imaging unit 210, and the coverage rate of the area to be inspected is displayed. By selecting any one of the inspection routes in inspection route list 1108, the user can select the execution recipe when the appearance inspection apparatus 200 performs the appearance inspection. Information on the selected execution recipe is displayed in selection frame 1103.

[0089] When the recipe to be executed is selected and the user performs an operation to select operation button 1107 on output screen 1100, the state of the appearance inspection according to the recipe to be executed is displayed in display frame 1109. From the contents displayed in display frame 1109, the user can visually confirm the movement of appearance inspection apparatus 200 during the appearance inspection, the change in attitude of image capturing unit 210, the inspectable area of ​​the object to be inspected, and the like, and determine the inspection route to be adopted.

[0090] Fig. 13 is a diagram showing another example of an output screen in the inspection path generating device according to the first embodiment of the present invention. An output screen 1200 shown in Fig. 13 is displayed on the output device 120 based on the output information 135 output in step S103 of Fig. 9, similar to the output screen 1100 of Fig. 12. The output screen 1200 is configured to include a display frame 1201 instead of the display frame 1109 in the output screen 1100 of Fig. 12.

[0091] A change in posture of the imaging unit 210 during the visual inspection according to the selected execution recipe, for example, a change in the yaw rotation angle, is displayed in the display frame 1201. The user can confirm the degree of the change in posture of the imaging unit 210 during the visual inspection from the display contents of the display frame 1201 and determine the inspection route to be adopted.

[0092] According to the first embodiment of the present invention described above, the following advantageous effects are achieved.

[0093] (1) The inspection path generating device 100 generates an inspection path for the visual inspection device 200 that performs visual inspection of an object to be inspected based on an image captured by the imaging unit 210. The inspection path generating device 100 includes a storage unit 130 that stores inspection position information 1330 that indicates a plurality of inspection positions at which the imaging unit 210 captures an image of the object to be inspected, and inspection device configuration information 131 that indicates a configuration of the visual inspection device 200, and a path determining unit 141. The path determining unit 141 calculates a path length and an amount of change in posture of the imaging unit 210 between each of the inspection positions when the imaging unit 210 moves between the plurality of inspection positions based on the inspection position information 1330 and the inspection device configuration information 131 (step S202), and determines an inspection path based on the calculated path length and amount of change in posture (steps S203 to S210). As a result, an inspection path that can reduce the inspection time while suppressing a decrease in inspection accuracy can be provided for the visual inspection device 200 that performs visual inspection of the object to be inspected.

[0094] (2) The path determination unit 141 calculates movement costs Co, Cc based on the path length between each of the inspection positions when the imaging unit 210 moves between the multiple inspection positions, the amount of change in posture of the imaging unit 210, and the moving direction (steps S202, S204, S206), and determines the inspection path based on the calculated movement costs Co, Cc (steps S208 to S210). This makes it possible to reliably determine the inspection path that provides the shortest inspection time within a predetermined range of inspection accuracy.

[0095] (3) The path determination unit 141 calculates constraint conditions for the posture of the imaging unit 210 at each inspection position based on the inspection device configuration information 131 (step S201), and calculates the posture change amount of the imaging unit 210 based on the calculated constraint conditions (step S202). Since this is done, it is possible to accurately calculate the posture change amount of the imaging unit 210 in consideration of the range of postures that the imaging unit 210 can take in the appearance inspection device 200.

[0096] (4) In the calculation of the movement cost in step S202, if the amount of change in posture of the imaging unit 210 between any inspection positions is equal to or greater than a predetermined threshold, the path determination unit 141 does not need to set the movement cost. In this way, when a plurality of inspection path candidates Rc are generated in the loop processing of steps S205 to S210 and the inspection path R is determined from the plurality of generated inspection path candidates Rc, the inspection path R is determined by excluding the inspection path candidates Rc that meet the condition. This allows the inspection path candidates that require excessive inspection time to be excluded in advance, making it possible to efficiently determine the inspection path.

[0097] (5) The inspection path generating device 100 executes a process (step S101) of acquiring inspection position information 1330 representing a plurality of inspection positions where the imaging unit 210 of the appearance inspection device 200 captures an image of an inspection target and inspection device configuration information 131 representing a configuration of the appearance inspection device 200, a process (step S202) of calculating a path length and an amount of change in posture of the imaging unit 210 between each of the inspection positions when the imaging unit 210 moves between the plurality of inspection positions based on the acquired inspection position information 1330 and the inspection device configuration information 131, and a process (steps S203 to S210) of determining an inspection path based on the calculated path length and amount of change in posture. As a result, an inspection path that can reduce the inspection time while suppressing a decrease in inspection accuracy can be provided to the appearance inspection device 200 that performs the appearance inspection of the inspection target.

[0098] -Second embodiment- A second embodiment of the present invention will now be described.

[0099] [Description of device configuration] FIG. 14 is a diagram showing a configuration example of an appearance inspection system including an inspection path generating device according to a second embodiment of the present invention. The appearance inspection system shown in FIG. 14 is configured by connecting an inspection path generating device 100A and an appearance inspection device 200 to each other via a communication line 300. The difference between the inspection path generating device 100 of FIG. 1 described in the first embodiment and the inspection path generating device 100A shown in FIG. 14 is that the calculation device 140A further includes the function blocks of a path change unit 151, a change target inspection position selection unit 152, a candidate position setting unit 153, and a candidate position selection unit 154 in addition to the function blocks of the path determination unit 141, the inspection possible area calculation unit 142, the camera movement range calculation unit 143, the path graph generation unit 144, the movement cost calculation unit 145, the minimum cost path selection unit 146, and the output information generation unit 147 already described. Hereinafter, this embodiment will be described with a focus on these differences.

[0100] The route change unit 151 changes the inspection route determined by the route determination unit 141, using each of the functional blocks of a change target inspection position selection unit 152, a candidate position setting unit 153, and a candidate position selection unit 154. Details of the process performed by the route change unit 151 will be described later with reference to Figs. 15 and 16.

[0101] The change-target inspection position selection unit 152 selects, as the change-target inspection position, any one of a plurality of inspection positions on the inspection route determined by the route determination unit 141. The selection of the change-target inspection position by the change-target inspection position selection unit 152 is performed based on, for example, the movement cost between the inspection positions or a user specification.

[0102] The candidate position setting unit 153 sets a combination of multiple candidate positions that are candidates for the examination position to be changed, and the orientation of the imaging unit 210 at each candidate position, around the examination position to be changed selected by the examination position to be changed selection unit 152.

[0103] The candidate position selection unit 154 selects, from among the combinations of multiple candidate positions and postures of the imaging unit 210 set by the candidate position setting unit 153, a combination that does not reduce the inspectable area and minimizes the total movement cost over the entire inspection path as the changed inspection position and posture of the imaging unit 210.

[0104] [Flowchart explanation] Next, the planning process of an inspection path executed in the inspection path generating device according to the second embodiment of the present invention will be described below with reference to the flowcharts in FIGS. 15 and 16 and the explanatory diagrams in FIGS.

[0105] Fig. 15 is an example of a flowchart of a planning process of an inspection route according to the second embodiment of the present invention. The process shown in the flowchart of Fig. 15 is executed by the route determination unit 141 and the route change unit 151 in the arithmetic device 140A.

[0106] In step S301, as information to be used in the process of step S302, the inspection device configuration information 131, the inspection target information 132, and the inspection position information 1330 are read from the storage unit 130 and input to the arithmetic device 140A. It is assumed that these pieces of information are stored in advance in the storage unit 130 based on information input in advance by the user using the input device 110, etc.

[0107] In step S302, an inspection route determination process is executed to determine an optimal inspection route based on each piece of information input in step S301. In step S302, the inspection route determination process is executed according to the flowchart of FIG. 10 described in the first embodiment.

[0108] In step S303, an inspection route change process is executed to change the inspection route determined in step S302. Details of the inspection route change process executed in step S303 will be described later with reference to the flowchart of FIG.

[0109] In step S304, it is determined whether the appearance inspection according to the inspection route changed in step S303 can be performed in the appearance inspection device 200. For example, information such as the shape of the robot unit 220 in the appearance inspection device 200, the angle range of each joint, and the limit speed, and information such as the shape and arrangement of each piece of equipment constituting the appearance inspection device 200 are obtained from the inspection device configuration information 131 input in step S301, and it is determined whether the operation according to the changed inspection route can be performed in the robot unit 220 by performing a buffer judgment based on this information. As a result, if it is determined that the inspection route can be performed, the process proceeds to step S305, and if it is determined that the inspection route cannot be performed, the process proceeds to step S302. Note that if the process proceeds to step S302, the inspection route determination process is executed again in step S302, and an inspection route different from the previous one is determined.

[0110] In step S305, the information on the inspection route changed in step S303 is stored in the storage unit 130 as output information 135, and is output to the output device 120.

[0111] Fig. 16 is an example of a flowchart of the inspection path change process performed in step S303. The process shown in the flowchart in Fig. 16 is executed by the path change unit 151 in the calculation device 140A by appropriately calling the inspection possible area calculation unit 142, the minimum cost path selection unit 146, the change target inspection position selection unit 152, the candidate position setting unit 153, and the candidate position selection unit 154, using these functional blocks.

[0112] In step S401, the inspection path R determined in step S302 of FIG. 15, as well as the posture P of the inspection path R, the total movement cost C, and the total inspectable area A are input to the path change unit 151.

[0113] In steps S402 to S407, a loop process is executed. Here, the process from steps S403 to S407 is executed repeatedly until the number of loops exceeds a predetermined threshold value.

[0114] In step S403, the inspection position to be changed selection unit 152 selects, from among the multiple inspection positions included in the inspection path R input in step S401, an inspection position where the change in the attitude P of the imaging unit 210 is larger than the previous and subsequent inspection positions, as the inspection position to be changed X.

[0115] Fig. 17 is an explanatory diagram of a method for selecting an inspection position to be changed. Fig. 17 shows the state of change in attitude P at each inspection position and the range of yaw rotation angle of the imaging unit 210 at each inspection position for an inspection route R that passes through the inspection positions A to G in order as exemplified in Fig. 6. Here, the range of yaw rotation angle that the imaging unit 210 can take is determined taking into consideration the movable range of the robot unit 220.

[0116] The arrows in the graph of Fig. 17 indicate the change in attitude P set for each inspection position, i.e., the change in the yaw rotation angle of the imaging unit 210. In the graph of Fig. 17, it can be seen that the change in attitude P is larger when moving from inspection position D to inspection position E and when moving from inspection position E to inspection position F than when moving between other inspection positions. Therefore, for this inspection path R, inspection position E is selected as the inspection position X to be changed.

[0117] In step S403, the inspection position X to be changed may be selected using other methods. For example, the user may be allowed to arbitrarily select any one of the inspection positions on the output screens exemplified in the above-mentioned Figs. 12 and 13 to select the inspection position X to be changed. Also, an inspection position that meets a condition preset by the user may be selected as the inspection position X to be changed. In addition, it is possible to select the inspection position X to be changed based on various information input by the user.

[0118] Returning to the explanation of FIG. 16, in step S404, the candidate position setting unit 153 randomly generates N combinations (N is any natural number) of candidate positions X' that replace the change-target inspection position X set in step S403 and candidate orientations P' at the candidate positions X'.

[0119] Fig. 18 is an explanatory diagram of a method for setting candidate positions and candidate orientations. Fig. 18 shows examples of test positions D, E, and F among the test positions A to G exemplified in Fig. 6, and a candidate position X' and a candidate orientation P'. When the test position E is selected as the test position X to be changed in step S403 as described above, N combinations of the candidate position X' and the candidate orientation P' are randomly generated around this test position E, as shown in Fig. 18. At this time, it is preferable to set the values ​​of the candidate position X' and the candidate orientation P' so that the difference from the original test position E and orientation P falls within a predetermined range, respectively.

[0120] In step S404, only one of the candidate position X' and the candidate orientation P' may be generated for the change-target inspection position X, and the original value may be used for the other. That is, the inspection path R can be changed by changing at least one of the position and orientation of the imaging unit 210 at the change-target inspection position X.

[0121] Returning to the description of FIG. 16, in step S405, the inspection possible area calculation unit 142 calculates the inspection possible area of ​​the appearance inspection device 200 at each candidate position X' generated in step S404. Here, based on the inspection target information 132 read in step S301 of FIG. 15, the inspection possible area of ​​the appearance inspection device 200 at each candidate position X' can be calculated in the same manner as in step S200 of FIG. 10. That is, based on the relative position of the imaging unit 210 at each candidate position X', the candidate orientation P' representing the relative orientation of the imaging unit 210 at each candidate position X', and the shape information 1320 included in the inspection target information 132, the position and orientation of the imaging unit 210 and the position and orientation of the areas F1 to Fn of the inspection target are compared for each candidate position X'. As a result, if the difference between them is within a predetermined range, the area is determined to be an inspection possible area, and if it is outside the predetermined range, the area is determined not to be an inspection possible area. Furthermore, based on inspection target area information 1321 included in inspection target object information 132, inspection target areas are extracted from the calculated inspection possible areas, and the area of ​​each extracted inspection possible area is calculated based on shape information 1320. The area of ​​each inspection possible area calculated here is used when calculating a total inspection possible area A' in step S406 described later.

[0122] In step S406, the candidate position selection unit 154 calculates a total movement cost C' and a total inspectable area A' of the inspection path R when the inspection position X to be changed in the inspection path R is changed to each candidate position X'. Here, for the N combinations of candidate positions X' and candidate orientations P' generated in step S404, the total movement cost C' and the total inspectable area A' are calculated using the area of ​​each inspectable area calculated in step S405 in a manner similar to steps S204 and S207 in Fig. 10. As a result, when at least one of the position and orientation of the imaging unit 210 is changed at the inspection position X to be changed, it is possible to calculate the path length between each inspection position when the imaging unit 210 moves between the multiple inspection positions, the amount of change in orientation of the imaging unit 210, and the total inspectable area A' representing the area of ​​the inspection object that can be inspected by the appearance inspection device 200.

[0123] In step S407, the candidate position selection unit 154 updates the inspection path R and the attitude P based on the total movement cost C' and the total inspectable area A' calculated in step S406. Here, among the total movement cost C' and the total inspectable area A' calculated for each candidate position X', the candidate position X' whose total inspectable area A' is equal to or larger than the total inspectable area A of the original inspection path R and whose total movement cost C' is the smallest is set as the inspection position after the change. Then, the inspection path R is updated by replacing the inspection position X to be changed with this inspection position, and the attitude P is updated by setting the attitude at this inspection position as the candidate attitude P'. In this way, the position and attitude of the imaging unit 210 after the change with respect to the inspection position X to be changed can be determined and the inspection path R and the attitude P can be updated so as to maintain the inspection accuracy and to shorten the inspection time.

[0124] In step S408, the inspection path R and posture P updated in step S407 are output as the inspection path R and posture P after the change due to the inspection path change processing. Based on the information output here, the contents of the output information 135 stored in the storage unit 130 are updated, so that the inspection path R and posture P after the change are reflected in the inspection path generating device 100A. Note that the storage unit 130 may be configured to hold both the information on the inspection path R and posture P before the change and the information on the inspection path R and posture P after the change.

[0125] According to the second embodiment of the present invention described above, in addition to the advantages (1) to (5) described in the first embodiment, the following further advantageous effects are achieved.

[0126] (6) The inspection path generating device 100A includes a path changing unit 151 that changes the inspection path determined by the path determining unit 141. The storage unit 130 stores inspection object information 132 that represents the shape of the inspection object. Based on the inspection object information 132, the path changing unit 151 calculates an inspectable area that represents the area of ​​the inspection object that can be inspected by the appearance inspection device 200 when the inspection path is changed (steps S405 and S406), and determines the changed inspection path based on the calculated inspectable area (step S407). As a result, it is possible to change the inspection path once determined for the appearance inspection device 200 that performs the appearance inspection of the inspection object while suppressing a decrease in inspection accuracy.

[0127] (7) The path change unit 151 selects one of the multiple inspection positions as an inspection position X to be changed (step S403), and changes at least one of the position and the attitude of the imaging unit 210 at the selected inspection position X to be changed, thereby changing the inspection path (step S404). In this way, the original inspection path can be used to some extent, and the inspection path can be appropriately changed.

[0128] (8) When at least one of the position and the attitude of the imaging unit 210 is changed at the change target inspection position X, the path change unit 151 calculates a movement cost C' based on the path length between each of the inspection positions when the imaging unit 210 moves between the multiple inspection positions of the inspection path R, the amount of change in attitude of the imaging unit 210, and the moving direction, and an inspection possible area A' (step S406), determines the position and attitude of the imaging unit 210 after the change with respect to the change target inspection position X based on the calculated movement cost C' and the inspection possible area A', and determines the inspection path R after the change based on the determined position and attitude of the imaging unit 210 after the change (step S407). Specifically, the path change unit 151 sets multiple candidate positions X' in the vicinity of the change target inspection position X (step S404), and determines the candidate position X' where the inspection possible area A' is not reduced and the movement cost C' is the smallest among the multiple set candidate positions X' as the position of the imaging unit 210 after the change with respect to the change target inspection position X (step S407). By doing so, it is possible to determine the changed inspection route R so as to achieve the shortest inspection time while maintaining the inspection accuracy.

[0129] (9) In step S403, the path change unit 151 may select the inspection position X to be changed based on information input by the user. In this way, the user can arbitrarily select the inspection position X to be changed and change the inspection path.

[0130] The above-described embodiments and various modified examples are merely examples, and the present invention is not limited to these contents as long as the characteristics of the invention are not impaired. In addition, although various embodiments and modified examples have been described above, the present invention is not limited to these contents. Other aspects that are conceivable within the scope of the technical idea of ​​the present invention are also included in the scope of the present invention. [Explanation of symbols]

[0131] 100,100A···Inspection path generation device 110 Input device 120 Output device 130...Storage section 131 Testing equipment configuration information 132 Inspection object information 133 Inspection condition information 134 Route graph information 135 Output Information 140,140A...Arithmetic unit 141 Route determination unit 142 Inspectable area calculation unit 143 Camera movement range calculation unit 144... Path graph generation unit 145...Movement cost calculation unit 146 Minimum cost route selection section 147 Output information generation unit 151 Route change unit 152: Inspection position selection section for changing 153... Candidate position setting section 154 Candidate position selection unit 200 Visual inspection equipment 210 Imaging section 220 Robotics Department 230... Processing unit 300...Communication lines 1310···Robot configuration information 1311···Inspection equipment configuration information 1320...Shape information 1321: Inspection area information 1330 Inspection location information 1331 Inspection area information 1332 Camera movement range information 1340 Inter-node connection information 1341 Travel cost information 1350···Inspection route information 1351···Camera angle information 1352 Robot posture information

Claims

1. An inspection path generation device that generates an inspection path for a visual inspection device that performs visual inspection of an inspection object based on an image captured by an imaging unit, a storage unit that stores inspection position information representing a plurality of inspection positions at which the imaging unit images the inspection object, and inspection device configuration information representing a configuration of the appearance inspection device; and a route determination unit that calculates a route length and an amount of change in posture of the imaging unit between each of the inspection positions when the imaging unit moves between the multiple inspection positions based on the inspection position information and the inspection device configuration information, and determines the inspection route based on the calculated route length and the amount of change in posture.

2. 2. The inspection path generating device according to claim 1, a route change unit that changes the inspection route determined by the route determination unit, The storage unit stores inspection object information representing a shape of the inspection object, The route change unit calculates an inspectable area that represents the area of ​​the inspection object that can be inspected by the visual inspection device when the inspection route is changed based on the inspection object information, and determines the changed inspection route based on the calculated inspectable area.

3. 3. The inspection path generating device according to claim 2, The route change unit is selecting one of the plurality of inspection positions as an inspection position to be changed; An inspection path generating device that changes the inspection path by changing at least one of the position and the orientation of the imaging unit at the selected inspection position to be changed.

4. 4. The inspection path generating device according to claim 3, The route change unit is calculating a path length between each of the plurality of inspection positions when the imaging unit moves between the plurality of inspection positions, a movement cost based on an amount of change in the attitude of the imaging unit and a moving direction, and the inspectionable area when at least one of a position and an attitude of the imaging unit is changed at the change target inspection position; determining a position and orientation of the imaging unit after the change with respect to the change-target inspection position based on the calculated movement cost and the inspectable area; An inspection path generating device that determines the changed inspection path based on the determined changed position and orientation of the imaging unit.

5. 5. The inspection path generating device according to claim 4, The path change unit sets a plurality of candidate positions in the vicinity of the inspection position to be changed, and determines, from among the plurality of set candidate positions, a candidate position where the inspection area is not reduced and the movement cost is minimized, as the position of the imaging unit after the change relative to the inspection position to be changed.

6. 4. The inspection path generating device according to claim 3, The route change unit is an inspection route generation device that selects the inspection position to be changed based on information input by a user.

7. 2. The inspection path generating device according to claim 1, The route determination unit calculates a movement cost based on a path length between each of the inspection positions when the imaging unit moves between the multiple inspection positions, an amount of change in posture of the imaging unit, and a traveling direction, and determines the inspection route based on the calculated movement cost.

8. 2. The inspection path generating device according to claim 1, The route determination unit calculates constraint conditions for the orientation of the imaging unit at each inspection position based on the inspection device configuration information, and calculates the amount of change in orientation based on the calculated constraint conditions.

9. 2. The inspection path generating device according to claim 1, The route determination unit generates a plurality of candidates for the inspection route, and determines the inspection route by excluding from the plurality of candidates for the inspection route generated, a candidate for the inspection route in which the amount of change in posture of the imaging unit between any inspection positions is equal to or greater than a predetermined threshold.

10. 1. An inspection path generation method for generating an inspection path for a visual inspection device that performs visual inspection of an inspection object based on an image captured by an imaging unit, comprising: The computing device A process of acquiring inspection position information representing a plurality of inspection positions at which the imaging unit images the inspection object, and inspection device configuration information representing a configuration of the appearance inspection device; a process of calculating a path length between each of the inspection positions and an amount of change in posture of the imaging unit when the imaging unit moves between the plurality of inspection positions based on the acquired inspection position information and the inspection device configuration information; determining the inspection path based on the calculated path length and the amount of change in posture.

11. The inspection path generation method according to claim 10, The computing device obtaining inspection object information representing a shape of the inspection object; A process of calculating an inspectable area representing an area of ​​the inspection object that can be inspected by the visual inspection device when the inspection route is changed, based on the acquired inspection object information; and changing the inspection route by determining the changed inspection route based on the calculated inspectable area.

12. The inspection path generation method according to claim 11, In the process of changing the inspection path, one of the multiple inspection positions is selected as an inspection position to be changed, and the inspection path is changed by changing at least one of the position and attitude of the imaging unit at the selected inspection position to be changed.

13. The inspection path generation method according to claim 12, executes, by the arithmetic device, a process of calculating a path length between each of the plurality of inspection positions when the imaging unit moves among the plurality of inspection positions, a movement cost based on an amount of change in the attitude of the imaging unit and a moving direction, when at least one of a position and an attitude of the imaging unit is changed at the change target inspection position, and a process of calculating the inspection possible area; An inspection path generation method in which, in the process of changing the inspection path, a changed position and orientation of the imaging unit relative to the inspection position to be changed is determined based on the calculated movement cost and the inspectable area, and the changed inspection path is determined based on the determined changed position and orientation of the imaging unit.

14. The inspection path generation method according to claim 13, In the process of calculating the movement cost and the process of calculating the inspection area, a plurality of candidate positions are set in the vicinity of the change-target inspection position, and the movement cost and the inspection area are calculated, respectively; An inspection path generation method in which, in the process of changing the inspection path, a candidate position among the multiple set candidate positions that does not reduce the inspectable area and has the smallest movement cost is determined as the position of the imaging unit after the change relative to the inspection position to be changed.

15. The inspection path generation method according to claim 12, The inspection path generating method includes acquiring information input by a user, and selecting the inspection position to be changed based on the acquired information, in the process of calculating the inspection area.

16. The inspection path generation method according to claim 10, In the process of determining the inspection path, a movement cost is calculated based on the path length between each of the inspection positions when the imaging unit moves between the multiple inspection positions, the amount of change in posture of the imaging unit, and the traveling direction, and the inspection path is determined based on the calculated movement cost.

17. The inspection path generation method according to claim 10, An inspection path generation method in which, in the process of calculating the amount of change in posture of the imaging unit, constraint conditions for the posture of the imaging unit at each inspection position are calculated based on the acquired inspection device configuration information, and the amount of change in posture is calculated based on the calculated constraint conditions.

18. The inspection path generation method according to claim 10, In the process of determining the inspection route, a plurality of candidates for the inspection route are generated, and from among the plurality of candidates for the inspection route generated, a candidate for the inspection route for which the amount of change in posture of the imaging unit between any inspection positions is equal to or greater than a predetermined threshold is excluded, thereby determining the inspection route.

Citation Information

Patent Citations

  • Appearance inspection system, setting device, image processing device, inspection method, and program

    EP3539732A1

  • Machine learning device, robot control system, and machine learning method

    JP2019007891A

  • Appearance inspection system, setting device, image processor, method for setting, and program

    JP2019158499A

  • Appearance inspection system, method for displaying result of appearance inspection, and program for displaying result of appearance inspection

    JP2020003300A

  • Inspection system

    JP2016224707A