robot systems

The robot system addresses the burden of registering operation patterns for varied workpieces by using 3D data to create new programs, reducing operator workload and preventing interference.

JP2026061689APending Publication Date: 2026-04-09DAIHEN CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2026-04-09

AI Technical Summary

Technical Problem

Existing robot systems require operators to define and register basic operation patterns for each workpiece shape, which is burdensome when dealing with small quantities and varieties of workpieces.

Method used

A robot system that identifies feature points from 3D data, calculates feature and work location vectors, and creates a new work program by setting feature points as work teaching points, allowing reuse of existing programs for different targets.

Benefits of technology

Reduces operator burden by enabling the creation of new work programs for varied workpieces using existing programs, and prevents robot interference with workspace objects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026061689000001_ABST
    Figure 2026061689000001_ABST
Patent Text Reader

Abstract

To reduce the burden on workers. [Solution] The robot system includes: a feature point identification unit that identifies feature points of a work object from 3D data including the work object captured by an imaging unit; a feature point vector calculation unit that calculates a feature point vector using adjacent feature points among the identified feature points; a work location vector calculation unit that calculates a work location vector using adjacent work teaching points among the work teaching points included in a predetermined work program; a feature point vector identification unit that identifies the feature point vector calculated by the feature point vector calculation unit that best matches the work location vector calculated by the work location vector calculation unit; and a work program creation unit that sets the feature points of the identified feature point vector as work teaching points of the work program corresponding to the work location vector that best matches the feature point vector, and creates a new work program.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

[0002] Patent Document 1 below discloses an apparatus for automatically generating the operation locus of a welding robot. This apparatus defines the type of work and the basic operation pattern for each reference work shape, calculates the similarity between the received actual work shape and the reference work shape, and generates the operation pattern of the actual work based on the basic operation pattern associated with the most similar reference work shape.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In the apparatus of Patent Document 1, it is necessary to define and register the basic operation pattern for each reference work shape. Therefore, for example, when dealing with a small quantity and a variety of workpieces, the basic operation pattern must be registered for each shape, which places a burden on the operator.

[0005] Therefore, an object of the present invention is to provide a robot system that can reduce the burden on the operator.

Means for Solving the Problems

[0006] A robot system according to one aspect of the present invention includes: a feature point identification unit that identifies feature points of a work object from 3D data including the work object captured by an imaging unit; a feature point vector calculation unit that calculates a feature point vector using adjacent feature points among the identified feature points; a work location vector calculation unit that calculates a work location vector using adjacent work teaching points among the work teaching points included in a predetermined work program; a feature point vector identification unit that identifies the feature point vector calculated by the feature point vector calculation unit that best matches the work location vector calculated by the work location vector calculation unit; and a work program creation unit that sets the feature points of the feature point vector identified by the feature point vector identification unit as work teaching points in the work program corresponding to the work location vector that best matches the feature point vector, and creates a new work program.

[0007] According to this embodiment, a feature point vector can be calculated using adjacent feature points of the work object identified from 3D data including the work object, a work location vector can be calculated using adjacent work teaching points included in the work program, and a new work program can be created by setting the feature points of the feature point vector that best matches the work location vector as the work teaching points of the matching work location vector.

[0008] This makes it possible to use an existing work program to create a new work program for a different target than the one the original work program works on.

[0009] In the above embodiment, the feature point identification unit may identify points located at the corners of a plane recognized based on the 3D data as feature points.

[0010] According to this embodiment, it is possible to easily identify work areas that are provided based on the corners of a plane.

[0011] In the above embodiment, the system further includes a storage unit that stores a work program and one or more related 3D data associated with the work program in association with each other, and a work program extraction unit that identifies related 3D data similar to the 3D data and extracts the work program stored in association with the identified related 3D data. The work location vector calculation unit may calculate a work location vector based on the work program extracted by the work program extraction unit.

[0012] According to this embodiment, it becomes possible to create a work program for a work object by using a work program that is more suited to that work object.

[0013] In the above embodiment, the feature point vector identification unit may calculate the dot product of the work location vector and the feature point vector when the work location corresponding to the work location vector is a straight line, and identify the feature point vector that can be determined to be most similar to the work location vector as the feature point vector that best matches the work location vector.

[0014] According to this embodiment, the feature point vector that best matches the work location vector can be easily identified using similarity determination based on the dot product.

[0015] In the above embodiment, the system may further include a work program adjustment unit that determines, using the 3D data, whether a robot operating under a new work program interferes with the point cloud of 3D data, and if interference is determined to occur, adjusts the new work program so that the robot operates without interfering with the point cloud.

[0016] According to this embodiment, it is possible to prevent the robot's movements from being obstructed by objects in the workspace. [Effects of the Invention]

[0017] According to the present invention, it is possible to provide a robot system that can reduce the burden on workers. [Brief explanation of the drawing]

[0018] [Figure 1] It is a diagram illustrating the configuration of the robot system according to the embodiment. [Figure 2] It is a diagram illustrating the functional configuration of the arithmetic unit shown in FIG. 1. [Figure 3] It is a schematic diagram for explaining an example of feature points specified from the welding target. [Figure 4] It is a diagram showing an example of a welding program. [Figure 5] It is a schematic diagram for explaining an example of a welding line vector. [Figure 6] It is a schematic diagram for explaining an example of searching for a feature point vector that most matches the welding line vector at feature point a. [Figure 7] It is a schematic diagram for explaining an example of searching for a feature point vector that most matches the welding line vector at feature point b. [Figure 8] It is a schematic diagram for explaining an example of searching for a feature point vector that most matches the welding line vector at feature points d and e. [Figure 9] It is a flowchart for explaining an example of the operation of the robot system.

Embodiments for Carrying Out the Invention

[0019] Preferred embodiments of the present invention will be described with reference to the accompanying drawings. In each figure, those denoted by the same reference numerals have the same or similar configurations. Also, since the drawings are schematic, the dimensions and ratios of each component are different from the actual ones.

[0020] FIG. 1 is a diagram illustrating the configuration of a robot system 100 according to an embodiment. The robot system 100 includes, for example, a robot control device 1, a manipulator (industrial robot) 2, an arithmetic unit 3, an imaging unit 4, and a display unit 5.

[0021] The robot control device 1 and the computing device 3, the robot control device 1 and the manipulator 2, and the computing device 3, the imaging unit 4, and the display unit 5 are all connected via a network. The network may be wireless communication such as WiFi (Wireless Fidelity) or wired communication such as a communication cable.

[0022] The robot system 100 may also include a teach pendant. The teach pendant can be connected to the robot control device 1 and is an operating device used by an operator to teach the movements of the manipulator 2.

[0023] Manipulator 2 is a welding robot that performs arc welding on a workpiece to be welded according to the working conditions set in the robot control device 1. Manipulator 2 has a multi-joint arm mounted on a base member fixed to, for example, the floor of a factory, and a welding torch (tool) connected to the tip of the multi-joint arm. Here, the welding wire supplied to the welding torch is not included in the configuration of manipulator 2.

[0024] The robot control device 1 is a control unit that controls the operation of the manipulator 2. The robot control device 1 includes, for example, a control unit 11, a storage unit 12, and a communication unit 13.

[0025] The control unit 11 is a processor that controls the manipulator 2 by executing welding programs and the like stored in the memory unit 12.

[0026] The memory unit 12 is a computer-readable recording medium that stores programs for realizing various functions of the robot control device 1 and various data used in those programs. The various data include, for example, shape and size information for each type of manipulator 2, shape and size information for each type of tool attached to the manipulator 2, and welding programs.

[0027] The communication unit 13 is a communication interface that controls communication with the manipulator 2 and the computing unit 3, which are connected via the network.

[0028] The robot control device 1 may further include a welding power supply unit. The welding power supply unit supplies welding current, welding voltage, etc., to the manipulator 2 according to predetermined welding conditions in order to generate an arc between the tip of the welding wire and the workpiece. The welding power supply unit may be provided separately from the robot control device 1.

[0029] The arithmetic unit 3 is a calculation unit that performs various calculations, such as creating a welding program to be stored in the robot control device 1. The arithmetic unit 3 includes, for example, a control unit 31, a storage unit 32, and a communication unit 33.

[0030] The control unit 31 is a processor that controls each part of the arithmetic unit 3 by executing programs stored in the memory unit 32. The functions of the control unit 31 will be described later.

[0031] The memory unit 32 is a computer-readable recording medium that stores programs for realizing various functions of the arithmetic unit 3 and various data used by those programs. These various data include, for example, welding programs.

[0032] The communication unit 33 is a communication interface and controls communication with the robot control device 1, which is connected via a network.

[0033] The imaging unit 4 is, for example, a 3D camera equipped with a distance measurement sensor, and also functions as a 2D camera. It is preferable to position the imaging unit 4 in a location where it can capture images of at least the workspace including the workpiece. For example, the imaging unit 4 may be attached to the tip of the welding torch, or it may be placed at the rear of the manipulator 2 or in the robot cell.

[0034] A distance measuring sensor is a sensor capable of measuring the distance to an object. Examples of distance measuring sensors that can be used include LiDAR (Light Detection and Ranging) sensors, millimeter-wave sensors, and ultrasonic sensors.

[0035] The imaging unit 4 does not necessarily need to be equipped with a distance measurement sensor. If a distance measurement sensor is not equipped, it is preferable to calculate the three-dimensional coordinate data corresponding to the object based on multiple images taken of the object from multiple different positions. In this case, a known three-dimensional measurement method using stereo imaging can be used. Alternatively, the imaging unit 4 may be provided by the computing device 3.

[0036] The display unit 5 is, for example, a display device having a touch panel, which displays images (2D and 3D) of the subject captured by the imaging unit 4 and accepts input such as operation instructions from the operator. The display unit 5 may be provided in the arithmetic unit 3 as, for example, a display having a touch panel.

[0037] Figure 2 illustrates the functional configuration of the control unit 31 of the arithmetic unit 3. The control unit 31 of the arithmetic unit 3 has, for example, a feature point identification unit 311, a feature point vector calculation unit 312, a welding program extraction unit 313, a welding line vector calculation unit 314, a feature point vector identification unit 315, a welding program creation unit 316, and a welding program adjustment unit 317.

[0038] The feature point identification unit 311 identifies feature points of the welding target from the 3D data including the welding target captured by the imaging unit 4. The feature points of the welding target can be identified, for example, as follows.

[0039] Three-dimensional data is data represented by three-dimensional coordinates and is plotted as point cloud data in a three-dimensional coordinate system. Therefore, the feature point identification unit 311 represents the welding target as a point cloud in a three-dimensional coordinate system and recognizes multiple planes included in the welding target based on that point cloud. Then, it identifies the points located at the corners of the recognized planes as feature points of the welding target.

[0040] Figure 3 shows an example of feature points identified from the welding target W. In the welding target W in Figure 3, three planes are recognized, and seven points located at the corners of these three planes are identified as feature points a, b, c, d, e, f, and g.

[0041] Returning to the explanation of Figure 2, the feature point vector calculation unit 312 calculates a feature point vector using adjacent feature points from among the identified feature points. For example, in Figure 3, the feature points adjacent to feature point a are feature points b, d, and g. In this case, feature point vectors ab, ad, and ag are calculated. Feature point vectors for other feature points besides a, such as b, c, d, e, f, and g, can be calculated in the same manner.

[0042] The welding program extraction unit 313 in Figure 2 extracts a welding program specified by the operator from among the welding programs stored in the storage unit 32.

[0043] The welding program to be extracted is not limited to the welding program specified by the operator. For example, a welding program and one or more related 3D data associated with that welding program may be stored in the storage unit 32 in association with each other. In this case, the welding program extraction unit 313 identifies related 3D data similar to the 3D data and extracts the welding program stored in association with the identified related 3D data.

[0044] The welding line vector calculation unit 314 calculates the welding line vector using adjacent welding teaching points from among the welding teaching points included in the welding program extracted by the welding program extraction unit 313.

[0045] This will be explained in detail with reference to Figures 4 and 5. Figure 4 is a diagram showing an example of a welding program. Figure 5 is a schematic diagram illustrating an example of a welding line vector.

[0046] In the welding program P shown in Figure 4, three points are defined as welding instruction points: the welding start point Pa, the midpoint Pb, and the welding end point Pc. This welding program P defines welding from the welding start point Pa (1,-1,0) to the midpoint Pb (0,0,0), and from the midpoint Pb (0,0,0) to the welding end point Pc (1,1,0). The "LIN" written after each program step number (to the right in the drawing) indicates that the weld line is a straight line.

[0047] The welding start point Pa and the intermediate point Pb, and the welding end point Pc, are connected by straight welding lines. Therefore, the welding start point Pa and the intermediate point Pb are adjacent welding teaching points, and the intermediate point Pb and the welding end point Pc are also adjacent welding teaching points. The coordinates of each welding teaching point are those of the robot coordinate system, which is set relative to a specific position of the robot.

[0048] Figure 5 shows the welding line vectors on the welding target W in Figure 3, using the welding teaching points of the welding program P. In Figure 5, the welding line vector Wab is displayed as a vector from the welding start point Pa (1,-1,0) to the midpoint Pb (0,0,0), and the welding line vector Wbc is displayed as a vector from the midpoint Pb (0,0,0) to the welding end point Pc (1,1,0).

[0049] Returning to the explanation of Figure 2, the feature point vector identification unit 315 identifies the feature point vector that best matches the welding line vector calculated by the welding line vector calculation unit 314 from among the feature point vectors calculated by the feature point vector calculation unit 312.

[0050] For example, the feature point vector identification unit 315 may calculate the dot product of the weld line vector and the feature point vector, and identify the feature point vector that is determined to be most similar to the weld line vector as the feature point vector that best matches the weld line vector. The closer the dot product of the weld line vector and the feature point vector is to 1, the more similar (the more their directions match) they are determined to be. A detailed explanation will be given with reference to Figures 6 to 9.

[0051] Figure 6 is a schematic diagram illustrating an example of the process of searching for the feature point vector that best matches the welding line vector at feature point a, which is one of the feature points identified by the feature point identification unit 311.

[0052] At feature point a, the three vectors that originate from feature point a—feature point vector Fab, feature point vector Fad, and feature point vector Fag—are the targets of the search.

[0053] First, calculate the dot product of the weld line vector Wab (see Figure 5) from the welding start point Pa to the midpoint Pb, and the three target vectors. In this case, the dot product of the weld line vector Wab and the feature point vector Fab is 1. Therefore, the feature point vector Fab is selected as a candidate for the weld line corresponding to the weld line vector Wab.

[0054] Next, as shown in Figure 7, at feature point b, which is the endpoint of the feature point vector Fab selected as a candidate for the weld line, a feature point vector is searched for that matches the weld line vector Wbc (see Figure 5) from the intermediate point Pb to the welding end point Pc.

[0055] At feature point b, the two vectors that originate from feature point b, feature point vector Fbc and feature point vector Fbe, are the targets of the search.

[0056] When the dot product of the weld line vector Wbc and the two target vectors is calculated, the dot product of the weld line vector Wbc and the feature point vector Fbc is 1. Therefore, the feature point vector Fbc is selected as a candidate for the weld line corresponding to the weld line vector Wbc.

[0057] As a result, feature point vectors Fab and Fbc, starting from feature point a, are selected as candidate weld lines corresponding to weld line vectors Wab and Wbc.

[0058] Next, as shown in Figure 8, we will explain the case where we search for the feature point vector that best matches the weld line vector at another feature point, feature point d.

[0059] At feature point d, the two vectors that start from feature point d, feature point vector Fda and feature point vector Fde, become the targets of the search.

[0060] First, calculate the dot product of the weld line vector Wab (see Figure 5) from the welding start point Pa to the midpoint Pb, and the two target vectors. In this case, the dot product of the weld line vector Wab and the feature point vector Fde is 1. Therefore, the feature point vector Fde is selected as a candidate for the weld line corresponding to the weld line vector Wab.

[0061] Next, as shown in Figure 8, at feature point e, which is the endpoint of the feature point vector Fde selected as a candidate for the weld line, a feature point vector is searched for that matches the weld line vector Wbc (see Figure 5) from the intermediate point Pb to the welding end point Pc.

[0062] At feature point e, the two vectors starting from feature point e, feature point vector Feb and feature point vector Fef, are the targets of the search.

[0063] When the dot product of the weld line vector Wbc and the two target vectors is calculated, the dot product of the weld line vector Wbc and the feature point vector Fef is 1. Therefore, the feature point vector Fef is selected as a candidate for the weld line corresponding to the weld line vector Wbc.

[0064] As a result, feature point vectors Fde and Fef, starting from feature point d, are selected as candidate weld lines corresponding to weld line vectors Wab and Wbc.

[0065] This search is performed for all feature points a, b, c, d, e, f, and g. If multiple candidate weld lines corresponding to weld line vectors Wab and Wbc are selected as a result of the search, each candidate is evaluated using the welding start point Pa of the welding program P.

[0066] For example, if the feature point vectors Fab and Fbc in Figure 7 and the feature point vectors Fde and Fef in Figure 8 are selected as candidates, they are evaluated as follows.

[0067] The feature point vectors that start from the welding start point Pa (1,-1,0) of the welding program P are given a higher evaluation. Then, the feature point vector with the highest evaluation is identified as the feature point vector that best matches the welding line vector.

[0068] In the case of the two candidates above, feature point a(1,-1,0) is closer to the welding start point Pa(1,-1,0) than feature point d(1,-1,2), and therefore receives a higher evaluation. Accordingly, feature point vectors Fab and Fbc, starting from feature point a(1,-1,0), are identified as the feature point vectors that best match the welding line vector.

[0069] Here, the present invention can also be applied when the weld line is not a straight line. For example, the weld line may be an arc. In this case, the center position and radius of each circle are calculated based on the three points that make up the arc of the weld line and the three points that make up each of the arcs formed by the feature points. Then, it is preferable to identify the arc formed by the feature point that minimizes the difference between the calculated center positions and / or the difference between the radii as the arc of the feature point that best matches the weld line.

[0070] Returning to the explanation of Figure 2, the welding program creation unit 316 replaces (sets) the feature points of the feature point vector identified by the feature point vector identification unit 315 with the welding teaching points of the welding program corresponding to the welding line vector that best matches the feature point vector, thereby creating a new welding program.

[0071] The welding program adjustment unit 317 uses the 3D data captured by the imaging unit 4 to determine whether the manipulator 2, which operates according to the new welding program, interferes with the point cloud of the 3D data.

[0072] If the welding program adjustment unit 317 determines that manipulator 2 is interfering with the point cloud, it adjusts the new welding program so that manipulator 2 operates without interfering with the point cloud. Specifically, it changes the operating range of manipulator 2 as defined in the welding program to a position that does not overlap with the point cloud.

[0073] In this case, it is preferable to identify the robot region in the three-dimensional coordinate system corresponding to the manipulator 2 based on the shape and size information of the manipulator 2 corresponding to the type of manipulator 2, and the attitude information of the manipulator 2.

[0074] The type of manipulator 2 and its posture information can be obtained from the robot control device 1 that controls the manipulator 2. The posture information of the manipulator 2 may be, for example, the angle information of each axis of the manipulator 2.

[0075] In this embodiment, interference refers to the situation where the operation of the manipulator 2 is hindered (or its normal operation is impaired) when the manipulator 2 comes into contact with an object, such as when the manipulator 2 approaches the object to be welded.

[0076] Referring to Figure 9, an example of the operation of the robot system 100 will be described.

[0077] First, the computing unit 3 acquires three-dimensional data including the welding target captured by the imaging unit 4 (step S101).

[0078] Next, the feature point identification unit 311 identifies the feature points of the welding target from the 3D data acquired in step S101 (step S102).

[0079] Next, the feature point vector calculation unit 312 calculates a feature point vector using adjacent feature points from among the feature points identified in step S102 (step S103).

[0080] Next, the welding line vector calculation unit 314 calculates the welding line vector using adjacent welding teaching points from among the welding teaching points included in a predetermined welding program (step S104).

[0081] Next, the feature point vector identification unit 315 identifies the feature point vector that best matches the welding line vector calculated in step S104 from among the feature point vectors calculated in step S103 (step S105).

[0082] Next, the welding program creation unit 316 sets the feature points of the feature point vector identified in step S105 as the welding teaching points of the welding program corresponding to the welding line vector that best matches the feature point vector, thereby creating a new welding program (step S106).

[0083] Next, the welding program adjustment unit 317 uses the 3D data acquired in step S101 to adjust the new welding program created in step S106 (step S107) so that the manipulator 2, which operates according to the new welding program, operates without interfering with the point cloud. Then, this operation ends.

[0084] As described above, according to the robot system 100 of the embodiment, a feature point vector can be calculated using adjacent feature points of the welding target identified from 3D data including the welding target, a welding line vector can be calculated using adjacent welding teaching points included in the welding program, and a new welding program can be created by setting the feature point of the feature point vector that best matches the welding line vector as the welding teaching point of the matched welding line vector.

[0085] This makes it possible to use an existing welding program to create a new welding program for a different welding target than the one used in the original program.

[0086] Therefore, according to the arithmetic device 3 of this embodiment, it is possible to reduce the burden on the worker who creates the welding program.

[0087] It should be noted that the present invention is not limited to the embodiments described above, and can be implemented in various other forms without departing from the spirit of the invention. For this reason, the above embodiments are merely illustrative in all respects and should not be interpreted restrictively. For example, the order of each processing step described above can be arbitrarily changed or executed in parallel, as long as there is no inconsistency in the processing content.

[0088] Furthermore, although the embodiments described above used a welding robot, the present invention is not limited to this. The present invention can be applied to industrial robots, including handling robots that perform picking and other operations, and cutting and polishing robots that perform cutting and polishing operations. In this case, the welding program, welding target, welding line, welding teaching point, welding operation, welding line vector, welding program extraction unit, welding line vector calculation unit, welding program creation unit, and welding program adjustment unit used in the above embodiments can be appropriately replaced with a work program, work target, work location, work teaching point, work, work location vector, work program extraction unit, work location vector calculation unit, work program creation unit, and work program adjustment unit, respectively. [Explanation of Symbols]

[0089] 1...Robot control device, 2...Manipulator, 3...Calculation unit, 4...Imaging unit, 5...Display unit, 11...Control unit, 12...Storage unit, 13...Communication unit, 31...Control unit, 32...Storage unit, 33...Communication unit, 100...Robot system, 311...Feature point identification unit, 312...Feature point vector calculation unit, 313...Welding program extraction unit, 314...Welding line vector calculation unit, 315...Feature point vector identification unit, 316...Welding program creation unit, 317...Welding program adjustment unit, W...Welding target

Claims

1. A feature point identification unit identifies the feature points of the work object from 3D data including the work object captured by the imaging unit, A feature point vector calculation unit calculates a feature point vector using adjacent feature points among the identified feature points, A work location vector calculation unit calculates a work location vector using adjacent work teaching points among the work teaching points included in a predetermined work program, A feature point vector identification unit identifies the feature point vector that best matches the work location vector calculated by the work location vector calculation unit, among the feature point vectors calculated by the feature point vector calculation unit, A work program creation unit creates a new work program by setting the feature points of the feature point vector identified by the feature point vector identification unit to the work teaching points of the work program corresponding to the work location vector that best matches the feature point vector, A robotic system equipped with the following features.

2. The feature point identification unit identifies points located at the corners of a plane recognized based on the three-dimensional data as feature points. The robot system according to claim 1.

3. A storage unit that stores the aforementioned work program and one or more related three-dimensional data associated with the work program in association with each other, The system further includes a work program extraction unit that identifies related 3D data similar to the aforementioned 3D data and extracts the work program stored in association with the identified related 3D data, The work location vector calculation unit calculates the work location vector based on the work program extracted by the work program extraction unit. The robot system according to claim 1.

4. The feature point vector identification unit calculates the dot product of the work location vector and the feature point vector when the work location corresponding to the work location vector is a straight line, and identifies the feature point vector that can be determined to be most similar to the work location vector as the feature point vector that best matches the work location vector. The robot system according to claim 1.

5. The system further includes a work program adjustment unit that determines, using the 3D data, whether the robot operating according to the new work program interferes with the point cloud of the 3D data, and if interference is determined to occur, adjusts the new work program so that the robot operates without interfering with the point cloud. The robot system according to claim 1.

Citation Information

Patent Citations

  • Apparatus, system, and method for automatically generating robot motion trajectories

    JP6680720B2