An autonomous programming method and device for a large structural component weld grinding robot
Through the independent programming method, three-dimensional point cloud data and weld feature recognition, automatic programming of weld grinding robots for large structural parts is achieved, solving the problems of low programming efficiency and inability to deal with weld deformation and clamping errors in the existing technology, and improving programming efficiency and accuracy.
Patent Information
- Application Number
- CN202410478911.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-20
- Publication Date
- 2025-06-10
- Estimated Expiration
- 2044-04-20
AI Technical Summary
In the process of grinding welds for large structural parts, the prior art programming methods are inefficient, require manual teaching or offline programming, and cannot effectively deal with the deformation and clamping errors of the welds.
A self-programming method of weld grinding robots in large structural parts is adopted. By obtaining point cloud data of the three-dimensional standard model and actual model, deformation correction analysis is performed, weld features are identified, workpiece coordinate system is calibrated, and grinding trajectory is planned to generate robot motion control programs.
It realizes automatic generation of grinding trajectories without manual teaching, improves programming efficiency, reduces the requirements for clamping positioning, avoids programming complexity caused by weld deformation and clamping errors, and ensures grinding accuracy and safety.
Smart Images

Figure CN118204977B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot programming, and in particular, to an autonomous programming method and device for a large structural component weld grinding robot. Background Art
[0002] Many metal workpieces in daily life, such as faucets, door handles, etc., are mostly processed and produced by metal welding, and welds will be generated during the welding process; in order to improve the quality, strength and durability of the finished product, a grinding robot is usually used to grind the welds.
[0003] At present, some processing production lines for grinding welds adopt the method of manual teaching programming, that is, for each clamped workpiece to be ground, it is necessary to manually control the grinding robot to move along the required grinding trajectory, and the grinding robot will record the entire grinding trajectory and generate a robot offline program carrying the grinding trajectory; there are also some processing production lines that adopt the method of offline programming when grinding welds, that is, the grinding robot will perform grinding work according to the offline grinding trajectory preset in the control program.
[0004] However, when applying the grinding robots of the above two methods to large structural components, such as the structural components for the steering of rail transit trains, the following problems will occur: large structural components are usually produced by welding processes, their structural volumes are large and their shapes are relatively complex. After welding, there will be many welds in different directions on their surfaces, and these welds will have different degrees of welding deformation during the welding process. Grinding them by the method of manual teaching programming requires re-teaching when grinding each new weld, and the large number of welds in different directions on the large structural component will result in a huge workload, thus resulting in low grinding efficiency;
[0005] And the method of offline programming requires accurate three-dimensional digital models and stable fixed clamping, that is, it is required that the digital model of the workpiece to be ground is consistent with the digital model of the standard workpiece, and the position of the workpiece to be ground is certain. However, in actual situations, when using a fixture to fix a large structural component, it is impossible to ensure that each large structural component maintains exactly the same pose every time, and the welds on the large structural component are usually long, and there is easily a problem of thermal deformation during the welding process, which will result in a large difference between the three-dimensional digital models of the workpiece to be ground and the standard workpiece, resulting in the need for manual teaching for position correction to modify the offline program every time a new large workpiece is replaced, and the implementation is rather troublesome, thus resulting in low grinding efficiency;
[0006] Therefore, the working efficiency of the grinding robots using the above two programming methods is relatively low when grinding the welds of large structural components. Summary of the Invention
[0007] To address the problem of reduced working efficiency when a grinding robot grinds the welds of large structural components, this application provides an autonomous programming method and device for a large structural component weld grinding robot.
[0008] In a first aspect, this application provides an autonomous programming method for a large structural component weld grinding robot, adopting the following technical solutions:
[0009] An autonomous programming method for a large structural component weld grinding robot includes:
[0010] Obtain the standard point cloud data corresponding to the three-dimensional standard model in a three-dimensional modeling software, where the three-dimensional standard model is the three-dimensional model of the standard workpiece after grinding;
[0011] Obtain the actual point cloud data corresponding to the three-dimensional actual model in the sensor system, where the three-dimensional actual model is the three-dimensional model of the workpiece to be ground;
[0012] Perform a correction analysis of the deformation amount of the workpiece to be ground based on the actual point cloud data and the standard point cloud data to obtain a correction data packet;
[0013] Based on the actual point cloud data and the correction data packet, perform feature recognition on the welds on the workpiece to be ground to obtain weld features, and determine the robot grinding plan according to the weld features;
[0014] Calibrate the workpiece coordinate system of the grinding robot according to the actual point cloud data;
[0015] Plan the path according to the workpiece coordinate system and the weld features to obtain the robot grinding processing trajectory;
[0016] Generate a robot motion control program based on the robot grinding processing trajectory and the robot grinding plan, where the robot motion control program carries the robot grinding processing trajectory and the robot grinding plan.
[0017] By adopting the above technical solutions, first obtain the three-dimensional models of the standard workpiece and the workpiece to be ground, then obtain the correction data packet based on the differences between the corresponding point cloud data of the two, and obtain the correction process required to grind the workpiece to be ground into the standard workpiece through the correction data packet; then identify the welds on the three-dimensional model of the workpiece to be ground, and inversely deduce the weld features based on the amount to be corrected in the correction process; then calibrate the workpiece coordinate system of the grinding robot and calculate the coordinate positions of several feature points on the weld in the workpiece coordinate system; finally, obtain the robot grinding processing trajectory based on all the coordinate positions to complete the programming of the robot motion control program.
[0018] This application directly generates the robot grinding processing trajectory automatically according to the differences between the workpiece to be ground and the standard workpiece. These differences include not only the possible deformation of the weld seam, but also the errors during fixed clamping. In this way, not only the requirements for clamping and positioning the workpiece to be ground are reduced, but also the possible deformation of the weld seam is taken into account. Even if there are certain deviations in the workpiece clamping or there are deformed weld seams, there is no need to reprogram by manually teaching and correcting the trajectory points. Instead, the corresponding grinding trajectory can be directly generated according to the deformation amount and the automatically calibrated workpiece coordinate system, avoiding the time of manual teaching programming without affecting the grinding accuracy, greatly shortening the programming time of the weld seam grinding robot, thus improving the programming efficiency, and can avoid the safety problems of manual teaching, and avoid damage to personnel and equipment due to mistakes during the teaching process.
[0019] In a specific feasible implementation, the correction data packet includes several weld seam areas and the correction amount corresponding to each weld seam area; the correction analysis of the deformation amount of the workpiece to be ground according to the actual point cloud data and the standard point cloud data to obtain the correction data packet includes:
[0020] Align the actual point cloud data and the standard point cloud data through the 3D modeling software to obtain several weld seam areas, and the weld seam areas are the areas on the workpiece to be ground that are different from the standard workpiece;
[0021] Analyze each weld seam area to obtain the correction amount corresponding to each weld seam area.
[0022] By adopting the above technical solution, align the 3D digital models of the workpiece to be ground and the standard workpiece, and obtain the areas to be ground (i.e., weld seam areas) and the corresponding amounts to be ground (i.e., correction amounts) on the workpiece to be ground by comparison. Such a comparison method can obtain the areas to be ground and the corresponding amounts to be ground on the workpiece to be ground more comprehensively and accurately.
[0023] In a specific feasible implementation, the weld seam features include the weld seam position, weld seam width, and weld seam height; the robot grinding plan includes the grinding allowance and the number of grinding times; the feature recognition of the weld seam on the workpiece to be ground based on the actual point cloud data and the correction data packet to obtain the weld seam features, and determining the robot grinding plan according to the weld seam features includes:
[0024] Segment the weld seam on the workpiece to be ground based on the actual point cloud data and the weld seam area to obtain several grinding areas, and the weld seam area includes at least one of the grinding areas;
[0025] Extract the weld position, weld width, and weld height in each of the grinding areas according to the corresponding correction amount.
[0026] Determine the grinding allowance and the number of grinding passes according to the weld position, the weld width, and the weld height.
[0027] By adopting the above technical solution, first divide each grinding area on the workpiece to be ground, then obtain the specific position, width, and height of the weld according to the correction amount (i.e., the amount that the grinding area needs to be ground), and finally determine the robot grinding plan based on the above three, realizing the autonomous programming of the robot for different welds and greatly improving the programming efficiency.
[0028] In a specific feasible implementation, the calibration of the workpiece coordinate system of the grinding robot according to the actual point cloud data includes:
[0029] Identify the feature points of the workpiece to be ground according to the actual point cloud data to obtain a number of virtual feature points, and the virtual feature points are the landmark geometric feature points on the three-dimensional model of the workpiece to be ground;
[0030] Obtain a number of actual feature points measured in the robot base coordinate system in the sensor system, and the actual feature points are the landmark geometric feature points on the workpiece to be ground, and the actual feature points correspond one-to-one with the virtual feature points; match the virtual feature points with the actual feature points, and obtain the coordinate transformation relationship when all the virtual feature points are successfully matched with the corresponding actual feature points;
[0031] Calibrate the workpiece coordinate system of the grinding robot according to the actual feature points and the coordinate transformation relationship.
[0032] By adopting the above technical solution, calibrate the workpiece coordinate system according to the actual feature points and the virtual feature points, so that the workpiece coordinate system can automatically change with the change of the position of the workpiece to be ground, avoiding the situation that manual re-teaching is required when there is an error in the fixture fixation, helping to accurately position the workpiece to be ground and improving the programming efficiency.
[0033] In a specific feasible implementation, the planning of the path according to the workpiece coordinate system and the weld features to obtain the robot grinding processing trajectory includes:
[0034] Locate the workpiece to be ground according to the virtual feature points and the actual feature points;
[0035] Calculate the coordinate information corresponding to the actual feature points located according to the workpiece coordinate system;
[0036] Determine the actual weld state of the weld feature according to the coordinate information;
[0037] Plan the path based on the actual weld state to obtain the robot grinding processing trajectory.
[0038] In a specific feasible implementation, determine the type of weld in each grinding area according to the actual weld state;
[0039] When the weld is a long strip weld, extract the key feature points on the weld and plan the path according to the key feature points to obtain the robot grinding processing trajectory;
[0040] When the weld is a curved surface weld, establish a surface mathematical model according to the shape of the surface of the workpiece to be ground and plan the path according to the surface mathematical model to obtain the robot grinding processing trajectory.
[0041] In a specific feasible implementation, the extracting the key feature points on the weld and planning the path according to the key feature points to obtain the robot grinding processing trajectory includes:
[0042] Extract several key feature points on the weld based on the actual point cloud data, and the key feature points are the geometric formation information of the weld;
[0043] Parameterize all the key feature points to obtain several key parameters;
[0044] Obtain a curve function according to the key parameters;
[0045] Generate several discrete points along the length direction of the weld on the surface function;
[0046] Generate the robot grinding processing trajectory on the plane according to the discrete points.
[0047] In a specific feasible implementation, the establishing a surface mathematical model according to the shape of the surface of the workpiece to be ground and planning the path according to the surface mathematical model to obtain the robot grinding processing trajectory includes:
[0048] Obtain the surface point cloud data on the three-dimensional model of the standard workpiece;
[0049] Fit the surface point cloud data to obtain a surface mathematical model;
[0050] Generate several discrete points along the length direction of the weld on the surface mathematical model;
[0051] Generate the robot grinding processing trajectory on the curved surface according to the discrete points.
[0052] By adopting the above technical solutions, the present application adopts different grinding trajectory planning methods for different types of welds, realizes the automatic programming of the grinding robot for long welds and curved surface welds, improves the applicability of the programming method, avoids the need for manual teaching in the case of curved surface welds, and thus improves the programming efficiency.
[0053] In a second aspect, the present application provides a programming device, adopting the following technical solutions:
[0054] A programming device includes a memory and a processor. At least one instruction, at least one program, a code set or an instruction set is stored in the memory, and the at least one instruction, at least one program, the code set or the instruction set is loaded and executed by the processor to implement the automatic programming method of the large structural member weld grinding robot as described above.
[0055] In a third aspect, the present application provides a computer-readable storage medium, adopting the following technical solutions:
[0056] A computer-readable storage medium stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, at least one program, the code set or the instruction set is loaded and executed by a processor to implement the automatic programming method of the large structural member weld grinding robot as described above.
[0057] In summary, the present application includes at least one of the following beneficial technical effects:
[0058] 1. The present application reduces the requirements for clamping and positioning the workpiece to be ground. Even if there is a certain deviation in the workpiece clamping, it does not affect the grinding accuracy and does not require reprogramming.
[0059] 2. The present application reduces the precise requirements for the three-dimensional digital model. When there are differences between the three-dimensional digital models of the workpiece to be ground and the standard workpiece, it is not necessary to reprogram by manually teaching and correcting the trajectory points. It can directly generate corresponding grinding trajectories according to the deformation amount and the automatically calibrated workpiece coordinate system, avoiding the time of manual teaching programming without affecting the grinding accuracy, greatly shortening the programming time of the weld grinding robot, and thus improving the programming efficiency.
[0060] 3. It avoids the safety problems of manual teaching and avoids damage to personnel and equipment due to mistakes during the teaching process.
[0061] 4. It can make targeted grinding trajectory planning for each workpiece to be ground, thus improving the grinding accuracy and adaptability.
[0062] 5. It realizes the automatic programming of the grinding robot for long welds and curved surface welds. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] Figure 1 It is a schematic structural diagram of an automatic programming system for a large structural member weld grinding robot according to an embodiment of the present application.
[0064] Figure 2 It is a schematic flow diagram of a method for automatically programming a large structural member weld grinding robot according to another embodiment of the present application.
[0065] Explanation of reference numerals: 100, grinding robot; 200, workpiece clamping system; 210, multi-axis positioner; 220, clamping mechanism; 300, sensor system; 400, programming device; 410, memory; 420, processor; 500, grinding tool system; 600, control system; 700, power system; 800, human-machine interface; 900, safety system. Detailed implementation manners
[0066] To make the objectives, technical solutions and advantages of the present application clearer, the following will further describe the embodiments of the present application in detail with reference to the accompanying drawings.
[0067] The following further describes in detail an embodiment of a method and device for automatically programming a large structural member weld grinding robot of the present application with reference to the accompanying drawings of the specification.
[0068] An embodiment of the present application discloses an automatic programming system for a large structural member weld grinding robot.
[0069] Referring to Figure 1 , an automatic programming system for a large structural member weld grinding robot includes:
[0070] A workpiece clamping system 200, including a multi-axis positioner 210 and a clamping mechanism 220; the multi-axis positioner 210 is used for precisely adjusting the pose of the workpiece to be ground, and the clamping mechanism 220 is used for fixing and clamping the workpiece to be ground to ensure the stability and safety of the workpiece to be ground during the grinding process; usually, the clamping mechanism 220 is designed according to the shape and size of the workpiece to be ground, and can be a mechanical fixture, a pneumatic fixture or an adaptive fixture, etc.
[0071] A grinding tool system 500, which is responsible for grinding and processing the weld; the grinding tool system 500 can be an operation tool such as a belt sander, an electric spindle with a cutter, an angle grinder, etc.
[0072] A control system 600, which is communicatively connected to the grinding robot 100, the workpiece clamping system 200, the sensor system 300, the programming device 400, the grinding tool system 500, the human-machine interface 800 and the safety system 900, and is used for sending operation instructions to the relevant systems; the control system 600 can be a PLC controller or a PC controller based on a soft PLC, etc.
[0073] The power system 700 mainly provides power for the entire autonomous programming system and monitors the power status.
[0074] The safety system 900 is used to monitor the operation of each system module and give an alarm when an abnormality is found.
[0075] The sensor system 300 is used to collect the actual point cloud data of the surface of the workpiece to be polished; the sensor system 300 can be a three-dimensional scanner, a 3D vision system or other three-dimensional point cloud acquisition devices.
[0076] The human-machine interface 800 is used to display the status information of each system in real time, receive the operation instructions issued manually and send the operation instructions to the control system 600.
[0077] The grinding robot 100 is used to perform the grinding task according to the operation instructions or the robot motion control program; in addition, the grinding robot 100 also needs to cooperate with the sensor system 300 to complete the acquisition of the point cloud data of the surface of the workpiece to be polished.
[0078] The programming device 400 includes a memory 410 and a processor 420, which are used to obtain the three-dimensional point cloud data collected by the sensor system 300 for the processor 420 to perform programming, so as to obtain the robot motion control program and send the robot motion control program to the grinding robot 100; the memory 410 is used to store at least one instruction, at least one program, a code set or an instruction set; when the processor 420 runs at least one instruction, at least one program, a code set or an instruction set, it executes the steps of the following autonomous programming method for the weld grinding robot of large structural parts.
[0079] The following details the implementation of an autonomous programming method for a weld grinding robot of large structural parts in conjunction with the above system:
[0080] Another embodiment of the present application discloses an autonomous programming method for a weld grinding robot of large structural parts.
[0081] Refer to Figure 2 , an autonomous programming method for a weld grinding robot of large structural parts includes:
[0082] S100, obtaining the standard point cloud data corresponding to the three-dimensional standard model in a three-dimensional modeling software;
[0083] Among them, the three-dimensional standard model is the three-dimensional model of the standard workpiece after grinding, and this three-dimensional standard model needs to simulate the grinding treatment effect of the workpiece to accurately reflect the shape of the standard workpiece, and consider the surface characteristics after grinding treatment to ensure that the appearance formed by the standard point cloud data matches the actual ground workpiece; the three-dimensional modeling software in this embodiment can be Blender, Rhino, SolidWorks, etc.; before S100, manually create or import the three-dimensional standard model in the three-dimensional modeling software, and convert the modeled three-dimensional standard model into three-dimensional standard point cloud data.
[0084] S200. Obtain the actual point cloud data corresponding to the three-dimensional actual model in the sensor system 300.
[0085] Among them, the three-dimensional actual model is the three-dimensional model of the workpiece to be ground. The workpiece to be ground in this embodiment is an actual product made through a series of welding processes; before S200, the sensor system 300 performs three-dimensional scanning on the workpiece to be ground to obtain the three-dimensional actual point cloud data on the surface of the workpiece to be ground; during scanning, all the surfaces to be machined of the workpiece to be ground are covered to capture all the details of the surface of the workpiece to be ground. The three-dimensional point cloud data obtained in S100 and S200 is stored in the memory 410 by the programming device 400 in an appropriate three-dimensional point cloud data format (such as PLY, XYZ, LAS, etc.).
[0086] When the workpiece to be ground is a large structural part or a welded part with a large deformation amount of the weld seam, the following steps of S300 are taken: S300. Perform a correction analysis of the deformation amount on the workpiece to be ground according to the actual point cloud data and the standard point cloud data to obtain a correction data packet.
[0087] Among them, the correction data packet includes several weld seam areas and the correction amount (the amount to be ground) corresponding to each weld seam area; specifically, S300 includes:
[0088] S310. Align the actual point cloud data with the standard point cloud data through the three-dimensional modeling software to obtain several weld seam areas; among them, the weld seam area is the area on the workpiece to be ground that is different from the standard workpiece (i.e., the area to be ground); the alignment operation mainly refers to making the actual point cloud data coincide with the standard point cloud data (that is, controlling the shape of the three-dimensional actual model to coincide with the shape of the three-dimensional standard model as much as possible). In this embodiment, an automatic alignment algorithm is used as an example to realize the coincidence of the two three-dimensional point cloud data. This is the prior art and will not be elaborated here.
[0089] It should be particularly noted that the alignment operation in S310 can also be achieved by manually importing the three-dimensional actual model and the three-dimensional standard model into the same three-dimensional software and adjusting manually to achieve alignment.
[0090] S320. Analyze each weld area to obtain a correction amount corresponding to each weld area.
[0091] Among them, the correction amount includes the differences in indicators such as distance, angle, and curvature between the actual point cloud data and the standard point cloud data. A weld area includes at least one correction amount.
[0092] To effectively ensure the accuracy of the correction amount, the following steps are also included after S320:
[0093] S330. Correct each weld area according to the correction amount to obtain the corrected workpiece.
[0094] Specifically, the correction operation can be performed by the programming device 400 to adjust the actual point cloud data to be more consistent with the standard point cloud data according to the correction instruction containing the correction amount (such as the distance between point A and point B is shortened by 1 cm, etc.); it can also be performed manually in the 3D software by operations such as moving, rotating, scaling, and stretching to adjust the shape of the 3D actual model to be more consistent with the shape of the 3D standard model.
[0095] S340. Compare the corrected workpiece with the standard workpiece to verify the correction effect.
[0096] Specifically, the comparison refers to aligning and comparing the 3D point cloud data of the corrected workpiece with the standard point cloud data (the same alignment operation as in S310); the verification refers to checking the difference between the above two to ensure that the correction can accurately grind the workpiece to be ground into the shape of the standard workpiece.
[0097] S350. Save the verified correction amount and the corresponding weld area.
[0098] Among them, all weld areas and their corresponding correction amounts are saved in the same file in the memory 410. This file is saved in an appropriate 3D file format (such as STL, OBJ, etc.), and each file matches the actual point cloud data of a workpiece to be ground; the files in the memory 410 will be emptied after one or more workpieces to be ground are ground (or at regular intervals).
[0099] S400. Based on the actual point cloud data and the correction data packet, perform feature recognition on the welds on the workpiece to be ground to obtain weld features, and determine the robot grinding plan according to the weld features.
[0100] Among them, the weld features include weld position, weld width, and weld height; the robot grinding plan includes grinding allowance and number of grinding times; specifically, S400 includes:
[0101] S410. Segment the weld seams on the workpiece to be polished based on the actual point cloud data and the weld seam areas, obtaining several polishing areas. Among them, one weld seam area includes at least one polishing area. Specifically, the segmentation operation of the weld seam can identify and segment the weld seam area in the actual point cloud data based on a geometric feature extraction algorithm or a clustering algorithm. The specific steps are as follows:
[0102] The steps of identifying and segmenting the weld seam area based on the geometric feature extraction algorithm specifically include:
[0103] S411. Normal estimation;
[0104] Specifically, S411 includes:
[0105] S4111. Perform normal estimation on each point in the actual point cloud data to obtain the geometric features of the surface of the workpiece to be polished;
[0106] S4112. Use a method based on the least squares method or principal component analysis (PCA) to calculate the normal vector of each point in the point cloud;
[0107] S412. Curvature analysis;
[0108] Specifically, S412 includes:
[0109] S4121. Use the normal vector of each point to perform curvature analysis to obtain curvature features to identify the weld seam area;
[0110] Among them, the weld seam area usually has curvature features different from the surrounding surface, and these areas can be identified by calculating the curvature of each point in the three-dimensional point cloud data;
[0111] S413. Region growing;
[0112] Specifically, S413 includes:
[0113] S4131. According to the curvature features and normal vectors of the actual point cloud data of the workpiece to be polished, use the region growing algorithm to group the points in the actual point cloud data into regions with similar geometric features;
[0114] Among them, since the weld seam area usually forms a continuous area, the region growing algorithm can be applied to identify these areas; S414. Morphological processing;
[0115] Among them, the morphological processing methods include dilation, erosion, etc.; after the weld area is recognized, the morphological processing method is used to further process the area to obtain a more accurate segmentation result. The dilation operation is mainly used in weld segmentation to fill or connect some small gaps or breaks caused by noise or point cloud incompleteness. The operation steps of dilation include: selecting a structuring element (such as a sphere or a cube), moving the structuring element along the edges in the point cloud data, and merging the points it contains into the weld area; the erosion operation can be used in weld segmentation to eliminate some over-expanded areas caused by noise or point cloud incompleteness. The operation steps of erosion include: selecting a structuring element, moving the structuring element along the edges in the point cloud data, and subtracting the points it contains from the weld area.
[0116] It should be particularly noted that in the present invention, dilation and erosion operations are alternately performed in weld segmentation to form an iterative process. First, the dilation operation is performed, and then the erosion operation is performed, which can make the weld area smoother and more continuous. This iterative process can be performed multiple times until a satisfactory weld segmentation result is achieved.
[0117] The steps of using the density-based clustering algorithm (DBSCAN) to identify the weld area specifically include:
[0118] S415, import the actual three-dimensional point cloud data into the corresponding software platform or programming environment;
[0119] S416, determine the DBSCAN algorithm parameters and execute the DBSCAN algorithm according to the determined algorithm parameters:
[0120] Among them, the DBSCAN algorithm requires two parameters: ε (neighborhood radius) and MinPts (minimum number of points in the neighborhood). ε controls the neighborhood range of points, and MinPts controls the minimum number of neighborhood points required when a point is a core point. The selection of these two parameters needs to be determined through experiments and adjustments so that the algorithm can effectively identify the weld area. The DBSCAN algorithm classifies points into core points, border points, and noise points, and forms clusters by combining core points and border points.
[0121] S417, analyze, process, and verify the clustering results;
[0122] Specifically, S417 includes:
[0123] S4171, according to the clustering results of the DBSCAN algorithm, identify and extract the clusters representing the weld area;
[0124] Among them, the areas with higher clustering density are usually identified as the weld area;
[0125] S4172, perform further morphological processing or smoothing processing on the weld area identified by the clustering algorithm to optimize the weld segmentation result;
[0126] S4173, verify the identified weld area, compare the weld segmentation result with the actual weld to ensure that the segmentation result is consistent with the actual weld position, and adjust the parameters and algorithms in S416 according to the actual situation.
[0127] Before S410, manual preprocessing of the actual point cloud data can also be performed in professional 3D data processing software such as CloudCompare and MeshLab. This preprocessing process can include operations such as denoising and filtering to reduce interference and improve the quality of the point cloud data.
[0128] S420, extract the weld position, weld width, and weld height in each weld area according to the corresponding correction amount; among them, the extraction method of the weld position is: for each weld area, obtain the geometric center of the weld area by calculating the average position of the points in all the corresponding grinding areas, and use this geometric center as the weld position.
[0129] The extraction method of the weld width is: use the nearest neighbor search algorithm to calculate the distance from each point in the weld area to the nearest boundary point, and take the average value of these distances as the weld width.
[0130] The extraction method of the weld height is: calculate the average height value of all the points in the weld area, or calculate the maximum height and the minimum height of the points in the weld area, and take the difference as the weld height.
[0131] S430, analyze and verify the extracted weld features;
[0132] Among them, analysis and verification refer to comparing the weld features with the actual weld to verify whether the extracted weld features are consistent with the actual situation; if they are consistent, output the extracted weld features in a format such as a text file or a database record for future reference and use.
[0133] S440, determine the grinding allowance and the number of grinding times according to the weld position, weld width, and weld height.
[0134] In order to provide an automatic positioning and guiding function for the grinding robot 100 when it travels along the robot grinding processing trajectory, the following steps are adopted:
[0135] S500, calibrate the workpiece coordinate system of the grinding robot according to the actual point cloud data;
[0136] Specifically, S500 includes:
[0137] S510. Identify the feature points of the workpiece to be polished based on the actual point cloud data, and obtain a number of virtual feature points;
[0138] Among them, the virtual feature points are the landmark geometric feature points on the three-dimensional model of the workpiece to be polished, which can be the corner points, edge points, geometric centers or other landmark geometric features of the workpiece to be polished. These feature points themselves should have good distinctiveness and stability;
[0139] S520. Obtain a number of actual feature points measured in the robot base coordinate system in the sensor system 300;
[0140] Among them, the actual feature points are the landmark geometric feature points on the workpiece to be polished, and the actual feature points correspond one-to-one with the virtual feature points;
[0141] S530. Match the virtual feature points with the actual feature points, and obtain the coordinate system transformation relationship when all the virtual feature points are successfully matched with the corresponding actual feature points;
[0142] Specifically, the matching means converting the virtual feature points to the robot base coordinate system, and then matching them with the actual feature points actually measured in the robot base coordinate system. The coordinate system transformation relationship includes a rotation matrix and a translation matrix.
[0143] S540. Calibrate the workpiece coordinate system of the polishing robot according to the actual feature points and the coordinate transformation relationship;
[0144] Among them, the origin and direction of the workpiece coordinate system are mainly calculated based on the extracted actual feature points; usually, three non-collinear actual feature points can be selected to determine the origin of the workpiece coordinate system, and then the direction of the workpiece coordinate system can be obtained according to the connection lines between these feature points and the origin; convert the points in the point cloud data or depth image to the workpiece coordinate system. And the calibration can be realized by performing a coordinate transformation on each point in the point cloud data with the origin of the workpiece coordinate system. The specific workpiece coordinate system transformation formula is:
[0145] P w = R·P c + T
[0146] In the formula, P w is the coordinate of the point in the point cloud data in the workpiece coordinate system, P c is the coordinate in the coordinate system of the sensor system 300, R is the rotation matrix, and T is the translation matrix.
[0147] S600. Plan the path according to the workpiece coordinate system and the weld seam features to obtain the robot polishing processing trajectory; specifically, S600 includes:
[0148] S610, position the workpiece to be polished based on the virtual feature points and the actual feature points;
[0149] Among them, S610 can determine the position of the workpiece to be polished by finding the actual feature points corresponding to a number of virtual feature points (the principle is the same as the target template matching technology).
[0150] S620, calculate the coordinate information corresponding to the positioned actual feature points according to the workpiece coordinate system;
[0151] Among them, the calculation of the coordinate information of the actual feature points can be obtained through the workpiece coordinate system conversion formula in S540.
[0152] S630, determine the actual weld state of the weld feature according to the coordinate information;
[0153] Among them, the actual weld state in this embodiment refers to the specific shape of the weld; the actual weld state can be determined by an image or shape roughly fitted by a number of feature points arranged along the weld direction on the weld.
[0154] S640, plan the path based on the actual weld state to obtain the robot grinding processing trajectory;
[0155] Specifically, S640 includes:
[0156] S641, judge the type of weld in each grinding area according to the actual weld state;
[0157] Among them, the types of welds include long strip welds and curved surface welds; generally, long strip welds refer to welds that horizontally extend on a plane, and curved surface welds refer to welds whose length direction extends along a curved surface; the type of weld can be confirmed by judging whether a number of coordinate points along the weld length direction on the specific shape of the weld in S630 are located on the same plane.
[0158] S642, when the weld is a long strip weld, extract the key feature points on the weld and plan the path according to the key feature points to obtain the robot grinding processing trajectory;
[0159] Specifically, S642 specifically includes:
[0160] S6421, extract a number of key feature points on the weld based on the actual point cloud data;
[0161] Among them, the key feature points are the geometric formation information of the weld;
[0162] S6422, parameterize all the key feature points to obtain a number of key parameters;
[0163] Among them, parameterization means assigning a parameter value (usually a value between 0 and 1) to each key feature point for interpolation calculation. Methods such as arc length parameterization or uniform parameterization can be used.
[0164] S6423, obtain a curve function according to the key parameters;
[0165] Specifically, the curve function can be obtained through the cubic spline interpolation algorithm. The curve function in this embodiment is parameterized, and the cubic spline interpolation requires the first and second derivatives of the curve to be continuous at each key feature point to ensure the smoothness of the curve. During the interpolation calculation process, three pairs of cubic polynomial functions are usually used to represent the local segments of the curve.
[0166] S6424, generate a number of discrete points along the length direction of the weld on the surface function;
[0167] Among them, the discrete points can be obtained by evenly taking points within the parameter range and then calculating through the curve function.
[0168] S6425, generate the robot grinding processing trajectory of the grinding robot 100 on the plane according to the discrete points.
[0169] Among them, the generated robot grinding processing trajectory can also be optimized by methods such as smoothing processing and removing redundant points to ensure the smoothness and simplicity of the path.
[0170] S643, when the weld is a curved surface weld, establish a surface mathematical model according to the shape of the surface of the workpiece to be ground and plan the path according to the surface mathematical model to obtain the robot grinding processing trajectory;
[0171] Specifically, S643 includes:
[0172] S6431, obtain the surface point cloud data on the three-dimensional model of the standard workpiece;
[0173] S6432, fit the surface point cloud data to obtain the surface mathematical model;
[0174] Among them, select the Bezier surface fitting algorithm to implement the fitting of the surface point cloud data, and algorithms such as the least squares method or B-spline surface fitting can also be used to implement the fitting of the data.
[0175] S6433, generate a number of discrete points along the length direction of the weld on the surface mathematical model;
[0176] Among them, the generation of discrete points can be achieved through the method of networked surfaces.
[0177] S6434, generate the robot grinding processing trajectory of the grinding robot 100 on the curved surface according to the discrete points;
[0178] Among them, the generation of the robot grinding processing trajectory can be implemented by selecting the Bezier curve interpolation algorithm; and in order to reduce the instability and jitter during the movement of the grinding robot 100, the generated robot grinding processing trajectory can be smoothed by using the locally weighted average algorithm.
[0179] S700, generate a robot motion control program based on the robot grinding processing trajectory and the robot grinding plan;
[0180] Among them, the robot motion control program includes robot motion instructions, setting the motion mode of the robot, and adjusting parameters such as speed and acceleration. During the process of writing the robot motion control program, the determination of parameters needs to be debugged and optimized in advance to ensure that the program can correctly execute the generated robot grinding processing trajectory and meet the requirements of the task; the robot motion control program carries the robot grinding processing trajectory and the robot grinding plan.
[0181] It should be particularly noted that after the robot motion control program is generated, the programming device 400 will upload the robot motion control program to the control system 600, and the control system 600 will control the grinding robot 100 to execute the robot motion control program. During the execution process, the grinding robot 100 will select tools, adjust the grinding speed, grinding angle, etc. according to the robot grinding plan and perform automatic grinding along the robot grinding processing trajectory. In addition, the robot motion control program can also be used for testing to verify whether the robot can correctly execute the task according to the generated robot grinding processing trajectory and achieve the expected effect. Then, according to the test results, the robot control program is adjusted and optimized to improve the efficiency and accuracy of the robot motion. Finally, the optimized robot motion control program is sent to the grinding robot 100 to control it to perform the weld grinding task.
[0182] Based on the above same inventive concept, the embodiment of the present application also discloses a programming device, which includes a memory and a processor. At least one instruction, at least one program, a code set or an instruction set is stored in the memory, and at least one instruction, at least one program, a code set or an instruction set can be loaded and executed by the processor to implement the large-scale structural member weld grinding robot autonomous programming method provided by the above method embodiment.
[0183] Based on the above same inventive concept, the embodiment of the present application also discloses a computer-readable storage medium, in which at least one instruction, at least one program, a code set or an instruction set is stored, and at least one instruction, at least one program, a code set or an instruction set can be loaded and executed by the processor to implement the large-scale structural member weld grinding robot autonomous programming method provided by the above method embodiment.
[0184] It should be understood that the "plurality" mentioned herein refers to two or more. "And / or" describes the association relationship of associated objects and indicates that three relationships may exist. For example, A and / or B may represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally represents an "or" relationship between the associated objects before and after.
[0185] Those of ordinary skill in the art can understand that all or part of the steps to implement the above embodiments can be completed by hardware or can be completed by instructing relevant hardware through a program. The program can be stored in a computer-readable storage medium. The storage media mentioned above include, for example, various media that can store program codes such as USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical discs.
[0186] The above are only alternative embodiments of the present application and are not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present application shall be included within the protection scope of the present application.
Claims
1. A method for autonomous programming of a large structural weld grinding robot, the method being based on a weld grinding robot system, the weld grinding robot system comprising a sensor system (300) and a grinding robot (100); characterized in that: The autonomous programming method of the large structural component weld grinding robot comprises: Acquire standard point cloud data corresponding to a three-dimensional standard model in a three-dimensional modeling software, wherein the three-dimensional standard model is a three-dimensional model of a polished standard workpiece; Acquiring actual point cloud data corresponding to a three-dimensional actual model in the sensor system (300), wherein the three-dimensional actual model is a three-dimensional model of a workpiece to be polished; Performing a correction analysis on the deformation amount of the workpiece to be ground according to the actual point cloud data and the standard point cloud data to obtain a correction data packet, wherein the correction data packet includes a plurality of weld areas and a correction amount corresponding to each of the weld areas; Based on the actual point cloud data and the correction data packet, feature recognition is performed on the weld on the workpiece to be ground to obtain weld features, and a robot grinding scheme is determined according to the weld features; Calibrate the workpiece coordinate system of the grinding robot according to the actual point cloud data; Planning a path according to the workpiece coordinate system and the weld characteristics to obtain a robot grinding processing trajectory; Generate a robot motion control program based on the robot grinding processing trajectory and the robot grinding scheme, wherein the robot motion control program carries the robot grinding processing trajectory and the robot grinding scheme; The correction analysis of the deformation amount of the workpiece to be polished is performed according to the actual point cloud data and the standard point cloud data to obtain a correction data packet, which includes: Aligning the actual point cloud data with the standard point cloud data through the three-dimensional modeling software to obtain a plurality of weld areas, wherein the weld areas are areas on the workpiece to be polished that are different from the standard workpiece; Analyze each of the weld areas to obtain a correction amount corresponding to each of the weld areas; The step of calibrating the workpiece coordinate system of the grinding robot according to the actual point cloud data comprises: Performing feature point recognition on the workpiece to be polished according to the actual point cloud data to obtain a plurality of virtual feature points, wherein the virtual feature points are iconic geometric feature points on the three-dimensional model of the workpiece to be polished; Acquiring a plurality of actual feature points measured in the sensor system (300) in the robot base coordinate system, wherein the actual feature points are geometric feature points with landmarks on the workpiece to be polished, and the actual feature points correspond one-to-one to the virtual feature points; Matching the virtual feature points with the actual feature points, and obtaining a coordinate transformation relationship when the virtual feature points are successfully matched with the corresponding actual feature points; The workpiece coordinate system of the grinding robot is calibrated according to the actual feature points and the coordinate transformation relationship.
2. The autonomous programming method for a large structural weld grinding robot according to claim 1 is characterized in that: The weld features include weld position, weld width and weld height; the robot grinding scheme includes grinding allowance and grinding times; the weld on the workpiece to be ground is identified based on the actual point cloud data and the correction data packet to obtain weld features, and the robot grinding scheme is determined according to the weld features. Segmenting the weld on the workpiece to be ground based on the actual point cloud data and the weld area to obtain a plurality of grinding areas, wherein the weld area includes at least one of the grinding areas; Extracting the weld position, weld width and weld height in each grinding area according to the corresponding correction amount; The grinding allowance and the number of grinding times are determined according to the weld position, the weld width and the weld height.
3. The autonomous programming method for a large structural weld grinding robot according to claim 1 is characterized in that: The path planning according to the workpiece coordinate system and the weld characteristics to obtain the robot grinding processing trajectory includes: Positioning the workpiece to be polished according to the virtual feature points and the actual feature points; Calculating coordinate information corresponding to the located actual feature point according to the workpiece coordinate system; Determining an actual weld state of the weld feature according to the coordinate information; The path is planned based on the actual weld state to obtain a robot grinding processing trajectory.
4. The autonomous programming method for large structural weld grinding robots according to claim 3 is characterized in that: The path planning based on the actual weld state to obtain the robot grinding processing trajectory includes: Determining the type of the weld in each of the grinding areas according to the actual weld state; When the weld is a long weld, the key feature points on the weld are extracted and the path is planned according to the key feature points to obtain the robot grinding processing trajectory; When the weld is a curved weld, a curved surface mathematical model is established according to the shape of the curved surface of the workpiece to be polished, and a path is planned according to the curved surface mathematical model to obtain a robot polishing processing trajectory.
5. The autonomous programming method for a large structural weld grinding robot according to claim 4 is characterized in that: The extracting key feature points on the weld and planning the path according to the key feature points to obtain the robot grinding processing trajectory includes: Extracting a number of key feature points on the weld based on the actual point cloud data, wherein the key feature points are geometric formation information of the weld; Parameterize the key feature points to obtain several key parameters; Obtaining a curve function according to the key parameters; Generating a plurality of discrete points along the length direction of the weld on the curve function; A robot grinding processing trajectory of the grinding robot (100) on a plane is generated according to the discrete points.
6. The autonomous programming method for a large structural weld grinding robot according to claim 5, characterized in that: The step of establishing a surface mathematical model according to the shape of the workpiece surface to be polished and planning a path according to the surface mathematical model to obtain a robot polishing processing trajectory includes: Acquiring surface point cloud data on the three-dimensional model of the standard workpiece; Fitting the surface point cloud data to obtain a surface mathematical model; Generating a plurality of discrete points along the length direction of the weld on the surface mathematical model; A robot grinding processing trajectory of the grinding robot (100) on the curved surface is generated according to the discrete points.
7. A programming device, characterized in that It comprises a memory and a processor, wherein the memory stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, at least one program, a code set or an instruction set is loaded and executed by the processor to implement the autonomous programming method of a large structural weld grinding robot as described in any one of claims 1 to 6.
8. A computer-readable storage medium, characterized in that: The readable storage medium stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, at least one program, a code set or an instruction set is loaded and executed by a processor to implement the autonomous programming method for a large structural weld grinding robot as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Three-dimensional point cloud real-time collecting device and robot polishing path planning method
CN107127755A
Rotor bracket welding seam milling and grinding method and milling and grinding system based on industrial robot
CN117102881A