Welding robot control method, device, welding robot and readable medium

The method of collecting point cloud data and generating compensation matrix through a three-dimensional camera solves the problem of manual control affecting welding accuracy, and achieves accurate positioning and accuracy improvement of welding points.

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

Patent Information

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

AI Technical Summary

Technical Problem

In the existing welding robot control methods, since the operation data relies on manual control processes, the welding technology level and error have a greater impact on the automatic welding process, reducing the accuracy of welding.

Method used

Through a three-dimensional camera at the end of the welding robot, point cloud data is collected on multiple three-dimensional balls on the target workpiece at multiple designated acquisition positions, the center of the ball is determined, and the compensation matrix of the hand-eye transformation matrix is ​​generated, and the welding robot is driven to welding.

Benefits of technology

Accurate positioning of welding points is achieved, the accuracy of welding is improved, and human error is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115416025B_ABST
    Figure CN115416025B_ABST
Patent Text Reader

Abstract

The present application provides a welding robot control method, device, welding robot and readable medium. The method includes: using a three-dimensional camera at the end of the welding robot, collecting point cloud data of multiple three-dimensional balls on a target workpiece at multiple designated collection positions to obtain multiple point cloud data sets, wherein each point cloud data set includes point cloud data of multiple three-dimensional balls corresponding to a designated collection position; according to the point cloud data of multiple three-dimensional balls in each point cloud data set, determining the center position of each three-dimensional ball in each point cloud data set, and obtaining a center position set corresponding to multiple point cloud data sets; according to the center position of each three-dimensional ball in the center position set, generating a compensation matrix of the hand-eye transformation matrix; according to the compensation matrix and the hand-eye transformation matrix, driving the welding robot to weld the target workpiece through the end of the welding gun of the welding robot. The method can accurately locate the welding point and improve the welding accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] With the development of computer science and automatic control, various automatic processing robots have been rapidly developed in various fields. In the field of industrial robots, automatic controlled welding robots have been widely used.

[0003] In the related art, the control process of the welding robot sets relevant operating data according to the process of manually controlling the robot to perform welding, and then the robot performs welding according to the set operating data based on the image captured by its camera.

[0004] However, in the above scheme, since the operating data is set according to the manual control process, the welding technical level and errors of the controller in the manual control process have a greater impact on the robot's automatic welding process, resulting in deviations in the welding process and reducing the accuracy of welding. Summary of the invention

[0005] Based on the above technical problems, the present application provides a welding robot control method, device, welding robot and readable medium to accurately locate the welding points and improve the welding accuracy.

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

[0007] According to one aspect of an embodiment of the present application, there is provided a welding robot control method, comprising:

[0008] By using a three-dimensional camera at the end of the welding robot, point cloud data of multiple three-dimensional balls on the target workpiece are collected at multiple designated collection positions to obtain multiple point cloud data sets, wherein each point cloud data set includes point cloud data of the multiple three-dimensional balls corresponding to one designated collection position;

[0009] Determine the center position of each three-dimensional sphere in each point cloud data set according to the point cloud data of the multiple three-dimensional spheres in each point cloud data set, and obtain a set of sphere center positions corresponding to the multiple point cloud data sets;

[0010] Generate a compensation matrix of the hand-eye transformation matrix according to the center position of each three-dimensional ball in the center position set;

[0011] According to the compensation matrix and the hand-eye transformation matrix, the welding robot is driven to weld the target workpiece through the end of the welding gun of the welding robot.

[0012] In one embodiment of the present application, based on the above technical solution, the three-dimensional camera at the end of the welding robot collects point cloud data of multiple three-dimensional balls on the target workpiece at multiple designated collection positions to obtain multiple point cloud data sets, including:

[0013] At each designated acquisition position, a three-dimensional camera at the end of the welding robot is used to collect point cloud data of multiple three-dimensional balls on the target workpiece to obtain the original three-dimensional data of the multiple three-dimensional balls and the center conversion matrix corresponding to each designated acquisition position;

[0014] According to the hand-eye transformation matrix and the center transformation matrix, the original three-dimensional data of the multiple three-dimensional balls are transformed into a welding robot coordinate system to obtain multiple point cloud data sets.

[0015] In one embodiment of the present application, based on the above technical solution, determining the center position of each three-dimensional sphere in each point cloud data set according to the point cloud data of the multiple three-dimensional spheres in each point cloud data set, and obtaining a set of center positions corresponding to the multiple point cloud data sets, includes:

[0016] For each point cloud data set, sampling is performed according to the spatial distribution of the point cloud data of the plurality of three-dimensional spheres to obtain a data set corresponding to each three-dimensional sphere;

[0017] Spherical fitting is performed according to the data set corresponding to each three-dimensional sphere, the center coordinates of each three-dimensional sphere in each point cloud data set are determined, and a set of sphere center positions corresponding to multiple point cloud data sets are obtained.

[0018] In one embodiment of the present application, based on the above technical solution, for each point cloud data set, sampling is performed according to the spatial distribution of the point cloud data of the multiple three-dimensional balls to obtain a data set corresponding to each three-dimensional ball, including:

[0019] For each point cloud data set, filtering the point cloud data according to a preset range on the three-dimensional coordinate axis to obtain filtered point cloud data;

[0020] According to a plurality of preset spatial boxes, for the filtered point cloud data falling into the same preset spatial box, extract the filtered point cloud data closest to the box center of the preset spatial box to obtain the sampled point cloud data, wherein the preset spatial box is obtained by dividing the three-dimensional space where the target workpiece is located;

[0021] Clustering is performed according to the spatial positions of the sampled point cloud data to obtain a data set of the point cloud data of each three-dimensional sphere.

[0022] In one embodiment of the present application, based on the above technical solution, generating a compensation matrix of the hand-eye transformation matrix according to the center position of each three-dimensional ball in the center position set includes:

[0023] For the sphere center position corresponding to each point cloud data set in the sphere center position set, respectively calculating the distance between the sphere center of the specified three-dimensional sphere and the sphere center of other three-dimensional spheres on the three-dimensional coordinate axis to obtain the sphere center distance;

[0024] According to the sphere center distance, the average distance of each three-dimensional sphere on the three-dimensional coordinate axis is calculated as a compensation matrix of the hand-eye transformation matrix.

[0025] In one embodiment of the present application, based on the above technical solution, at each designated acquisition position, a three-dimensional camera at the end of the welding robot is used to collect point cloud data of multiple three-dimensional balls on the target workpiece, and the original three-dimensional data of the multiple three-dimensional balls and the center transformation matrix corresponding to each designated acquisition position are obtained, including:

[0026] According to the preset path information, the end of the welding robot is driven to reach each designated collection position in sequence;

[0027] At each designated acquisition position, a frame of point cloud data of the target workpiece is captured by a three-dimensional camera at the end of the welding robot and the center transformation matrix of the current position is recorded. The three-dimensional image contains the point cloud data of each three-dimensional ball.

[0028] In one embodiment of the present application, based on the above technical solution, the method of driving the welding robot to weld the target workpiece through the welding gun end of the welding robot according to the compensation matrix and the hand-eye transformation matrix includes:

[0029] Acquiring position information of a position to be welded on a target workpiece by means of the three-dimensional camera;

[0030] The position information of the position to be welded is converted into the welding robot coordinate system through the compensation matrix and the hand-eye transformation matrix to obtain the target position information;

[0031] According to the target position information, the end of the welding gun is driven to weld the position to be welded.

[0032] According to one aspect of an embodiment of the present application, there is provided a welding robot control device, comprising:

[0033] A point cloud data acquisition module is used to acquire point cloud data of a plurality of three-dimensional balls on a target workpiece at a plurality of designated acquisition positions through a three-dimensional camera at the end of the welding robot, so as to obtain a plurality of point cloud data sets, wherein each point cloud data set includes point cloud data of the plurality of three-dimensional balls corresponding to a designated acquisition position;

[0034] A sphere center position determination module is used to determine the sphere center position of each three-dimensional sphere in each point cloud data set according to the point cloud data of the multiple three-dimensional spheres in each point cloud data set, and obtain a sphere center position set corresponding to the multiple point cloud data sets;

[0035] A compensation matrix generation module, used to generate a compensation matrix of the hand-eye transformation matrix according to the center position of each three-dimensional ball in the center position set;

[0036] A driving module is used to drive the welding robot to weld the target workpiece through the end of the welding gun of the welding robot according to the compensation matrix and the hand-eye transformation matrix.

[0037] According to one aspect of an embodiment of the present application, a welding robot is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute a welding robot control method as in the above technical solution by executing the executable instructions.

[0038] According to one aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the welding robot control method in the above technical solution is implemented.

[0039] In an embodiment of the present application, a three-dimensional camera at the end of the welding robot is used to collect point cloud data of a three-dimensional sphere on a target workpiece, and then a compensation matrix of a hand-eye transformation matrix is ​​calculated based on the point cloud data, thereby compensating for the deviation between the end of the welding gun of the welding robot and the optical center of the three-dimensional camera, thereby accurately locating the welding point and improving welding accuracy.

[0040] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] The drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present application, and together with the specification, are used to explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:

[0042] Figure 1 The following schematically shows an exemplary system architecture diagram of the technical solution of the present application in an application scenario;

[0043] Figure 2 A schematic diagram of the positions of the target workpiece and the three-dimensional ball in an embodiment of the present application;

[0044] Figure 3 This is a schematic flow chart of a welding robot control method in an embodiment of the present application;

[0045] Figure 4 This is a flow chart of the overall control process of the welding robot control method in the embodiment of the present application;

[0046] Figure 5 The composition block diagram of the welding robot control device in the embodiment of the present application is schematically shown;

[0047] Figure 6 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application is shown. DETAILED DESCRIPTION

[0048] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this application will be more comprehensive and complete and fully convey the concept of the example embodiments to those skilled in the art.

[0049] In addition, described feature, structure or characteristic can be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present application. However, those skilled in the art will appreciate that the technical scheme of the present application can be put into practice without one or more of the specific details, or other methods, components, devices, steps, etc. can be adopted. In other cases, known methods, devices, realizations or operations are not shown or described in detail to avoid blurring the various aspects of the application.

[0050] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may 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] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.

[0052] The application scenarios of the solution of this application are introduced below. Figure 1 The following schematically shows an exemplary system architecture diagram of the technical solution of the present application in an application scenario. Figure 1 As shown, the application scenario includes a welding robot 110, a 3D camera 120 and a target workpiece 130. The solution of the present application drives the welding robot 110 to weld the target workpiece 130 according to the 3D point cloud data captured by the 3D camera 120. Figure 1 As shown, a plurality of three-dimensional balls are disposed on the target workpiece 130. Depending on the specific shape of the target workpiece and the requirements of the welding position, the number and position of the three-dimensional balls may be different. Figure 2 , Figure 2 Schematic diagram of the position of the target workpiece and the three-dimensional ball in the embodiment of the present application. Figure 2 As shown, four three-dimensional balls are set, and one of them is located on the step on the target workpiece. During the shooting process of the three-dimensional camera, these three-dimensional balls will appear in the three-dimensional image of the target workpiece according to the preset rules. The welding robot will calculate based on the point cloud data of these three-dimensional balls, so as to compensate and convert the position relationship between the end of the welding gun and the optical center of the three-dimensional image when the welding robot performs welding according to the three-dimensional image, so as to accurately control the position of the end of the welding gun and complete the welding process.

[0053] The following is a detailed description of the technical solution provided by this application in conjunction with the specific implementation method. For ease of introduction, please refer to Figure 3 , Figure 3 This is a schematic flow chart of a welding robot control method in an embodiment of the present application. The method can be applied to the above-mentioned welding robot. In the embodiment of the present application, the welding robot control method is introduced with the welding robot as the execution subject. The payment method may include the following steps S310 to S340:

[0054] Step S310, using the three-dimensional camera at the end of the welding robot, point cloud data of multiple three-dimensional balls on the target workpiece are collected at multiple designated collection positions to obtain multiple point cloud data sets, wherein each point cloud data set includes point cloud data of the multiple three-dimensional balls corresponding to a designated collection position.

[0055] Specifically, the end of the welding robot will move according to a predetermined trajectory, stop at a designated acquisition position, and shoot the target workpiece through a three-dimensional camera. The data frame obtained by shooting will contain point cloud data of multiple three-dimensional balls on the target workpiece. Data collection is performed on the point cloud data of the three-dimensional ball, so that multiple point cloud data sets can be obtained. Each point cloud data set is point cloud data collected from a data frame captured from a designated acquisition position, and each data frame will contain point cloud data of multiple three-dimensional balls. Therefore, it can be understood that the number of point cloud data sets is generally equal to the number of data frames collected. If one frame of data is collected at each designated acquisition position, the number of point cloud data sets is equal to the number of designated acquisition positions.

[0056] In one embodiment of the present application, the above step S310, through the three-dimensional camera at the end of the welding robot, performs point cloud data collection on multiple three-dimensional balls on the target workpiece at multiple designated collection positions to obtain multiple point cloud data sets, specifically includes the following steps:

[0057] At each designated acquisition position, a three-dimensional camera at the end of the welding robot is used to collect point cloud data of multiple three-dimensional balls on the target workpiece to obtain the original three-dimensional data of the multiple three-dimensional balls and the center conversion matrix corresponding to each designated acquisition position;

[0058] According to the hand-eye transformation matrix and the center transformation matrix, the original three-dimensional data of the multiple three-dimensional balls are transformed into a welding robot coordinate system to obtain multiple point cloud data sets.

[0059] In one embodiment of the present application, the above steps, at each designated collection position, collect point cloud data of multiple three-dimensional balls on the target workpiece through a three-dimensional camera at the end of the welding robot to obtain the original three-dimensional data of the multiple three-dimensional balls and the center transformation matrix corresponding to each designated collection position, specifically include the following steps:

[0060] According to the preset path information, the end of the welding robot is driven to reach each designated collection position in sequence;

[0061] At each designated acquisition position, a frame of point cloud data of the target workpiece is captured by a three-dimensional camera at the end of the welding robot and the center transformation matrix of the current position is recorded. The three-dimensional image contains the point cloud data of each three-dimensional ball.

[0062] Specifically, the welding robot will follow the planned "e"-shaped spiral upward motion trajectory, driving the end of the welding robot with a three-dimensional camera to reach multiple designated sampling points. The point cloud data of multiple three-dimensional balls on the target workpiece are acquired through the three-dimensional data camera at different angles, and the current robot center transformation matrix toolPos is recorded. Thus, n frames of point cloud data pcdn (n=1,2,…,n) and center transformation matrix toolPos (n=1,2,…,n) in the camera coordinate system are obtained respectively. In addition, the welding robot will convert the pcdn point cloud data to the robot's base coordinate system according to the uncompensated hand-eye transformation matrix handEye, recorded as pcdn'. The specific conversion process is as follows:

[0063] pcdn'=transform(pcdn,toolPosn*handEye), where (n=1,2,…,n)

[0064] Step S320, determining the center position of each three-dimensional sphere in each point cloud data set according to the point cloud data of the multiple three-dimensional spheres in each point cloud data set, and obtaining a set of center positions corresponding to the multiple point cloud data sets.

[0065] The welding robot will calculate the center position of each 3D ball in each point cloud data set according to the point cloud data of multiple 3D balls in each point cloud data set, thereby obtaining a set of center positions corresponding to multiple point cloud data sets. The center positions in the center position set can be organized according to the point cloud data set, that is, assuming that there are 50 point cloud data sets and the number of 3D balls is 4, the center position set will contain 50 sets of center positions, and each set of center positions contains 4 center positions.

[0066] In one embodiment of the present application, the above step S220, based on the point cloud data of the multiple three-dimensional balls in each point cloud data set, determines the center position of each three-dimensional ball in each point cloud data set, and obtains a set of ball center positions corresponding to the multiple point cloud data sets, specifically includes the following steps:

[0067] For each point cloud data set, sampling is performed according to the spatial distribution of the point cloud data of the plurality of three-dimensional spheres to obtain a data set corresponding to each three-dimensional sphere;

[0068] Spherical fitting is performed according to the data set corresponding to each three-dimensional sphere, the center coordinates of each three-dimensional sphere in each point cloud data set are determined, and a set of sphere center positions corresponding to multiple point cloud data sets are obtained.

[0069] In one embodiment of the present application, the above steps, for each point cloud data set, sampling is performed according to the spatial distribution of the point cloud data of the plurality of three-dimensional spheres to obtain a data set corresponding to each three-dimensional sphere, specifically comprising the following steps:

[0070] For each point cloud data set, filtering the point cloud data according to a preset range on the three-dimensional coordinate axis to obtain filtered point cloud data;

[0071] According to a plurality of preset spatial boxes, for the filtered point cloud data falling into the same preset spatial box, extract the filtered point cloud data closest to the box center of the preset spatial box to obtain the sampled point cloud data, wherein the preset spatial box is obtained by dividing the three-dimensional space where the target workpiece is located;

[0072] Clustering is performed according to the spatial positions of the sampled point cloud data to obtain a data set of the point cloud data of each three-dimensional sphere.

[0073] Specifically, the welding robot will sample the point cloud data in each point cloud data set. Specifically, according to the preset information such as the specified size of the target workpiece and the overall relative position of the welding robot, the spatial value range of the point cloud data can be set, that is, the coordinate range in the three-dimensional coordinate system, usually based on the base coordinate system of the robot. When sampling, the point cloud data is first filtered according to the coordinates of the point cloud data in the three-dimensional coordinate system and the spatial value range, so as to filter out the data that is not in the value space. Then, for the filtered data, the three-dimensional space can be divided into multiple space boxes according to the predetermined sampling rules. The point cloud data of the three-dimensional sphere will fall into a certain space box. Each space box acts as a sampler. For the point cloud data in a space box, a representative data will be determined according to certain rules to replace all other point cloud data in the space box. For example, the point cloud data closest to the center of the box can be selected, or the mean of the three-dimensional coordinates of the point cloud data in the box can be calculated as the representative point cloud data. For the obtained sampled point cloud data, a clustering algorithm can be used to cluster according to the spatial position or the distance between them. Data belonging to the same three-dimensional sphere will be divided into the same cluster, while outlier data can be discarded. It can be understood that the number of clusters in the clustering result is usually equal to the number of three-dimensional spheres. Taking four three-dimensional spheres as an example, the clustering result usually results in four clustering results, each of which corresponds to a three-dimensional sphere. According to the clustering results, sphere fitting can be performed, and the position of the sphere center can be determined according to the fitted sphere, that is, the coordinates of the sphere center in the robot base coordinate system. By sampling and fitting each point cloud data set, the coordinates of the sphere center corresponding to each point cloud data set can be obtained, thereby obtaining a set of sphere center positions.

[0074] Step S330, generating a compensation matrix of the hand-eye transformation matrix according to the center position of each three-dimensional ball in the center position set.

[0075] Specifically, the welding robot can calculate the distance deviation between the camera coordinate system and the robot base coordinate system based on the center position of each three-dimensional ball in the ball center position set, and can further calculate the compensation matrix for the hand-eye transformation matrix based on the distance deviation, for example, by calculating the distance between each ball center, or calculating the distance between each ball center and a preset target origin, and then determining the compensation matrix based on the mean, median, maximum or minimum value of the calculated distance on each spatial axis in the three-dimensional coordinate system. The compensation matrix can be used to convert the spatial position obtained with the three-dimensional camera as the center to the robot base coordinate system, and the three-dimensional space from the three-dimensional camera to the end of the welding robot can be compensated into the conversion result, so that the welding robot can determine the distance between the end of the welding gun and the target workpiece.

[0076] In one embodiment of the present application, the above step S330 generates a compensation matrix of the hand-eye transformation matrix according to the center position of each three-dimensional ball in the center position set, and specifically includes the following steps:

[0077] For the sphere center position corresponding to each point cloud data set in the sphere center position set, respectively calculating the distance between the sphere center of the specified three-dimensional sphere and the sphere center of other three-dimensional spheres on the three-dimensional coordinate axis to obtain the sphere center distance;

[0078] According to the sphere center distance, the average distance of each three-dimensional sphere on the three-dimensional coordinate axis is calculated as a compensation matrix of the hand-eye transformation matrix.

[0079] In the three-dimensional ball point cloud information processing module, the Euclidean distance set Ln (n = 1, 2, ...) in the x, y, and z directions between the ball center sets cir0, cir1, cir2, and cir3 in the robot base coordinate system is obtained. By calculating the average value of the Ln (n = 1, 2, ...) set in the x, y, and z directions That is, the compensation matrix of the hand-eye transformation matrix. The final compensated hand-eye transformation matrix T′ TC for:

[0080]

[0081] Where T TC It is the representation of the 3D camera coordinate system C in the robot end tool coordinate system T, that is, the hand-eye transformation matrix before compensation.

[0082] Step S340: driving the welding robot to weld the target workpiece through the welding gun end of the welding robot according to the compensation matrix and the hand-eye transformation matrix.

[0083] According to the hand-eye transformation matrix and the obtained compensation matrix, the welding robot can calculate the specific position of the welding point of the target workpiece, thereby driving the end of the welding gun to weld the welding point of the target workpiece.

[0084] In one embodiment of the present application, the above step, according to the compensation matrix and the hand-eye transformation matrix, drives the welding robot to weld the target workpiece through the welding gun end of the welding robot, comprises:

[0085] Acquiring position information of a position to be welded on a target workpiece by means of the three-dimensional camera;

[0086] The position information of the position to be welded is converted into the welding robot coordinate system through the compensation matrix and the hand-eye transformation matrix to obtain the target position information;

[0087] According to the target position information, the end of the welding gun is driven to weld the position to be welded.

[0088] In an embodiment of the present application, a three-dimensional camera at the end of the welding robot is used to collect point cloud data of a three-dimensional sphere on a target workpiece, and then a compensation matrix of a hand-eye transformation matrix is ​​calculated based on the point cloud data, thereby compensating for the deviation between the end of the welding gun of the welding robot and the optical center of the three-dimensional camera, thereby accurately positioning the welding point and improving welding accuracy.

[0089] The complete process of the embodiment of this application is introduced below. For the convenience of introduction, please refer to Figure 4 , Figure 4 FIG. 1 is a flow chart of the overall control process of the welding robot control method in the embodiment of the present application. Figure 4As shown, in step 401, the welding robot drives the end of the welding gun to move and starts the three-dimensional data camera, and collects three-dimensional ball point cloud data at the specified collection point in step 402. Subsequently, in step 403, the three-dimensional ball point cloud data is converted to the robot base coordinate system. In step 404, the welding robot removes irrelevant point clouds, such as ground point clouds or point clouds of the surrounding environment, by means of direct filtering. Subsequently, in step 405, the three-dimensional ball point cloud is uniformly sampled. In step 406, cluster segmentation is performed on the sampling results to remove spatial noise points. In step 407, spherical fitting is performed based on the three-dimensional ball point cloud data obtained by clustering, and the center of the ball is calculated. Based on the obtained center of the ball, the Euclidean distance of each center of the ball in the x-axis, y-axis and z-axis directions can be calculated in step 408. Subsequently, in step 409, it is necessary to determine whether the current point cloud frame number reaches the point cloud frame number threshold. If not, return to step 401 to continue sampling and calculation. If the point cloud frame number threshold has been reached, the root mean square error of the Euclidean distance of all point clouds in the x-axis, y-axis and z-axis directions is calculated in step 410, and the hand-eye matrix is ​​compensated using the mean error in the x-axis, y-axis and z-axis directions in step 411, thereby outputting the robot hand-eye compensation matrix in step 412.

[0090] It should be noted that although the steps of the method 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 this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.

[0091] The following introduces the device implementation of the present application, which can be used to execute the welding robot control method in the above-mentioned embodiment of the present application. Figure 5 The block diagram of the welding robot control device in the embodiment of the present application is schematically shown. Figure 5 As shown, the welding robot control device 500 mainly includes:

[0092] The point cloud data acquisition module 510 is used to acquire point cloud data of a plurality of three-dimensional balls on the target workpiece at a plurality of designated acquisition positions through a three-dimensional camera at the end of the welding robot, so as to obtain a plurality of point cloud data sets, wherein each point cloud data set includes point cloud data of the plurality of three-dimensional balls corresponding to a designated acquisition position;

[0093] A sphere center position determination module 520 is used to determine the sphere center position of each three-dimensional sphere in each point cloud data set according to the point cloud data of the multiple three-dimensional spheres in each point cloud data set, and obtain a sphere center position set corresponding to the multiple point cloud data sets;

[0094] A compensation matrix generation module 530, for generating a compensation matrix of a hand-eye transformation matrix according to the center position of each three-dimensional ball in the center position set;

[0095] The driving module 540 is used to drive the welding robot to weld the target workpiece through the welding gun end of the welding robot according to the compensation matrix and the hand-eye transformation matrix.

[0096] In one embodiment of the present application, based on the above technical solution, the point cloud data acquisition module 510 includes:

[0097] A data acquisition unit is used to acquire point cloud data of a plurality of three-dimensional balls on a target workpiece at each designated acquisition position through a three-dimensional camera at the end of the welding robot, so as to obtain original three-dimensional data of the plurality of three-dimensional balls and a center conversion matrix corresponding to each designated acquisition position;

[0098] The data conversion unit is used to convert the original three-dimensional data of the multiple three-dimensional balls into the welding robot coordinate system according to the hand-eye transformation matrix and the center transformation matrix to obtain multiple point cloud data sets.

[0099] In one embodiment of the present application, based on the above technical solution, the ball center position determination module 520 includes:

[0100] A sampling unit, configured to perform sampling on each point cloud data set according to the spatial distribution of the point cloud data of the plurality of three-dimensional spheres, to obtain a data set corresponding to each three-dimensional sphere;

[0101] The fitting unit is used to perform spherical fitting according to the data set corresponding to each three-dimensional sphere, determine the center coordinates of each three-dimensional sphere in each point cloud data set, and obtain the center position set corresponding to multiple point cloud data sets.

[0102] In one embodiment of the present application, based on the above technical solution, the sampling unit includes:

[0103] A filtering subunit, configured to filter the point cloud data according to a preset range on the three-dimensional coordinate axis for each point cloud data set to obtain filtered point cloud data;

[0104] a sampling subunit, for extracting, for the filtered point cloud data falling into the same preset space box, the filtered point cloud data closest to the box center of the preset space box according to a plurality of preset space boxes, to obtain sampling point cloud data, wherein the preset space box is obtained by dividing the three-dimensional space where the target workpiece is located;

[0105] The clustering subunit is used to perform clustering division according to the spatial position of the sampled point cloud data to obtain a data set of the point cloud data of each three-dimensional sphere.

[0106] In one embodiment of the present application, based on the above technical solution, the compensation matrix generation module 530 includes:

[0107] a distance calculation unit, for calculating the distance between the center of a specified three-dimensional sphere and the center of another three-dimensional sphere on the three-dimensional coordinate axis for the center position corresponding to each point cloud data set in the center position set, to obtain the center distance;

[0108] The matrix generating unit is used to calculate the average distance of each three-dimensional ball on the three-dimensional coordinate axis according to the ball center distance, as a compensation matrix of the hand-eye transformation matrix.

[0109] In one embodiment of the present application, based on the above technical solution, the data acquisition unit includes:

[0110] A driving subunit, used to drive the end of the welding robot to reach each designated collection position in sequence according to preset path information;

[0111] The shooting subunit is used to shoot a frame of point cloud data of the target workpiece at each designated collection position through the three-dimensional camera at the end of the welding robot and record the central transformation matrix of the current position, and the three-dimensional image contains the point cloud data of each three-dimensional ball.

[0112] In one embodiment of the present application, based on the above technical solution, the driving module 540 includes:

[0113] An information acquisition unit, used to acquire position information of a position to be welded on a target workpiece through the three-dimensional camera;

[0114] A coordinate conversion unit, used to convert the position information of the position to be welded into the welding robot coordinate system through the compensation matrix and the hand-eye transformation matrix to obtain the target position information;

[0115] The welding gun driving unit is used to drive the end of the welding gun to weld the position to be welded according to the target position information.

[0116] It should be noted that the device provided in the above embodiment and the method provided in the above embodiment belong to the same concept, wherein the specific manner in which each module performs the operation has been described in detail in the method embodiment and will not be repeated here.

[0117] Figure 6 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application is shown.

[0118] It should be noted that Figure 6 The computer system 600 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0119] like Figure 6 As shown, the computer system 600 includes a central processing unit (CPU) 601, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 602 or the program loaded from the storage part 608 to the random access memory (RAM) 603. In the RAM 603, various programs and data required for system operation are also stored. The CPU 601, the ROM 602 and the RAM 603 are connected to each other through a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0120] The following components are connected to the I / O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed so that a computer program read therefrom is installed into the storage section 608 as needed.

[0121] In particular, according to an embodiment of the present application, the process described in each method flow chart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flow chart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication part 609, and / or installed from a removable medium 611. When the computer program is executed by a central processing unit (CPU) 601, various functions defined in the system of the present application are executed.

[0122] It should be noted that the computer-readable medium shown in the embodiment of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, - but not limited to - an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by an instruction execution system, device or device or used in combination with it. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a computer-readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate, or transmit programs for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0123] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the above-mentioned module, program segment or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0124] It should be noted that, although several modules or units of the equipment 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 modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units.

[0125] Through the description of the above implementation methods, it is easy for those skilled in the art to understand that the example implementation methods described here can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the implementation methods 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, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the implementation methods of the present application.

[0126] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary technical means in the art that are not disclosed in the present application.

[0127] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.

Claims

1. A welding robot control method, characterized in that: include: By using a three-dimensional camera at the end of the welding robot, point cloud data of multiple three-dimensional balls on the target workpiece are collected at multiple designated collection positions to obtain multiple point cloud data sets, wherein each point cloud data set includes point cloud data of the multiple three-dimensional balls corresponding to one designated collection position; Determine the center position of each three-dimensional sphere in each point cloud data set according to the point cloud data of the multiple three-dimensional spheres in each point cloud data set, and obtain a set of sphere center positions corresponding to the multiple point cloud data sets; For the sphere center position corresponding to each point cloud data set in the sphere center position set, respectively calculating the distance between the sphere center of the specified three-dimensional sphere and the sphere center of other three-dimensional spheres on the three-dimensional coordinate axis to obtain the sphere center distance; According to the sphere center distance, the average distance of each three-dimensional sphere on the three-dimensional coordinate axis is calculated as a compensation matrix of the hand-eye transformation matrix; According to the compensation matrix and the hand-eye transformation matrix, the welding robot is driven to weld the target workpiece through the end of the welding gun of the welding robot.

2. The method according to claim 1, characterized in that The three-dimensional camera at the end of the welding robot collects point cloud data of multiple three-dimensional balls on the target workpiece at multiple designated collection positions to obtain multiple point cloud data sets, including: At each designated acquisition position, a three-dimensional camera at the end of the welding robot is used to collect point cloud data of multiple three-dimensional balls on the target workpiece to obtain the original three-dimensional data of the multiple three-dimensional balls and the center conversion matrix corresponding to each designated acquisition position; According to the hand-eye transformation matrix and the center transformation matrix, the original three-dimensional data of the multiple three-dimensional balls are transformed into a welding robot coordinate system to obtain multiple point cloud data sets.

3. The method according to claim 1, characterized in that The step of determining the center position of each three-dimensional sphere in each point cloud data set according to the point cloud data of the multiple three-dimensional spheres in each point cloud data set to obtain a set of center positions corresponding to the multiple point cloud data sets includes: For each point cloud data set, sampling is performed according to the spatial distribution of the point cloud data of the plurality of three-dimensional spheres to obtain a data set corresponding to each three-dimensional sphere; Spherical fitting is performed according to the data set corresponding to each three-dimensional sphere, the center coordinates of each three-dimensional sphere in each point cloud data set are determined, and a set of sphere center positions corresponding to multiple point cloud data sets are obtained.

4. The method according to claim 3, characterized in that: For each point cloud data set, sampling is performed according to the spatial distribution of the point cloud data of the plurality of three-dimensional balls to obtain a data set corresponding to each three-dimensional ball, including: For each point cloud data set, filtering the point cloud data according to a preset range on the three-dimensional coordinate axis to obtain filtered point cloud data; According to a plurality of preset spatial boxes, for the filtered point cloud data falling into the same preset spatial box, extract the filtered point cloud data closest to the box center of the preset spatial box to obtain the sampled point cloud data, wherein the preset spatial box is obtained by dividing the three-dimensional space where the target workpiece is located; Clustering is performed according to the spatial positions of the sampled point cloud data to obtain a data set of the point cloud data of each three-dimensional sphere.

5. The method according to claim 2, characterized in that: At each designated acquisition position, the three-dimensional camera at the end of the welding robot performs point cloud data acquisition on multiple three-dimensional balls on the target workpiece to obtain the original three-dimensional data of the multiple three-dimensional balls and the center conversion matrix corresponding to each designated acquisition position, including: According to the preset path information, the end of the welding robot is driven to reach each designated collection position in sequence; At each designated acquisition position, a frame of point cloud data of the target workpiece is captured by a three-dimensional camera at the end of the welding robot and the center transformation matrix of the current position is recorded.

6. The method according to claim 1, characterized in that The method of driving the welding robot to weld the target workpiece through the welding gun end of the welding robot according to the compensation matrix and the hand-eye transformation matrix includes: Acquiring position information of a position to be welded on a target workpiece by means of the three-dimensional camera; The position information of the position to be welded is converted into the welding robot coordinate system through the compensation matrix and the hand-eye transformation matrix to obtain the target position information; According to the target position information, the end of the welding gun is driven to weld the position to be welded.

7. A welding robot control device, characterized in that: include: A point cloud data acquisition module is used to acquire point cloud data of a plurality of three-dimensional balls on a target workpiece at a plurality of designated acquisition positions through a three-dimensional camera at the end of the welding robot, so as to obtain a plurality of point cloud data sets, wherein each point cloud data set includes point cloud data of the plurality of three-dimensional balls corresponding to a designated acquisition position; A sphere center position determination module is used to determine the sphere center position of each three-dimensional sphere in each point cloud data set according to the point cloud data of the multiple three-dimensional spheres in each point cloud data set, and obtain a sphere center position set corresponding to the multiple point cloud data sets; A compensation matrix generation module is used to calculate the distance between the center of a specified three-dimensional ball and the center of other three-dimensional balls on the three-dimensional coordinate axis for the center position corresponding to each point cloud data set in the center position set, to obtain the center distance, and calculate the average distance of each three-dimensional ball on the three-dimensional coordinate axis according to the center distance as a compensation matrix for the hand-eye transformation matrix; A driving module is used to drive the welding robot to weld the target workpiece through the end of the welding gun of the welding robot according to the compensation matrix and the hand-eye transformation matrix.

8. A welding robot, characterized in that: include: processor; A memory, configured to store executable instructions of the processor; Wherein, the processor is configured to execute the welding robot control method described in any one of claims 1 to 6 by executing the executable instructions.

9. A computer readable medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the welding robot control method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Rotation matrix calibration method based on transverse moving motion in TCP coordinate system

    CN111633643A

  • Robot polishing method based on multiple sensors

    CN111823221A