Intelligent control method and system for digitized woodworking cutting equipment

Through multi-view scanning and point cloud data processing, the tool path is dynamically adjusted to solve the unevenness problem of traditional cutting equipment when cutting natural oak splicing boards, achieving an efficient and precise cutting process, and improving product consistency and processing efficiency.

CN120318811BActive Publication Date: 2025-10-17ZHONGPIN INTELLIGENT MASCH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510361207.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-26
Publication Date
2025-10-17
Estimated Expiration
2045-03-26

AI Technical Summary

Technical Problem

Traditional cutting equipment has difficulty adapting to the uneven areas of natural oak panels when cutting them, resulting in unstable cutting quality, high rework rates, large differences in manual measurement and path planning among different workers, and poor product consistency.

Method used

Multi-view scanning is used to acquire point cloud data, and a triangular mesh is generated through least squares plane fitting and octagonal space partitioning. Combined with DBSCAN clustering and vector cross product verification, key points are determined, reference surfaces and virtual coordinate systems are constructed, and the tool path is dynamically adjusted to compensate for uneven areas.

Benefits of technology

It realizes the automation process of cutting equipment, reduces manual measurement time, improves processing efficiency and product consistency, ensures cutting accuracy, reduces rework rate, and adapts to dynamic changes in the plate surface.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120318811B_ABST
    Figure CN120318811B_ABST
Patent Text Reader

Abstract

The application provides a kind of digital woodworking cutting equipment intelligent control method and system, it is related to intelligent control technical field, the method includes: through the least square method plane fitting of point cloud data, initial normal vector is calculated, combined with octagonal space division and poisson equation solution generation triangle grid, least square optimization normal vector is used, candidate key points are extracted by geometry feature analysis, and are finally determined three non-collinear key points by DBSCAN clustering and vector cross product verification;According to the coordinate information of three key points, the first reference surface of the surface of board is constructed;Based on the spatial position and attitude parameter of the first reference surface, a virtual coordinate system matching the first reference surface is generated, and a second reference surface of the board is constructed in the virtual coordinate system;The matching relationship between the first reference surface and the second reference surface is calculated by coordinate transformation algorithm.The application realizes adaptive adjustment of tool posture and curved surface normal vector, improves cutting flexibility and qualified rate.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of intelligent control, in particular to a digital woodworking cutting equipment intelligent control method and system. BACKGROUND

[0002] In the production of a batch of high-end solid wood desks, the desktop uses natural oak spliced boards, and it is required to cut out a wavy edge to match the design style. Due to the natural characteristics of wood (such as knots, uneven texture) and deformation in the processing process (such as drying shrinkage, splicing stress), there are significant uneven areas on the surface of the board (the maximum height difference is up to 5mm). The traditional cutting equipment (three-axis CNC machine tool) has poor adaptability to curved surface changes during cutting, so the cutting quality is unstable, and the rework rate is as high as 40%.

[0003] The traditional operation process is as follows:

[0004] The worker manually measures the key dimensions (such as length, width, thickness) and uneven areas (such as local concave, convex) of the board using a caliper, level and other tools, so it takes 30 minutes to complete the measurement of a single board, and multiple repeated verifications are required.

[0005] During the path planning stage, the worker manually adjusts the cutting path in the CAD software according to the measurement data, trying to compensate for the uneven areas, so the way different workers adjust the path is quite different, resulting in poor product consistency. SUMMARY

[0006] The technical problem to be solved by the present application is to provide a digital woodworking cutting equipment intelligent control method and system, which realizes adaptive adjustment of tool posture and curved surface normal vector, and improves cutting flexibility and qualification rate.

[0007] To solve the above technical problems, the technical solution of the present application is as follows:

[0008] In a first aspect, a digital woodworking cutting equipment intelligent control method, the method comprising:

[0009] Multi-view scanning is performed on the surface of the board to obtain point cloud data in a unified coordinate system covering the entire surface of the board;

[0010] An initial normal vector is calculated by least squares plane fitting of the point cloud data, a triangular mesh is generated by combining octagonal space division and Poisson equation solving, candidate key points are extracted by least squares optimization of the normal vector and geometric feature analysis, and finally three non-collinear key points are determined through DBSCAN clustering and vector cross product verification;

[0011] A first reference surface of the board surface is constructed according to the coordinate information of the three key points;

[0012] Generate a virtual coordinate system matching the first reference surface based on the spatial position and attitude parameters of the first reference surface, and construct a second reference surface of the board in the virtual coordinate system;

[0013] Calculate the matching relationship between the first reference surface and the second reference surface through a coordinate transformation algorithm, including the displacement, rotation and plane normal direction deviation of the first reference surface and the second reference surface;

[0014] Generate a cutting path correction instruction according to the matching relationship, adjust the tool path of the cutting equipment to compensate for the uneven area deviation of the board surface, and finally output the corrected cutting instruction.

[0015] Further, the initial normal vector is calculated by the least square method plane fitting of point cloud data, the triangular mesh is generated by combining octagonal space division and Poisson equation solving, the candidate key points are extracted by using least square optimization method vector and geometric feature analysis, and finally three non-collinear key points are determined through DBSCAN clustering and vector cross product verification, including:

[0016] For each point in the point cloud data, select its neighboring points around it, and for each point's neighboring point set, use the least square method to fit a local plane, and calculate the normal vector of the local plane as the corresponding initial normal vector;

[0017] According to the initial normal vector, the space where the point cloud data is located is divided into an octagonal structure, and each unit corresponds to a sampling point in the point cloud; each point in the point cloud data is assigned to the corresponding octagonal unit;

[0018] For the spatial position in each octagonal unit, a vector field value is generated according to the weighted average of the surrounding point cloud normal vectors;

[0019] Based on the octagonal structure and the vector field value, the Poisson equation is discretized into a linear equation set, and the equation set is solved by the conjugate gradient method to obtain the scalar value at the center point of each octagonal unit. In the scalar field, an isosurface with a scalar value of 0 is extracted to generate a triangular mesh;

[0020] According to the initial normal vector, the geometric properties of each vertex in the polygonal mesh are standardized to obtain the preprocessed geometric properties; the geometric properties include coordinates, normal vectors and curvatures;

[0021] According to the preprocessed geometric properties, the feature points on the surface are identified as candidate key points through geometric feature analysis, including extreme value points, curvature extreme value points and boundary points;

[0022] The candidate key points are clustered and screened by the DBSCAN algorithm to obtain the initially screened candidate points;

[0023] According to the candidate points after preliminary screening, the volume of the three vectors is calculated by vector cross product, and three non-collinear key points are determined according to the volume of the three vectors.

[0024] Furthermore, based on the initial normal vector, the space where the point cloud data resides is divided into an octagonal structure, where each unit corresponds to a sampling point in the point cloud; each point in the point cloud data is assigned to a corresponding octagonal unit, including:

[0025] Filter sampling points from the point cloud data, and the sampling points will be used as the center of the octagonal structure;

[0026] The initial normal vector of the sampling point is used as the Z axis of the local coordinate system, and the two directions perpendicular to the initial normal vector are determined as the X axis and Y axis of the local coordinate system;

[0027] Define a plane with the sampling point as the center and in the direction of its normal vector. On this plane, define a regular octagonal area with the sampling point as the center. For each point in the point cloud data, perform the following operations:

[0028] Calculate the distance from each point in the point cloud data to all sampling points, and determine the corresponding sampling point. Convert the corresponding sampling point to the local coordinate system of the target sampling point, "translate" the corresponding sampling point to the plane where the octagon is located, and determine whether the corresponding sampling point falls within the boundary of the octagon. If the corresponding sampling point is inside the octagon, assign it to the octagon unit. If the corresponding sampling point is not inside any octagon, ignore it.

[0029] Furthermore, for each spatial position in the octagonal unit, a vector field value is generated based on the weighted average of the normal vectors of the surrounding point clouds, including:

[0030] For each octagonal unit, obtain all the point cloud data points it contains and extract the normal vectors of the point cloud data points as input data for calculating the vector field value;

[0031] For the center point of each octagonal unit, a spatial range is defined; within the spatial range, all point cloud data points are collected; the weight of each point cloud data point is calculated based on the distance from the point cloud data point to the unit center point, the normal vector is multiplied by the weight, and the result is added to the zero vector, the weight is added to the scalar accumulator, and the accumulated vector is divided by the value of the scalar accumulator to obtain the weighted average vector;

[0032] The calculated weighted average vector is used as the vector field value of the center point of the octagonal unit.

[0033] Further, based on the octagonal structure and the vector field value, the Poisson equation is discretized into a linear equation set, the equation set is solved by the conjugate gradient method to obtain the scalar value at the center point of each octagonal element; an isosurface with a scalar value of 0 is extracted in the scalar field to generate a triangular mesh, including:

[0034] The center point of each octagonal element is regarded as a mesh node, the mesh nodes are connected through adjacent relationship to form a discrete mesh structure;

[0035] According to the vector field value, the "source term" at each node, i.e. the divergence of the vector field, is determined;

[0036] Each node corresponds to an equation, and the form of the equation is that the difference between the scalar value of each node and the scalar value of its adjacent node is equal to the source term;

[0037] For the boundary node, a fixed scalar value is set, an initial scalar value is determined for each node, which is set to 0; the residual of each node, i.e. the difference between the actual value and the source term, is calculated;

[0038] According to the residual, the scalar value of each node is updated to gradually approach the solution of the equation, and the iteration is repeated until a preset number of iterations is reached. After the iteration is completed, the scalar value of each node is the value of the scalar field to be solved. The scalar value of each node is checked to find the node with a scalar value close to 0. For the node with a scalar value near 0, the position of the isosurface passing through the mesh is determined by linear interpolation. The isosurface is located between adjacent nodes, and the mesh edge through which the isosurface passes is marked as part of the isosurface;

[0039] All edges marked as part of the isosurface are collected, and the topological structure of the isosurface is determined according to the connection relationship of the edges. The Delaunay triangulation method is used to connect the isosurface edges into triangles.

[0040] Further, according to the coordinate information of the three key points, a first reference surface of the plate surface is constructed, including:

[0041] The three-dimensional coordinates of the three non-collinear key points are obtained;

[0042] According to the three-dimensional coordinates, the plane equation parameters are solved by the vector cross product method;

[0043] According to the plane equation parameters, the plane equation is converted into a geometric object as the first reference surface of the plate surface.

[0044] Further, based on the spatial position and attitude parameters of the first reference surface, a virtual coordinate system matching the first reference surface is generated, and a second reference surface of the plate is constructed in the virtual coordinate system, including:

[0045] From the geometric object of the first reference surface, the spatial position information thereof is acquired, and the spatial position information includes the coordinates of a known point on the plane; a normal vector of the first reference surface is extracted, and the normal vector of the first reference surface represents the direction of the plane and is used to define the Z-axis direction of the virtual coordinate system;

[0046] A vector perpendicular to the Z-axis is calculated through vector cross product as the X-axis direction vector of the virtual coordinate system; the Z-axis direction vector and the X-axis direction vector are used to perform cross product to obtain the Y-axis direction vector of the virtual coordinate system; and the known point on the first reference surface is taken as the origin of the virtual coordinate system;

[0047] According to the actual shape of the plate, the relative position of the second reference surface in the virtual coordinate system is determined, and according to the origin, the X-axis, the Y-axis and the Z-axis direction vectors of the virtual coordinate system, and the relative position parameters of the second reference surface, the actual position of the second reference surface in space is calculated;

[0048] According to the actual position of the second reference surface in space, the geometric object of the second reference surface is defined in the three-dimensional space, including the normal vector, the intercept and the boundary range thereof.

[0049] The second aspect is a digital wood cutting equipment intelligent control system, comprising:

[0050] The acquisition module is configured to perform multi-view scanning on the surface of the plate to obtain point cloud data in a unified coordinate system covering the entire surface of the plate;

[0051] The calculation module is configured to calculate an initial normal vector through least square plane fitting of the point cloud data, generate a triangular mesh through octagonal space division and Poisson equation solving, extract candidate key points through least square optimization of the normal vector and geometric feature analysis, and finally determine three non-collinear key points through DBSCAN clustering and vector cross product verification;

[0052] The construction module is configured to construct a first reference surface of the surface of the plate according to the coordinate information of the three key points;

[0053] The virtual module is configured to generate a virtual coordinate system matched with the first reference surface based on the spatial position and attitude parameters of the first reference surface, and construct a second reference surface of the plate in the virtual coordinate system;

[0054] The transformation module is configured to calculate a matching relationship between the first reference surface and the second reference surface through a coordinate transformation algorithm, including displacement, rotation and deviation of the normal direction of the plane of the first reference surface and the second reference surface;

[0055] The adjustment module is configured to generate a cutting path correction instruction according to the matching relationship, adjust the tool path of the cutting equipment to compensate for the deviation of the uneven area of the surface of the plate, and finally output the corrected cutting instruction.

[0056] In a third aspect, a computing device comprises:

[0057] one or more processors;

[0058] a memory storage for storing one or more programs, which when executed by the one or more processors, cause the one or more processors to implement the method.

[0059] In a fourth aspect, a computer readable storage medium stores a program, which when executed by a processor, implements the method.

[0060] The above scheme of the present application at least has the following beneficial effects.

[0061] The multi-view scanning technology is adopted to obtain point cloud data covering the entire plate surface, so as to ensure complete capture of the curved surface details and avoid errors caused by local shielding or omission in traditional measurement. The octagonal space division and Poisson equation solving are combined to generate smooth triangular meshes, so as to accurately restore the plate curved surface shape; the candidate key points are comprehensively screened through the analysis of the extreme value of elevation, the extreme value of curvature and the boundary points, so as to improve the robustness of key point extraction; the DBSCAN clustering is used to remove noise points, and the vector cross product is used to verify the non-collinearity of three points, so as to ensure the accuracy and stability of key point selection.

[0062] A first reference surface is constructed based on the key points, and a virtual coordinate system matched with the first reference surface is generated, so as to realize accurate positioning of the local features of the curved surface; the displacement, rotation and normal direction deviation of two reference surfaces are accurately calculated through a coordinate transformation algorithm, so as to provide a quantitative basis for path correction; correction instructions are generated according to the matching relationship, the tool path is dynamically adjusted, the deviation of the uneven area of the plate surface is effectively compensated, the cutting accuracy is ensured, the corrected cutting instructions are directly output, the mainstream CNC equipment is compatible, the manual intervention is reduced, and the processing efficiency is improved.

[0063] The automatic process reduces the manual measurement and adjustment time, the single-piece processing cycle is shortened by 40%, the overall production capacity is significantly improved, the whole process from scanning to path correction is automated, human errors are reduced, the consistency of different batches of products is ensured, the leading technologies such as laser scanning, point cloud processing, geometric algorithm and coordinate transformation are integrated, a complete digital solution is formed, a closed-loop system from data acquisition, analysis to instruction output is realized, and dynamic optimization of the cutting process is realized. BRIEF DESCRIPTION OF DRAWINGS

[0064] Figure 1 is a flowchart of an intelligent control method of a digital woodworking cutting device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0065] Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0066] like Figure 1 As shown, an embodiment of the present invention provides an intelligent control method for digital woodworking cutting equipment, the method comprising the following steps:

[0067] Step 1: Scan the plate surface from multiple perspectives to obtain point cloud data in a unified coordinate system covering the entire plate surface;

[0068] Step 2: Calculate the initial normal vector by least squares plane fitting of the point cloud data. Combine octagonal space partitioning with the solution of the Poisson equation to generate a triangular mesh. Use least squares optimization of the normal vector and geometric feature analysis to extract candidate key points. Finally, three non-collinear key points are determined through DBSCAN clustering and vector cross product verification.

[0069] Step 3: construct a first reference surface of the plate surface based on the coordinate information of the three key points;

[0070] Step 4: Based on the spatial position and posture parameters of the first reference surface, a virtual coordinate system matching the first reference surface is generated, and a second reference surface of the plate is constructed in the virtual coordinate system;

[0071] Step 5: Calculate the matching relationship between the first reference surface and the second reference surface using a coordinate transformation algorithm, including the displacement, rotation, and plane normal deviation between the first reference surface and the second reference surface;

[0072] Step 6: Generate a cutting path correction instruction based on the matching relationship, adjust the tool path of the cutting device to compensate for the deviation of the uneven area on the surface of the plate, and finally output the corrected cutting instruction.

[0073] In an embodiment of the present invention, step 1 ensures that the surface of the plate (including complex curved surfaces and hidden areas) is completely covered through multi-view scanning, avoids omission problems in traditional single-point measurement, aligns the multi-view point cloud to a unified coordinate system, and eliminates data splicing errors; the automated scanning process replaces manual measurement, reduces human errors, and improves data acquisition efficiency (single-piece scanning time is shortened to within 5 minutes). Step 2, the least squares plane fitting quickly estimates the local surface normal vector, provides initial direction information for subsequent mesh generation, and combines octagonal space division with the Poisson equation to generate a continuous, hole-free triangular mesh, accurately restoring the surface shape (surface fitting error ≤ 0.1mm); integrates elevation extremes, curvature extremes, and boundary point analysis to ensure that candidate key points cover key features of the surface, DBSCAN clustering removes noise points, and vector cross product verifies the non-collinearity of three points, thereby improving the accuracy and stability of key point selection (key point positioning error ≤ 0.05mm). Step 3: Construct a first reference surface based on three non-collinear key points to provide a stable geometric benchmark for the local features of the surface, transforming the three-dimensional surface problem into a two-dimensional plane problem, reducing the computational complexity of subsequent path planning. Regardless of how the sheet surface deforms, the first reference surface can dynamically adapt to its local geometric features. Step 4: Generate a virtual coordinate system based on the spatial position and posture parameters of the first reference surface to achieve adaptive alignment of the tool path and the surface normal vector. Construct a parallel or offset second reference surface in the virtual coordinate system to simulate the ideal cutting plane and provide a target benchmark for path correction. The virtual coordinate system can be updated in real time with the first reference surface to adapt to dynamic changes in the sheet surface.

[0074] Step 5: Through the coordinate transformation algorithm, the displacement, rotation, and normal direction deviation of the two reference surfaces are accurately calculated (the deviation detection accuracy reaches 0.01mm), and a global distribution map of the surface deviation is generated to provide a quantitative basis for subsequent path correction. The deviation calculation can be embedded in the cutting process to achieve dynamic path adjustment and improve processing stability. Step 6: Based on the matching relationship, correction instructions are generated to dynamically adjust the tool path to effectively compensate for the deviation of the uneven surface area of ​​the plate (the path correction accuracy reaches 0.02mm). The correction instructions are directly compatible with mainstream CNC equipment, without the need for hardware modification, lowering the application threshold. Through the "scan-analysis-correction-output" closed-loop process, continuous optimization of the cutting process is achieved, improving processing consistency and qualified rate.

[0075] In another preferred embodiment of the present invention, the specific implementation process of the above step 1, multi-view scanning to obtain point cloud data, is as follows:

[0076] Use a high-precision three-dimensional laser scanner (such as FARO Focus M70 or Leica BLK2GO) with the following parameters: scanning accuracy: ±0.05 mm; scanning range: 0.6 m-30 m (select according to the size of the plate); scanning speed: 1,000,000 points / second; fix the plate on a 360° rotatable workbench (such as a CNC rotary table), and the scanner is fixed in front of the plate by a tripod, ensuring that the initial field of view covers the center area of the plate.

[0077] Initial scanning:

[0078] Start the scanner, take the center of the plate as the origin, collect the first perspective point cloud data (about 1 million points), resolution 0.1 mm, exposure time automatically optimized, rotate the workbench (45° each time), and sequentially collect point cloud data of 8 perspectives. After each perspective scanning is completed, record the scanner position and attitude (through the built-in IMU or external marker points); use the scanner's built-in marker points (such as reflective target balls) or plate edge features to preliminarily align the multi-perspective point cloud, use the Iterative Closest Point (ICP) algorithm, set the initial threshold to 5 mm, and perform global rough alignment; on the basis of rough alignment, use local feature matching (such as FPFH feature) to enhance alignment accuracy, set the ICP convergence threshold to 0.05 mm, and the upper limit of iteration times to 50 times; take the lower left corner of the plate as the origin, X axis along the length direction of the plate, Y axis along the width direction, and Z axis perpendicular to the plate surface, establish a unified coordinate system, fit the plate plane by least squares method, and determine the direction of Z axis normal vector. Apply statistical filtering algorithm to remove outliers (such as dust, reflective points):

[0079] Calculate the average distance of each point's k-neighborhood (k=50), and remove points with distance mean exceeding 2 times standard deviation; for scanning blind areas or occluded areas, use radial basis function (RBF) interpolation method to fill in: identify the boundary points of the hole, generate constraints, and interpolate to generate smooth transition point cloud data; use VoxelGrid downsampling, reduce the point cloud density to 0.5 mm interval, and reduce the calculation amount.

[0080] Randomly select 10% of the point cloud data and compare it with the original scanning data to verify that the alignment error is ≤0.05 mm, ensure seamless splicing of multi-perspective point cloud through cross-validation (Cross-Validation), output point cloud files in unified coordinate system (format: PLY or ASCII), including XYZ coordinates and normal vector information, generate point cloud density distribution map, mark high-density area (such as edge) and low-density area (such as hole).

[0081] In the embodiments of the present application, the step 2 above can include:

[0082] Step 21, for each point in the point cloud data, selecting its surrounding neighboring points, for each point, using the least square method to fit a local plane for the neighboring point set of each point, calculating the normal vector of the local plane as the corresponding initial normal vector, wherein the point cloud data P = {p i ∣p i ∈R 3 ,i = 1, 2, …, N}, each point p i = (x i ,y i ,z i ); using the k-NN algorithm to select the neighborhood points; for each point p i , obtaining the neighborhood point set N i = {p j ∣p j -p i ≤ r, j ≠ i}, wherein r is the neighborhood radius (which can be dynamically calculated as r = 3 × average point distance); converting the neighborhood point coordinates into homogeneous form p j = (x j ,y j ,z j , 1), constructing a design matrix A and an observation vector b:

[0083]

[0084] using the least square method to solve wherein, if close to singular (such as point collineation), adding a regularization term λI (λ = 10 -6 ), wherein,

[0085] extracting the normal vector:

[0086] the plane normal vector is n' = (a, b, -1).

[0087] normalization: n i = n' / n'.

[0088] direction consistency adjustment:

[0089] ensuring that the normal vector points to the outside of the curved surface (such as above the surface of the plate):

[0090] calculating the neighborhood point centroid If then flip the normal vector: n i ←-n i , assign an initial normal vector n i to each point p i , generate a normal vector field N = {n i ∣i=1,2,…,N}, where k represents the number of neighborhood points; j represents the neighborhood point index, traversing the neighborhood point set; a, b and c represent the plane equation coefficients, defining the local plane; denotes the matrix transpose symbol; I denotes the unit matrix, used for regularization.

[0091] Step 22, according to the initial normal vector, divide the space where the point cloud data is located into an octagonal structure, each unit corresponds to a sampling point in the point cloud; assign each point in the point cloud data to the corresponding octagonal unit;

[0092] Step 23, for the spatial position in each octagonal unit, generate a vector field value according to the weighted average of the surrounding point cloud normal vectors;

[0093] Step 24, based on the octagonal structure and the vector field value, discretize the Poisson equation into a linear equation system, solve the equation system by the conjugate gradient method, and obtain the scalar value at the center point of each octagonal unit; extract the isosurface with a scalar value of 0 in the scalar field to generate a triangular mesh;

[0094] Step 25, according to the initial normal vector, standardize the geometric properties of each vertex in the polygonal mesh to obtain the preprocessed geometric properties; the geometric properties include coordinates, normal vectors and curvatures, which specifically include: traverse all vertices, accumulate their coordinate values, divide by the total number of vertices to obtain the centroid (center point) of the mesh, subtract the centroid coordinates from the coordinates of each vertex to move the mesh centroid to the origin, find the vertex farthest from the origin, calculate its distance to the origin as a scaling factor, divide the coordinates of all vertices by the factor to adapt the mesh to the unit sphere, for each vertex, take the average position of its neighborhood vertices as the reference point, check if the normal vector of the vertex points outward (such as by dot product), if the directions are opposite, flip the normal vector, adjust the length of each normal vector to 1 to ensure it is a unit vector; for each vertex, calculate the degree of change of its neighborhood face normal vectors (such as the angle between the normal vectors) as the average curvature value of the vertex, find the maximum and minimum values of the curvature, linearly scale the curvature values of all vertices to between 0 and 1.

[0095] Step 26, according to the pre-processed geometric properties, the feature points of the surface are identified as candidate key points through geometric feature analysis, the candidate key points include elevation extreme points, curvature extreme points and boundary points, specifically including: traversing all vertices, finding the vertex with the maximum z coordinate, marking it as the elevation maximum value point, similarly, finding the vertex with the minimum z coordinate, marking it as the elevation minimum value point, setting a curvature threshold (such as 0.9), traversing all vertices, marking the vertices with curvature values exceeding the threshold as curvature extreme points, for each vertex, counting the number of neighborhood edges, if the number is significantly less than the average number of edges (such as 1 less), marking it as a boundary point.

[0096] Step 27, the candidate key points are clustered and screened through DBSCAN algorithm to obtain the preliminary screened candidate points, specifically including: setting the neighborhood radius (such as 2 times the average point distance) and the minimum number of points (such as 5), taking the candidate key points as input, executing the DBSCAN clustering algorithm, dividing the points into multiple clusters, traversing all clusters, retaining clusters with a number of points exceeding a set threshold (such as 10), discarding small clusters, merging all points in the retained clusters to form the preliminary screened candidate point set.

[0097] Step 28, according to the preliminary screened candidate points, the volume of the three vectors is calculated through vector cross product, and three non-collinear key points are determined according to the volume of the three vectors, specifically including: taking three points from the preliminary screened candidate points, taking the first point as the reference, calculating the vectors of the second point and the third point relative to the first point, calculating the cross product of the two vectors, then taking the dot product with the normal vector of the first point to obtain the absolute value of the scalar triple product as the estimated value of the volume, setting a volume threshold (such as 0.001), if the calculated volume exceeds the threshold, considering that the three points are non-collinear, saving the three points that meet the conditions as non-collinear key points, repeating the above process until a sufficient number of non-collinear key points (such as 3) are found.

[0098] In the embodiment of the present application, step 21, the local surface normal vector is accurately extracted by fitting the neighborhood plane of each point by the least square method, which is suitable for the slight ups and downs of the plate surface, reduces the global noise interference by local fitting, and improves the robustness of the normal vector calculation (local error ≤0.1°). The initial normal vector serves as the basis for subsequent mesh generation and key point extraction, and directly affects the overall accuracy. Step 22, the octagonal structure is more suitable for natural curved surfaces than the traditional quadrilateral, reduces the sampling deviation, and improves the mesh smoothness. Each point is assigned to a unique octagonal element to speed up the subsequent vector field calculation and Poisson equation solving. The size of the octagonal element can be dynamically adjusted according to the point cloud density to balance the calculation efficiency and accuracy. Step 23, a smooth vector field is generated by weighted average of the neighborhood normal vector, which avoids the mesh distortion caused by sudden changes in the normal vector. The vector field value reflects the local change trend of the surface, providing continuous direction guidance for the isosurface extraction. The weighted average reduces the influence of outliers on the vector field, improving the quality of the subsequent mesh. Step 24, implicit solving of the Poisson equation ensures the global smoothness of the mesh, avoiding the stitching cracks in the explicit method. The conjugate gradient method quickly solves large sparse linear equations, and the single-piece mesh generation time is ≤10 seconds. The isosurface with a scalar value of 0 accurately restores the shape of the curved surface, and the mesh error is ≤0.05mm.

[0099] Step 25, convert the vertex coordinates to a unified reference to eliminate the coordinate offset introduced by mesh generation, standardize the normal vector length to 1, and ensure the accuracy of curvature calculation and feature analysis. Based on the optimized normal vector, the curvature is calculated to avoid abnormal curvature caused by the error of the initial normal vector. Step 26, integrate the extreme values of elevation, curvature, and boundary points to comprehensively capture the key features of the curved surface. Through cross-validation of multiple types of features, the single feature misjudgment (such as noise points misjudged as extreme points) is reduced, and it is ensured that the candidate points cover the significant feature area of the plate surface. Step 27, DBSCAN automatically filters outliers and retains key points in high-density feature areas without pre-setting the number of clusters, which is suitable for different feature distributions of plate surfaces. Step 28, through three-vector volume calculation, it is ensured that the key points are not collinear; non-collinear verification avoids the degeneration of the reference surface caused by the collinearity of three points (such as undefined normal vector), and automatically outputs the optimal combination of three points without manual intervention, which improves the standardization degree of the process.

[0100] In the embodiment of the present application, step 22, according to the initial normal vector, the space where the point cloud data is located is divided into an octagonal structure, and each element corresponds to a sampling point in the point cloud; each point in the point cloud data is assigned to the corresponding octagonal element, including:

[0101] Step 221, screening sampling points from the point cloud data, the sampling points will be the center of the octagonal structure, specifically including: dividing the bounding box of the point cloud data into a regular three-dimensional grid, the size of each grid unit is set according to the point cloud density (such as 1.5 times the average point distance); in each non-empty grid unit, select the point with the maximum z coordinate (or according to other characteristics such as curvature) as the sampling point, ensure that the sampling points are uniformly distributed and represent the local surface features, appropriately increase the sampling points in the area where the point cloud is sparse, avoid information loss caused by too large octagonal unit, before sampling, remove outliers from the point cloud, improve the quality of the sampling points.

[0102] Step 222, taking the initial normal vector of the sampling point as the Z axis of the local coordinate system, determining two directions perpendicular to the initial normal vector as the X axis and Y axis of the local coordinate system, specifically including: converting the initial normal vector of the sampling point into a unit vector to ensure its length is 1, selecting a direction (such as the average direction of the neighborhood points) that is not collinear with the normal vector in the neighborhood of the sampling point, calculating the perpendicular vector of the direction and the normal vector through the cross product as the candidate X axis, normalizing the candidate X axis and calculating the Y axis through the cross product to ensure that the X axis and the Y axis are perpendicular to each other and perpendicular to the normal vector, adjusting the direction of the X axis and the Y axis according to the right-hand rule to ensure the orthogonality of the local coordinate system.

[0103] Step 223, defining a plane in the direction of the normal vector of the sampling point, and defining a regular octagon region centered on the sampling point in the plane; for each point in the point cloud data, the following operations are performed:

[0104] Calculate the distance of each point in the point cloud data to all sampling points, and determine the corresponding sampling point, convert the corresponding sampling point to the local coordinate system of the target sampling point, "translate" the corresponding sampling point to the plane where the octagon is located, and judge whether the corresponding sampling point falls within the boundary of the octagon, if the corresponding sampling point is inside the octagon, assign it to the octagonal unit, if the corresponding sampling point is not inside any octagon, ignore, specifically including:

[0105] Define a plane with the sampling point as the center and the normal vector as the normal. This plane is used for subsequent point projection and octagonal boundary judgment. According to the distribution of the neighborhood points of the sampling point, set the radius of the octagon (such as half of the average distance of the neighborhood points). Calculate the coordinates of the eight vertices of the octagon at 45 degree intervals on the plane with the sampling point as the center. Store the vertices of the octagon in order to form a closed polygon boundary. Traverse each point in the point cloud, calculate the Euclidean distance of the point to all sampling points, select the sampling point with the smallest distance as the corresponding sampling point of the point, and convert the corresponding sampling point to the local coordinate system of the target sampling point. The specific steps are as follows:

[0106] Assume that the coordinates of the target sampling point are P s (x s , y s , z s ), and the coordinates of the point to be converted are P(x, y, z). The coordinates of the translated point P'(x', y', z') are calculated, where x' = x - x s ; y' = y - y s ; z' = z - z s . The result P'(x', y', z') is the coordinates of point P after translation to the local coordinate origin of the target sampling point.

[0107] Let the unit vectors of the X-axis, Y-axis, and Z-axis of the local coordinate system be These vectors have been calculated in step 222.

[0108] The rotation matrix R is:

[0109] Express the translated point P'(x', y', z') as a column vector P'(x', y', z'), and calculate the coordinates of the rotated point P"(x", y", z"), where The result P"(x", y", z") is the coordinates of point P after conversion to the local coordinate system.

[0110] The plane of the octagon is defined by the Z-axis of the local coordinate system (i.e., the direction of the normal vector). Project the rotated point P"(x", y", z") onto the plane of the octagon, i.e., ignore the z" component. The projected point coordinates are P proj (x", y"). From the projected point P proj (x", y"), emit a ray in any direction (e.g., horizontally to the right). Calculate the number of intersection points of the ray with the boundaries of the octagon. If the number of intersection points is odd, the point is inside the octagon. If it is even, the point is outside the octagon. Based on whether the point is inside the octagon or not, decide whether to assign it to the octagonal element. This includes:

[0111] If the point P proj (x", y") is inside the octagon, perform the assignment operation. If the point P proj (x", y") is not inside any octagon, ignore the point. Record the original coordinates of point P and related information (such as the normal vector, color, etc.) in the corresponding octagonal element.

[0112] In the embodiment of the present application, the octagon can cover the planar area more closely than the rectangle or hexagon at the same radius, reduce the space redundancy, the symmetry of the octagon makes it have consistent resolution in different directions, avoid directional deviation, take the normal vector of the sampling point as the Z axis, ensure that the octagon plane is consistent with the local surface direction, enhance the capture ability of the curved surface feature, the octagon area of each sampling point is independently defined, adapt to the complex curvature change of the point cloud surface. By calculating the distance from the point to the sampling point, the belonging unit of each point is quickly determined, global traversal is avoided, the point is converted to the local coordinate system of the sampling point, the distance calculation and boundary judgment are simplified, the point is "translated" to the plane where the octagon is located, the three-dimensional problem is converted into a two-dimensional problem, the calculation complexity is reduced, the symmetry of the octagon is used, and whether the point is in the boundary can be judged by simple coordinate comparison. The octagonal unit limits the distribution range of the point, reduces the influence of the noise point on the global result, the division mode based on the normal vector ensures that the points in the unit have similar geometric characteristics, improves the stability of subsequent processing, the octagonal area closely fits the local surface, can retain the subtle geometric features of the point cloud, and the regular shape of the octagon is convenient for processing the point cloud boundary and avoiding information loss. Each point is assigned to a specific octagonal unit to form a structured data storage, which is convenient for fast access and query, the adjacency relationship between the octagonal units is clear, which is convenient for neighborhood analysis and feature extraction, and subsequent processing (such as curved surface reconstruction and feature recognition) can be carried out in the unit, thereby reducing the calculation amount, the processing of each unit is independent of each other, easy to parallel, and the processing efficiency is improved.

[0113] In the embodiment of the present application, the step 23, for each space position in each octagonal unit, generates a vector field value according to the weighted average of the surrounding point cloud normal vectors, comprising:

[0114] Step 231, for each octagonal unit, obtaining all point cloud data points contained therein, extracting the normal vector of the point cloud data point as the input data for calculating the vector field value, specifically comprising: for each octagonal unit, obtaining the index of all point cloud data points contained therein, traversing each point cloud data point in the unit, and extracting the normal vector of the point cloud data point from the point cloud data, the normal vector is usually stored in the form of a three-dimensional vector, such as The extracted normal vector is stored in a list as the input data of the octagonal unit.

[0115] Step 232, for the center point of each octagonal unit, define a spatial range; collect all point cloud data points in the spatial range; calculate the weight of each point cloud data point according to the distance from the point cloud data point to the center point of the unit, multiply the normal vector by the weight, and accumulate it into the zero vector; accumulate the weight into the scalar accumulator; divide the accumulated vector by the value of the scalar accumulator to obtain the weighted average vector, specifically comprising: determining the coordinates C of the center point of the octagonal unitx ,c y ,c z ), define a spatial range, such as a sphere with the center point as the center and a radius of r, traverse the point cloud data, collect all point cloud data points falling within the spatial range, record the coordinates P i (x i ,y i ,z i ) and the normal vector For each collected point cloud data point P i , calculate its distance d i to the center point C, calculate the weight w i according to the distance d i , for example, use the inverse distance weight: where ∈ represents a small constant to avoid the denominator being 0; initialize a zero vector and a scalar accumulator W sum = 0, traverse all collected point cloud data points, and perform the following operations:

[0116]

[0117] W sum = W sum +w i ;

[0118] Divide the accumulated vector by the value of the scalar accumulator to obtain the weighted average vector where:

[0119] Step 233, take the calculated weighted average vector as the vector field value of the octahedral element center point, specifically including: assigning the calculated weighted average vector to the vector field value of the octahedral element center point, the vector field value is usually stored in the form of a three-dimensional vector, such as In the data structure of the octahedral element, add or update the vector field value field to store

[0120] In the embodiments of the present application, the weight is calculated according to the distance of the point cloud data point to the center point of the octagonal element, so that the points closer to the center point have a greater contribution to the vector field, the change of the vector field is smoothed, the points far from the center point (which may be noise or outliers) have a smaller impact on the vector field, and the robustness of the vector field is enhanced. The vector field values of adjacent octagonal elements have similarity due to the sharing of part of the point cloud data, ensuring the continuity of the vector field in space, and the smoothed vector field still retains the main features of the point cloud surface, such as curvature change and direction trend. Through weighted averaging, the point cloud normal vector in the octagonal element is aggregated into a representative vector, which accurately reflects the local surface direction of the region, and the weight calculation considers the spatial distribution of the points, so that the detailed features of the dense region are retained in the vector field. The spatial range can be dynamically adjusted according to the point cloud density and feature complexity, ensuring accurate capture of local features in different regions. Combined with different sizes of spatial range, multi-scale vector field analysis can be performed. Each octagonal element independently calculates the vector field value, avoiding the high complexity of global calculation and improving the processing efficiency. The vector field calculation of each element can be performed in parallel, fully utilizing the computing resources and speeding up the processing speed. Only the vector field values of the center points of the octagonal elements are stored, reducing the data amount and facilitating subsequent processing and analysis. The vector field provides the direction information of the point cloud surface, facilitating the extraction of geometric features such as edges and corner points. Through the rate of change of the vector field, the curvature of the point cloud surface can be estimated, enhancing the accuracy of feature recognition. The vector field value can be used as a normal constraint for surface reconstruction, improving the reconstruction accuracy and efficiency. The continuous vector field ensures smooth transition of the reconstructed surface, avoiding discontinuity or mutation.

[0121] In the embodiments of the present application, step 24, based on the octagonal structure and the vector field value, the Poisson equation is discretized into a linear equation set, and the equation set is solved by the conjugate gradient method to obtain the scalar value at each center point of the octagonal element; an isosurface with a scalar value of 0 is extracted in the scalar field to generate a triangular mesh, including:

[0122] Step 241, regarding each center point of the octagonal element as a mesh node, the mesh nodes are connected through adjacent relationships to form a discrete mesh structure, specifically including: traversing all octagonal elements to obtain the center point coordinates C i (x i ,y i ,z i ) of each element, regarding each center point as a mesh node, storing it in a node list, for each node, finding the center points of the adjacent octagonal elements, determining the adjacent relationship between the nodes through the shared edges or shared vertices between the elements, and storing the adjacent relationship in an adjacency matrix or adjacency list.

[0123] Step 242, according to the vector field value, determine the "source term" at each node, that is, the divergence of the vector field, specifically including: from the vector field value obtained in step 23, get the vector at each node For each node, calculate the divergence of its vector field In the discrete grid, the divergence can be approximated as:

[0124]

[0125] Where, where N(i) is the set of adjacent nodes of node i, is the normal vector between nodes i and j, A ij is the length or area weight of edge (i, j); store the calculated divergence value in the source term list as the right side term of the Poisson equation.

[0126] Step 243, each node corresponds to an equation, the form of the equation is: the difference between the scalar value of each node and the scalar value of its adjacent node is equal to the source term, specifically including: for each node i, construct the equation:

[0127] ∑ j∈N(i) w ij (s i -s j )=d i ;

[0128] Where, s i is the scalar value of node i, w ij is the weight (usually 1), d i is the source term; initialize a sparse matrix A to store the coefficients of the equation, traverse each node, fill the non-zero elements of matrix A according to its adjacency relationship, construct a vector b to store the source term d of each equation i .

[0129] Step 244, for the boundary nodes, set a fixed scalar value, determine an initial scalar value for each node, set to 0; calculate the residual of each node, that is, the difference between the actual value and the source term, specifically including: identify the boundary nodes (such as nodes located on the boundary), set a fixed scalar value for the boundary nodes, such as s i = 0, set the initial scalar value for all nodes, usually set to 0, calculate the residual r i of each node, that is, the difference between the actual value and the source term:

[0130] r i =∑ j∈N(i) w ij (s i -s j )-d i .

[0131] Step 245, according to the residual, update the scalar value of each node, gradually approach the solution of the equation, repeat the iteration until the preset iteration number is reached, after the iteration is finished, the scalar value of each node is the value of the scalar field, check the scalar value of each node, find the nodes whose scalar value is close to 0, for the nodes whose scalar value is near 0, determine the position of the isosurface passing through the grid by linear interpolation, the isosurface is located between adjacent nodes, mark the grid edge passing through the isosurface as part of the isosurface, which specifically includes:

[0132] Set the initial scalar value for all nodes, usually set to 0, this step ensures that the iteration process has a clear starting point, traverse each node, calculate its initial residual, the residual reflects the gap between the current scalar value distribution and the solution of Poisson equation, the initial residual is calculated based on the initial scalar value of the node and the source term, set a maximum iteration number, start the iteration loop, until the maximum iteration number is reached, in the first iteration, initialize the search direction as the initial residual vector, the search direction is used to guide the update direction of the scalar value, in each iteration, calculate a step size to determine the magnitude of the scalar value update, the step size depends on the current residual and the search direction, to ensure that the update is not too large or too small, along the search direction, update the scalar value of each node according to the calculated step size, the updated scalar value is closer to the solution of Poisson equation.

[0133] Use the updated scalar value to recalculate the residual of each node, the new residual reflects whether the gap between the current scalar value distribution and the solution has decreased, according to the new residual and the previous search direction, calculate a new search direction, which is used for the next iteration to continue to approach the solution, when the maximum iteration number is reached, or the residual converges to the set threshold, terminate the iteration, at this time, the scalar value of each node is the approximate solution of Poisson equation on the discrete grid, traverse all nodes, record the scalar value of each node, these scalar values constitute the scalar field, reflecting the distribution of the solution of Poisson equation on the grid, check the scalar value of each node, find the nodes whose scalar value is close to 0, these nodes may be located on the isosurface, which is the key to extracting the isosurface.

[0134] For each pair of adjacent nodes, check whether their scalar values are of opposite signs (one greater than 0 and the other less than 0), opposite signed node pairs indicate that the isosurface passes through the edge between them, for opposite signed node pairs, use linear interpolation to determine the specific position of the isosurface passing through the edge, linear interpolation is based on the scalar values of the two nodes and the distance between them to calculate a scaling factor, according to the scaling factor, determine the exact position of the isosurface on the edge, mark the edge passing through the isosurface as part of the isosurface, these marked edges will be used for subsequent isosurface construction. Traverse all grid edges, collect edges marked as part of the isosurface, these edges constitute the basic framework of the isosurface, according to the connection relationship of the edges, determine the topological structure of the isosurface, identify the boundary, holes and branches of the isosurface, etc.

[0135] Step 246, collect all edges marked as part of the isosurface, determine the topology of the isosurface based on the connection of edges, use the Delaunay triangulation method to connect the isosurface edges into triangles, which includes:

[0136] Traverse all edges in the grid, check if each edge is marked as part of the isosurface, these marks are usually completed in previous steps based on the determination of node pairs with different scalar values, store all marked edges in a list, each element in the list contains the information of the two endpoints (nodes) of the edge, ensure that each edge is stored only once to avoid duplication; Create a map to record which edges each node is connected to, which helps quickly find the adjacent edges and nodes of a certain node, start from any edge, traverse along the connection of edges, record the visited edges, until returning to the starting edge or unable to continue, if returning to the starting edge, form a closed loop, which may be the boundary or hole of the isosurface, if unable to return to the starting edge, it may indicate that the isosurface has multiple branches or unclosed areas, for unclosed areas, check if there are isolated edges or nodes, decide how to handle these areas according to application requirements, such as ignoring, repairing or marking as special areas; Extract all unique node coordinates from the collected edges, these nodes will be the input point set of Delaunay triangulation, sort the node coordinates, remove duplicate nodes to ensure that each node in the node list is unique, convert the node coordinates to a point set format suitable for Delaunay triangulation algorithm, for example, it can be stored as a list of two-dimensional or three-dimensional coordinates.

[0137] According to the requirements, select the Bowyer-Watson algorithm, which automatically calculates and generates a triangular mesh that satisfies the Delaunay condition (i.e. the circumcircle of each triangle does not contain other points), if you need to preserve the original isosurface edges as constraint edges (i.e. these edges must appear in the final triangular mesh), specify these constraint edges when triangulating.

[0138] In the embodiment of the present application, the continuous octagonal unit is converted into discrete grid nodes, which facilitates numerical calculation and equation discretization, the discrete grid structure reduces the complexity of calculation, and the discretization of the Poisson equation is more efficient; the divergence reflects the "source" or "sink" intensity of the vector field at a point, is an important parameter in the Poisson equation, and accurate calculation of the divergence ensures that the source term of the Poisson equation is consistent with the actual physical phenomenon, improves the accuracy of the solution, and the divergence calculation can adapt to different types of vector fields, thereby enhancing the universality of the method. The continuous Poisson equation is discretized into a linear equation set, which facilitates numerical solution, the equation only involves the node and its adjacent nodes, maintains the locality of the problem, reduces the calculation complexity, and the discretized equation set is usually sparse, so that the efficiency can be improved by using the sparse matrix solution technology. The scalar value of the fixed boundary node is ensured to be unique and stable, the initial value is set to 0, which simplifies the calculation process, and the conjugate gradient method is not sensitive to the initial value, and the residual reflects the gap between the current solution and the true solution, thereby providing a basis for iterative updating. The conjugate gradient method is an efficient iterative solution method, which is suitable for large sparse linear equation sets, and through iterative updating, the scalar value gradually approaches the true solution, thereby improving the accuracy of the solution, and the node with a scalar value close to 0 is found, thereby providing a basis for the extraction of the isosurface. The linear interpolation accurately determines the position of the isosurface passing through the grid, thereby improving the accuracy of the isosurface extraction, the topological structure of the isosurface is determined according to the connection relationship of the edges, thereby facilitating subsequent visualization and analysis, and the triangular mesh generated by the Delaunay triangulation method has high quality, avoids long and narrow triangles, and improves the stability and visualization effect of the mesh.

[0139] In the embodiment of the present application, the step 3 can comprise the following steps:

[0140] In the embodiment of the present application, the step 3 can comprise the following steps:

[0141] Step 32, according to the three-dimensional coordinates, the plane equation parameters are solved by vector cross product method, specifically including: calculating vector AB and vector AC; vector AB = B-A = (x2-x1, y2-y1, z2-z1); vector AC = C-A = (x3-x1, y3-y1, z3-z1); calculating the cross product of vector AB and vector AC to get the normal vector N of the plane, the result of the cross product is a vector perpendicular to AB and AC, which represents the direction of the plane, in actual operation, the direction of the cross product can be determined by the right-hand rule; the three components of the normal vector N correspond to the coefficients in the plane equation respectively, for example, if N = (a, b, c), then the plane equation is in the form of ax + by + cz + d = 0. The coordinates of point A are substituted into the plane equation to solve the constant term d, wherein d = -(ax1 + by1 + cz1).

[0142] Step 33, according to the plane equation parameters, the plane equation is converted into a geometric object as the first reference surface of the plate surface, specifically including: creating a plane geometric object in computer graphics or CAD software, defining the plane using the parameters (a, b, c, d) of the plane equation, setting other properties of the plane as needed, such as color, material, transparency, etc., which helps better display the plane during visualization and ensures that the plane passes through the three key points A, B, and C, which can be verified by substituting the coordinates of the three points into the plane equation, displaying the generated plane as the first reference surface of the plate surface in the software interface, which can be compared with other geometric objects or point cloud data to verify the accuracy of the plane.

[0143] In the embodiments of the present application, a plane can be uniquely determined by the three-dimensional coordinates of three non-collinear key points, the vector cross product method is used to solve the plane equation parameters, which avoids numerical instability and error accumulation, ensuring the accuracy of the plane equation, and directly using the three-dimensional coordinates of the key points reduces the measurement error of the intermediate links, and the accurate plane equation provides a reliable reference for subsequent processing, analysis and design. In plate processing, an accurate reference surface can ensure the accuracy of cutting, bending and other operations, improving product quality; the vector cross product method is an efficient method for calculating the normal vector of a plane, with small calculation amount and fast speed, compared with other methods (such as least squares method), the vector cross product method is more direct and efficient when dealing with three points, and the fast plane equation solving makes it possible to construct a reference surface in real time, which is suitable for application scenarios that require fast response.

[0144] In the embodiments of the present application, the above step 4, based on the spatial position and attitude parameters of the first reference surface, a virtual coordinate system matching the first reference surface is generated, and a second reference surface of the plate is constructed in the virtual coordinate system, including:

[0145] Step 41, obtaining the spatial position information of the first reference surface from the geometric object, the spatial position information including the coordinates of a known point on the plane; extracting the normal vector of the first reference surface, the normal vector of the first reference surface representing the direction of the plane, used to define the Z-axis direction of the virtual coordinate system, specifically including: obtaining the coordinates of a known point on the plane from the geometric object of the first reference surface, this point will be used as the candidate point of the origin of the virtual coordinate system, for example, selecting an angle point or a center point on the first reference surface as the known point. Extracting the normal vector of the first reference surface, the vector representing the direction of the plane, the normal vector will be used to define the Z-axis direction of the virtual coordinate system, in actual operation, the normal vector can be obtained through the geometric properties of the plane or calculation, to ensure its direction is correct.

[0146] Step 42, calculating a vector perpendicular to the Z-axis as the X-axis direction vector of the virtual coordinate system by vector cross product; performing cross product on the Z-axis direction vector and the X-axis direction vector to obtain the Y-axis direction vector of the virtual coordinate system; taking the known point on the first reference surface as the origin of the virtual coordinate system, specifically including: selecting a vector perpendicular to the Z-axis (normal vector) as the candidate direction of the X-axis, which can be obtained by selecting an arbitrary vector not in the direction of the normal vector, and then performing cross product with the normal vector to obtain a vector perpendicular to the Z-axis, in order to ensure the consistency of the direction, the direction of the X-axis can be selected according to the right-hand rule or specific rules. Perform cross product on the Z-axis direction vector and the X-axis direction vector to obtain the Y-axis direction vector, the Y-axis direction vector is perpendicular to the Z-axis and the X-axis, ensuring the orthogonality of the virtual coordinate system, taking the known point on the first reference surface as the origin of the virtual coordinate system, the selection of the origin should ensure the convenience and accuracy of subsequent calculation.

[0147] Step 43, determining the relative position of the second reference surface in the virtual coordinate system according to the actual shape of the plate, calculating the actual position of the second reference surface in space according to the origin, X-axis, Y-axis and Z-axis direction vectors of the virtual coordinate system, and the relative position parameters of the second reference surface, specifically including: determining the position relationship of the second reference surface relative to the first reference surface according to the actual shape of the plate and the processing requirements, for example, the second reference surface can be another plane, edge or specific feature surface of the plate, determining the position parameters of the second reference surface relative to the origin in the virtual coordinate system, these parameters can be distance, angle or specific geometric relationship, calculating the actual position of the second reference surface in space according to the origin, X-axis, Y-axis and Z-axis direction vectors of the virtual coordinate system, and the relative position parameters of the second reference surface, determining the specific position of the second reference surface by converting the relative position parameters into spatial coordinates.

[0148] Step 44, defining the geometric object of the second reference surface in three-dimensional space according to the actual position of the second reference surface in space, including its normal vector, intercept and boundary range, specifically including:

[0149] Three non-collinear points on the second reference surface: A (x1, y1, z1), B (x2, y2, z2), C (x3, y3, z3); calculate the vectors:

[0150] Vector AB = B - A = (x2 - x1, y2 - y1, z2 - z1);

[0151] Vector AC = C - A = (x3 - x1, y3 - y1, z3 - z1);

[0152] Vector cross product:

[0153] Calculate the cross product of vectors AB and AC to get the normal vector N, where N = AB x AC = (a, b, c), where:

[0154] a = (y2 - y1)(z3 - z1) - (z2 - z1)(y3 - y1);

[0155] b = (z2 - z1)(x3 - x1) - (x2 - x1)(z3 - z1);

[0156] c = (x2 - x1)(y3 - y1) - (y2 - y1)(x3 - x1);

[0157] According to the normal vector and a known point, calculate the intercepts of the plane equation on the three coordinate axes, the calculation process is as follows:

[0158] Plane equation:

[0159] Using the normal vector N = (a, b, c) and the point A (x1, y1, z1), the plane equation is:

[0160] a(x - x1) + b(y - y1) + c(z - z1) = 0;

[0161] After expansion, we get ax + by + cz + d = 0, where d = - (ax1 + by1 + cz1)

[0162] Calculate intercepts:

[0163] x-axis intercept (let y = 0, z = 0):

[0164] ax + d = 0, where x = -d / a, where (a ≠ 0);

[0165] y-axis intercept (let x = 0, z = 0):

[0166] by + d = 0, where y = -d / b, where (b ≠ 0);

[0167] z-axis intercept (let x = 0, y = 0):

[0168] cz+d=0, wherein z=-d / c, wherein (c≠0).

[0169] According to the actual shape and size of the plate, the boundary range of the second reference surface is determined, and the calculation process is as follows:

[0170] A plurality of boundary points on the second reference surface are obtained, which define the boundary of the plane, for example, the edge points of the plate, and a bounding box, a minimum bounding rectangle (MBR), is calculated:

[0171] The minimum and maximum x, y, and z coordinates of all boundary points are found, respectively: x min , x max , y min , y max , z min , and z max ; in the x-y plane, the boundary range is [x min , x max ]x[y min , y max ], and if the z direction needs to be considered, the boundary range is [x min , x max ]x[y min , y max ]x[z min , z max ].

[0172] In the embodiment of the application, the Z-axis direction and the origin of the virtual coordinate system are accurately defined by the normal vector of the first reference surface and the known point, the relative position of the second reference surface in the virtual coordinate system is determined, the actual position of the second reference surface in space is accurately calculated, direct complex calculation in space is avoided, and the positioning accuracy is improved. Vector calculation is performed in the virtual coordinate system, complex vector operation in space is avoided, the X-axis and Y-axis direction vectors are calculated by cross product, the definition process of the coordinate system is simplified, the relative position of the second reference surface in the virtual coordinate system is determined, which is more intuitive and simple than directly determining the position in space, the calculation complexity is reduced, and the calculation efficiency is improved.

[0173] Step 5 above calculates the matching relationship between the first reference surface and the second reference surface by a coordinate transformation algorithm, including the displacement, rotation and deviation value of the normal direction of the plane of the first reference surface and the second reference surface, which can include:

[0174] Three non-collinear points on the first reference surface are selected to determine their spatial positions, and the normal vector of the first reference surface is calculated to represent the direction of the plane. Similarly, three non-collinear points on the second reference surface are selected to determine their spatial positions, and the normal vector of the second reference surface is calculated.

[0175] In the first reference surface and the second reference surface, a corresponding feature point (for example, the center point or a corner point of the two surfaces) is selected on each surface. The straight-line distance and direction between the two corresponding points are measured, which is the displacement between the two reference surfaces. For example, "the second reference surface moves 10 mm in the positive direction of the X-axis, 5 mm in the negative direction of the Y-axis, and 2 mm in the positive direction of the Z-axis relative to the first reference surface."

[0176] The rotation angle and rotation axis required to rotate the first reference surface to coincide with the second reference surface are determined. The rotation axis is perpendicular to the plane determined by the normal vectors of the first reference surface and the second reference surface. It can be imagined as the "connecting line" direction between the two normal vectors. The angle between the two normal vectors is measured, which is the angle of rotation required. For example, "the second reference surface rotates 30 degrees around an axis (such as the axis pointing from the origin to (1, 1, 0)) relative to the first reference surface."

[0177] The difference between the normal vectors of the two reference surfaces is quantified. If the two normal vectors are not parallel, it indicates that there is a deviation in the direction of the two planes. For example, "the normal vector of the second reference surface deviates 20 degrees from the normal vector of the first reference surface in space, with a clockwise rotation around the Z-axis."

[0178] Step 6 above, generating a cutting path correction instruction according to the matching relationship, adjusting the tool path of the cutting equipment to compensate for the uneven area deviation of the plate surface, and finally outputting the corrected cutting instruction, can include:

[0179] The displacement vector from the first reference surface to the second reference surface is determined, such as "moving 10 mm in the positive direction of the X-axis, 5 mm in the negative direction of the Y-axis, and 2 mm in the positive direction of the Z-axis"; for each point on the cutting path, such as point A(x1, y1, z1):

[0180] Increase x1 by 10 mm to get the new x coordinate; decrease y1 by 5 mm to get the new y coordinate; increase z1 by 2 mm to get the new z coordinate, and the coordinates of the new position point A' are (x1+10, y1-5, z1+2). All the translated points form a new path point list, such as points A', B', C', etc.

[0181] Rotate the translated path around the specified rotation axis by the corresponding angle to make the direction of the path consistent with the second reference surface. The specific steps are as follows:

[0182] Determine the rotation axis and rotation angle. Given the direction of the rotation axis, such as "the direction from the origin to (1, 1, 0)", and the rotation angle, such as "rotate 30 degrees around the axis", the axis rotates (if the rotation axis coincides with the coordinate axis):

[0183] Rotation about the X-axis: Keep the X-coordinate constant, rotate the Y and Z coordinates in the plane.

[0184] Rotation about the Y-axis: Keep the Y-coordinate constant, rotate the X and Z coordinates in the plane.

[0185] Rotation about the Z-axis: Keep the Z-coordinate constant, rotate the X and Y coordinates in the plane.

[0186] Rotation about an arbitrary axis (if the rotation axis does not coincide with a coordinate axis):

[0187] Decompose the rotation into a combination of simple rotations, or use an intuitive method for three-dimensional rotation (such as imagining the object rotating about the axis).

[0188] Apply the rotation to each path point:

[0189] For each translated point, such as point A'(x1', y1', z1'):

[0190] Intuitive operation of rotating 30 degrees about the Z-axis:

[0191] In the X-Y plane, imagine the coordinates of point A'(x1', y1') as polar coordinates (r, θ), where r is the distance to the origin and θ is the angle. After rotation, the new angle is θ + 30 degrees, and r remains unchanged. Convert the polar coordinates back to rectangular coordinates to get the new (x1'', y1''), and the Z coordinate z1' remains unchanged. The coordinates of the new position point A'' are (x1'', y1'', z1'). Group all the rotated points to form a new list of path points, such as point A'', point B'', point C'', etc.

[0192] If there is a deviation in the normal direction, adjust the cutting angle or the local path to ensure the correct cutting depth or angle. The specific steps are as follows:

[0193] Determine the normal deviation. Given the normal direction deviation of the first reference surface and the second reference surface, for example, "the normal of the second reference surface is deviated by 20 degrees relative to the first reference surface, and the deviation direction is clockwise about the Z-axis", determine whether the normal deviation will affect the cutting depth or angle, for example, if the cutting needs to be perpendicular to the surface, and the normal deviation causes the cutting angle to be incorrect, adjustment is needed.

[0194] Adjust the cutting angle or path:

[0195] Adjust the cutting angle:

[0196] If the cutting device supports adjusting the angle of the cutting head, adjust the inclination angle of the cutting head according to the normal deviation, for example, tilt the cutting head by 20 degrees to match the normal direction of the second reference surface.

[0197] Adjust the local path:

[0198] If the cutting device does not support angle adjustment, it may be necessary to adjust the local shape of the path. For example, in areas with large normal deviations, slightly change the direction of the path to keep the cutting depth consistent.

[0199] , check the adjacent points on the path point by point to ensure smooth connections, for example, check the distance and angle changes between adjacent points to avoid sudden large-angle turns.

[0200] Convert the corrected path points into a command format that the cutting device can recognize. Select the appropriate command format according to the type of cutting device, such as G code. According to the command specifications of the device, convert the corrected path points into a command sequence. For example, the G01 command in the G code is used for linear interpolation. Specify the start and end point coordinates. Save the generated command as a file, such as "cut_path.nc". Ensure that the file format is correct and the device can read and execute it.

[0201] An embodiment of the present invention further provides an intelligent control system for digital woodworking cutting equipment, comprising:

[0202] The acquisition module is used to scan the plate surface from multiple perspectives to obtain point cloud data in a unified coordinate system covering the entire plate surface;

[0203] The calculation module is used to calculate the initial normal vector through least squares plane fitting of the point cloud data, generate a triangular mesh by combining octagonal space partitioning and solving the Poisson equation, extract candidate key points using least squares optimization of the normal vector and geometric feature analysis, and finally determine three non-collinear key points through DBSCAN clustering and vector cross product verification;

[0204] A construction module, used to construct a first reference surface of the plate surface according to the coordinate information of the three key points;

[0205] A virtual module, configured to generate a virtual coordinate system matching the first reference surface based on the spatial position and posture parameters of the first reference surface, and to construct a second reference surface of the plate in the virtual coordinate system;

[0206] A transformation module, configured to calculate a matching relationship between the first reference surface and the second reference surface through a coordinate transformation algorithm, including a displacement, a rotation, and a deviation value in a plane normal direction between the first reference surface and the second reference surface;

[0207] The adjustment module is used to generate a cutting path correction instruction based on the matching relationship, adjust the tool path of the cutting device to compensate for the deviation of the uneven area on the surface of the plate, and finally output the corrected cutting instruction.

[0208] The embodiment of the present application also provides a computing device, comprising a processor, a memory storing a computer program, the computer program being executed by the processor to perform the method as described above. All implementation manners in the above method embodiment are suitable for this embodiment and can achieve the same technical effects.

[0209] The embodiment of the present application also provides a computer readable storage medium storing instructions, which, when executed on a computer, cause the computer to perform the method as described above. All implementation manners in the above method embodiment are suitable for this embodiment and can achieve the same technical effects.

[0210] The above is the preferred embodiment of the present application, it should be pointed out that, for those skilled in the art, without departing from the principles of the present application, can make a number of improvements and refinements, these improvements and refinements should also be considered as the protection scope of the present application.

Claims

1. A digital woodworking cutting equipment intelligent control method, characterized in that: The method comprises: scanning the plate surface from multiple perspectives to obtain point cloud data in a unified coordinate system covering the entire plate surface; calculating an initial normal vector by least squares plane fitting of the point cloud data, generating a triangular mesh by combining octagonal space partitioning with the solution of the Poisson equation, extracting candidate key points by using least squares optimization of the normal vector and geometric feature analysis, and finally determining three non-collinear key points by DBSCAN clustering and vector cross product verification, including: normalizing the geometric attributes of each vertex in the polygonal mesh according to the initial normal vector to obtain pre-processed geometric attributes; the geometric attributes include coordinates, normal vectors and curvature; and extracting candidate key points according to the pre-processed normal vector. The processed geometric attributes are used to identify the feature points of the surface as candidate key points through geometric feature analysis. The candidate key points include elevation extreme points, curvature extreme points and boundary points. The candidate key points are clustered and screened through the DBSCAN algorithm to obtain the candidate points after preliminary screening. Based on the candidate points after preliminary screening, the volume of the three vectors is calculated through the vector cross product, and the three non-collinear key points are determined according to the volume of the three vectors. According to the coordinate information of the three key points, the first reference surface of the plate surface is constructed. Based on the spatial position and posture parameters of the first reference surface, a virtual coordinate system matching the first reference surface is generated, and the second reference surface of the plate is constructed in the virtual coordinate system, including :Get the spatial position information of the geometric object of the first reference surface, which includes the coordinates of a known point on the plane; extract the normal vector of the first reference surface, which represents the direction of the plane and is used to define the Z-axis direction of the virtual coordinate system; calculate a vector perpendicular to the Z-axis by the vector cross product, which is used as the X-axis direction vector of the virtual coordinate system; use the Z-axis direction vector and the X-axis direction vector for cross product to obtain the Y-axis direction vector of the virtual coordinate system; use the known point on the first reference surface as the origin of the virtual coordinate system; determine the relative position of the second reference surface in the virtual coordinate system according to the actual shape of the plate, and calculate the X-axis direction vector of the virtual coordinate system according to the virtual coordinate system. The actual position of the second reference surface in space is calculated based on the origin, X-axis, Y-axis and Z-axis direction vectors, and the relative position parameters of the second reference surface; according to the actual position of the second reference surface in space, the geometric object of the second reference surface is defined in three-dimensional space, including its normal vector, intercept and boundary range; the matching relationship between the first reference surface and the second reference surface is calculated through a coordinate transformation algorithm, including the displacement, rotation and plane normal direction deviation values ​​of the first reference surface and the second reference surface; a cutting path correction instruction is generated according to the matching relationship, the tool path of the cutting equipment is adjusted to compensate for the deviation of the uneven area of ​​the plate surface, and finally the corrected cutting instruction is output.

2. The intelligent control method for digital woodworking cutting equipment according to claim 1, characterized in that: The initial normal vector is calculated by least squares plane fitting of the point cloud data, and a triangular mesh is generated by combining octagonal space division with the solution of the Poisson equation, including: for each point in the point cloud data, the neighboring points around it are selected, and for the set of neighboring points of each point, a local plane is fitted using the least squares method, and the normal vector of the local plane is calculated as the corresponding initial normal vector; according to the initial normal vector, the space where the point cloud data is located is divided into an octagonal structure, and each unit corresponds to a sampling point in the point cloud; each point in the point cloud data is assigned to a corresponding octagonal unit; for the spatial position in each octagonal unit, a vector field value is generated based on the weighted average of the normal vectors of the surrounding point clouds; based on the octagonal structure and the vector field value, the Poisson equation is discretized into a system of linear equations, and the system of equations is solved by the conjugate gradient method to obtain the scalar value at the center point of each octagonal unit; the isosurface with a scalar value of 0 is extracted in the scalar field to generate a triangular mesh.

3. The intelligent control method for digital woodworking cutting equipment according to claim 2, characterized in that: According to the initial normal vector, the space where the point cloud data is located is divided into an octagonal structure, and each unit corresponds to a sampling point in the point cloud; Allocating each point in the point cloud data to a corresponding octagonal unit includes: screening sampling points from the point cloud data, where the sampling points will serve as the center of the octagonal structure; Take the initial normal vector of the sampling point as the Z axis of the local coordinate system, and determine the two directions perpendicular to the initial normal vector as the X axis and Y axis of the local coordinate system; define a plane with the sampling point as the center and in the direction of its normal vector, and on this plane, delineate a regular octagonal area with the sampling point as the center; for each point in the point cloud data, perform the following operations: calculate the distance from each point in the point cloud data to all sampling points, and determine the corresponding sampling point, convert the corresponding sampling point to the local coordinate system of the target sampling point, "translate" the corresponding sampling point to the plane where the octagon is located, and determine whether the corresponding sampling point falls within the boundary of the octagon. If the corresponding sampling point is inside the octagon, it is assigned to the octagon unit. If the corresponding sampling point is not inside any octagon, it is ignored.

4. The intelligent control method for digital woodworking cutting equipment according to claim 3, characterized in that: For the spatial position in each octagonal unit, a vector field value is generated based on the weighted average of the normal vectors of the surrounding point clouds, including: for each octagonal unit, all the point cloud data points contained in it are obtained, and the normal vectors of the point cloud data points are extracted as input data for calculating the vector field value; for the center point of each octagonal unit, a spatial range is defined; within the spatial range, all point cloud data points are collected; according to the distance from the point cloud data point to the unit center point, the weight of each point cloud data point is calculated, the normal vector is multiplied by the weight, and the result is added to the zero vector, the weight is accumulated in a scalar accumulator, and the accumulated vector is divided by the value of the scalar accumulator to obtain a weighted average vector; and the calculated weighted average vector is used as the vector field value of the center point of the octagonal unit.

5. The intelligent control method for digital woodworking cutting equipment according to claim 4, characterized in that: Based on the octagonal structure and vector field values, the Poisson equation is discretized into a system of linear equations. The conjugate gradient method is used to solve the system of linear equations to obtain the scalar value at the center point of each octagonal unit. Extract the isosurface with scalar value of 0 in the scalar field and generate a triangular mesh, including: treating the center point of each octagonal unit as a mesh node, connecting the mesh nodes through adjacent relationships to form a discrete mesh structure; determining the "source term" at each node according to the vector field value, that is, the divergence of the vector field; each node corresponds to an equation, the form of the equation is: the difference between the scalar value of each node and the scalar value of its neighboring nodes is equal to the source term; for the boundary nodes, set a fixed scalar value, determine an initial scalar value for each node, set to 0; calculate the residual of each node, that is, the difference between the actual value and the source term; based on the residual, update the value of each node. The scalar value of the point gradually approaches the solution of the equation, and the iteration is repeated until the preset number of iterations is reached. After the iteration, the scalar value of each node is the value of the scalar field to be sought. The scalar value of each node is checked, and the nodes with scalar values ​​close to 0 are found. For nodes with scalar values ​​near 0, the position where the isosurface passes through the grid is determined by linear interpolation. The isosurface is located between adjacent nodes, and the grid edge through which the isosurface passes is marked as part of the isosurface; all edges marked as part of the isosurface are collected, and the topological structure of the isosurface is determined based on the connection relationship of the edges. The isosurface edges are connected into triangles using the Delaunay triangulation method.

6. The intelligent control method for digital woodworking cutting equipment according to claim 5, characterized in that: Based on the coordinate information of the three key points, a first reference surface of the plate surface is constructed, including: obtaining the three-dimensional coordinates of the three non-collinear key points; solving the plane equation parameters through the vector cross product method based on the three-dimensional coordinates; and converting the plane equation into a geometric object based on the plane equation parameters as the first reference surface of the plate surface.

7. An intelligent control system for digital woodworking cutting equipment, characterized in that: The system executes the method according to any one of claims 1 to 6, comprising: an acquisition module for performing multi-view scanning on a plate surface to obtain point cloud data in a unified coordinate system covering the entire plate surface; a calculation module for calculating an initial normal vector by least squares plane fitting of the point cloud data, generating a triangular mesh by combining octagonal space partitioning with the solution of the Poisson equation, extracting candidate key points by least squares optimization of the normal vector and geometric feature analysis, and finally determining three non-collinear key points by DBSCAN clustering and vector cross product verification; a construction module for constructing a first reference surface on the plate surface based on the coordinate information of the three key points; a virtual module for generating a virtual coordinate system matching the first reference surface based on the spatial position and posture parameters of the first reference surface, and constructing a second reference surface of the plate in the virtual coordinate system; a transformation module for calculating a matching relationship between the first reference surface and the second reference surface by a coordinate transformation algorithm, including deviation values ​​of displacement, rotation, and plane normal direction between the first reference surface and the second reference surface; and an adjustment module for generating a cutting path correction instruction based on the matching relationship, adjusting the tool path of the cutting device to compensate for deviations in uneven areas of the plate surface, and finally outputting the corrected cutting instruction.

8. A computing device, characterized in that include: one or more processors; A storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Asphalt pavement structure depth measuring method

    CN112927366A

  • CAD and BIM coordinate automatic conversion method and system based on coordinate mapping

    CN119478285A