A method, apparatus and equipment for correcting robot welding trajectory

By acquiring multiple laser stripe images of the weldment, and utilizing dynamic region of interest search and WTo-CPD algorithm, the problem of welding torch deviating from the weld position in traditional welding was solved, achieving efficient and accurate welding trajectory correction, and improving welding quality and efficiency.

CN120715510BActive Publication Date: 2026-07-07BEIHANG UNIV

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIHANG UNIV
Filing Date
2025-06-03
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

In traditional welding processes, batch differences between parts and noise interference can cause the welding torch to deviate from the weld position, resulting in quality problems such as insufficient penetration depth and off-center welding. Moreover, manual correction is time-consuming and labor-intensive, making it difficult to accurately correct the welding trajectory in complex scenarios.

Method used

By acquiring multiple laser stripe images of the weldment, the target trajectory is determined using a dynamic region of interest search method. Outliers are removed and the trajectory is reconstructed. Registration is performed using the WTo-CPD algorithm, and corrections are made based on error patterns. A feedback correction mechanism is established to improve welding accuracy and efficiency.

Benefits of technology

It effectively corrects tooling errors and part differences, reduces welding defects, improves welding quality and production efficiency, and ensures welding precision and accuracy, especially in complex scenarios such as high-reflectivity narrow welds.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120715510B_ABST
    Figure CN120715510B_ABST
Patent Text Reader

Abstract

This application provides a method, apparatus, and device for correcting robot welding trajectories. The method includes: acquiring multiple laser stripe images of a weldment; determining a target trajectory composed of multiple target weld points on the weldment based on the multiple laser stripe images using a dynamic region of interest search method; removing outliers from the target trajectory based on the continuity and connectivity between discrete points on the trajectory, and reconstructing the target trajectory after removing outliers using a Poisson reconstruction method to obtain a reconstructed trajectory; using the WTo-CPD algorithm, registering a set of points discretized from a pre-determined offline trajectory of the weldment at a preset distance as a source point set, and using the set of points contained in the reconstructed trajectory as a target point set to obtain a displacement vector corresponding to each source point in the source point set; and correcting the displacement vector for each source point according to a pre-determined error law of the WTo-CPD algorithm and the magnitude of the displacement vector corresponding to that source point.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of welding trajectory correction technology, and in particular to a method, apparatus and equipment for correcting robot welding trajectories. Background Technology

[0002] In modern manufacturing, welding is an indispensable process. In traditional welding procedures, batch differences between parts often cause the welding torch to deviate from the weld position, resulting in quality problems such as insufficient penetration and misaligned welds. When workers repeatedly change parts, they need to frequently adjust the welding torch to align with multiple weld positions, leading to increased workload and decreased efficiency.

[0003] With the widespread application of robots, collaborative robots used for welding are gradually able to replace workers in performing more precise welding operations. However, noise interference such as strong light and reflections on the surface of parts during the welding process often leads to instability in the robot's automatic weld seam tracking, reducing the reliability of the tracking algorithm in actual production.

[0004] Traditional manual teaching or offline programming lacks effective improvement measures when dealing with workpiece shape and position differences, and the manual correction process is both time-consuming and labor-intensive. When facing complex welding scenarios such as highly reflective narrow weld seams, it is noisy and unstable, making it difficult to accurately correct the welding trajectory, thus affecting the welding quality. Summary of the Invention

[0005] In view of this, this application provides a robot welding trajectory correction method, apparatus and equipment for accurately correcting the welding trajectory to improve welding quality.

[0006] Specifically, this application is implemented through the following technical solution:

[0007] The first aspect of this application provides a method for correcting robot welding trajectories, the method comprising:

[0008] Multiple laser stripe images of the weldment are acquired; wherein, the multiple laser stripe images are multiple images captured by a camera mounted at the end of the robot when a laser sensor mounted at the end of the robot moves the laser stripe pattern on the weldment according to the principle of equidistant movement;

[0009] Based on the dynamic region of interest search method, the target trajectory composed of multiple target weld points on the weldment is determined according to the multiple laser stripe images.

[0010] Based on the continuity and connectivity characteristics between discrete points on the trajectory, outliers on the target trajectory are removed, and the Poisson reconstruction method is used to reconstruct the target trajectory after removing outliers to obtain the reconstructed trajectory.

[0011] Based on the WTo-CPD algorithm, the set of points discretized from the pre-determined offline trajectory of the weldment according to a preset distance is used as the source point set, and the set of points contained in the reconstructed trajectory is used as the target point set for registration, so as to obtain the displacement vector corresponding to each source point in the source point set; wherein, the source point set is a dense point set, and the target point set is a sparse point set;

[0012] For each source point, based on the predetermined error law of the WTo-CPD algorithm and the magnitude of the displacement vector corresponding to the source point, it is determined whether to correct the displacement vector; wherein, the error law is used to characterize the correlation between the magnitude of the displacement vector corresponding to the source point and the registration error; the error law is obtained based on statistical analysis of multiple registration experiments;

[0013] When it is determined that no correction is needed for the source point, the source point is registered according to the displacement vector corresponding to the source point to obtain the correction point of the source point. When it is determined that the source point needs to be corrected, the source point is registered according to the displacement vector corresponding to the source point, and the registration point is compensated using the error law to obtain the correction point of the source point.

[0014] A second aspect of this application provides a robot welding trajectory correction device, the device comprising an acquisition module, a determination module, a processing module, and a compensation module; wherein...

[0015] The acquisition module is used to acquire multiple laser stripe images of the weldment; wherein, the multiple laser stripe images are multiple images acquired by a camera installed at the end of the robot when the laser sensor installed at the end of the robot moves the laser stripe pattern on the weldment according to the principle of equidistant movement;

[0016] The determining module is used to determine the target trajectory composed of multiple target weld points on the weldment based on the multiple laser stripe images, using a dynamic region of interest search method.

[0017] The processing module is used to remove outliers on the target trajectory based on the continuity and connectivity characteristics between discrete points on the trajectory, and to reconstruct the target trajectory after removing outliers using the Poisson reconstruction method to obtain the reconstructed trajectory.

[0018] The processing module is used to perform registration based on the WTo-CPD algorithm, using the set of points discretized from the pre-determined offline trajectory of the weldment at a preset distance as the source point set, and the set of points contained in the reconstructed trajectory as the target point set, to obtain the displacement vector corresponding to each source point in the source point set; wherein, the source point set is a dense point set, and the target point set is a sparse point set;

[0019] The determining module is used to determine, for each source point, whether to correct the displacement vector based on the pre-determined error law of the WTo-CPD algorithm and the magnitude of the displacement vector corresponding to the source point; wherein, the error law is used to characterize the correlation between the magnitude of the displacement vector corresponding to the source point and the registration error; the error law is obtained based on statistical analysis of multiple registration experiments;

[0020] The compensation module is used to register the source point according to the displacement vector corresponding to the source point when it is determined that no correction is needed to obtain the correction point of the source point; and to register the source point according to the displacement vector corresponding to the source point when it is determined that correction is needed to obtain the correction point of the source point by using the error law to compensate the registration point.

[0021] A third aspect of this application provides a robot welding trajectory correction device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of any of the methods provided in the first aspect of this application.

[0022] The robot welding trajectory correction method, apparatus, and device provided in this application acquire multiple laser stripe images of the weldment, and then, based on a dynamic region of interest (ROI) search method, determine a target trajectory composed of multiple target weld points on the weldment according to the multiple laser stripe images. Based on the continuity and connectivity characteristics between discrete points on the trajectory, outliers on the target trajectory are removed. The Poisson reconstruction method is then used to reconstruct the target trajectory after removing outliers, obtaining a reconstructed trajectory. Then, based on the WTo-CPD algorithm, a set of points discretized from a pre-determined offline trajectory of the weldment at a preset distance is used as the source point set, and the set of points contained in the reconstructed trajectory is used as the target point set for registration, obtaining the displacement vector corresponding to each source point in the source point set. For each source point, based on the pre-determined error law of the WTo-CPD algorithm and the magnitude of the displacement vector corresponding to the source point, it is determined whether to correct the displacement vector. If it is determined that no correction is needed for the source point, the source point is registered according to the displacement vector corresponding to the source point, obtaining the displacement vector of the source point. The correction point for the source point is determined by registering the source point with the displacement vector corresponding to it, and then compensating the registered point using the error law to obtain the correction point. This establishes and applies the error law to form a feedback correction mechanism, effectively correcting tooling errors and part differences, improving the accuracy of the robot welding process, reducing welding defects caused by trajectory deviations, and thus improving welding quality and production efficiency. Furthermore, the welding trajectory correction method provided in this embodiment improves the WTo-CPD algorithm. First, for the mathematical transformation model, a first weight for smooth regions and a second weight for non-smooth regions are introduced to protect the features of non-smooth regions, preventing feature loss and ensuring welding accuracy. Second, a region search logic is introduced during the search to accelerate algorithm convergence. Additionally, in the iterative optimization using the expectation-maximization method, a curve constraint term is introduced in the Q function to ensure that the distance between adjacent trajectory points is not too large, thereby improving the accuracy of the optimization. Attached Figure Description

[0023] Figure 1 A flowchart of an embodiment of the robot welding trajectory correction method provided in this application;

[0024] Figure 2 A schematic diagram illustrating the principle of acquiring a laser stripe image, as shown in an exemplary embodiment of this application;

[0025] Figure 3 A schematic diagram illustrating the implementation principle of determining a target trajectory, as shown in an exemplary embodiment of this application;

[0026] Figure 4A schematic diagram illustrating the implementation principle of removing outliers in an exemplary embodiment of this application;

[0027] Figure 5 This is a schematic diagram illustrating the implementation principle of search optimization based on matching range, as shown in an exemplary embodiment of this application.

[0028] Figure 6 A schematic diagram illustrating the implementation principle of the registration process in an exemplary embodiment of this application;

[0029] Figure 7 A schematic diagram illustrating the implementation principle of the registration process for another exemplary embodiment of this application;

[0030] Figure 8 This embodiment of the present application illustrates the principle of correcting the displacement vector using error rules;

[0031] Figure 9 This is a hardware structure diagram of the robot welding trajectory correction device in this application, which is part of the robot welding trajectory correction equipment.

[0032] Figure 10 This is a schematic diagram of the structure of Embodiment 1 of the robot welding trajectory correction device provided in this application. Detailed Implementation

[0033] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application.

[0034] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used herein are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.

[0035] It should be understood that although the terms first, second, third, etc., may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."

[0036] The following specific embodiments are given to illustrate the technical solution of this application in detail.

[0037] Figure 1 This is a flowchart of an embodiment of the robot welding trajectory correction method provided in this application. Please refer to... Figure 1 The method provided in this embodiment may include:

[0038] S101. Acquire multiple laser stripe images of the weldment; wherein, the multiple laser stripe images are multiple images acquired by a camera installed at the end of the robot when the laser sensor installed at the end of the robot moves the laser stripe pattern on the weldment according to the principle of equidistant movement.

[0039] It should be noted that the robot welding trajectory correction method and apparatus provided in this application are applied to robot welding trajectory correction equipment. The robot welding trajectory correction equipment can be integrated on the robot or it can be a control device independent of the robot. This application does not limit it.

[0040] Figure 2 This is a schematic diagram illustrating the principle of acquiring a laser stripe image, as shown in an exemplary embodiment of this application. Wherein, Figure 2 Figure A in the diagram illustrates the implementation principle of obtaining a laser stripe image. Figure 2 Figure B in the diagram shows the positional relationship between the laser stripe pattern and the weldment. Figure 2 Figure C in the diagram is a schematic diagram of an acquired laser stripe image. Please refer to... Figure 2 The robot's end effector is equipped with a laser sensor and a camera. The laser sensor emits a laser stripe pattern towards the workpiece below the end effector. After the laser sensor sends the laser stripe pattern to the workpiece, the camera captures an image of the workpiece, obtaining a laser stripe image. Furthermore, following the principle of equidistant movement, the position of the laser stripe pattern on the workpiece is moved. After each movement, another image is captured, resulting in a laser image. Thus, by repeatedly moving the laser stripe pattern on the workpiece, multiple laser stripe patterns can be obtained.

[0041] It should be noted that the distance the laser stripe pattern moves each time is set according to actual needs, and is not limited in this embodiment.

[0042] As described above, a laser stripe image is an image with specific features formed by irradiating the surface of an object with a laser. The laser stripe image of a weldment can provide the welding trajectory of the weldment.

[0043] As can be understood from the preceding description, in this step, multiple laser stripe images can be directly acquired from the camera.

[0044] S102. Based on the dynamic region of interest search method, determine the target trajectory composed of multiple target weld points on the weldment according to the multiple laser stripe images.

[0045] It should be noted that when acquiring laser stripe images, highly reflective areas may exist on the weldment, resulting in poor image display and potentially generating false measurement data. Furthermore, if the highly reflective area is large, a low-pass filtering algorithm can directly filter out the weak stripe areas caused by the highly reflective area. However, if the highly reflective area is small, and noise areas resembling weld seam features appear in the laser stripe image (noise areas are narrow, highly reflective areas in the laser stripe image), it can easily lead to incorrect weld seam identification. Additionally, if both sides of the weld exhibit highly reflective characteristics when acquiring laser stripe images, the weld seam may be obscured by the weak stripes of the highly reflective area, resulting in the loss of weld seam information. Therefore, this application uses a dynamic region of interest search method to address the inaccurate identification problems caused by high reflectivity.

[0046] Specifically, Figure 3 This is a schematic diagram illustrating the implementation principle of determining a target trajectory, as shown in an exemplary embodiment of this application. Please refer to... Figure 3 In one possible implementation, the specific implementation process of this step may include:

[0047] Step 1: Using the first laser stripe image as the initial laser stripe image, predict the position of the next weld position on the laser stripe pattern in the initial laser stripe image based on the currently known weld position. Obtain the predicted point corresponding to the next position and draw the region of interest centered on the predicted point.

[0048] Step 2: Calculate the sum of gray values ​​of each row of pixels in the region of interest to obtain the sum of pixels in each row, and determine the reserved points corresponding to the laser stripe image based on the sum of pixels in each row; wherein, the direction of the row indicator is perpendicular to the length direction of the laser stripe pattern; when the sum of pixels in a row is less than or equal to the weld width of the weldment, the laser stripe point on that row of pixels is a reserved point.

[0049] Step 3: Based on the distance of each retained point from the predicted point, determine the retained point closest to the predicted point as the initial weld point corresponding to the next position.

[0050] Step 4: Using the next laser stripe image of the initial laser stripe image as the initial laser stripe image, perform the step of predicting the position of the laser stripe of the next weld position point in the initial laser stripe image based on the currently known weld position point.

[0051] Step 5: Select one retained point from the retained points corresponding to each laser stripe image as the final weld position point of the laser stripe image, so that the trajectory formed by the final weld position points of all laser stripe images is a continuous trajectory.

[0052] Step 6: Determine the trajectory formed by the final weld seam positions of all laser stripe images as the target trajectory.

[0053] In specific implementation, the principle and method of predicting the position of the next weld seam on the laser stripe pattern in the initial laser stripe image in step 1 are described in the relevant technology and will not be repeated here.

[0054] Furthermore, when drawing the region of interest, the height of the region of interest is dynamically adjusted according to the number of noise points contained in the previous region of interest. This is to prevent prediction errors caused by excessive noise at the previous location point, which would prevent the current region of interest from including the weld point at this location.

[0055] In practice, the region of interest is determined and drawn according to the following formula:

[0056]

[0057] Wherein, k1 is the number of noise points contained in the previous region of interest, and (x p y p ) represents the coordinates of the predicted point corresponding to the next weld location, where x min Let x be the minimum coordinate value of the region of interest in the x-direction. max The maximum coordinate value in the x-direction of the region of interest, y min The minimum coordinate value in the y-direction range of the region of interest. max This represents the maximum coordinate value within the range along the y-direction of the region of interest.

[0058] Understandably, the value of k1 can reflect the degree of interference from noise on weld location identification to some extent. When the value of k1 is small, the interference from noise is low, making weld location identification easier. Therefore, the range of the region of interest in the y-direction can be smaller. Conversely, when the value of k1 is large, the interference from noise is high, making weld location identification more difficult. Therefore, the range of the region of interest in the y-direction needs to be larger.

[0059] It should be noted that the grayscale value of a pixel refers to the brightness level of each pixel in an image. By analyzing the grayscale values ​​of pixels, the shape of objects in the image can be understood to some extent. In this application, within the region of interest, the sum of the pixel grayscale values ​​at the weld location in the direction perpendicular to the laser stripe image has an extreme value. Therefore, in step 2, the sum of grayscale values ​​of equidistant multiple rows in the region of interest can be analyzed, and the portion whose sum of grayscale values ​​is greater than the weld width can be filtered out to identify the weld location.

[0060] In practice, if the sum of the gray values ​​of a row of pixels is less than or equal to the weld width of the workpiece, the laser stripe points on that row of pixels are retained; if the sum of the gray values ​​of a row of pixels is greater than the weld width of the workpiece, the laser stripe points on that row of pixels are discarded.

[0061] Furthermore, in step 3, the distance between each retained point and the predicted point is calculated using the distance formula between the two points based on the coordinates of the retained point and the predicted point. The calculated distances are compared, and the retained point closest to the predicted point is determined as the initial weld point.

[0062] Specifically, after determining the initial weld point, the next laser stripe image of the initial laser stripe image can be used as the initial laser stripe image, and the step of predicting the position of the next weld point on the laser stripe in the initial laser stripe image based on the currently known weld position points can be performed again. In this way, the reserved points corresponding to each laser stripe image can be obtained.

[0063] It is understandable that the target trajectory is continuous. Therefore, after obtaining the reserved points corresponding to each laser stripe pattern, the continuity of the trajectory can be used to analyze the reserved points of each laser stripe pattern. From the reserved points corresponding to each laser stripe image, a reserved point can be selected as the final weld position point of the laser stripe image, so that the trajectory formed by the final weld position points of all laser stripe images is a continuous trajectory.

[0064] S103. Based on the continuity and connectivity characteristics between discrete points on the trajectory, remove outliers from the target trajectory and reconstruct the target trajectory after removing outliers using the Poisson reconstruction method to obtain the reconstructed trajectory.

[0065] It is understandable that discrete points on a continuous welding trajectory without significant turns will not experience sudden jumps, exhibiting a smooth and uninterrupted characteristic. Abnormal points within the target trajectory may cause sudden shifts or discontinuities in the welding trajectory, resulting in deviations in the welding position. Removing abnormal points can improve welding accuracy.

[0066] Specifically, in one possible implementation, Figure 4 This is a schematic diagram illustrating the implementation principle of removing outliers in an exemplary embodiment of this application. Please refer to... Figure 4 In a near-realistic ideal trajectory, discrete points on the trajectory exhibit continuity and connectivity; there are no sudden jumps between points, and the trajectory is smooth and uninterrupted between points. Based on these two characteristics, the curvature value of each point on the target trajectory can be calculated, and outliers can be filtered out based on these curvature values. Please refer to [reference needed]. Figure 4 The specific implementation process is as follows:

[0067]

[0068] in, Let n be the curvature value at the nth point. The curvature value at the (n+1)th point. The vector pointing from the (n-1)th point to the nth point. Let be the magnitude of the vector pointing from the (n-1)th point to the nth point. Let n be the vector pointing from the nth point to the (n+1)th point. Let x be the magnitude of the vector from the nth point to the (n+1)th point. last x is the last point where the curvature value is less than a preset threshold. next For the next point that satisfies the curvature value being greater than a preset threshold, For the preserved point set, The set of points to be removed.

[0069] Please refer to Figure 4 In the above formula, three points within the target trajectory are defined. Adjacent points form a vector, and the (n-1)th point and the nth point form a vector. The vector is formed between the nth point and the (n+1)th point. Calculate the curvature at the nth point using these two vectors. If the calculated curvature value does not exceed the preset threshold, all discrete points between the previous point before this point and the next point after this point whose curvature value is less than the preset threshold are retained. If the calculated curvature value exceeds the preset threshold, all discrete points between the next point after this point and the next point after this point whose curvature value is greater than the preset threshold are marked as abnormal points and removed.

[0070] See Figure 4 ,exist Figure 4 In the middle, point x n+1 A curvature value greater than a preset threshold is considered the starting point of change. This point is then treated as an anomaly, and all points from this point to the next point where the curvature value exceeds the preset threshold are included in the list of anomalies. Figure 4The abnormal area is shown, and then the points within the abnormal area are removed.

[0071] Understandably, after removing outliers, to prevent distortion, the curvature changes at the starting and ending points of the curvature shift were ignored, and only outliers in the middle were removed. Even though the curvature of intermediate points located within the outlier region might not change significantly, they still needed to be removed.

[0072] It should be noted that the specific value of the preset threshold is set according to the actual required welding trajectory accuracy, and is not limited here.

[0073] Furthermore, after removing outliers using the above method, the uniformity of the points changes. Therefore, the Poisson reconstruction method is used to reconstruct the target trajectory after removing outliers, resulting in a reconstructed trajectory. The specific process of the Poisson reconstruction method can be found in relevant technical descriptions and will not be elaborated here. For ease of explanation, the reconstructed trajectory is denoted as X′={x′1,…,x′ n ,…,x′ K}

[0074] S104. Based on the WTo-CPD algorithm, the set of points discretized from the pre-determined offline trajectory of the weldment according to a preset distance is used as the source point set, and the set of points contained in the reconstructed trajectory is used as the target point set for registration, so as to obtain the displacement vector corresponding to each source point in the source point set; wherein, the source point set is a dense point set, and the target point set is a sparse point set.

[0075] Referring to the preceding description, the discrete points in the reconstructed trajectory are taken as the target point set X' = x'1,…,x' n ,…,x' N The number of points in the target point set is N.

[0076] Furthermore, for the pre-determined offline trajectory of the weldment, it is discretized according to a preset distance, and the discretized point set is used as the source point set Y = {y1,…,y}. m ,…,y M The source set contains M points, where M is much larger than N. Therefore, the target set is a dense set of points, and the source set is a sparse set of points.

[0077] It should be noted that different software can be used to predetermine the offline trajectory for the weldment, and this is not limited here. For example, in one embodiment, CAM software can be used to generate the offline trajectory.

[0078] In practice, the specific implementation process of this step may include:

[0079] (1) Construct a probability model based on the source point set and the target point set, and obtain the cost function of the probability model; wherein, in the process of constructing the probability model, the source point set is regarded as a mixture model with a Gaussian distribution, and the target point set is regarded as the expected value of the Gaussian distribution.

[0080] (2) Construct a mathematical transformation model; wherein, the mathematical transformation model is used to describe the process of aligning the source point set to the target point set.

[0081] (3) For each source point, the cost function is iteratively optimized using the expectation-maximization algorithm, and the displacement vector corresponding to the source point is obtained when the iteration condition terminates.

[0082] Specifically, in step (1), the distribution of the source point set can be described by a combination of multiple Gaussian distributions, and is regarded as a mixture model with Gaussian distribution. The target point set is regarded as the expected value of the Gaussian distribution, which can play a role in determining the center position of the Gaussian distribution in the probabilistic model. Based on the source point set and the target point set, a probabilistic model is constructed, and the probability of the target point set finding the correct corresponding point can be obtained from the probabilistic model. In addition, the corresponding cost function can also be obtained from the probabilistic model, which can reflect the mismatch between the source point set and the target point set.

[0083] In this embodiment, point y in the source point set Y is used as an example. m To establish a probabilistic model for the centroid, since N≠M, a uniform distribution function needs to be added, with its weight set to ω. Therefore, the probability density function of this Gaussian distribution is characterized by the first formula, as shown below:

[0084]

[0085] Wherein, p(x') n (x') is a point n The probability distribution of point x' n The probability of appearing in the target point set; P(m) is the probability distribution of the m-th point in the source point set, representing the probability that the m-th point in the source point set is a matching reference point; p(x' n |m) represents point x' given the m-th point. n The conditional probability density distribution of the target point x', with reference to the m-th source point, represents the probability density function of the target point x'. n The matching probability density; N is the number of target points; M is the number of source points; ω is the weight of the uniform distribution function;

[0086] Furthermore, the cost function is characterized by the second formula, assuming that each data point is independent and follows the same distribution, as shown below:

[0087]

[0088] Where θ is the displacement vector of the point; σ 2 The noise error variance of the point; the W fk The weights are the values ​​corresponding to each point.

[0089] Furthermore, in step (2), by constructing a mathematical transformation model, the source point set can be made to coincide with or be as close as possible to the target point set through the constructed mathematical transformation model. It should be noted that the transformation type of the mathematical transformation model can be selected according to actual needs, and is not limited here. For example, in one embodiment, it can be a rigid body transformation; in another embodiment, it can also be a non-rigid body transformation.

[0090] Furthermore, in step (3), the cost function between the source point and the target point is minimized through continuous iteration of the expectation-maximization algorithm. It should be noted that the expectation-maximization algorithm includes an expectation step (i.e., the E-step) and a maximization step (i.e., the M-step), where the E-step estimates the matching probability between the source point and the target point, and the M-step updates the transformation matrix.

[0091] In this application, the expectation-maximization algorithm is improved, and the Q-function used in the maximization step is the third formula, which is as follows:

[0092]

[0093] Wherein, Q(θ,σ) 2 P is the objective function for evaluating the matching quality between the source and target points; old The conditional probability distribution calculated in the previous iteration; the W def The weight matrix consists of the weights corresponding to each point; The curve constraint term; α is the penalty coefficient; wi is the displacement vector obtained in the i-th iteration; x n The nth target point in the target point set; the y m Represents the m-th source point in the source point set; the τ(y) m (,θ) represents the transformation of the source point y under the transformation parameter θ. m The transformation result after applying the transformation parameters.

[0094] This can be understood as: In the second formula:

[0095] The first item contains the conditional probability and weight matrix, used to evaluate the error of the matching points.

[0096] Second item: Curve constraint item This is used to ensure the continuity of the displacement vector and prevent unreasonable jumps during the matching process.

[0097] Third item: Registration error Used to measure the matching error between the target point and the source point.

[0098] Referring to the preceding description, in order to reduce the degrees of freedom of the probabilistic model and make the optimization process more stable, the relationships between points are constructed as curve constraint terms. This is then incorporated into the iteration process (specifically reflected in the Q function mentioned above). This ensures that the distance between adjacent trajectory points is not too large, thereby improving the accuracy of the optimization.

[0099] Understandably, the iterative process of optimizing the cost function using the expectation-maximization algorithm is continuous until the value of the cost function no longer changes significantly or the preset maximum number of iterations is reached. At this point, for each source point in the source point set, a corresponding displacement vector can be obtained. This displacement vector represents the direction and distance the source point needs to move to better align with the target point set. It should be noted that the preset maximum number of iterations is set according to actual needs and is not limited here.

[0100] Optionally, in one possible implementation, the specific process of iteratively optimizing the cost function using the expectation-maximization algorithm may include:

[0101] (1) For each target point, the matching range corresponding to the target point is determined according to the first number M of source points contained in the source point set, the second number K of target points contained in the target point set, and the location of the target point.

[0102] (2) When iteratively optimizing the cost function using the expectation method, search optimization is performed based on the matching range.

[0103] Specifically, when iteratively optimizing the cost function using the expectation-maximization algorithm, the source points in the source point set can be considered to be ordered and monotonically existing. Therefore, a region search method can be used to optimize the cost function based on the properties of the source points. When constructing the probabilistic model, the probability between each point in the source point set and a point in the target point set is processed. For example, for a specific point in the target point set, the probability that it correctly corresponds to a point in the source point set that is relatively far away from it is recorded as 0 or the probability tends to an infinitesimally small value.

[0104] Figure 5 This is a schematic diagram illustrating the implementation principle of search optimization based on matching range, as shown in an exemplary embodiment of this application. Please refer to... Figure 5 The matching range can be determined according to the following formula:

[0105]

[0106] Wherein, m is the matching range;

[0107] k is a preset scaling factor;

[0108] n is the number of the target point.

[0109] It should be noted that the value of k ranges from 0 to 1. When the value of k is larger, the range of m' that meets the conditions becomes wider, and the convergence speed becomes slower; when the value of k is smaller, the range of m' that meets the conditions becomes narrower, and the convergence speed becomes faster.

[0110] Furthermore, the larger the value of k, the more implicit probabilistic models are verified, resulting in a higher fault tolerance; conversely, the smaller the value of k, the faster the convergence speed. Therefore, the iterative formula in the expectation step of the expectation-maximization algorithm can be derived as the fourth formula; the fourth formula is:

[0111]

[0112] Wherein, P old (m|x n Let x represent the point x in the given target point set calculated in the previous iteration. n In the case of x, the probability that the point matches the m-th point in the source point set; n The nth target point in the target point set; the y m Let θ be the m-th source point in the source point set; old The transformation parameters are those calculated in the previous iteration process; the σ old The variance is calculated in the previous iteration; the τ(y) m ,θ old ) represents the transformation parameter θ old Next, the source point y m The transformation result after applying the transformation parameters; where D is the dimension of the point; and c is the normalization factor of the probability density function of the Gaussian distribution.

[0113] Optionally, in one possible implementation, the offline trajectory includes pre-divided smooth and non-smooth regions; the mathematical transformation model includes a first weight matrix corresponding to the smooth region and a second weight matrix corresponding to the non-smooth region; each weight value of the second weight matrix is ​​greater than each weight value of the second weight matrix; the step of iteratively optimizing the cost function using an expectation-maximization algorithm for each source point includes:

[0114] When the source point is in a smooth region, it is processed according to the first weight matrix; when the source point is in a non-smooth region, it is processed according to the second weight matrix.

[0115] Specifically, Figure 6 The schematic diagram illustrating the registration process in an exemplary embodiment of this application is shown in the attached diagram. Figure 6 ,exist Figure 6 In the example shown, the offline trajectory includes pre-divided smooth and non-smooth regions; wherein, the non-smooth region can be a welding area with obvious shape features, such as a region including corners or arcs.

[0116] In this embodiment, see Figure 6 When the offline trajectory includes both smooth and non-smooth regions, transforming the source point set using a mathematical transformation model may result in feature loss due to over-smoothing or over-distortion of the non-smooth regions. If the non-smooth regions are processed according to the first weight, the registered trajectory is relatively smooth, but the corner features of the original trajectory are lost.

[0117] In this embodiment, two weights are set. For ease of explanation, these two weights are denoted as the first weight and the second weight, respectively. During the registration process, smooth regions are processed using the first weight, while non-smooth regions are processed using the second weight. It should be noted that the second weight is greater than the first weight; for example, if the first weight is denoted as 1, the second weight is greater than 1.

[0118] Please refer to Figure 6 For non-smooth regions, processing them with a second weight can protect the features and prevent the loss of the original features of the offline trajectory.

[0119] The method provided in this embodiment can protect the morphology of the welding area during the mathematical transformation process by adding weight adjustment logic for non-smooth regions. This ensures that the deformation of non-smooth regions during the transformation process is different from that of smooth regions, thereby protecting the morphological features (e.g., corner features) of non-smooth regions.

[0120] Figure 7 For a schematic diagram illustrating the registration process in another exemplary embodiment of this application, please refer to... Figure 7 Referring to the preceding description, the method provided in this embodiment first removes outliers from the target trajectory (irrelevant point filtering as shown in the figure). Furthermore, the WTo-CPD algorithm is improved by: firstly, introducing a first weight for smooth regions and a second weight for non-smooth regions to protect the features of non-smooth regions in the mathematical transformation model; secondly, incorporating region search logic during the search; and thirdly, introducing a curve constraint term in the Q function during iterative optimization using the expectation-maximization method to ensure that the distance between adjacent trajectory points is not too large, thereby improving the accuracy of the optimization.

[0121] S105. For each source point, based on the predetermined error law of the WTo-CPD algorithm and the magnitude of the displacement vector corresponding to the source point, determine whether to correct the displacement vector; wherein, the error law is used to characterize the correlation between the magnitude of the displacement vector corresponding to the source point and the registration error; the error law is obtained based on statistical analysis of multiple registration experiments.

[0122] S106. When it is determined that no correction is needed for the source point, the source point is registered according to the displacement vector corresponding to the source point to obtain the correction point of the source point. When it is determined that the source point needs to be corrected, the source point is registered according to the displacement vector corresponding to the source point, and the registration point is compensated using the error law to obtain the correction point of the source point.

[0123] Specifically, due to limitations in iteration conditions, registration errors often occur during the registration process of the source point set and the target point set. The method provided in this embodiment aims to eliminate these registration errors by pre-determining the error pattern of the WTo-CPD algorithm, and then determining whether to correct the displacement vector based on this error pattern and the magnitude of the displacement vector corresponding to the source point. Correction is then performed when necessary.

[0124] It should be noted that the greater the distance from the source point set, the lower the correlation of the points during the registration process, and the greater the registration error. Therefore, the registration error is related to the translation matrix of each point after registration. Based on multiple registration experiments, the error pattern of the WTo-CPD algorithm can be statistically analyzed. This error pattern is used to characterize the correlation between the magnitude of the displacement vector corresponding to the source point and the registration error.

[0125] Optionally, in one possible implementation, the error pattern of the WTo-CPD algorithm is as follows: when the magnitude of the displacement vector corresponding to the source point is between 0 mm and 0.16 mm, the error is controlled between 0 and 0.05 mm, and the error within this range has little impact on the welding effect; while when the magnitude of the displacement vector corresponding to the source point reaches an extreme value, the error is controlled between 0.06 and 0.1, and the error within this range has a significant impact on the welding effect.

[0126] It should be noted that in step S105, if the magnitude of the displacement vector is less than or equal to 0.16 mm, it is determined that no correction will be made; otherwise, it is determined that correction will be made.

[0127] Furthermore, in step S106, for source points that do not require correction, the source point can be directly registered based on the displacement vector corresponding to the source point to obtain the correction point of the source point; while for source points that require correction, while registering the source point based on the displacement vector corresponding to the source point, it is also necessary to use the error law to compensate the registration point to obtain the correction point of the source point.

[0128] Figure 8 This diagram illustrates the implementation principle of correcting the displacement vector using error rules, as an exemplary embodiment of this application. Please refer to... Figure 8 The trajectory position points are combined with the welding torch attitude at each point. The attitude is transformed using the displacement vector obtained through non-rigid registration between the source and target point sets. Euler angles are used to represent the attitude information at each trajectory point, and this is combined with the position points to obtain a representation method Tr for the welding torch end pose during the welding process. i ={x i ,y i ,z i ,a i ,b i ,c i}

[0129] Furthermore, based on the translation vector t and the aforementioned registration error rules, a transformation matrix T for the welding torch pose transformation was constructed, which includes the translation vector v and the rotation matrix R. The transformation matrix T is shown below:

[0130]

[0131] Wherein, T is the transformation matrix;

[0132] The e n This represents the error corrected for the source point through pose transformation;

[0133] β is the angle between the initial end coordinate system before the welding torch rotates and the final end coordinate system after the welding torch rotates;

[0134] α is the angle between the displacement vector of the source point and the y-axis of the initial end coordinate system;

[0135] The cl is the confidence level of the error pattern, and the cl is a preset value;

[0136] The |t n | represents the magnitude of the displacement vector corresponding to the source point;

[0137] The |t st | represents the magnitude of the displacement vector corresponding to the position point where the offline trajectory enters an extreme value;

[0138] The l end This is the distance between the end of the welding torch and the end of the robotic arm;

[0139] The e max e0 and e0 are the maximum and minimum error values ​​corresponding to the extreme values ​​of the translation vector indicated by the error law, respectively.

[0140] The ereg,n The registration error of the source point is calculated based on the aforementioned error pattern.

[0141] It should be noted that, in order to verify the effectiveness of the method provided in this application, a verification experiment was also conducted. The verification experiment shows that, firstly, after improving the WTo-CPD algorithm according to the method described above, the WTo-CPD algorithm has a faster convergence speed under the presence of random errors of 0 to 0.3 mm, and the average error after registration can be controlled within 0.02 mm, which is relatively small; secondly, when the noise ratio changes, the error of the WTo-CPD algorithm can always remain within a stable range without significant changes; in addition, when the welding trajectory deviates slightly or within a reasonable range, after being corrected by the above method, the tip of the welding torch can accurately move along the weld trajectory of the actual workpiece, which can better adapt to the subtle changes in the weld. Furthermore, this also ensures that the laser emitted by the welding equipment is uniformly irradiated around the weld, forming a uniform bright area covering both sides of the weld edge, thereby effectively improving the welding quality and overall strength, and significantly reducing the occurrence of welding defects.

[0142] The robot welding trajectory correction method provided in this embodiment acquires multiple laser stripe images of the weldment, and then, based on a dynamic region of interest (ROI) search method, determines a target trajectory composed of multiple target weld points on the weldment according to the multiple laser stripe images. Based on the continuity and connectivity characteristics between discrete points on the trajectory, outliers on the target trajectory are removed. The Poisson reconstruction method is then used to reconstruct the target trajectory after removing outliers, resulting in a reconstructed trajectory. Finally, based on the WTo-CPD algorithm, a set of points discretized from a pre-determined offline trajectory of the weldment at a preset distance is used as the source point set, and the set of points contained in the reconstructed trajectory is used as the target point set for registration, obtaining the displacement vector corresponding to each source point in the source point set. This allows for the correction of the trajectory for each source point. Based on the predetermined error rules of the WTo-CPD algorithm and the magnitude of the displacement vector corresponding to the source point, it is determined whether to correct the displacement vector. If it is determined that no correction is needed, the source point is registered according to the displacement vector to obtain the correction point. If it is determined that correction is needed, the source point is registered according to the displacement vector, and the registered point is compensated using the error rules to obtain the correction point. In this way, by establishing and applying the error rules, a feedback correction mechanism is formed, which can effectively correct tooling errors and part differences, effectively improve the accuracy of the robot welding process, reduce welding defects caused by trajectory deviations, and thus improve welding quality and production efficiency.

[0143] Furthermore, the welding trajectory correction method provided in this embodiment improves the WTo-CPD algorithm. First, for the mathematical transformation model, a first weight for smooth regions and a second weight for non-smooth regions are introduced to protect the features of non-smooth regions, thus avoiding feature loss and ensuring welding accuracy. Second, during the search, a region search logic is introduced to accelerate algorithm convergence. In addition, when using the expectation-maximization method for iterative optimization, a curve constraint term is introduced into the Q function, which ensures that the distance between adjacent trajectory points is not too large, thereby improving the accuracy of optimization.

[0144] Corresponding to the aforementioned embodiment of a robot welding trajectory correction method, this application also provides an embodiment of a robot welding trajectory correction device.

[0145] An embodiment of the robot welding trajectory correction device disclosed in this application can be applied to robot welding trajectory correction equipment. The device embodiment can be implemented through software, hardware, or a combination of both. Taking software implementation as an example, as a logical device, it is formed by the processor of the robot welding trajectory correction equipment loading the corresponding computer program instructions from non-volatile memory into memory for execution. From a hardware perspective, such as... Figure 8 The diagram shown is a hardware structure diagram of a robot welding trajectory correction device, which is the location of the robot welding trajectory correction device in this application. Except for... Figure 9 In addition to the processor, memory, network interface, and non-volatile memory shown, the robot welding trajectory correction device in the embodiment may also include other hardware depending on the actual function of the robot welding trajectory correction device, which will not be described in detail here.

[0146] Figure 10 This is a schematic diagram of the structure of Embodiment 1 of the robot welding trajectory correction device provided in this application. Please refer to... Figure 10 The apparatus provided in this embodiment includes an acquisition module 1010, a determination module 1020, a processing module 1030, and a compensation module 1040; wherein,

[0147] The acquisition module 1010 is used to acquire multiple laser stripe images of the weldment; wherein, the multiple laser stripe images are multiple images acquired by a camera installed at the end of the robot when the laser sensor installed at the end of the robot moves the laser stripe pattern on the weldment according to the principle of equidistant movement;

[0148] The determining module 1020 is used to determine the target trajectory composed of multiple target weld points on the weldment based on the multiple laser stripe images, according to the dynamic region of interest search method.

[0149] The processing module 1030 is used to remove outliers on the target trajectory based on the continuity and connectivity characteristics between discrete points on the trajectory, and to reconstruct the target trajectory after removing outliers using the Poisson reconstruction method to obtain the reconstructed trajectory.

[0150] The processing module 1030 is used to perform registration based on the WTo-CPD algorithm, using the set of points discretized from the pre-determined offline trajectory of the weldment according to a preset distance as the source point set, and the set of points contained in the reconstructed trajectory as the target point set, to obtain the displacement vector corresponding to each source point in the source point set; wherein, the source point set is a dense point set, and the target point set is a sparse point set;

[0151] The determining module 1020 is used to determine, for each source point, whether to correct the displacement vector based on the pre-determined error law of the WTo-CPD algorithm and the magnitude of the displacement vector corresponding to the source point; wherein, the error law is used to characterize the correlation between the magnitude of the displacement vector corresponding to the source point and the registration error; the error law is obtained based on statistical analysis of multiple registration experiments;

[0152] The compensation module 1040 is used to register the source point according to the displacement vector corresponding to the source point when it is determined that no correction is needed to obtain the correction point of the source point; and to register the source point according to the displacement vector corresponding to the source point when it is determined that correction is needed to obtain the correction point of the source point by using the error law to compensate the registration point.

[0153] The apparatus of this embodiment can be used to perform... Figure 1 The steps of the method embodiment shown are similar in principle and process, and will not be repeated here.

[0154] Please continue to refer to Figure 9 This application also provides a robot welding trajectory correction device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of any of the methods provided in the first aspect of this application.

[0155] This application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any of the methods provided in this application.

[0156] The specific implementation process of the functions and roles of each unit in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0157] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this application according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0158] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A method for correcting the trajectory of a robot welding process, characterized in that, The method includes: Multiple laser stripe images of the weldment are acquired; wherein, the multiple laser stripe images are multiple images captured by a camera mounted at the end of the robot when a laser sensor mounted at the end of the robot moves the laser stripe pattern on the weldment according to the principle of equidistant movement; Based on the dynamic region of interest search method, the target trajectory composed of multiple target weld points on the weldment is determined according to the multiple laser stripe images. Based on the continuity and connectivity characteristics between discrete points on the trajectory, outliers on the target trajectory are removed, and the Poisson reconstruction method is used to reconstruct the target trajectory after removing outliers to obtain the reconstructed trajectory. Based on the WTo-CPD algorithm, the set of points discretized from the pre-determined offline trajectory of the weldment according to a preset distance is used as the source point set, and the set of points contained in the reconstructed trajectory is used as the target point set for registration, so as to obtain the displacement vector corresponding to each source point in the source point set; wherein, the source point set is a dense point set, and the target point set is a sparse point set; For each source point, based on the predetermined error law of the WTo-CPD algorithm and the magnitude of the displacement vector corresponding to the source point, it is determined whether to correct the displacement vector; wherein, the error law is used to characterize the correlation between the magnitude of the displacement vector corresponding to the source point and the registration error; the error law is obtained based on statistical analysis of multiple registration experiments; When it is determined that no correction is needed for the source point, the source point is registered according to the displacement vector corresponding to the source point to obtain the correction point of the source point. When it is determined that the source point needs to be corrected, the source point is registered according to the displacement vector corresponding to the source point, and the registration point is compensated using the error law to obtain the correction point of the source point.

2. The method according to claim 1, characterized in that, The dynamic region of interest search-based method determines the target trajectory composed of multiple target weld points on the weldment based on the multiple laser stripe images, including: Using the first laser stripe image as the initial laser stripe image, based on the currently known weld position points, the position of the next weld position point on the laser stripe pattern in the initial laser stripe image is predicted to obtain the predicted point corresponding to the next position, and the region of interest is drawn with the predicted point as the center. The sum of gray values ​​of each row of pixels in the region of interest is calculated to obtain the sum of pixels in each row, and the reserved points corresponding to the laser stripe image are determined according to the sum of pixels in each row; wherein, the direction of the row indicator is perpendicular to the length direction of the laser stripe pattern; when the sum of pixels in a row is less than or equal to the weld width of the weldment, the laser stripe point on that row of pixels is a reserved point. Based on the distance of each retained point from the predicted point, the retained point closest to the predicted point is determined as the initial weld point corresponding to the next position; Using the next laser stripe image of the initial laser stripe image as the initial laser stripe image, the step of predicting the position of the next weld position point on the laser stripe in the initial laser stripe image based on the currently known weld position point is performed again. From the reserved points corresponding to each laser stripe image, select one reserved point for that laser stripe image as the final weld position point of that laser stripe image, so that the trajectory formed by the final weld position points of all laser stripe images is a continuous trajectory. The trajectory formed by the final weld seam locations of all laser stripe images is determined as the target trajectory.

3. The method according to claim 2, characterized in that, The process of drawing the region of interest centered on the predicted point includes: Determine and draw the region of interest using the following formula: ; Among them, the The number of noise points contained in the previous region of interest, the The coordinates of the predicted point corresponding to the next weld location are given. This represents the minimum coordinate value within the x-direction of the region of interest. This represents the maximum coordinate value within the x-direction of the region of interest. This represents the minimum coordinate value within the range along the y-direction of the region of interest. This represents the maximum coordinate value within the range along the y-direction of the region of interest.

4. The method according to claim 1, characterized in that, The error rule is as follows: when the magnitude of the displacement vector corresponding to the source point is between 0 mm and 0.16 mm, the error is controlled between 0 and 0.05 mm; and when the magnitude of the displacement vector corresponding to the source point reaches its extreme value, the error is controlled between 0.06 and 0.1 mm.

5. A robot welding trajectory correction device, characterized in that, The device includes an acquisition module, a determination module, a processing module, and a compensation module; wherein, The acquisition module is used to acquire multiple laser stripe images of the weldment; wherein, the multiple laser stripe images are multiple images acquired by a camera installed at the end of the robot when the laser sensor installed at the end of the robot moves the laser stripe pattern on the weldment according to the principle of equidistant movement; The determining module is used to determine the target trajectory composed of multiple target weld points on the weldment based on the multiple laser stripe images, using a dynamic region of interest search method. The processing module is used to remove outliers on the target trajectory based on the continuity and connectivity characteristics between discrete points on the trajectory, and to reconstruct the target trajectory after removing outliers using the Poisson reconstruction method to obtain the reconstructed trajectory. The processing module is used to perform registration based on the WTo-CPD algorithm, using the set of points discretized from the pre-determined offline trajectory of the weldment at a preset distance as the source point set, and the set of points contained in the reconstructed trajectory as the target point set, to obtain the displacement vector corresponding to each source point in the source point set; wherein, the source point set is a dense point set, and the target point set is a sparse point set; The determining module is used to determine, for each source point, whether to correct the displacement vector based on the pre-determined error law of the WTo-CPD algorithm and the magnitude of the displacement vector corresponding to the source point; wherein, the error law is used to characterize the correlation between the magnitude of the displacement vector corresponding to the source point and the registration error; the error law is obtained based on statistical analysis of multiple registration experiments; The compensation module is used to register the source point according to the displacement vector corresponding to the source point when it is determined that no correction is needed to obtain the correction point of the source point; and to register the source point according to the displacement vector corresponding to the source point when it is determined that correction is needed to obtain the correction point of the source point by using the error law to compensate the registration point.

6. A robot welding trajectory correction device, characterized in that, The method includes a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor, when executing the program, implements the steps of the method according to any one of claims 1-4.