Shape analysis system, shape analysis method, and program

The shape analysis system improves corner detection accuracy by rearranging and analyzing coordinate points, facilitating precise tool trajectory generation for robotic tasks on irregularly shaped objects.

JP2025146253APending Publication Date: 2025-10-03KOBE STEEL LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024046928
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-22
Publication Date
2025-10-03

AI Technical Summary

Technical Problem

Existing technologies face difficulties in accurately identifying corners of polygonal objects for tool trajectory generation, especially when the object contours are irregular, leading to inefficiencies in robot operations.

Method used

A shape analysis system that acquires and rearranges coordinate points around a reference point, calculates distances and angles, and identifies corners based on these measurements to improve accuracy in contour corner detection.

Benefits of technology

Enhances the precision of corner identification in irregular contours, enabling more accurate tool trajectory generation for robotic operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025146253000001_ABST
    Figure 2025146253000001_ABST
Patent Text Reader

Abstract

To provide a shape analysis system capable of improving the specification accuracy of corners included in a contour.SOLUTION: A shape analysis system includes: an acquisition section for acquiring a data group containing a plurality of coordinate points constituting a contour of an object; an arrangement section for arranging the plurality of coordinate points in an order of a circumferential direction using a reference point defined in a contour as the center; and a specification section for calculating a distance respectively from the reference point to the plurality of coordinate points, and specifying corners of the contour based on the distances of the plurality of coordinate points aligned in an order of the circumferential direction.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a shape analysis system, a shape analysis method, and a program. [Background technology]

[0002] Patent document 1 discloses a technology in which a relative movement means is operated so that the ridgeline of an object is detected by a visual sensor, a deburring operation program is generated using the detected ridgeline obtained by the visual sensor, and the deburring operation program operates a robot so that the deburring tool moves along a trajectory based on the detected ridgeline. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 2018-94638 Summary of the Invention [Problem to be solved by the invention]

[0004] However, with the above technology, if the contour of the object is polygonal, it is generally difficult to move the tool along the corners, so it is necessary to create a tool trajectory for each side. However, since the contour of the object is not always a regular polygon, it can be difficult to identify the corners included in the contour.

[0005] The present invention has been made in consideration of the above-mentioned problems, and its main purpose is to provide a shape analysis system, a shape analysis method, and a program that can improve the accuracy of identifying corners contained in contours. [Means for solving the problem]

[0006] In order to solve the above problem, one aspect of the present invention provides a shape analysis system that includes an acquisition unit that acquires a data group including a plurality of coordinate points that constitute a contour of an object, an arrangement unit that arranges the plurality of coordinate points in a circumferential order around a reference point defined within the contour, and an identification unit that calculates the distance from the reference point to each of the plurality of coordinate points and identifies corners of the contour based on the distances of the plurality of coordinate points arranged in the circumferential order. This makes it possible to improve the accuracy of identifying corners included in the contour.

[0007] In the above aspect, the reference point may be the center of gravity of the plurality of coordinate points that form the contour, which makes it possible to arrange the coordinate points in order in the circumferential direction around the center of gravity.

[0008] In the above aspect, the organizing unit may calculate angles of the plurality of coordinate points relative to the reference point and arrange the plurality of coordinate points in order of the angles. This makes it possible to arrange the coordinate points in order of the angles relative to the reference point.

[0009] In the above aspect, when there is another coordinate point that is closer to a certain coordinate point than a next coordinate point among the plurality of coordinate points arranged in the order of the angle, the organizing unit may interchange the order of the next coordinate point and the other coordinate point. This makes it possible to rearrange the coordinate points in the circumferential order even if there is an error in the order.

[0010] In the above aspect, the identification unit may further calculate line-to-point distances from a line drawn between the two corners of the contour to each of the plurality of coordinate points, and identify another corner of the contour based on the line-to-point distances of the plurality of coordinate points arranged in order in the circumferential direction. This makes it possible to further improve the accuracy of identifying corners included in the contour.

[0011] In the above aspect, the identification unit may not identify, as the other corner, a coordinate point among the plurality of coordinate points whose line-to-point distance is equal to or less than a predetermined value. This makes it possible to reduce erroneous identification of a corner.

[0012] In the above aspect, the specifying unit may exclude a certain corner of the contour when an angle between two straight lines extending from the certain corner to two adjacent corners is equal to or greater than a predetermined angle. This makes it possible to exclude corners with relatively large angles.

[0013] In the above aspect, the contour may be a ridge line of the object, which makes it possible to identify corners included in the ridge line of the object.

[0014] In the above aspect, the identification unit may identify a side between two adjacent corners of the contour as the work line. This makes it possible to identify a side included in the contour as the work line.

[0015] In the above aspect, the system may further include a generator that generates a target trajectory along the work line, and a machine tool that moves the machine tool based on the target trajectory. This makes it possible to automate the work.

[0016] In another aspect of the shape analysis method of the present invention, a data group including a plurality of coordinate points constituting a contour of an object is acquired, the plurality of coordinate points are arranged in a circumferential order around a reference point defined within the contour, a distance from the reference point to each of the plurality of coordinate points is calculated, and a corner of the contour is identified based on the distance between the plurality of coordinate points arranged in the circumferential order. This makes it possible to improve the accuracy of identifying the corners included in the contour.

[0017] According to another aspect of the present invention, a program causes a computer to acquire a data group including a plurality of coordinate points constituting a contour of an object, arrange the plurality of coordinate points in a circumferential order around a reference point defined within the contour, calculate a distance from the reference point to each of the plurality of coordinate points, and identify corners of the contour based on the distances of the plurality of coordinate points arranged in the circumferential order. This makes it possible to improve the accuracy of identifying corners included in the contour. [Effects of the Invention]

[0018] According to the present invention, it is possible to improve the accuracy of identifying corners included in a contour. [Brief explanation of the drawings]

[0019] [Figure 1] FIG. 1 illustrates an example of a shape analysis system. [Figure 2] FIG. 2 illustrates an example of a control device. [Figure 3] FIG. 10 is a diagram illustrating an example of the contour of an object. [Figure 4] FIG. 10 is a diagram illustrating an example of a shape analysis method. [Figure 5] FIG. 10 is a diagram illustrating an example of a data group representing a contour. [Figure 6] FIG. 10 is a diagram illustrating an example of a data group representing a contour. [Figure 7] FIG. 10 illustrates an example of a sorting process. [Figure 8] FIG. 10 is a diagram illustrating the sorting process. [Figure 9] FIG. 10 is a diagram illustrating the sorting process. [Figure 10] FIG. 10 is a diagram illustrating the sorting process. [Figure 11] FIG. 10 is a diagram illustrating an example of correction processing. [Figure 12] FIG. 10 is a diagram illustrating an example of a specific process. [Figure 13] FIG. 10 is a diagram illustrating a specification process. [Figure 14] FIG. 10 is a diagram illustrating a specification process. [Figure 15] FIG. 10 is a diagram illustrating a specification process. [Figure 16] FIG. 10 is a diagram illustrating a specification process. [Figure 17] FIG. 10 is a diagram illustrating a specification process. [Figure 18] FIG. 10 is a diagram illustrating a specification process. [Figure 19] FIG. 10 is a diagram illustrating a specification process. [Figure 20] FIG. 10 is a diagram illustrating a specification process. [Figure 21] FIG. 10 is a diagram illustrating a specification process. [Figure 22] FIG. 10 is a diagram illustrating a specification process. [Figure 23] FIG. 10 is a diagram illustrating a specification process. DETAILED DESCRIPTION OF THE INVENTION

[0020] Hereinafter, embodiments of the present invention will be described with reference to the drawings. In this specification and the drawings, elements similar to those described above with reference to the previous drawings will be designated by the same reference numerals, and detailed descriptions thereof may be omitted as appropriate.

[0021] 1 is a schematic diagram showing an example configuration of a shape analysis system 100. The shape analysis system 100 includes a control device 1 and an industrial robot 2. The shape analysis system 100 is a system for analyzing the shape of an object W and performing tasks such as wiping off ridges of the object W or removing burrs.

[0022] The control device 1 includes a computer including a CPU, RAM, ROM, nonvolatile memory, an input / output interface, etc. The CPU of the control device 1 executes information processing in accordance with a program loaded from the ROM or nonvolatile memory to the RAM.

[0023] The program may be supplied via an information storage medium such as an optical disk or a memory card, or may be supplied via a communication network such as the Internet or a LAN.

[0024] The industrial robot 2 is an example of a machine tool, and is a machine that moves a tool 3 based on a control command from a control device 1. The industrial robot 2 is equipped with a tool 3 for wiping, deburring, or the like, at the tip of the robot arm.

[0025] 2 is a block diagram showing an example configuration of the control device 1. The control device 1 includes an acquisition unit 11, an organization unit 12, an identification unit 13, and a generation unit 14. These functional units are realized by the CPU of the control device 1 executing information processing in accordance with a program.

[0026] The control device 1 is connected to a storage device 19. The storage device 19 stores shape data representing the shape of the target object W. The shape data may be, for example, measurement data measured by a TOF camera or the like, or may be CAD data.

[0027] FIG. 3 is a diagram showing an example of a contour OL of an object W. The contour OL is a ridge line of the object W, specifically, a closed curve formed by the ridge lines of the object W. In the example shown, it is considered preferable to divide the contour OL into five sides S1 to S5. Of these, sides S1 and S4 are not straight lines, but the angled portions are "inward corners" rather than "outward corners," so it is preferable to recognize them as one side.

[0028] A common method for detecting "corners" is the Harris corner detection method, which calculates the change in pixel value due to a small change in position and recognizes a point where the change is large as a corner. However, when this method is applied to this embodiment, the following problems may occur.

[0029] The first problem is that when dealing with workpieces with an unknown number of corners, it takes time and effort to set constants for corner determination. Generally, corner determination requires setting constants, but when the number of corners is unknown, setting these constants takes time and effort. In other words, the method of extracting the top few corners cannot be used.

[0030] The second problem is the possibility of extracting inappropriate corners when considering robot work. The above method can recognize "inner corners" that do not require dividing the work line as corners, but preventing such over-recognition using methods based on changes in pixel values ​​is time-consuming.

[0031] Therefore, in this embodiment, these problems are solved by identifying the corners of the contour OL of the object W using the method described below.

[0032] 4 is a flow diagram showing an example of the procedure of a shape analysis method realized in the shape analysis system 100. The control device 1 executes the information processing shown in the figure in accordance with a program, thereby functioning as an acquisition unit 11, an organization unit 12, an identification unit 13, and a generation unit 14.

[0033] First, the control device 1 acquires a data group representing the contour OL of the target object W (S11, processing as the acquisition unit 11). The data group representing the contour OL is extracted from the shape data of the target object W stored in the storage unit 19.

[0034] 5 and 6 are diagrams showing an example of the configuration of a data group representing a contour OL. The data group representing the contour OL includes a plurality of coordinate points CP that make up the contour OL. In FIG. 5, only some of the coordinate points CP are shown enlarged. The coordinate points CP are expressed in XY coordinates. In FIG. 6, "Point ID" represents the identification number of the coordinate point CP, and "Coordinates" represent the XY coordinates of the coordinate point CP.

[0035] In the data group representing the contour OL, the coordinate points CP are arranged in ascending order of the X or Y coordinate, for example, and in this state, the corners of the contour OL cannot be extracted.

[0036] Therefore, the control device 1 executes a rearrangement process S12 to rearrange the coordinate points CP in circumferential order (processing as the rearrangement unit 12), and then executes an identification process S13 to identify the corners and sides of the contour OL (processing as the identification unit 13). The sides of the contour OL are treated as work lines to be subjected to operations such as wiping or deburring.

[0037] Furthermore, the control device 1 generates a target trajectory of the tool 3 along the work line and outputs it to the industrial robot 2 (S14, processing as the generation unit 14). The target trajectory is generated so as to include entry into the work line, movement along the work line, and retraction from the work line. The industrial robot 2 moves the tool 3 based on the target trajectory.

[0038] Fig. 7 is a flow diagram showing a specific example of the procedure of the organizing process S12. Fig. 8 and Fig. 9 are diagrams for explaining the organizing process S12.

[0039] In the rearrangement process S12, the control device 1 arranges the coordinate points CP in the circumferential order around the center of gravity MP within the contour OL. In this embodiment, the coordinate points CP are arranged in the counterclockwise direction, but this is not limiting, and the coordinate points CP may also be arranged in the clockwise direction.

[0040] Specifically, first, the control device 1 calculates the center of gravity MP of the coordinate points CP that make up the contour OL (S21). The center of gravity MP is the average of the X coordinate and the average of the Y coordinate of all the coordinate points CP.

[0041] The center of gravity MP is an example of a reference point determined within the outline OL. The reference point is not limited to the center of gravity MP, and may be another point within the outline OL. The reference point is preferably as close to the center of gravity MP as possible.

[0042] Next, the control device 1 calculates the angle θ of each coordinate point CP relative to the center of gravity MP (S22), and rearranges the coordinate points CP in order of angle θ (S23). The angle θ is expressed by arctan2(y,x) (hereinafter referred to as "atan2(y,x)").

[0043] The x in atan2(y, x) is the value obtained by subtracting the X coordinate of the center of gravity MP from the X coordinate of the coordinate point CP, and the y is the value obtained by subtracting the Y coordinate of the center of gravity MP from the Y coordinate of the coordinate point CP. atan2(y, x) is expressed by the following formula 1.

[0044]

number

[0045] When the coordinate points CP are rearranged in the order of the angle θ in this way, most of the coordinate points CP are arranged in circumferential order. However, in some ranges DR as shown in Figure 10, the angles θ relative to the center of gravity MP are almost the same, so the coordinate points CP may not be arranged correctly in circumferential order.

[0046] Therefore, in this embodiment, correction processing S24, which will be described next, is executed to correctly rearrange all coordinate points CP in the circumferential order.

[0047] 11 is a flow chart showing a specific example of the procedure of the correction process S24. In the correction process S24, if there is another coordinate point that is closer to a certain coordinate point than the next coordinate point among the coordinate points CP arranged in order of the angle θ, the control device 1 swaps the order of the next coordinate point and the other coordinate point.

[0048] Specifically, first, the control device 1 assigns 1 to a variable i (S31).

[0049] Next, the control device 1 calculates the inter-point distances from the (i+1)th coordinate point to the last coordinate point with respect to the i-th coordinate point (S32).

[0050] Next, the control device 1 determines whether or not there is a coordinate point from the (i+2)th coordinate point onwards whose inter-point distance is shorter than that of the (i+1)th coordinate point (S33).

[0051] If there is a coordinate point with a shorter inter-point distance than the (i+1)th coordinate point (S33: YES), the control device 1 swaps the order of the (i+1)th coordinate point with the coordinate point with the shortest inter-point distance (S34).

[0052] On the other hand, if there is no coordinate point whose inter-point distance is shorter than that of the (i+1)th coordinate point (S33: NO), the control device 1 does not change the order of the coordinate points.

[0053] Next, the control device 1 increments the variable i (S35).

[0054] The control device 1 repeats the above steps S32 to S35 until the variable i reaches the last number (S36).

[0055] Fig. 12 is a flow diagram showing a specific example of the procedure of the identification process S13. Fig. 13 to Fig. 21 are diagrams for explaining the identification process S13.

[0056] First, the control device 1 calculates the distance PD from the center of gravity MP to each coordinate point CP (S41). As shown in Fig. 13, the distance PD from the center of gravity MP to each of all coordinate points CP included in the contour OL is calculated.

[0057] Next, the control device 1 identifies the corners K1 and K2 of the contour OL based on the distances PD of the coordinate points CP arranged in circumferential order (S42). Fig. 14 is a graph showing the relationship between the circumferential number indicating the order in the circumferential direction and the distance PD of the coordinate point CP from the center of gravity MP.

[0058] As shown in FIGS. 14 and 15, a peak of the distance PD is detected from the relationship between the circumferential direction number and the distance PD, and the position of the peak of the distance PD is identified as the vertex of the corners K1 and K2.

[0059] Furthermore, the control device 1 uses the identified angles K1 and K2 to identify other angles K3 to K6, as will be described next.

[0060] That is, the control device 1 sets a straight line BL between the two angles K1 and K2 (S43). As shown in Figures 16 and 17, the straight line BL is set so as to connect the vertices of the angles K1 and K2. If three or more angles are identified, any two of the corners, such as the first and second corners in terms of circumferential number, are selected, and the straight line BL is set between them.

[0061] Next, the control device 1 calculates the distance LD (line-point distance) from the line BL drawn between the two angles K1 and K2 to the coordinate point CP (S44). The distance LD from the line BL to the coordinate point CP is the length of the perpendicular line extending from the line BL to the coordinate point CP.

[0062] Fig. 16 shows the calculation of the distance LD in the range on one side (the right side in the figure) of the line BL from the corner K1 toward the corner K2, while Fig. 17 shows the calculation of the distance LD in the range on the other side (the left side in the figure) of the line BL from the corner K2 toward the corner K1.

[0063] Next, the control device 1 identifies other corners K3 to K6 of the contour OL based on the distances LD of the coordinate points CP arranged in circumferential order (S45). Fig. 18 is a graph showing the relationship between the circumferential number and the distance LD from the straight line BL in the range shown in Fig. 17.

[0064] 18 and 19, the peak of the distance PD is detected from the relationship between the circumferential direction number and the distance PD, and the position of the peak of the distance PD is identified as the vertices of the corners K3 to K5. In the range shown in FIG. 16, the vertex of the corner K6 is identified in the same manner.

[0065] Among the angles K1 to K6 identified in this way, there may be angles such as angle K6 that do not require dividing the side, so the control device 1 excludes such angles as will be described below.

[0066] Specifically, if there is an angle between two adjacent vectors V1 to V6 (see FIG. 20) formed between adjacent vertices of angles K1 to K6 where the angle between those two vectors is equal to or smaller than a predetermined value (S46: YES), the control device 1 excludes that angle (S47).

[0067] In other words, the control device 1 excludes one of the corners K1 to K6 when the angle between two straight lines extending from that corner to two adjacent corners is equal to or greater than a predetermined value.

[0068] In the example of Figure 20, angle K6 is excluded because the angle between the two vectors V4 and V6 that sandwich angle K6 is less than a predetermined value, that is, the angle between the two straight lines extending from angle K6 to the two adjacent angles K4 and K5 is greater than a predetermined value.

[0069] As a result, corners K1 to K5 of the outline OL are determined, and the outline OL is divided into a plurality of sides S1 to S5, as shown in Fig. 21. That is, the portions between two adjacent corners of the outline OL are identified as sides S1 to S5. These sides S1 to S5 are treated as work lines.

[0070] When determining whether the angle between two adjacent vectors is equal to or smaller than a predetermined value, the cross product of the vectors may be calculated and angles for which the cross product of the vectors is negative may be excluded. An angle for which the cross product of the vectors is negative is an "inner angle," so it is possible to exclude such angles.

[0071] When the contour OL is rectangular as shown in Fig. 22, in steps S41 and S42, four corners K11 to K14 are identified based on the distance PD from the center of gravity MP to the coordinate point CP. Then, as shown in Fig. 23, when a straight line BL is drawn from the corner K11 to the corner K12 in step S43, the coordinate point CP and the straight line BL almost overlap.

[0072] In such a case, when the distance LD (line-point distance) from the straight line BL to the coordinate point CP is calculated in S44 and S45, the distance LD is almost 0 for most of the coordinate points CP, but the distance LD for the coordinate points CP1 and CP2, which are slightly off the straight line BL, is larger than the others, and there is a risk that they will be detected as peaks.

[0073] Therefore, it is preferable that the control device 1 does not identify the coordinate point CP where the distance LD is equal to or less than a predetermined value as a corner. This makes it possible to prevent the coordinate points CP1 and CP2 that are slightly off the line BL from being erroneously determined as a corner.

[0074] Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and it goes without saying that various modifications can be made by those skilled in the art. [Explanation of symbols]

[0075] 1. Control device 2. Industrial robots 3 Tools 11 Acquisition Department 12. Organizing Department 13 Specific section 14 Generation part 19 Storage device 100 Shape Analysis System

Claims

1. an acquisition unit that acquires a data group including a plurality of coordinate points that form the contour of the object; an arrangement unit that arranges the plurality of coordinate points in a circumferential order around a reference point defined within the contour; an identification unit that calculates distances from the reference point to each of the plurality of coordinate points and identifies a corner of the contour based on the distances between the plurality of coordinate points arranged in order in the circumferential direction; A shape analysis system comprising:

2. the reference point is the center of gravity of the plurality of coordinate points that form the contour; The shape analysis system according to claim 1 .

3. the organizing unit calculates angles of the plurality of coordinate points with respect to the reference point, and arranges the plurality of coordinate points in order of the angles; The shape analysis system according to claim 1 .

4. When there is another coordinate point that is closer to a certain coordinate point than a next coordinate point among the plurality of coordinate points arranged in the order of the angle, the organizing unit swaps the order of the next coordinate point and the another coordinate point. The shape analysis system according to claim 3 .

5. the identification unit further calculates line-to-point distances from a line drawn between the two corners of the contour to each of the plurality of coordinate points, and identifies another corner of the contour based on the line-to-point distances of the plurality of coordinate points arranged in order in the circumferential direction. The shape analysis system according to claim 1 .

6. the specifying unit does not specify, as the other corner, any of the plurality of coordinate points whose line-to-point distance is equal to or less than a predetermined value. The shape analysis system according to claim 5 .

7. the specifying unit excludes a certain corner from the corners of the contour when an angle between two straight lines extending from the certain corner to two adjacent corners is equal to or greater than a predetermined angle; The shape analysis system according to claim 1 .

8. The contour is a ridge line of the object. The shape analysis system according to claim 1 .

9. The identification unit identifies a side between two adjacent corners of the contour as a work line. The shape analysis system according to claim 1 .

10. a generation unit that generates a target trajectory of the tool along the work line; a machine tool that moves the tool based on the target trajectory; Further provided with The shape analysis system according to claim 9 .

11. Acquire a data group including a plurality of coordinate points that form the contour of the object; The plurality of coordinate points are arranged in order in a circumferential direction around a reference point defined within the contour; Calculating the distance from the reference point to each of the plurality of coordinate points; identifying corners of the contour based on the distances between the plurality of coordinate points arranged in the circumferential order; Shape analysis method.

12. acquiring a data group including a plurality of coordinate points that form the contour of the object; Arranging the plurality of coordinate points in a circumferential order around a reference point defined within the contour; Calculating the distance from the reference point to each of the plurality of coordinate points; and Identifying corners of the contour based on the distances between the plurality of coordinate points arranged in the circumferential order; A program that causes a computer to execute the following.

Citation Information

Patent Citations

  • Deburring device

    JP2018094638A