A Robotic Grinding Surface Path Planning Method Based on STL Model

By using topology reconstruction based on the STL model and cross-section method to plan the robot grinding path, the problem of low efficiency in planning complex freeform surfaces was solved, and a high-efficiency and high-quality grinding effect was achieved.

CN115933522BActive Publication Date: 2025-12-02ZHEJIANG UNIV OF TECH +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211710748.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-29
Publication Date
2025-12-02
Estimated Expiration
2042-12-29

AI Technical Summary

Technical Problem

Existing technologies struggle to efficiently plan the path for robots to polish complex free-form surfaces, resulting in low production efficiency and difficulty in guaranteeing surface quality.

Method used

The grinding path points are obtained by topology reconstruction and cross-section method based on STL model. The concavity and convexity are judged by Gaussian curvature value, and a reasonable grinding row spacing is planned to generate the robot grinding path.

Benefits of technology

It improves the efficiency of path planning and grinding quality for complex freeform surfaces, meeting the requirements for grinding efficiency and precision, and optimizes the robot program through simulation testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115933522B_ABST
    Figure CN115933522B_ABST
Patent Text Reader

Abstract

This invention discloses a robot grinding surface path planning method based on an STL model. The method involves topological reconstruction of the STL model, followed by path planning for complex freeform surfaces. The path planning for freeform surfaces includes topological reconstruction of the complex freeform surface STL model to be ground, dividing it into individual triangular facets. Paths are then generated by aggregating each facet. A cross-sectional algorithm is used for path generation of complex freeform surfaces, significantly improving the efficiency of path planning and enhancing both grinding efficiency and quality. The planned surface path point information is imported into offline robot simulation software for interference, collision, and limit detection. The program is modified based on the simulation results. If the simulation results are satisfactory, robot code is generated. Finally, the robot program is modified according to benchmarks and actual working conditions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robot path planning technology, specifically to a robot grinding surface path planning method based on an STL model. Background Technology

[0002] Three-dimensional models created using 3D software are processed into workpieces with complex free-form surfaces via machine tools or 3D printing. Currently, these workpieces with complex free-form surfaces are mainly completed manually by skilled and experienced workers. However, manual processing leads to low production efficiency and difficulties in guaranteeing the surface quality of complex free-form surfaces. Robotic grinding systems can solve these problems. This necessitates path planning for complex free-form surfaces within the robotic grinding system, which is one of the most crucial factors for achieving high-precision grinding. While powerful 3D software such as Solidworks and UG can be used for path planning of complex free-form surfaces, they lack practicality for various 3D models and cannot be tailored to specific engineering needs. The planning methods are relatively simplistic and inflexible. Therefore, this invention proposes a path planning method for STL models of complex free-form surfaces. Summary of the Invention

[0003] The purpose of this invention is to provide a robot grinding surface path planning method based on the STL model to solve the problems mentioned in the background art.

[0004] To achieve the above objectives, the present invention adopts the following technical solution:

[0005] A robot-based path planning method for polishing curved surfaces, based on an STL model, includes the following steps:

[0006] 1) STL model topology reconstruction:

[0007] 1.1) Input all the information of a triangular facet of a complex freeform surface STL model;

[0008] 1.2) If the triangular patch is not the first triangular patch, first store the normal vector of the triangular patch in its patch class, and then calculate the information of this patch, including the shape factor and area;

[0009] 1.3) When checking that the face is the first triangular face, first store the normal vector of the triangular face in the face class, then start from zero and edit the index number of these faces in order, so as to establish the topological relationship of the triangle vertices and edges of each face, and finally store the established triangle vertices and edges in the face class.

[0010] 1.4) Next, in S2, redundant vertex and edge information of the triangular facet is removed to complete the topological reconstruction of the vertices and edges of the triangular facet.

[0011] 1.5) Based on the removal of redundant vertex information and topology reconstruction, add the returned index values ​​of the current three vertices to the class of this triangle facet;

[0012] 1.6) For the vertices and edges of the triangle facets that have undergone topological reconstruction, store their index information in the facet class;

[0013] 1.7) Determine whether the face in the face class is the last triangle face. If not, proceed to S1 to continue topology reconstruction. Otherwise, complete the topology reconstruction of the model.

[0014] 2) Obtaining grinding path points from complex freeform surfaces based on STL models:

[0015] 2.1) First, substitute two points on one side of the triangular facet into the established cross-sectional expression;

[0016] 2.2) If the solution of the two points on this edge into the cross-section expression is 0, then the vertex of the triangle is exactly on the cross-section. Store this vertex in the corresponding data structure as the path point for polishing the curved surface.

[0017] 2.3) If the points on this side of the triangular facet are substituted into the cross-section expression and the solution is one positive and one negative, then this side intersects with the cross-section. At this time, the intersection point with the cross-section is solved according to the expression of this side, and the intersection point is stored in the corresponding data structure as the grinding surface path point.

[0018] 2.4) If the solution of all points on this edge of the triangular facet is 0 when substituted into the cross-section expression, then the two vertices of this edge are intersection points. The intersection points can be stored in the corresponding data structure as the path points for polishing the curved surface.

[0019] 2.5) If the points on this side of the triangular facet are substituted into the cross-section expression and the solution is all positive or all negative, then the cross-section has no intersection with this side and cannot be used as the path point for grinding the curved surface.

[0020] 2.6) When determining the edge of a triangular facet in a facet class, if it is the last edge, the grinding surface path planning for this cross-section is completed. If it is not the last edge, continue to execute the process of S1-S5 to solve all intersection points.

[0021] 2.7) Based on the previously solved optimal grinding line spacing, continue to solve for the intersection point of the next cross section and the complex freeform surface, and finally complete the acquisition of the entire complex freeform surface path.

[0022] Furthermore, the optimal sanding line spacing is calculated as follows:

[0023] Determine the concavity / convexity of the surface to be processed to obtain its properties. When grinding complex freeform surfaces, classify them into concave, convex, and flat surfaces based on the sign of the Gaussian curvature value. The method for planning the grinding row spacing for these three different surfaces is as follows:

[0024] Method for calculating the row spacing in convex surface grinding:

[0025]

[0026] Method for calculating line spacing in a plane:

[0027]

[0028] Method for calculating the row spacing in convex surface grinding:

[0029]

[0030] In the above formula, ΔL is the row spacing of the grinding surface path, ρ is the average radius of curvature between points P1 and P2 on two adjacent grinding path lines, r is the tool radius of the grinding mechanism, and h is the residual height of the surface path.

[0031] When using a plane to cut a surface, the path lines of two adjacent surfaces are parallel to each other, so the line spacing of the path points is the same. More than one line spacing can be calculated for two adjacent surface paths (the entire complex freeform surface has concave, convex, and planar surfaces, and different line spacings are calculated for different locations, thus a series of line spacings can be calculated. Therefore, for the entire surface, the minimum value is taken from these calculated line spacings). Therefore, to meet the quality requirements to the greatest extent, it is necessary to take the minimum value of all line spacings, i.e., min(ΔL1, ΔL3, ΔL3, ... ΔL). n The minimum line spacing is calculated and used as the line spacing between two adjacent surface paths.

[0032] Furthermore, the process of establishing the cross-sectional expression is as follows: Obtain the row spacing of the path of the polished surface of the complex freeform surface, and generate the corresponding cross-section based on these row spacings:

[0033] The grinding path for complex freeform surfaces is obtained by cross-sections. After obtaining the optimal grinding row spacing, different cross-sections are generated based on the row spacing. The intersection of the cross-sections with the STL model that has already completed topology reconstruction is the grinding path point.

[0034] The general expression for a cross section:

[0035]

[0036] Where a is the a-th path, ΔL b Let be the row spacing of the a-th path. Obtaining the grinding path points is equivalent to solving the problem of finding the intersection points of a line and a plane in space.

[0037] The beneficial effects of this invention are as follows:

[0038] This invention presents a robot grinding surface path planning method based on an STL model. The main content of this invention is to utilize an STL model of a complex freeform surface to be ground for surface path planning, thereby generating a robot grinding path. Path generation for complex freeform surfaces requires consideration of factors such as the curvature of the workpiece to be ground, the pose of the grinding tool, and the integrated force and position control. Simply using manual teaching methods cannot meet the efficiency and accuracy requirements of the workpiece to be ground. Among these factors, the curvature of the complex freeform surface has the greatest impact on the efficiency and accuracy of the workpiece to be ground. Therefore, this invention proposes to perform topology reconstruction on the STL model, and then perform path planning for the complex freeform surface based on this reconstruction. The path planning for freeform surfaces involves topologically reconstructing the complex freeform surface STL model to be polished, dividing it into individual triangular facets, and then aggregating each facet to generate a path. A cross-sectional algorithm is used to generate paths for complex freeform surfaces, which greatly improves the efficiency of path planning and also improves the efficiency and quality of polishing. The planned surface path point information is imported into the robot's offline simulation software for interference, collision, and limit detection. The program is modified based on the simulation results. If the simulation results are reasonable, robot code is generated. Finally, the robot program is modified according to the benchmark and actual working conditions. Attached Figure Description

[0039] Figure 1 This is a flowchart of the overall process for a robot-based path planning method for polishing curved surfaces using an STL model.

[0040] Figure 2 This is a schematic diagram of the topology reconstruction process based on the STL model of the present invention;

[0041] Figure 3 This is a schematic diagram illustrating the calculation of the row spacing for the three types of polishing surfaces according to the present invention;

[0042] Figure 4 This is a flowchart illustrating the process of obtaining grinding path points for complex freeform surfaces based on the STL model, as described in this invention. Detailed Implementation

[0043] The present invention will be further described below with reference to the accompanying drawings.

[0044] In a robot grinding surface path planning method based on an STL model, topology reconstruction of the STL model is required. When importing an STL model file, redundant information needs to be removed. To obtain path point information for complex freeform surfaces, redundant information needs to be removed and reconstructed whenever a triangular facet is read. This necessitates constructing the topological information of the points, edges, and faces of the triangular facets within the model. Topology reconstruction mainly includes the following steps:

[0045] S1. Input all the information of a triangular facet of a complex freeform surface STL model;

[0046] S2. If the triangular patch is not the first triangular patch, first store the normal vector of the triangular patch in its patch class, and then calculate the information of this patch, including the shape factor and area.

[0047] S3. When checking that the face is the first triangular face, first store the normal vector of the triangular face in the face class, then start from zero and edit the index number of these faces in order, so as to establish the topological relationship of the triangle vertices and edges of each face, and finally store the established triangle vertices and edges in the face class.

[0048] S4. Following S2, redundant vertex and edge information of the triangular facet is removed to complete the topological reconstruction of the vertex and edge of the triangular facet.

[0049] S5. Based on the removal of redundant vertex information and topology reconstruction, add the returned index values ​​of the current three vertices to the class of this triangle facet.

[0050] S6. Store the index information of the vertices and edges of the triangle facets that have been topologically reconstructed into the facet class.

[0051] S7. Determine if the face in the face class is the last triangle face. If not, proceed to S1 to continue topology reconstruction. Otherwise, complete the topology reconstruction of the model.

[0052] The above-mentioned method for robot grinding surface path planning based on STL models is compared with other methods currently used for grinding complex freeform surfaces, such as the equal residual height method, the cross-section method, and the isoparametric method. By comparing the advantages and disadvantages of these three methods and considering the characteristics of obtaining grinding path points from complex freeform surface STL model files, this paper proposes to use the cross-section method to obtain grinding path point information. This is because the cross-section method is simple to use and highly efficient during the grinding process.

[0053] The topology reconstruction of the triangular network model from the STL model of a complex freeform surface is performed by first using MATLAB to read the STL model to be polished. After topology reconstruction, the section method is used to obtain the surface path required for polishing. The obtained surface polishing path needs to have reasonable line spacing and step spacing set so that the vertex normal vectors of the polishing surface path points can be obtained with high accuracy. The main steps are: first, input the STL file of the complex freeform surface with completed topology reconstruction; then, estimate the vertex normal vectors based on the discrete triangular facets. Within the first-order neighborhood of the vertex class of the triangular facets, traverse the information of all triangular facets in the vertex neighborhood and calculate the vertex normal vectors; finally, calculate the Gaussian curvature and mean curvature of the vertices based on the vertices and edges of the discrete triangular facets, and then use the calculated Gaussian curvature and mean curvature to further deduce the maximum principal curvature of the vertices of the triangular facets.

[0054] This invention generates grinding path points for complex freeform surfaces using a section method. The curvature of any point on a complex freeform surface is the reciprocal of its radius of curvature. The algorithm for generating grinding path points involves two steps: first, determining the concavity / convexity of the surface to be processed to obtain its properties; second, determining the spacing between the grinding path points. In actual processing, a reasonable spacing directly improves grinding quality and efficiency. Excessive spacing increases residual height during grinding, reducing surface quality; conversely, insufficient spacing negatively impacts efficiency. Therefore, planning a reasonable grinding spacing on the surface is crucial. This planning must consider both quality and efficiency, aiming to maximize efficiency while maintaining quality.

[0055] When polishing complex freeform surfaces, based on the sign of the Gaussian curvature value, these surfaces can be categorized into concave, convex, and planar surfaces. Because the methods for planning the grinding line spacing differ for these three types of surfaces, such as... Figure 2 As shown:

[0056] Method for calculating the row spacing in convex surface grinding:

[0057]

[0058] Method for calculating line spacing in a plane:

[0059]

[0060] Method for calculating the row spacing in convex surface grinding:

[0061]

[0062] In the above formula, ΔL is the row spacing of the grinding surface path, ρ is the average radius of curvature between points P1 and P2 on two adjacent grinding path lines, r is the tool radius of the grinding mechanism, and h is the residual height of the surface path. Because this invention uses the section method to plan complex freeform surfaces, when a plane is used to cut the surface, the two adjacent surface path lines are parallel to each other, therefore the row spacing of the path points is the same. More than one row spacing can be calculated for two adjacent surface paths, so in order to maximize the quality requirements, it is necessary to minimize all row spacings, i.e., min(ΔL1, ΔL3, ΔL4, ..., ΔL5). n The minimum line spacing is calculated and used as the line spacing between two adjacent surface paths.

[0063] To obtain the row spacing of the path of the grinding surface of a complex freeform surface, firstly, generate corresponding cross sections based on these row spacings; secondly, according to the planned row spacing, use these cross sections to cut the STL model of the complex freeform surface that has completed topological reconstruction, thereby obtaining the initial grinding surface path. When the cross section intersects with the triangular facet, there are two cases: (1) the cross section just passes through the vertex of the triangular facet; (2) the cross section intersects with the edge of the triangular facet; (3) the cross section intersects with one vertex and one edge of the triangular facet; (4) the cross section does not intersect with either the edge or the vertex of the triangular facet. Therefore, when calculating the grinding surface trajectory, the case of the cross section intersecting with the vertex of the triangular facet can be transformed into the problem of solving the expression of the vertex and cross section of the triangular facet. The main steps for obtaining the grinding path points of a complex freeform surface based on the STL model are as follows:

[0064] S1. First, substitute two points on one side of the triangular facet into the established cross-sectional expression;

[0065] The general expression for a cross section:

[0066]

[0067] Where a is the a-th path, ΔL b Let be the row spacing of the a-th path.

[0068] S2. If the solution of the two points on this edge into the cross-section expression is 0, then we know that the vertex of the triangle is exactly on the cross-section. In this case, the vertex can be stored in the corresponding data structure as the path point for polishing the curved surface.

[0069] S3. If the point on this side of the triangular facet is substituted into the cross-section expression and the solution is one positive and one negative, then this side intersects with the cross-section. At this time, the intersection point with the cross-section is solved according to the expression of this side, and the intersection point is stored in the corresponding data structure as the grinding surface path point.

[0070] S4. If the solution of all points on this edge of the triangular facet is 0 when substituted into the cross-section expression, then the two vertices of this edge are intersection points. The intersection points can be stored in the corresponding data structure as the path points for polishing the curved surface.

[0071] S5. If a point on this side of a triangular facet is substituted into the cross-section expression and the solution is all positive or all negative, then the cross-section has no intersection with this side and cannot be used as a grinding surface path point.

[0072] S6. When determining the edge of the triangular facet in the facet class, if it is the last edge, the grinding surface path planning for this cross-section is completed. If it is not the last edge, continue to execute the process of S1-S5 to solve all the intersection points.

[0073] S7. Based on the previously solved optimal grinding line spacing, continue to solve for the intersection point of the next cross section and the complex freeform surface, and finally complete the acquisition of the entire complex freeform surface path.

[0074] After the above steps, the path points of the complex freeform surface STL model can be obtained. Then, based on these path point information, the robot offline simulation software is used for interference, collision, and limit detection. The program is modified according to the simulation results. If the simulation results are reasonable, robot code is generated. Finally, the robot program is modified according to the benchmark and actual working conditions.

Claims

1. A robot-based path planning method for polishing curved surfaces based on an STL model, characterized in that, Includes the following steps: 1) STL model topology reconstruction: 1.1) Input all the information of a triangular facet of a complex freeform surface STL model; 1.2) If the triangular patch is not the first triangular patch, first store the normal vector of the triangular patch in its patch class, and then calculate the information of this patch, including the shape factor and area; 1.3) When checking that the face is the first triangular face, first store the normal vector of the triangular face in the face class, then start from zero and edit the index number of these faces in order, so as to establish the topological relationship of the triangle vertices and edges of each face, and finally store the established triangle vertices and edges in the face class. 1.4) Next, in S2, redundant vertex and edge information of the triangular facet is removed to complete the topological reconstruction of the vertices and edges of the triangular facet. 1.5) Based on the removal of redundant vertex information and topology reconstruction, add the returned index values ​​of the current three vertices to the class of this triangle facet; 1.6) For the vertices and edges of the triangle facets that have undergone topological reconstruction, store their index information in the facet class; 1.7) Determine whether the face in the face class is the last triangle face. If not, proceed to S1 to continue topology reconstruction. Otherwise, complete the topology reconstruction of the model. 2) Obtaining grinding path points from complex freeform surfaces based on STL models: 2.1) First, substitute two points on one side of the triangular facet into the established cross-sectional expression; The process of establishing the cross-sectional expression is as follows: Obtain the row spacing of the path on the polished surface of the complex freeform surface, and generate the corresponding cross-section based on these row spacings: The grinding path for complex freeform surfaces is obtained by cross-sections. After obtaining the optimal grinding row spacing, different cross-sections are generated based on the row spacing. The intersection of the cross-sections with the STL model that has already completed topology reconstruction is the grinding path point. The general expression for a cross section: Where a is the a-th path, ΔL b Given the row spacing of the a-th path, obtaining the grinding path points is equivalent to solving the problem of finding the intersection points of a line and a plane in space; 2.2) If the solution of the two points on this edge into the cross-section expression is 0, then the vertex of the triangle is exactly on the cross-section. Store this vertex in the corresponding data structure as the path point for polishing the curved surface. 2.3) If the points on this side of the triangular facet are substituted into the cross-section expression and the solution is one positive and one negative, then this side intersects with the cross-section. At this time, the intersection point with the cross-section is solved according to the expression of this side, and the intersection point is stored in the corresponding data structure as the grinding surface path point. 2.4) If the solution of all points on this edge of the triangular facet is 0 when substituted into the cross-section expression, then the two vertices of this edge are intersection points. The intersection points can be stored in the corresponding data structure as the path points for polishing the curved surface. 2.5) If the points on this side of the triangular facet are substituted into the cross-section expression and the solution is all positive or all negative, then the cross-section has no intersection with this side and cannot be used as the path point for grinding the curved surface. 2.6) When determining the edge of a triangular facet in a facet class, if it is the last edge, the grinding surface path planning for this cross-section is completed. If it is not the last edge, continue to execute the process of S1-S5 to solve all intersection points. 2.7) Based on the previously solved optimal grinding line spacing, continue to solve for the intersection point of the next cross section and the complex freeform surface, and finally complete the acquisition of the entire complex freeform surface path; The optimal sanding line spacing is calculated as follows: Determine the concavity / convexity of the surface to be processed to obtain its properties. When grinding complex freeform surfaces, classify them into concave, convex, and flat surfaces based on the sign of the Gaussian curvature value. The method for planning the grinding row spacing for these three different surfaces is as follows: Method for calculating the row spacing in convex surface grinding: Method for calculating line spacing in a plane: Method for calculating the row spacing in convex surface grinding: In the above formula, ΔL is the row spacing of the grinding surface path, ρ is the average radius of curvature between points P1 and P2 on two adjacent grinding path lines, r is the tool radius of the grinding mechanism, and h is the residual height of the surface path. When using a plane to cut a surface, the path lines of two adjacent surfaces are parallel to each other, so the line spacing of the path points is the same. Since more than one line spacing can be calculated for two adjacent surface paths, to maximize the quality requirements, it is necessary to minimize all line spacings, i.e., min(ΔL1, ΔL3, ΔL3, ..., ΔL...). n The minimum line spacing is calculated and used as the line spacing between two adjacent surface paths.

Citation Information

Patent Citations

  • Cutter path automatic generation method for complex curved surface grinding

    CN112518433A