Control Method, Device, Welding Robot and Storage Medium of Welding Robot

Through a three-dimensional camera, the three-dimensional point cloud data of the hand-eye calibration of the welding robot is collected, corner point feature recognition and point cloud matching are performed, and the transformation matrix is ​​obtained for hand-eye matrix compensation is solved, which solves the problem of large compensation error of the hand-eye calibration of the existing welding robot and improves the welding accuracy.

CN115351482BActive Publication Date: 2025-05-27SHEN ZHEN QIAN HAI RUI JI TECHNOLOGY CO LTD +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211057960.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-31
Publication Date
2025-05-27
Estimated Expiration
2042-08-31

AI Technical Summary

Technical Problem

The existing welding robot hand-eye calibration compensation method has problems such as large errors and difficulty in reflecting the actual situation.

Method used

The three-dimensional camera set at the end of the welding robot's welding gun collects the original three-dimensional point cloud data of the calibration block, recognizes corner points characteristics, drives the welding robot to move to the target position, collects point cloud data of the actual arrival position, and compensates the reference hand-eye matrix based on the transformation matrix obtained by point cloud matching to obtain the target hand-eye matrix.

Benefits of technology

The error of hand-eye calibration compensation for welding robots is reduced, and the welding accuracy and accuracy are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115351482B_ABST
    Figure CN115351482B_ABST
Patent Text Reader

Abstract

The present application provides a control method, device, welding robot and storage medium for a welding robot. The control method of the welding robot includes: collecting the original three-dimensional point cloud data of a calibration block through a three-dimensional camera arranged at the end of the welding torch of the welding robot; based on the original three-dimensional point cloud data, identifying the first position of the corner feature of the calibration block and recording the first point cloud located at the first position; driving the welding robot to move with the first position as the target position of the end of the welding torch, and after the movement is completed, collecting the second position actually reached by the end of the welding torch and recording the second point cloud located at the second position; compensating the reference hand-eye matrix based on the transformation matrix obtained by matching the first point cloud and the second point cloud to obtain the target hand-eye matrix. The present application can reduce the error of hand-eye calibration compensation for the welding robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of welding, and in particular, to a control method, device, welding robot and storage medium for a welding robot. Background Art

[0002] In current welding methods, it mainly includes manual teaching programming robot welding and traditional vision-guided robot welding. In the manual teaching programming robot welding method, human factors will cause a large deviation in the positional relationship between the welding torch of the welding robot and the camera, resulting in a large error even after compensation even after hand-eye calibration. While the calibration compensation of traditional vision-guided robot welding is still achieved through a two-dimensional camera, which is difficult to reflect the actual situation for a welding robot and is prone to large errors. Therefore, the above-mentioned hand-eye calibration compensation methods for welding robots will bring large errors. Summary of the Invention

[0003] An object of the present application is to provide a control method, device, welding robot and storage medium for a welding robot, which can at least reduce the error of hand-eye calibration compensation for the welding robot to a certain extent.

[0004] According to an aspect of an embodiment of the present application, a control method for a welding robot is provided, and the method includes:

[0005] Collect the original three-dimensional point cloud data of the calibration block through a three-dimensional camera arranged at the end of the welding torch of the welding robot; the calibration block is calibrated with multiple corner points, and at least two of the multiple corner points have different positions in the horizontal and vertical directions;

[0006] Based on the original three-dimensional point cloud data, identify the first position of the corner point feature of the calibration block, and record the first point cloud located at the first position; the corner point feature is the feature of the corner point of the calibration block;

[0007] Drive the welding robot to move with the first position as the target position of the end of the welding torch. After the movement is completed, collect the second position actually reached by the end of the welding torch, and record the second point cloud located at the second position;

[0008] Compensate the reference hand-eye matrix based on the transformation matrix obtained by matching the first point cloud and the second point cloud to obtain the target hand-eye matrix.

[0009] According to an aspect of an embodiment of the present application, a control device for a welding robot is provided, and the device includes:

[0010] A point cloud data acquisition module, configured to acquire the original three-dimensional point cloud data of a calibration block through a three-dimensional camera disposed at the end of a welding robot torch; multiple corner points are calibrated on the calibration block, and at least two of the multiple corner points have different positions in both the horizontal and vertical directions;

[0011] An identification module, configured to identify the first position of the corner point feature of the calibration block based on the original three-dimensional point cloud data, and record the first point cloud located at the first position; the corner point feature is the feature of the corner point of the calibration block;

[0012] A point cloud acquisition module, configured to drive the welding robot to move with the first position as the target position of the end of the torch, and after the movement is completed, acquire the second position actually reached by the end of the torch, and record the second point cloud located at the second position;

[0013] A compensation module, configured to compensate a reference hand-eye matrix based on a transformation matrix obtained by matching the first point cloud and the second point cloud to obtain a target hand-eye matrix.

[0014] In some embodiments of the present application, based on the foregoing technical solution, the control device of the welding robot is configured to:

[0015] Match the first point cloud to the second point cloud to obtain the transformation matrix;

[0016] Successively multiply the inverse matrix of the current pose matrix, the transformation matrix, the current pose matrix, and the reference hand-eye matrix to obtain the target hand-eye matrix; the current pose matrix is the pose matrix when the welding robot acquires the original three-dimensional point cloud data of the calibration block, and the pose matrix is a matrix describing the position and posture of the welding robot.

[0017] In some embodiments of the present application, based on the foregoing technical solution, the control device of the welding robot is configured to:

[0018] Map the original three-dimensional point cloud data to the coordinate system of the welding robot base based on the current pose matrix and the reference hand-eye matrix to obtain target three-dimensional point cloud data;

[0019] In the target three-dimensional point cloud data, identify the first position of the corner point feature of the calibration block.

[0020] In some embodiments of the present application, based on the foregoing technical solution, the control device of the welding robot is configured to:

[0021] Multiply the current pose matrix and the reference hand-eye matrix to obtain a target matrix;

[0022] Based on the target matrix, map the original three-dimensional point cloud data to the base coordinate system of the welding robot to obtain the target three-dimensional point cloud data.

[0023] In some embodiments of the present application, based on the foregoing technical solution, the control device of the welding robot is configured to:

[0024] Determine the target point pairs between the first point cloud and the second point cloud; the target point pairs are the corresponding relationships between the points in the first point cloud and the points in the second point cloud;

[0025] Construct a rotation and translation matrix through the target point pairs;

[0026] Use the rotation and translation matrix to transform the first point cloud to the coordinate system of the second point cloud to obtain a transformed point cloud;

[0027] Construct an error function between the transformed point cloud and the second point cloud;

[0028] If, according to the error function, it is detected that the error is less than or equal to a preset threshold, determine a transformation matrix based on the rotation and translation matrix;

[0029] If, according to the error function, it is detected that the error is greater than the preset threshold, update the first point cloud according to the transformed point cloud, and iterate the rotation and translation matrix between the updated first point cloud and the second point cloud.

[0030] In some embodiments of the present application, based on the foregoing technical solution, the control device of the welding robot is configured to:

[0031] Based on the target hand-eye matrix, perform weld seam extraction on the three-dimensional camera data of the weld seam of the workpiece to be welded to obtain the position of the weld seam of the workpiece to be welded in three-dimensional space; the three-dimensional camera data is the data of the weld seam collected by the three-dimensional camera;

[0032] Weld the workpiece to be welded based on the position of the weld seam in three-dimensional space.

[0033] In some embodiments of the present application, based on the foregoing technical solution, the control device of the welding robot is configured to:

[0034] Collect a frame of the original three-dimensional point cloud data of the calibration block through the three-dimensional camera provided at the end of the welding torch of the welding robot.

[0035] According to one aspect of the embodiments of the present application, there is provided a welding robot, including: one or more processors; a storage device for storing one or more programs, which, when executed by the one or more processors, enable the welding robot to implement the methods provided in the above various optional implementation manners.

[0036] According to one aspect of the embodiments of the present application, there is provided a computer program medium having computer-readable instructions stored thereon, which, when executed by a processor of a computer, cause the computer to execute the methods provided in the above various optional implementation manners.

[0037] According to one aspect of the embodiments of the present application, there is provided a computer program product or a computer program, the computer program product or the computer program including computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the methods provided in the above various optional implementation manners.

[0038] In the technical solution provided by the embodiments of the present application, the original three-dimensional point data of the calibration block is collected by a three-dimensional camera disposed at the end of the welding torch of the welding robot, the first position of the corner feature of the calibration block is identified, and the first point cloud located at the first position is obtained. The end of the welding torch of the welding robot is driven to move to the first position. After the movement is completed, the second position actually reached by the end of the welding torch is collected, and the second point cloud located at the second position is obtained. Based on the transformation matrix obtained by matching the first point cloud and the second point cloud, the reference hand-eye matrix is compensated to obtain the target hand-eye matrix. It avoids the problem of the large deviation of the positional relationship between the welding torch of the welding robot and the camera caused by human factors in the manual teaching method, and avoids the problem of large errors caused by the difficulty of reflecting the actual situation of the three-dimensional space by a two-dimensional camera in the traditional vision-guided robot welding. It can combine three-dimensional data and use the transformation matrix between the first point cloud and the second point cloud to compensate the reference hand-eye matrix, thereby reducing the error of hand-eye calibration compensation for the welding robot.

[0039] Other features and advantages of the present application will become apparent through the following detailed description, or be learned in part through the practice of the present application.

[0040] It should be understood that the above general description and the following detailed description are only exemplary and do not limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] By referring to the accompanying drawings and describing its exemplary embodiments in detail, the above and other objectives, features, and advantages of the present application will become more apparent.

[0042] Figure 1Shows a schematic flowchart of a control method for a welding robot according to Embodiment 1 of the present application.

[0043] Figure 2 Shows a schematic structural diagram of a calibration block related to Embodiment 1 of the present application.

[0044] Figure 3 Shows a top view of the calibration block related to Embodiment 1 of the present application.

[0045] Figure 4 Shows a schematic flowchart of a control method for a welding robot according to Embodiment 2 of the present application.

[0046] Figure 5 Shows a schematic structural diagram of a control device for a welding robot according to Embodiment 3 of the present application.

[0047] Figure 6 Shows a schematic structural diagram of a welding robot according to Embodiment 4 of the present application. Detailed implementation manners

[0048] Now, example embodiments will be described more fully with reference to the accompanying drawings. However, the example embodiments can be implemented in various forms and should not be construed as limited to the examples set forth herein; rather, these example embodiments are provided so that the present application will be more thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. The accompanying drawings are only schematic illustrations of the present application and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repeated description will be omitted.

[0049] In addition, the described features, structures, or characteristics can be combined in any suitable manner in one or more example embodiments. In the following description, many specific details are provided to give a thorough understanding of the example embodiments of the present application. However, those skilled in the art will realize that the technical solutions of the present application can be practiced without one or more of the specific details, or other methods, components, steps, etc. can be adopted. In other cases, well-known structures, methods, implementations, or operations are not shown or described in detail to avoid obscuring the aspects of the present application.

[0050] Some of the block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0051] Figure 1The flowchart shows the control method of a welding robot according to Embodiment 1 of the present application. The control method of the welding robot includes the following steps:

[0052] Step S101: Collect the original three-dimensional point cloud data of the calibration block through a three-dimensional camera set at the end of the welding torch of the welding robot; the calibration block is calibrated with multiple corner points, and at least two of the multiple corner points have different positions in both the horizontal and vertical directions;

[0053] The calibration block is an object used for calibrating information. The original three-dimensional point cloud data is data composed of point clouds with three dimensions of the X-axis, Y-axis, and Z-axis directly collected by the three-dimensional camera. In order to obtain the three-dimensional point cloud data, the calibration block is calibrated with multiple corner points, and at least two of the multiple corner points have different positions in both the horizontal and vertical directions. The corner points can be corner points with a specific shape on the calibration block or points of interest on the calibration block.

[0054] The horizontal direction is, for example, the direction of the plane formed by the X-axis and the Y-axis, and the vertical direction is, for example, the direction of the plane formed by the X-axis and the Z-axis. The positions of the two corner points are different in both the horizontal and vertical directions, aiming to enable the two corner points to reflect the positions in the three-dimensional space. The different positions in the vertical direction mean different Z-axis coordinates. In addition, the different positions in the horizontal direction mean different X-axis or Y-axis coordinates, aiming to avoid the two corner points coinciding in the horizontal direction so that the three-dimensional camera can collect the information of the two corner points.

[0055] Figure 2 The structural schematic diagram of the calibration block in an embodiment is shown. In Figure 2 the shown calibration block, it includes a calibration plate arranged in the horizontal direction and a calibration column arranged in the vertical direction.

[0056] Figure 3 The top view of the calibration block in an embodiment is shown. Multiple quadrilaterals are arranged on the calibration plate, and the vertices of the quadrilaterals can be used as corner points. For example, pt0, pt1, pt2, and pt3 can be used as the corner points on the calibration plate. The upper surface of the calibration column is trapezoidal and has 5 vertices, namely pt4, pt5, pt6, pt7, and pt8, and these 5 vertices can be used as the corner points of the calibration column. Thus, the following corner points can be obtained for the calibration block: pt0, pt1, pt2, pt3, pt4, pt5, pt6, pt7, and pt8.

[0057] In addition, in another embodiment, the above calibration block structure can also be adjusted, or the number of corner points can be adjusted. As long as at least two of the multiple corner points of the calibration block have different positions in both the horizontal and vertical directions.

[0058] As an alternative implementation, the original 3D point cloud data of the calibration block is collected by a 3D camera disposed at the end of the welding robot torch, including: collecting one frame of the original 3D point cloud data of the calibration block by the 3D camera disposed at the end of the welding robot torch.

[0059] By collecting one frame of the original 3D point cloud data and only processing one frame of image, it is simpler compared to processing multiple frames of images, and can improve the efficiency of hand-eye calibration compensation for the welding robot.

[0060] Step S102: Based on the original 3D point cloud data, identify the first position of the corner feature of the calibration block, and record the first point cloud located at the first position; the corner feature is the feature of the corner of the calibration block.

[0061] The first position is the position where the corner feature is identified from the original 3D point cloud data. The first point cloud is the point cloud located at the first position.

[0062] Step S103: Drive the welding robot to move with the first position as the target position of the end of the torch. After the movement is completed, collect the second position actually reached by the end of the torch, and record the second point cloud located at the second position.

[0063] The target position is the position that the end of the torch is about to move to. The second position is the position actually reached by the end of the torch. The second point cloud is the point cloud located at the second position.

[0064] Step S104: Based on the transformation matrix obtained by matching the first point cloud and the second point cloud, compensate the reference hand-eye matrix to obtain the target hand-eye matrix.

[0065] The transformation matrix is a matrix indicating the conversion between the first point cloud and the second point cloud. The reference hand-eye matrix is the pre-set hand-eye matrix of the welding robot. The target hand-eye matrix is the matrix after compensating the reference hand-eye matrix.

[0066] As an alternative implementation, after compensating the reference hand-eye matrix to obtain the target hand-eye matrix, the method further includes: based on the target hand-eye matrix, extracting the weld of the weld seam of the workpiece to be welded from the 3D camera data of the weld seam to obtain the position of the weld seam of the workpiece to be welded in 3D space; the 3D camera data is the data of the weld seam collected by the 3D camera; welding the workpiece to be welded based on the position of the weld seam in 3D space.

[0067] The above method can assist the welding robot in positioning the workpiece and quickly calculate the relative position between the end of the welding robot's welding gun and the optical center of the three-dimensional camera. By combining the corner point features of the calibration block with the corner point features reached by the end of the welding gun to calculate compensation, the strategy is simple and easy to implement, avoiding the introduction of more system errors and calculation complexity errors, so that the accuracy of tasks such as camera module positioning and recognition in the later stage is high. By utilizing the characteristics of three-dimensional point cloud data, only single-frame sampling is required to speed up the compensation calculation, thereby improving the accuracy and precision of workpiece positioning, weld extraction and welding execution. It can improve the efficiency and accuracy of weld identification.

[0068] Figure 4 The flowchart of the control method of the welding robot according to the second embodiment of the present application is shown. The control method of the welding robot comprises the following steps:

[0069] Step S201: collecting original three-dimensional point cloud data of a calibration block by a three-dimensional camera arranged at the end of a welding gun of a welding robot; the calibration block is calibrated with a plurality of corner points, and at least two of the plurality of corner points have different positions in the horizontal direction and the vertical direction;

[0070] Step S202: Based on the original three-dimensional point cloud data, identify a first position of a corner feature of the calibration block, and record a first point cloud located at the first position; the corner feature is a feature of a corner point of the calibration block;

[0071] As an optional implementation, based on the original three-dimensional point cloud data, the first position of the corner point feature of the calibration block is identified, including: based on the current pose matrix and the reference hand-eye matrix, mapping the original three-dimensional point cloud data to the welding robot base coordinate system to obtain target three-dimensional point cloud data; in the target three-dimensional point cloud data, identifying the first position of the corner point feature of the calibration block.

[0072] The target 3D point cloud data is the data obtained by mapping the original 3D point cloud data to the robot base coordinate system.

[0073] As an optional implementation, based on the current pose matrix and the reference hand-eye matrix, the original three-dimensional point cloud data is mapped to the welding robot base coordinate system to obtain target three-dimensional point cloud data, including: multiplying the current pose matrix and the reference hand-eye matrix to obtain a target matrix; based on the target matrix, mapping the original three-dimensional point cloud data to the welding robot base coordinate system to obtain the target three-dimensional point cloud data.

[0074] As an alternative implementation, matching the first point cloud to the second point cloud to obtain the transformation matrix includes: determining target point pairs between the first point cloud and the second point cloud; the target point pairs are the corresponding relationships between the points in the first point cloud and the points in the second point cloud; constructing a rotation and translation matrix through the target point pairs; using the rotation and translation matrix to transform the first point cloud into the coordinate system of the second point cloud to obtain a transformed point cloud; constructing an error function between the transformed point cloud and the second point cloud; if, according to the error function, it is detected that the error is less than or equal to a preset threshold, determining the transformation matrix based on the rotation and translation matrix; if, according to the error function, it is detected that the error is greater than the preset threshold, updating the first point cloud according to the transformed point cloud and iterating the rotation and translation matrix between the updated first point cloud and the second point cloud.

[0075] Step S203: Drive the welding robot to move with the first position as the target position of the end of the welding torch. After the movement is completed, collect the second position actually reached by the end of the welding torch and record the second point cloud located at the second position.

[0076] Step S204: Match the first point cloud to the second point cloud to obtain the transformation matrix.

[0077] Step S205: Multiply the inverse matrix of the current pose matrix, the transformation matrix, the current pose matrix, and the reference hand-eye matrix in sequence to obtain the target hand-eye matrix; the current pose matrix is the pose matrix when the welding robot collects the original three-dimensional point cloud data of the calibration block, and the pose matrix is a matrix describing the position and attitude of the welding robot.

[0078] Hereinafter, the above technical solutions will be described in conjunction with an implementation manner in a specific scenario.

[0079] First, drive the three-dimensional camera at the end of the welding torch of the welding robot to collect the three-dimensional point cloud data pcd0 of the calibration block, record the current pose matrix toolPose of the welding robot, and convert it to the base coordinate system of the welding robot through the hand-eye matrix handEye, that is, the point cloud pcd1.

[0080] Secondly, extract and record the corner point features pt0, pt1,..., pt8 on the calibration block in the three-dimensional point cloud data pcd1 of the calibration block. At the same time, drive the end of the welding torch of the welding robot to reach the corresponding corner point feature positions on the calibration block and record the current corner point positions pt0', pt1',..., pt8'. The conversion relationship between pcd0 and pcd1 is as follows:

[0081] pcd1 = transform(pcd0, toolPose * handEye).

[0082] Furthermore, based on the corner features pt0, pt1, …, pt8 in the 3D point cloud data of the calibration block and their corresponding 3D spatial positions pt0’, pt1’, …, pt8’, they are respectively recorded as point clouds pcd2 and pcd3. Then, a point cloud registration algorithm is used to match pcd2 to the position of pcd3, and at this time, the transformation matrix Tran is obtained.

[0083] Subsequently, the robot hand-eye matrix handEye is compensated and calculated through the transformation matrix Tran, so as to obtain the compensated hand-eye matrix handEye’. Among them, the compensated hand-eye matrix is:

[0084] handEye’ = toolPose -1 * Tran * toolPose * handEye.

[0085] Finally, the compensated hand-eye matrix handEye’ is used to assist the welding robot to extract the weld seam and weld the workpiece.

[0086] In the above manner, the 3D point cloud data of the calibration block collected by the 3D camera is converted to the base coordinate system of the welding robot, and the corner feature points of the calibration block are picked up from the 3D point cloud data of the calibration block. At the same time, the welding robot is driven to collect the corresponding corner feature positions of the calibration block. By performing point cloud registration on the two sets of data, the transformation matrix for their mutual conversion is obtained, and finally the robot hand-eye matrix is compensated. It can assist the welding robot to quickly determine the position of the end of the welding torch relative to the actual weld seam of the workpiece.

[0087] Quickly calculate the compensation matrix of the hand-eye transformation matrix, further improve the accuracy of the relative position transformation matrix between the 3D camera and the end of the welding torch of the welding robot, so as to assist the welding robot to quickly and accurately determine the actual position of the welding torch of the welding robot and the weld seam of the workpiece. It can improve the positioning and extraction of the weld seam of the intelligent robot welding system, and achieve high efficiency and high precision of robot welding.

[0088] Figure 5 Fig. shows a control device of a welding robot according to Embodiment 3 of the present application. The control device of the welding robot includes:

[0089] A point cloud data acquisition module 301, configured to collect the original 3D point cloud data of the calibration block through a 3D camera arranged at the end of the welding torch of the welding robot; the calibration block is calibrated with a plurality of corner points, and at least two of the plurality of corner points have different positions in the horizontal direction and the vertical direction;

[0090] An identification module 302, configured to identify a first position of a corner feature of the calibration block based on the original three-dimensional point cloud data, and record a first point cloud located at the first position; the corner feature is a feature of a corner of the calibration block.

[0091] A point cloud acquisition module 303, configured to drive the welding robot to move with the first position as the target position of the end of the welding torch, and after the movement is completed, acquire a second position actually reached by the end of the welding torch, and record a second point cloud located at the second position.

[0092] A compensation module 304, configured to compensate a reference hand-eye matrix based on a transformation matrix obtained by matching the first point cloud and the second point cloud, to obtain a target hand-eye matrix.

[0093] In an exemplary embodiment of the present application, the control device of the welding robot is configured to:

[0094] Match the first point cloud to the second point cloud to obtain the transformation matrix.

[0095] Multiply the inverse matrix of the current pose matrix, the transformation matrix, the current pose matrix, and the reference hand-eye matrix in sequence to obtain the target hand-eye matrix; the current pose matrix is the pose matrix when the welding robot acquires the original three-dimensional point cloud data of the calibration block, and the pose matrix is a matrix describing the position and posture of the welding robot.

[0096] In an exemplary embodiment of the present application, the control device of the welding robot is configured to:

[0097] Map the original three-dimensional point cloud data to the base coordinate system of the welding robot based on the current pose matrix and the reference hand-eye matrix, to obtain target three-dimensional point cloud data.

[0098] In the target three-dimensional point cloud data, identify a first position of a corner feature of the calibration block.

[0099] In an exemplary embodiment of the present application, the control device of the welding robot is configured to:

[0100] Multiply the current pose matrix and the reference hand-eye matrix to obtain a target matrix.

[0101] Map the original three-dimensional point cloud data to the base coordinate system of the welding robot based on the target matrix, to obtain the target three-dimensional point cloud data.

[0102] In an exemplary embodiment of the present application, the control device of the welding robot is configured to:

[0103] Determine the target point pairs between the first point cloud and the second point cloud; the target point pairs are the corresponding relationships between the points in the first point cloud and the points in the second point cloud;

[0104] Construct a rotation and translation matrix through the target point pairs;

[0105] Use the rotation and translation matrix to transform the first point cloud to the coordinate system of the second point cloud to obtain a transformed point cloud;

[0106] Construct an error function between the transformed point cloud and the second point cloud;

[0107] If, according to the error function, it is detected that the error is less than or equal to a preset threshold, determine a transformation matrix based on the rotation and translation matrix;

[0108] If, according to the error function, it is detected that the error is greater than the preset threshold, update the first point cloud according to the transformed point cloud, and iterate the rotation and translation matrix between the updated first point cloud and the second point cloud.

[0109] In an exemplary embodiment of the present application, the control device of the welding robot is configured to:

[0110] Based on the target hand-eye matrix, perform weld seam extraction on the three-dimensional camera data of the weld seam of the workpiece to be welded to obtain the position of the weld seam of the workpiece to be welded in three-dimensional space; the three-dimensional camera data is the data of the weld seam collected by the three-dimensional camera;

[0111] Weld the workpiece to be welded based on the position of the weld seam in three-dimensional space.

[0112] In an exemplary embodiment of the present application, the control device of the welding robot is configured to:

[0113] Collect a frame of original three-dimensional point cloud data of the calibration block through a three-dimensional camera arranged at the end of the welding torch of the welding robot.

[0114] Next, refer to Figure 6 to describe the welding robot 40 according to Embodiment 4 of the present application. Figure 6 The shown welding robot 40 is merely an example and should not impose any limitation on the functions and usage scope of the embodiments of the present application.

[0115] As Figure 6 shown, the welding robot 40 is presented in the form of a general computing device. The components of the welding robot 40 may include but are not limited to: at least one of the above-mentioned processing units 410, at least one of the above-mentioned storage units 420, and a bus 430 connecting different system components (including the storage unit 420 and the processing unit 410).

[0116] Among them, the storage unit stores program code, which can be executed by the processing unit 410, so that the processing unit 410 executes the steps according to various exemplary embodiments of the present invention described in the description part of the above exemplary method of this specification. For example, the processing unit 410 can execute each step as shown in Figure 1 shown.

[0117] The storage unit 420 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 4201 and / or a cache storage unit 4202, and may further include a read-only storage unit (ROM) 4203.

[0118] The storage unit 420 may also include a program / utilities 4204 having a set (at least one) of program modules 4205. Such program modules 4205 include, but are not limited to: an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include the implementation of a network environment.

[0119] The bus 430 may represent one or more of several types of bus structures, including a storage unit bus or a storage unit controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.

[0120] The welding robot 40 may also communicate with one or more devices that enable a user to interact with the welding robot 40, and / or communicate with any device (such as a router, a modem, etc.) that enables the welding robot 40 to communicate with one or more other computing devices. Such communication can be carried out through the input / output (I / O) interface 450. The input / output (I / O) interface 450 is connected to the display unit 440. And, the welding robot 40 can also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through the network adapter 460. As shown in the figure, the network adapter 460 communicates with other modules of the welding robot 40 through the bus 430. It should be understood that although not shown in the figure, other hardware and / or software modules can be used in combination with the welding robot 40, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.

[0121] From the description of the above embodiments, those skilled in the art can easily understand that the exemplary embodiments described herein can be implemented by software, or by a combination of software and necessary hardware. Therefore, the technical solutions according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, a USB flash drive, a portable hard drive, etc.) or on a network, and includes several instructions to enable a computing device (including a welding robot) to execute the method according to the embodiments of the present application.

[0122] In an exemplary embodiment of the present application, there is also provided a computer-readable storage medium, on which computer-readable instructions are stored. When the computer-readable instructions are executed by a processor of a computer, the computer is enabled to execute the method described in the method embodiment part above.

[0123] According to an embodiment of the present application, there is also provided a program product for implementing the method in the above method embodiment. It can be a portable compact disc read-only memory (CD-ROM) and includes program code, and can run on a welding robot. However, the program product of the present invention is not limited thereto. In this document, the readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, device, or component.

[0124] The program product can adopt any combination of one or more readable media. The readable media can be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination of the above. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disc, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0125] The computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries the readable program code. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The readable signal medium can also be any readable medium other than the readable storage medium, and the readable medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, device, or component.

[0126] The program code contained on a readable medium can be transmitted by any suitable medium, including but not limited to wireless, wired, optical fiber cable, RF, etc., or any suitable combination of the above.

[0127] The program code for performing the operations of the present invention can be written in any combination of one or more programming languages. The programming languages include object-oriented programming languages such as JAVA, C++, etc., and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, executed as a stand-alone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user's computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or, alternatively, can be connected to an external computing device (e.g., by connecting through the Internet using an Internet service provider).

[0128] It should be noted that although several modules or units of a device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more of the above-described modules or units can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0129] In addition, although the steps of the methods in the present application are described in a specific order in the drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additionally or alternatively, some steps can be omitted, multiple steps can be combined into one step for execution, and / or one step can be decomposed into multiple steps for execution, etc.

[0130] From the description of the above embodiments, those skilled in the art can easily understand that the example embodiments described herein can be implemented by software, or by a combination of software and necessary hardware. Therefore, the technical solutions according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (including a welding robot) to execute the method according to the embodiments of the present application.

[0131] Other embodiments of the present application will be readily apparent to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present application that follow the general principles of the present application and include known common general knowledge or conventional technical means in the technical field not disclosed in the present application. The specification and examples are only to be considered as exemplary, and the true scope and spirit of the present application are pointed out by the appended claims.

Claims

1. A control method for a welding robot, characterized in that, it includes: Collect the original three-dimensional point cloud data of the calibration block through a three-dimensional camera set at the end of the welding torch of the welding robot. The original three-dimensional point cloud data is composed of point clouds with three dimensions of the X-axis, Y-axis, and Z-axis directly collected by the three-dimensional camera; the calibration block includes a calibration column and a calibration plate. The calibration plate is horizontally arranged, the calibration column is vertically arranged, and corner points are provided on both the calibration column and the calibration plate. There are at least two corner points on the calibration column and the calibration plate with different Z-axis coordinates and different X-axis and / or Y-axis coordinates, so that the corner points can reflect positions in the three-dimensional space; Based on the original three-dimensional point cloud data, identify the first position of the corner point feature of the calibration block, and record the first point cloud located at the first position; the corner point feature is the feature of the corner point of the calibration block; Drive the welding robot to move with the first position as the target position of the end of the welding torch. After the movement is completed, collect the second position actually reached by the end of the welding torch, and record the second point cloud located at the second position; Based on the transformation matrix obtained by matching the first point cloud and the second point cloud, compensate the reference hand-eye matrix to obtain the target hand-eye matrix, and the first position in the first point cloud corresponds to the second position in the second point cloud respectively.

2. The method according to claim 1, characterized in that, Based on the transformation matrix obtained by matching the first point cloud and the second point cloud, compensating the reference hand-eye matrix to obtain the target hand-eye matrix includes: Match the first point cloud to the second point cloud to obtain the transformation matrix; Multiply the inverse matrix of the current pose matrix, the transformation matrix, the current pose matrix, and the reference hand-eye matrix in sequence to obtain the target hand-eye matrix; the current pose matrix is the pose matrix when the welding robot collects the original three-dimensional point cloud data of the calibration block, and the pose matrix is a matrix describing the position and posture of the welding robot.

3. The method according to claim 2, characterized in that, Based on the original three-dimensional point cloud data, identifying the first position of the corner point feature of the calibration block includes: Based on the current pose matrix and the reference hand-eye matrix, map the original three-dimensional point cloud data to the base coordinate system of the welding robot to obtain target three-dimensional point cloud data; In the target three-dimensional point cloud data, identify the first position of the corner point feature of the calibration block.

4. The method according to claim 3, characterized in that, Based on the current pose matrix and the reference hand-eye matrix, mapping the original three-dimensional point cloud data to the base coordinate system of the welding robot to obtain target three-dimensional point cloud data includes: Multiply the current pose matrix and the reference hand-eye matrix to obtain a target matrix; Based on the target matrix, map the original three-dimensional point cloud data to the base coordinate system of the welding robot to obtain the target three-dimensional point cloud data.

5. The method according to claim 2, characterized in that, Matching the first point cloud to the second point cloud to obtain the transformation matrix includes: Determining target point pairs between the first point cloud and the second point cloud; the target point pairs are the corresponding relationships between the points in the first point cloud and the points in the second point cloud; Constructing a rotation and translation matrix through the target point pairs; Using the rotation and translation matrix to transform the first point cloud into the coordinate system of the second point cloud to obtain a transformed point cloud; Constructing an error function between the transformed point cloud and the second point cloud; If, according to the error function, it is detected that the error is less than or equal to a preset threshold, determining the transformation matrix based on the rotation and translation matrix; If, according to the error function, it is detected that the error is greater than the preset threshold, updating the first point cloud according to the transformed point cloud and iterating the rotation and translation matrix between the updated first point cloud and the second point cloud.

6. The method according to claim 1, wherein, after compensating the reference hand-eye matrix to obtain the target hand-eye matrix, the method further includes: Based on the target hand-eye matrix, extracting the weld of the workpiece to be welded from the three-dimensional camera data of the weld of the workpiece to be welded to obtain the position of the weld of the workpiece to be welded in three-dimensional space; the three-dimensional camera data is the data of the weld collected by the three-dimensional camera; Welding the workpiece to be welded based on the position of the weld in three-dimensional space.

7. The method according to claim 1, wherein, Collecting the original three-dimensional point cloud data of the calibration block through a three-dimensional camera arranged at the end of the welding robot torch, including: Collecting one frame of the original three-dimensional point cloud data of the calibration block through the three-dimensional camera arranged at the end of the welding robot torch.

8. A control device for a welding robot, wherein, comprises: A point cloud data acquisition module, configured to collect the original three-dimensional point cloud data of the calibration block through a three-dimensional camera arranged at the end of the welding robot torch, the original three-dimensional point cloud data being data composed of point clouds with three dimensions of the X-axis, Y-axis, and Z-axis directly collected by the three-dimensional camera; the calibration block includes a calibration column and a calibration plate, the calibration plate is arranged horizontally, the calibration column is arranged vertically, corner points are provided on both the calibration column and the calibration plate, and there are at least two corner points on the calibration column and the calibration plate with different Z-axis coordinates and different X-axis and / or Y-axis coordinates, so that the corner points can reflect positions in three-dimensional space; An identification module, configured to identify the first position of the corner point features of the calibration block based on the original three-dimensional point cloud data and record the first point cloud located at the first position; the corner point features are the features of the corner points of the calibration block; A point cloud acquisition module, configured to drive the welding robot to move with the first position as the target position of the end of the torch, and after the movement is completed, collect the second position actually reached by the end of the torch and record the second point cloud located at the second position; A compensation module, configured to compensate a reference hand-eye matrix based on a transformation matrix obtained by matching the first point cloud and the second point cloud, so as to obtain a target hand-eye matrix, where a first position in the first point cloud corresponds to a second position in the second point cloud respectively.

9. A welding robot, characterized in that it comprises: one or more processors; a storage device configured to store one or more programs, which, when executed by the one or more processors, cause the welding robot to implement the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that computer-readable instructions are stored thereon, which, when executed by a processor of a computer, cause the computer to execute the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Calibration parameter optimization method and device, equipment and storage medium

    CN113450417A

  • Hand-eye calibration error correction method based on ICP algorithm

    CN114519738A