Polishing track planning method for artificial metal skeleton

Through visual and tactile multimodal perception technology, combined with line laser sensors and six-dimensional force sensors, the metal bone grinding trajectory is dynamically adjusted, which solves the problems of insufficient accuracy and poor consistency in the existing technology, and achieves high-precision grinding and high efficiency of complex curved surfaces Production.

CN119217364AActive Publication Date: 2024-12-31宁波斯帝尔科技有限公司

Patent Information

Application Number
CN202411416160.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-11
Publication Date
2024-12-31
Estimated Expiration
2044-10-11

AI Technical Summary

Technical Problem

In the prior art, metal bone grinding accuracy is insufficient, surface consistency is poor, and real-time feedback and adjustment capabilities are lacking, making it difficult to meet the needs of complex curved surfaces and high-precision.

Method used

Using visual and tactile multimodal perception technology, global and local point cloud data are obtained through line laser sensors, combined with ICP algorithm and greedy triangulation algorithm to generate polishing trajectories, and a six-dimensional force sensor is used to adjust contact force in real time, dynamically optimize polishing paths and attitude.

Benefits of technology

It significantly improves the grinding accuracy and consistency of metal bone surfaces, ensures the smoothness and stability of complex surface treatments, improves production efficiency and personalized accuracy, and avoids insufficient or excessive grinding problems in traditional methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119217364A_ABST
    Figure CN119217364A_ABST
Patent Text Reader

Abstract

The invention discloses a polishing track planning method for an artificial metal skeleton, which realizes self-adaptive fine polishing on a complex surface through multi-mode perception fusion of vision and touch. The method comprises the steps that global point cloud data and local point cloud data are obtained through a large-view and high-precision line laser sensor, a to-be-polished area and the height difference are accurately calculated in combination with a relative pose matrix and an ICP algorithm, and a polishing track is generated through a greedy triangulation and slice construction algorithm. A least square method is adopted for smoothing a track contour line, a polishing path is optimized, and it is ensured that the track is smooth and stable; and in combination with real-time feedback adjustment of a six-dimensional force sensor, constant force control is achieved, and the problems of uneven pressure and surface damage in traditional grinding are solved. According to the scheme, the grinding precision, consistency and adaptability are remarkably improved, and the method is particularly suitable for high-requirement grinding of metal skeletons in complex forms. Compared with the prior art, the real-time dynamic optimization of the polishing track from visual and tactile data is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the technical field of metal bone grinding, and in particular to a grinding trajectory planning method for an artificial metal bone. Background Art

[0002] Artificial metal bones are key components widely used in the medical field. They are often used to replace the human bone structure and are installed inside the body to restore function or correct structure. Their surface smoothness and precision directly affect the contact friction with human tissue, durability and patient comfort. However, in the prior art:

[0003] 1. The grinding of metal bones mainly relies on manual operation or simple automatic grinding equipment. Manual grinding is done by operators holding grinding tools to grind and polish the bone surface to eliminate surface defects and improve the finish. Although this method has certain flexibility, its grinding effect is greatly dependent on the experience and skills of the operator. It is difficult to ensure surface accuracy and consistency, and it is easy to produce human errors, resulting in rough or uneven surfaces, which cannot meet the needs of high-precision medical products.

[0004] 2. In order to improve the accuracy and consistency of grinding, the industry has introduced an offline programmed automated grinding method, which controls the robotic arm and grinding tools for surface treatment through preset trajectories. This method generates a fixed grinding trajectory by measuring and planning the path of the metal skeleton in an offline state, which is automatically executed by the equipment. However, this preset trajectory grinding method lacks real-time feedback on the actual grinding process and is difficult to dynamically adjust the trajectory. Especially when facing the complex curved surfaces of metal skeletons, it is easy to have problems with insufficient local grinding or excessive grinding, affecting the final surface quality.

[0005] 3. In order to further improve the processing accuracy, some technical solutions try to introduce 3D vision sensors to obtain the morphological data of the bone surface and generate grinding trajectories based on point cloud data. Although visual perception technology can obtain more accurate surface data, in actual operation, it is difficult to perceive the changes in contact force during the grinding process in real time by relying solely on visual feedback, and it is impossible to adjust the grinding path and posture in real time according to the contact conditions. This leads to uneven grinding force when grinding complex curved surfaces or irregular surfaces, resulting in uneven grinding and surface damage, which still cannot meet the high-precision requirements of metal bones.

[0006] Also, there are attempts in the prior art to use force sensors for constant force controlled grinding to maintain the stability of the contact force. However, the single tactile feedback of the force sensor cannot fully reflect the geometric characteristics of the grinding surface. It is difficult to accurately adjust the trajectory of the complex-shaped bone surface by force sensing alone, and there is a lack of adaptive adjustment capabilities during the grinding process. This method often has problems such as low processing efficiency and unsatisfactory grinding effects when faced with complex bone morphology and diverse local changes, and cannot completely solve the limitations of the prior art.

[0007] Therefore, how to achieve adaptive fine grinding and real-time dynamic control of complex metal bone surfaces has become a technical problem to be solved by the present invention. Summary of the invention

[0008] The technical problem solved by the present invention is to provide a grinding trajectory planning method for an artificial metal bone in response to the defects existing in the above-mentioned prior art, so as to solve the problems of insufficient grinding accuracy, poor surface consistency, and lack of real-time feedback and adjustment capabilities of the metal bone proposed in the above-mentioned background technology.

[0009] In order to solve the above technical problems, the technical solution adopted by the present invention is as follows:

[0010] A method for planning a grinding trajectory of an artificial metal skeleton comprises the following steps:

[0011] Step 1: Use offline programming software to generate grinding tracks and perform initial grinding;

[0012] Step 2: Use a line laser sensor with a large field of view to scan the target object, obtain global point cloud data, and align the global point cloud data with the skeleton model to obtain the relative pose matrix T low ;

[0013] Step 3: Use a high-precision line laser sensor with a small field of view to scan the local area and obtain high-precision point cloud data; use the relative pose T obtained in the previous step low And the robot arm scanning posture, the high-precision point cloud and the benchmark model are roughly registered, and then the ICP algorithm is used to accurately register the high-precision point cloud and the benchmark model to calculate the area to be polished and the height difference;

[0014] Step 4, judging whether the height difference meets the process requirements;

[0015] Step 5: According to the area to be polished, the polishing trajectory, i.e. the polishing position coordinates, is obtained through real-time calculation, including:

[0016] Step 5-1, obtaining the point cloud of the area to be polished;

[0017] Step 5-2, triangulate the point cloud data and generate a patch model using a greedy triangulation algorithm;

[0018] Step 5-3, use the point cloud algorithm library to calculate the axis-aligned bounding box of the point cloud and obtain the length and direction of the bounding box;

[0019] Step 5-4, construct a cutting plane, and slice it cyclically along the coordinate axis direction, and construct a parallel cutting plane according to the size and direction of the bounding box;

[0020] Step 5-5, calculating the intersection of the cutting plane and the triangulated point cloud model, and projecting the intersection onto a two-dimensional plane to obtain a contour line;

[0021] Step 5-6, smooth the contour line, use the least square method to find the local regression line, and project the contour points onto the regression line to generate a smooth contour point set;

[0022] Step 5-7, divide the smoothed contour line into equal parts according to the preset spacing, and calculate the position coordinates of the grinding trajectory points in the three-dimensional space.

[0023] Step 6: Calculate the grinding posture according to the grinding position coordinates;

[0024] Step 7: Further transform the grinding trajectory to adapt to the process requirements of the robot arm holding the workpiece to the belt grinding machine;

[0025] Step 8: Send the grinding trajectory to the robotic arm for grinding. At the same time, the six-dimensional force sensor at the end senses the contact force in real time, dynamically adjusts the position, and achieves constant force grinding.

[0026] As a further solution of the present invention, triangles are gradually generated by a local neighborhood criterion to construct a patch model for subsequent geometric calculations and intersection solutions.

[0027] As a further solution of the present invention, the calculation of the bounding box adopts the axis alignment algorithm in the point cloud library to obtain the lengths and directions of the three sides of the bounding box, which are used to guide the construction of the cutting plane.

[0028] As a further solution of the present invention, the cutting plane structure sets the slice spacing according to the longest side of the bounding box and slices along this direction to ensure systematic processing of the grinding trajectory.

[0029] As a further solution of the present invention, the step of smoothing the contour line reduces noise and irregularity in the contour line through least squares regression, thereby improving the smoothness of the trajectory and the stability of grinding.

[0030] As a further solution of the present invention, the step of equally dividing the contour line equally divides the generated point set according to a preset interval to ensure that the distances between the trajectory points are as equal as possible to obtain a uniform trajectory distribution.

[0031] As a further solution of the present invention, the calculation of the grinding posture includes: dividing the trajectory points into several sets according to the slice positions, calculating the vectors between adjacent points, and determining the deflection angle of the grinding tool.

[0032] As a further solution of the present invention, the posture estimation realizes coordinate system redefinition by rigidly transforming the local point cloud around the trajectory point, thereby ensuring accurate adjustment of the grinding tool posture.

[0033] As a further solution of the present invention, the six-dimensional force sensor senses the contact force in real time during the grinding process. When the contact force deviates from a preset range, the grinding path and posture of the robot arm are automatically adjusted to ensure constant-force grinding.

[0034] Compared with the prior art, the present invention has the following beneficial effects:

[0035] 1. Multimodal perception of vision and touch to achieve adaptive dynamic control of artificial metal bones: Artificial metal bones are usually implanted inside the human body, requiring extremely high surface accuracy and consistency to avoid friction, wear and other problems that affect patients. Traditional polishing methods are difficult to meet the requirements of such complex surfaces and fineness. This application integrates 3D vision (line laser sensor) and tactile perception (six-dimensional force sensor) to perceive the geometric shape and contact force information of the bone surface in real time, and dynamically optimizes the polishing trajectory based on multimodal data, ensuring that the polishing tool always maintains the optimal path and force when processing complex bone surfaces, significantly improving polishing accuracy and consistency.

[0036] 2. Innovative geometric calculation and trajectory generation technology to accurately cope with the complex surfaces of metal bones installed inside the human body: The surface of artificial metal bones must not only fit perfectly with the human body structure, but also have to have extremely high surface smoothness to prevent unnecessary wear during long-term use. Traditional grinding is difficult to effectively process such complex and delicate surfaces. This application uses greedy triangulation algorithms and slicing construction technology to achieve precise modeling and trajectory generation of complex surfaces of metal bones, dynamically adjust the grinding path, ensure that the movement of the grinding tool accurately matches the surface morphology of the bone, and provide excellent surface processing effects.

[0037] 3. Advanced data smoothing and trajectory optimization to ensure smooth and stable surface grinding of metal bones: Metal bones inside the human body require a highly smooth grinding trajectory to reduce friction and biocompatibility risks. This application uses the least squares method to smooth the contour line, optimize the motion path of the grinding tool, ensure the smoothness and stability of the trajectory, avoid surface roughness or discontinuity, and ensure the safety and stability of long-term use of metal bones after implantation in the human body.

[0038] 4. Combining constant force control with real-time feedback to improve the surface quality and consistency of metal bone grinding: For metal bones implanted in the human body, constant contact force is crucial, and the slightest carelessness may cause surface damage or unevenness. This application uses tactile constant force control to achieve real-time feedback and adjustment during the grinding process, ensuring that the contact force is always in the optimal range, effectively preventing surface unevenness and damage problems that may be caused by traditional grinding, and is particularly suitable for grinding bone joint surfaces and other high-precision parts.

[0039] 5. Adaptive trajectory planning significantly improves the production efficiency and accuracy of metal bone grinding: Since artificial metal bones need to be customized according to the individual's physiological structure, traditional fixed-trajectory grinding is difficult to adapt to individual needs. This application uses multimodal perception of vision and touch, combined with adaptive trajectory planning technology, to quickly adjust the grinding path to meet the precision processing requirements of metal bones of different forms, reduce program adjustment time, greatly improve production efficiency and personalized grinding accuracy, and ensure that each product can meet the high standards required for implantation in the human body.

[0040] Additional aspects and advantages of the present invention will be given in part in the following description and in part will be obvious from the following description, or will be learned through practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0042] Figure 1 Flow chart of the software recommendation method in an embodiment of the present invention.

[0043] Figure 2 Polishing area point cloud processing and trajectory planning flow chart for the present invention.

[0044] Figure 3 This is a flow chart of trajectory point estimation and axis deflection angle calculation of the present invention.

[0045] Figure 4 This is a flow chart of posture trajectory point posture calculation and coordinate system conversion of the present invention. DETAILED DESCRIPTION

[0046] The technical solutions in the embodiments of the present invention are described clearly and completely below. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0047] See also Figure 1 —4. In an embodiment of the present invention, a method for planning a grinding trajectory of an artificial metal skeleton comprises the following steps:

[0048] Step 1: Use offline programming software to generate grinding tracks and perform initial grinding;

[0049] Step 2: Use a line laser sensor with a large field of view to scan the target object, obtain global point cloud data, and align the global point cloud data with the skeleton model to obtain the relative pose matrix T low ;

[0050] Step 3: Use a high-precision line laser sensor with a small field of view to scan the local area and obtain high-precision point cloud data; use the relative pose T obtained in the previous step low And the robot arm scanning posture, the high-precision point cloud and the benchmark model are roughly registered, and then the ICP algorithm is used to accurately register the high-precision point cloud and the benchmark model to calculate the area to be polished and the height difference;

[0051] Step 4, judging whether the height difference meets the process requirements;

[0052] Step 5: According to the area to be polished, the polishing trajectory, i.e. the polishing position coordinates, is obtained through real-time calculation, including:

[0053] Step 5-1, obtaining the point cloud of the area to be polished;

[0054] Step 5-2, triangulate the point cloud data and generate a patch model using a greedy triangulation algorithm;

[0055] Step 5-3, use the point cloud algorithm library to calculate the axis-aligned bounding box of the point cloud and obtain the length and direction of the bounding box;

[0056] Step 5-4, construct a cutting plane, and slice it cyclically along the coordinate axis direction, and construct a parallel cutting plane according to the size and direction of the bounding box;

[0057] Step 5-5, calculating the intersection of the cutting plane and the triangulated point cloud model, and projecting the intersection onto a two-dimensional plane to obtain a contour line;

[0058] Step 5-6, smooth the contour line, use the least square method to find the local regression line, and project the contour points onto the regression line to generate a smooth contour point set;

[0059] Step 5-7, divide the smoothed contour line into equal parts according to the preset spacing, and calculate the position coordinates of the grinding trajectory points in the three-dimensional space.

[0060] Step 6: Calculate the grinding posture according to the grinding position coordinates;

[0061] Step 7: Further transform the grinding trajectory to adapt to the process requirements of the robot arm holding the workpiece to the belt grinding machine;

[0062] Step 8: Send the grinding trajectory to the robotic arm for grinding. At the same time, the six-dimensional force sensor at the end senses the contact force in real time, dynamically adjusts the position, and achieves constant force grinding.

[0063] As a further solution of the present invention, triangles are gradually generated by a local neighborhood criterion to construct a patch model for subsequent geometric calculations and intersection solutions.

[0064] As a further solution of the present invention, the calculation of the bounding box adopts the axis alignment algorithm in the point cloud library to obtain the lengths and directions of the three sides of the bounding box, which are used to guide the construction of the cutting plane.

[0065] As a further solution of the present invention, the cutting plane structure sets the slice spacing according to the longest side of the bounding box and slices along this direction to ensure systematic processing of the grinding trajectory.

[0066] As a further solution of the present invention, the step of smoothing the contour line reduces noise and irregularity in the contour line through least squares regression, thereby improving the smoothness of the trajectory and the stability of grinding.

[0067] As a further solution of the present invention, the step of equally dividing the contour line equally divides the generated point set according to a preset interval to ensure that the distances between the trajectory points are as equal as possible to obtain a uniform trajectory distribution.

[0068] As a further solution of the present invention, the calculation of the grinding posture includes: dividing the trajectory points into several sets according to the slice positions, calculating the vectors between adjacent points, and determining the deflection angle of the grinding tool.

[0069] As a further solution of the present invention, the posture estimation realizes coordinate system redefinition by rigidly transforming the local point cloud around the trajectory point, thereby ensuring accurate adjustment of the grinding tool posture.

[0070] As a further solution of the present invention, the six-dimensional force sensor senses the contact force in real time during the grinding process. When the contact force deviates from a preset range, the grinding path and posture of the robot arm are automatically adjusted to ensure constant-force grinding.

[0071] Embodiment 1:

[0072] See also Figure 1 , Figure 1 The present invention is a flow chart of a metal bone grinding trajectory planning method. The method comprises:

[0073] S10: Generate grinding tracks using offline programming software and perform initial grinding.

[0074] S20: Use a line laser sensor with a large field of view to scan the target object, obtain global point cloud data, and align the global point cloud data with the skeleton model to obtain the relative pose matrix T low .

[0075] S30: Use a high-precision line laser sensor with a small field of view to scan the local area and obtain high-precision point cloud data. Use the relative pose T obtained in the previous step low The high-precision point cloud and the benchmark model are roughly aligned first, and then the ICP algorithm is used to finely align the high-precision point cloud and the benchmark model. The area to be polished and the height difference are calculated.

[0076] S40: Determine whether the height difference meets the process requirements.

[0077] S50: According to the area to be polished, a polishing trajectory, that is, a polishing position coordinate, is obtained through real-time calculation.

[0078] S60: Calculate the grinding posture according to the grinding position coordinates.

[0079] S70: The trajectory is further transformed to adapt to the process requirements of the robot arm holding the workpiece and grinding it with a belt sander.

[0080] S80: The trajectory is sent to the robotic arm to perform grinding. At the same time, the six-dimensional force sensor at the end senses the contact force in real time, dynamically adjusts the position, and achieves constant force grinding.

[0081] Among them, S50: according to the area to be polished, through real-time calculation, the polishing trajectory, that is, the polishing position coordinates, is obtained. The goal of this step is to determine the motion trajectory of the robot arm holding the workpiece in 3D space through calculation to achieve accurate polishing of the target area. The following is a detailed process of how to achieve this goal step by step:

[0082] S501: Obtaining a point cloud of the area to be polished.

[0083] S502: Triangulate the point cloud surface. Use a triangulation algorithm to triangulate the point cloud data to generate a patch model for subsequent geometric calculations. Triangulation helps to form a smooth surface between point clouds, which is convenient for calculating intersections and other geometric features. Here, the traditional greedy triangulation algorithm is used, which gradually generates triangles through local neighborhood criteria to construct the entire surface.

[0084] S503: Calculate the bounding box of the point cloud. Use the PCL point cloud algorithm library to calculate the point cloud axis-aligned bounding box, and obtain the lengths of the three sides of the bounding box (Length1, Length2, Length3) and the position and direction (Pose) of the bounding box.

[0085] S504: Construct a cutting plane and perform cyclic slicing along the coordinate axis direction. Construct a series of parallel cutting planes according to the size and direction of the bounding box.

[0086] In this embodiment, the longest side of the bounding box (Max(Length1, Length2, Length3)) is selected as the X-axis. Assume that the directions corresponding to Length1, Length2, and Length3 are e1, e2, and e3, respectively.

[0087]

[0088] After selecting the new X-axis, slice along this direction. Set the slice spacing Δx and define the position of each slice by the following expression:

[0089]

[0090] in, is the total number of slices and Δx is the slice spacing.

[0091] For each slice i, define the pose of the slice plane: the position of the slice plane is represented by X i Determined; the normal vector of the slice plane is determined by the X-axis direction X new Decide.

[0092] The position and orientation of the slice plane in the coordinate system can be expressed as follows:

[0093] CutPose i =[X i ,0,0,0,90,0]

[0094] In this embodiment, unless otherwise specified, when performing posture transformation, the Euler angle rotation sequence is ZYX.

[0095] S505: Find the intersection of the tangent plane and the triangulated point cloud model.

[0096] Via CutPose i Define the tangent plane, X i is the offset of the plane on the X axis, [0, 90, 0] is the rotation angle, which means a 90-degree rotation on the Y axis, so the cutting plane is actually parallel to the YZ plane. To define a plane in 3D space, you can use points and normal vectors. i Given the origin and normal vector of the plane: i , 0, 0); the normal vector is the positive direction of the X axis (1, 0, 0). The plane equation of the tangent plane can be expressed as:

[0097] 1·(xX i )+0·(y-0)+0·(z-0)=0

[0098] Calculate the intersection of the tangent plane and the point cloud model. The point cloud model can be represented as a triangular mesh, where each triangle is defined by three vertices V1, V2, and V3. In order to find the intersection of each triangle with the plane, it is necessary to check the intersection of each triangle's edge with the plane. V1-V2 forms an edge of the triangle, which can be expressed by the following equation:

[0099] P(t)=V1+t(V2-V1)

[0100] Substituting into the plane equation:

[0101] n.(P(t)P0)=0

[0102] Substitute the value of P(t) and solve the equation:

[0103]

[0104] The calculated t determines the position of P(t) on the edge V1-V2. If 0≤t≤1, the intersection exists and is on the edge. Repeat the above steps to check the intersection of each edge of the triangle (V1-V2, V2-V3, V3-V1) with the plane. For each triangle, if two intersections are found, these intersections form a line segment, which represents the intersection of the triangle and the plane.

[0105] S506: Project the intersection onto a two-dimensional plane to obtain an xld contour line. Projecting the point cloud intersection onto a two-dimensional plane can be divided into two steps:

[0106] Transform the point cloud intersection from the point cloud coordinate system to the camera coordinate system. Assume that a point of a 3D object model is represented as P in the point cloud coordinate system. mcs =(X mcs , Y mcs , Z mcs , 1) T, where X mcs , Y mcs , Z mcs is the coordinate of the point, using pose T pose The points of the 3D object model are transformed from the point cloud coordinate system (MCS) to the camera coordinate system (CCS). Since the tangent plane pose describes the pose of the camera in the point cloud coordinate system, let T pose =CutPose -1 , the overall process is described as follows:

[0107] P ccs =CutPose -1 ·P mcs

[0108] Here P ccs =(X ccs , Y ccs , Z ccs , 1) T are the homogeneous coordinates of the point in the camera coordinate system.

[0109] Project from the camera coordinate system to the image coordinate system. The point P obtained in the camera coordinate system ccs =(X ccs , Y ccs , Z ccs ), projected onto the 2D image plane, the camera intrinsic parameter matrix K is needed to complete the projection. The general form of the intrinsic parameter matrix can be expressed as:

[0110]

[0111] Wherein, fx and fy represent focal lengths, and cx and cy are image center coordinates. Since this embodiment is a parallel projection (orthogonal projection), depth information is ignored, so K can be further simplified as follows:

[0112]

[0113] In the camera coordinate system, a point P ccs =(X ccs , Y ccs , Z ccs ) Obtain pixel coordinates on the image plane by projection

[0114] P img =(u, v). The mathematical relationship of projection can be expressed as follows:

[0115] P img =K·P ccs

[0116] Use the internal parameter matrix to directly participate in the operation:

[0117]

[0118] This will generate points (u, v) in the image, which are the projection points of the 3D object model in the image coordinate system. Further, the projection points are fitted as XLD contour lines.

[0119] S507: Smooth the XLD contour line, and calculate the position coordinates of the grinding trajectory points in 3D space based on the XLD contour line. The purpose of smoothing XLD is to reduce noise and irregularities and make the generated trajectory smoother. The following are the specific implementation steps:

[0120] The linear equation of the local regression line is solved using the least squares method.

[0121] The XLD contour consists of a series of discrete points, which can be expressed as: {P i |P i (=(x i ,y i ), i = 1, 2, ..., n}, for each contour point Pi, k points around the point are selected for local regression, and these points are represented as: {P i-k , P i-k+1 ,......,P i ,......,,P i+k-1 , P i+k ,}, the local regression line can be expressed as a linear equation: y = ax + b, the least squares method is used to determine the parameters a and b of the regression line, and the objective function is as follows:

[0122]

[0123] Find the partial derivative of a and set the derivative to 0:

[0124]

[0125] Find the partial derivative of b and set the derivative to 0:

[0126]

[0127] The two equations are combined:

[0128]

[0129] Where n=2k+1 is the total number of points used for regression.

[0130] Project the local point onto the regression line to generate a smoothed contour line. After determining the parameters a and b of the local regression line, the current contour point P i =(x i ,y i ) is projected onto the regression line to obtain the smoothed point P`i .

[0131] The projected point P` i It can be calculated by finding the closest point on the regression line, x` i =x i , substitute the x coordinate of the original point into the regression line equation and recalculate the new y coordinate, x` i =ax i +b. By all contour points P i Repeat the above steps to generate the smoothed contour point set {P` 1 , P` 2 , P` 3 , P` 4 , ..., P` n}.

[0132] S508: Divide the XLD equally according to the preset spacing d, and calculate the position coordinates of the grinding track points in the 3D space according to the equally divided XLD. The smoothed XLD contour line consists of a series of continuous points, and the row coordinates and column coordinates of these points are respectively expressed by Row={y 1 ,y 2 ,y 3 ,y 4 , ..., y n}, Col = {x 1 , x 2 , x 3 , x 4 , ..., x n First, initialize a set NewPoints to store equally divided points, and add the first point to the set NewPoints = {(x 1 ,y 1 )}, and then define a variable to store the last selected equal division point, with the initial value being the first point (x last ,y last )=(x 1 ,y 1 ). For the first to the second to last point (the i-th point and the i+1-th point), calculate (x last ,y last ) and (x i+1 ,y i+1 ) between the Euclidean distance D. If D current >d, then select the current point (x i+1 ,y i+1 ) as the new dividing point and update (x last ,y last )=(x i+1 ,y i+1), add the point to the NewPoints set NewPoints = NewPoints∪{x i+1 ,y i+1 )}. Finally, make sure to move the last point of the contour (x n ,y n ) is added to the set to ensure that the equal segments include the start and end points, NewPoints = NewPoints∪{(x n ,y n )}.

[0133] The above process selects appropriate equally divided points by traversing the smoothed XLD contour points and calculating the distance between points to generate a new set of equally divided points. This process ensures that the distance between each equally divided point is as equal as possible, thereby providing a uniform point distribution in the subsequent analysis and processing process.

[0134] S60: Calculate the grinding posture according to the grinding position coordinates. The goal of this overall step is to calculate the posture (including the deflection angle) required by the robot during the grinding process to ensure that the grinding tool is kept in the correct direction during the actual operation.

[0135] S601: Divide the trajectory points into several sets according to the slice positions. 1 , P 2 , P 3 , P 4 , ..., P n} Divide into multiple subsets according to different slice positions (X coordinate range), S k = {P k1 , P k2 , P k3 , P k4 , ..., P km}, k=1, 2, ..., K.

[0136] S602: For each set, calculate the vectors between adjacent points according to the order of trajectory points. For each subset, assuming S k The two adjacent points in P ki =(x ki ,y ki , z ki ), P k(i+1) =(x k(i+1) ,y k(i+1) , z k(i+1) ), then the vector v i It is expressed as:

[0137] v i =P k(i+1) -P ki .

[0138] S603: Calculate the angle between the adjacent point vector and the Y-axis unit vector to obtain the X-axis deflection angle.

[0139] The Y-axis unit vector is expressed as

[0140] u y =(0, 1, 0), for each vector v i , calculate it and u y The angle θ between x :

[0141]

[0142] S604: Point cloud segmentation, obtain the local point cloud around each trajectory point, and perform pose estimation by analyzing the local point cloud. First, use PCL's `pcl::KdTreeFLANN` class to create a KD tree object and set the point cloud dataset as input to the KD tree. Then, set a radius value radius to indicate the size of the local area to be searched. Let radius = Δx, the slice spacing.

[0143] Traverse the trajectory points and use the `radiusSearch` method of the KD tree to find the neighboring points around each trajectory point. For each neighboring point found, add them to a local point cloud collection. This local point cloud contains all points within the radius for subsequent analysis and processing.

[0144] S605: For the local point cloud, according to the inverse pose matrix of the current trajectory point Perform a rigid transformation to facilitate subsequent calculations. The main purpose of the rigid transformation is to redefine the coordinate system for the local point cloud to make subsequent operations more convenient and consistent. In the transformed unified coordinate system, the posture of the trajectory point can be more easily calculated. The points in the local point cloud can be represented by Q ki =(x ki ,y ki , z ki , 1) T , use the inverse transformation matrix to transform the local point cloud from its local coordinate system to the reference coordinate system. For each point Q in the local point cloud ki , the transformed point Q` ki , which can be expressed as:

[0145]

[0146] S606: Use a plane perpendicular to the Y axis to slice the transformed local point cloud, and find the intersection of the cutting plane and the point cloud model, project the intersection onto a two-dimensional plane to obtain XLD, fit the XLD to a line segment, and obtain the start and end points of the line segment. Since the local point cloud pose has been transformed in the previous step, the displacement of the cutting plane in the X-axis direction can be directly defined as 0. The cutting plane pose is defined as follows:

[0147] CutPose ki =[0,0,0,0,90,0]

[0148] The method of finding the intersection of the tangent plane and the point cloud model and projecting the intersection onto a two-dimensional plane to obtain the XLD has been explained in the above process.

[0149] S607: Calculate the direction vector according to the start point and the end point of the fitting line segment, and obtain the Y-axis deflection angle by calculating the angle between the direction vector and the Z-axis.

[0150] S70: The trajectory is further transformed to adapt to the process requirements of the robot arm holding the workpiece and grinding it with a belt sander.

[0151] S701: Establish the workpiece coordinate system at the grinding position of the belt sander. The steps are as follows:

[0152] Use the robot arm teaching function to manually guide the robot arm and record the key position points of the belt sander.

[0153] Define the origin: Select a specific point on the belt sander as the origin of the workpiece coordinate system (usually the center point of the belt sanding area).

[0154] Define X direction: Select a reference point near the origin, guide the robot to this point and record the position, which is defined as the X-axis direction.

[0155] Define Y direction: Select another reference point to determine the direction of the Y axis. Usually, this point forms a plane with the origin and the X direction point.

[0156] Calculate the Z direction: Calculate the Z direction by cross product to ensure that the three axes of the workpiece coordinate system are orthogonal.

[0157] S702: Get Tool0 pose. Tool0 pose usually refers to a reference pose of the end effector of the robot arm in the coordinate system of the robot arm base. This pose can be the pose when the robot arm is at the origin, or the pose in other known poses. Tool0 pose is used as an intermediate variable for coordinate transformation and trajectory calculation, but will be offset in the end.

[0158] S703: Traverse all trajectory points and transform the generated trajectory points to the robot base coordinate system through Tool0 posture.

[0159] P base =T Tool0 ·P tool

[0160] Among them, TTool0 is the homogeneous transformation matrix of Tool0 pose, P tool is the homogeneous coordinate of the trajectory point in the tool coordinate system, and P base is the coordinate of the trajectory point in the base coordinate system.

[0161] S704: Calculate the relative position between each trajectory point and the origin of the workpiece coordinate system.

[0162]

[0163] Among them, TA is the trajectory point pose, TB is the target pose, that is, the workpiece coordinate system pose, and TA-1 is the inverse matrix of the A matrix.

[0164] S705: Calculate the relative posture and Tool0 posture to offset the Tool0 posture. At the same time, according to the robot design information, obtain the Euler angle rotation sequence of the robot to obtain the final grinding trajectory and grinding posture.

[0165]

[0166] T trace is the final grinding trajectory pose matrix. Relative to the base coordinate system, TTool0 is the homogeneous transformation matrix of Tool0 pose. The relative pose matrix represents the pose of the trajectory point relative to the origin of the workpiece coordinate system. This is obtained through step S704.

[0167] Embodiment 2:

[0168] Artificial metal bones are increasingly used in the medical field, especially in treating traffic accidents and sports injuries. Through precise processing by CNC equipment, these metal bones can be close to the shape of human bones. However, in order to ensure a close fit with the human skeleton, the joint surface still needs to be finely polished to improve the surface smoothness and fit.

[0169] At present, in the domestic manufacturing process of artificial metal bones, the grinding process still mainly relies on manual operation. This method relies on experienced workers to manually operate and process the joints and surfaces of metal bones by using various grinding tools. Manual grinding has a certain flexibility and can be fine-tuned according to different bone shapes and surface requirements. In addition, offline programming technology has also been gradually introduced into the grinding process. Through offline programming software, accurate robot grinding trajectories are generated, allowing the robot to automatically perform grinding operations.

[0170] There are some limitations to manual polishing: manual polishing is labor-intensive and workers need to concentrate for a long time to operate; in addition, due to reliance on manual operation, the consistency of the finished product is difficult to guarantee, and the operating levels of different workers or the same worker at different times may vary, resulting in unstable product quality, low efficiency, and high scrap rate. At the same time, with the reduction of young labor and the gradual withdrawal of the older generation of workers from the labor market, manual polishing faces the risk of a worker gap, which further exacerbates the industry's demand for automation technology.

[0171] Although offline programming and automated grinding technologies have performed well in improving production efficiency and product consistency, they still have some significant limitations. First, poor flexibility is a major problem. Offline programming usually requires detailed programming and settings based on the specific shape and specifications of the product, which means that the program needs to be rewritten or adjusted every time the shape or specifications of the product change. This not only increases the time and labor costs in the production process, but also reduces the flexibility and responsiveness of production.

[0172] In addition, the grinding trajectory generated by offline programming is pre-set and lacks the ability to perceive and adjust in real time. Since it is impossible to make dynamic adjustments according to the surface conditions of the metal skeleton in actual operation, this static programming method is difficult to cope with various uncertainties that may arise in the production process. This lack of real-time adjustment capability may lead to unsatisfactory grinding results and even affect the final product quality. Therefore, although offline programming and automated grinding bring many advantages to the production process, its deficiencies in flexibility and real-time response capabilities still need to be further improved and optimized.

[0173] This embodiment provides a grinding trajectory planning method based on visual and tactile multimodal perception, which is specifically applied to the surface treatment scenario of artificial metal bones. It aims to improve the processing quality of metal bones through adaptive grinding control and solve the shortcomings of traditional technologies.

[0174] In practical applications, the artificial metal bone to be polished is first clamped and fixed. The surface of the bone usually has a complex three-dimensional shape, including curved surfaces, grooves and protrusions. Traditional fixed trajectories make it difficult to achieve fine polishing of these areas. In order to achieve high-precision surface processing, 3D vision sensors and six-dimensional force sensors are integrated into the system, which use multimodal sensing technology to capture the geometric shape of the bone surface and the changes in contact force during the polishing process in real time.

[0175] In step S10, an initial grinding trajectory is generated using offline programming software, and initial grinding is performed to remove the rough parts of the bone surface. Then in step S20, a line laser sensor with a large field of view is used to scan the bone to obtain global point cloud data. These data are aligned with the preset bone model to obtain the relative pose matrix Tlow , as a reference for subsequent high-precision point cloud scanning.

[0176] In step S30, a high-precision line laser sensor is used to scan the local area to obtain high-precision point cloud data of the bone surface. Combined with the relative pose matrix T obtained previously low Based on the position and posture data of the robot arm, the system roughly aligns the high-precision point cloud with the benchmark model, and then uses the ICP (iterative closest point) algorithm for fine alignment to finally determine the area to be polished and its height difference.

[0177] When the height difference of the bone surface is detected to be not meeting the process requirements during the grinding process (step S40), the system will calculate the grinding trajectory in real time (step S50), including triangulation of the point cloud of the grinding area, construction of the cutting plane, calculation of the intersection of the plane and the point cloud, and other geometric calculations to generate the surface contour line and smooth it through the least square method. This process ensures the continuity and accuracy of the grinding trajectory when processing complex surfaces.

[0178] In steps S60 and S70, the grinding trajectory is transformed according to the calculation results of the grinding position coordinates and posture to adapt to the grinding process requirements of the robot arm and the belt sander, and the optimized trajectory is sent to the robot arm for execution.

[0179] The most innovative part of this embodiment is the fusion application of visual and tactile multimodal perception. During the grinding process, the six-dimensional force sensor monitors the contact force changes between the grinding tool and the metal bone surface in real time. By integrating the tactile feedback data with the geometric information obtained by the visual sensor in real time, the system can dynamically adjust the path and posture of the tool during the grinding process to ensure that each grinding can accurately match the morphological changes of the bone surface.

[0180] For example, when the grinding tool detects that the contact force on a curved surface or protruding area increases, the system will automatically adjust the posture of the grinding tool to reduce the grinding force to avoid damaging the surface. In concave or low-lying areas, the system will increase the contact force to ensure that the surface is fully polished. Real-time control of multi-modal perception ensures constant force output during the grinding process, making the grinding effect more uniform and stable.

[0181] This method not only achieves adaptive fine grinding of complex surfaces, significantly improving the consistency and smoothness of the surface, but also effectively avoids the problem of insufficient or excessive grinding caused by fixed trajectories or single perception in traditional methods. Compared with traditional grinding methods, the multimodal perception method used in this embodiment greatly reduces the need for manual intervention, improves the level of automation, and greatly improves the accuracy and efficiency of grinding.

[0182] In summary, this embodiment fully demonstrates the specific application of the present invention in the surface treatment of metal bones. Through the deep integration of vision and touch, it provides a novel and efficient polishing solution, which significantly solves the technical bottlenecks in traditional methods and achieves higher polishing accuracy and surface quality.

[0183] Embodiment 3:

[0184] In the production of artificial metal bones, fine grinding is a key step to ensure good integration of bones and human tissues. In particular, when processing the surface that interfaces with human bones, its surface finish and precision are crucial to stability and comfort after implantation. This embodiment is applied to the grinding of the metal bone interface. By combining visual and tactile multimodal perception, adaptive fine grinding of the complex surface of the metal bone is achieved, which significantly improves processing efficiency and surface quality.

[0185] In practical applications, the joint surface of metal bones often has a complex three-dimensional surface. The traditional manual polishing method is difficult to ensure the consistency and accuracy of the surface because it relies on the experience of workers. Although the offline programming automatic polishing improves efficiency, the fixed polishing trajectory lacks real-time adjustment capabilities and is difficult to cope with the slight morphological changes on the surface of the metal bones. Therefore, this embodiment integrates 3D vision sensors and six-dimensional force sensors to sense the changes in surface geometry and polishing contact force in real time during the polishing process, thereby optimizing the polishing trajectory and ensuring that every subtle area can be accurately processed.

[0186] The specific operation steps are as follows: First, fix the metal bone to be polished on the polishing device and use the offline programming software to generate the initial polishing trajectory. After the initial polishing, use a line laser sensor with a large field of view to scan the metal bone to obtain global point cloud data. These point cloud data are aligned with the bone model to generate the relative pose matrix T low , providing a benchmark for subsequent high-precision scanning.

[0187] Subsequently, a high-precision line laser sensor is used to scan the local area of ​​the joint surface to obtain more detailed point cloud data, and combined with the relative position T low The system uses the scanning position of the robot arm for rough registration and the ICP algorithm for fine registration to determine the area to be polished and its height difference. In this step, the system can accurately identify the hard-to-reach concave or convex areas on the joint surface and perform adaptive trajectory adjustments based on these features.

[0188] During the grinding process, the system continuously uses the six-dimensional force sensor to monitor the contact force between the grinding tool and the bone surface. When it detects that the contact force exceeds the preset range, the system will immediately adjust the grinding path and posture to ensure that the force on the grinding tool is always in the best state. This real-time force feedback control can prevent over-grinding or uneven grinding, especially when dealing with sensitive areas where the bone joint surface is in direct contact with human tissue, ensuring that the surface smoothness meets the high standards required by medical requirements.

[0189] For example, when there are tiny protrusions on the surface of a metal skeleton, traditional methods may result in insufficient local polishing due to the inability to adjust the fixed trajectory. Through real-time data obtained by the visual sensor, the system can quickly adjust the trajectory of the polishing tool, increase the polishing force and path coverage, and ensure that the protrusions are smoothed. On the contrary, for recessed areas, the system will reduce the polishing force to avoid damage to the surface. This dynamic adjustment capability enables the system to accurately process a variety of complex three-dimensional shapes.

[0190] In practical applications, through the collaborative work of multimodal perception, the grinding system can significantly reduce the need for manual intervention, reduce the dependence on operator skills, and improve the accuracy and consistency of grinding. Compared with traditional manual grinding or offline programming automatic grinding, this embodiment not only improves the smoothness and fineness of the metal bone surface, but also improves production efficiency and product quality consistency, and significantly reduces the scrap rate.

[0191] Through this embodiment, the application scenario of multimodal sensing technology in metal bone polishing is demonstrated. By integrating visual and tactile feedback control, the problems of insufficient flexibility and low precision in traditional polishing methods are effectively solved, providing an advanced and efficient solution for complex metal bone surfaces and meeting the needs of high-standard medical products.

[0192] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above and that the present invention can be implemented in other specific forms without departing from the spirit or essential features of the present invention. Therefore, the embodiments should be considered exemplary and non-restrictive in all respects, and the scope of the present invention is defined by the appended claims rather than the above description, and it is intended that all changes falling within the meaning and scope of the equivalent elements of the claims be included in the present invention.

Claims

1. A method for planning a grinding trajectory of an artificial metal skeleton, characterized in that: The following steps are involved: Step 1: Use offline programming software to generate grinding tracks and perform initial grinding; Step 2: Use a line laser sensor with a large field of view to scan the target object, obtain global point cloud data, and align the global point cloud data with the skeleton model to obtain the relative pose matrix. ; Step 3: Use a high-precision line laser sensor with a small field of view to scan the local area and obtain high-precision point cloud data; use the relative pose obtained in the previous step And the robot arm scanning posture, the high-precision point cloud and the benchmark model are roughly registered, and then the ICP algorithm is used to finely register the high-precision point cloud and the benchmark model to calculate the area to be polished and the height difference; Step 4, judging whether the height difference meets the process requirements; Step 5: According to the area to be polished, the polishing trajectory, i.e. the polishing position coordinates, is obtained through real-time calculation, including: Step 5-1, obtaining the point cloud of the area to be polished; Step 5-2, triangulate the point cloud data and generate a patch model using a greedy triangulation algorithm; Step 5-3, use the point cloud algorithm library to calculate the axis-aligned bounding box of the point cloud and obtain the length and direction of the bounding box; Step 5-4, construct a cutting plane, and slice it cyclically along the coordinate axis direction, and construct a parallel cutting plane according to the size and direction of the bounding box; Step 5-5, calculating the intersection of the cutting plane and the triangulated point cloud model, and projecting the intersection onto a two-dimensional plane to obtain a contour line; Step 5-6, smooth the contour line, use the least square method to find the local regression line, and project the contour points onto the regression line to generate a smooth contour point set; Step 5-7, divide the smoothed contour line into equal parts according to a preset spacing, and calculate the position coordinates of the grinding trajectory points in three-dimensional space; Step 6: Calculate the grinding posture according to the grinding position coordinates; Step 7: Further transform the grinding trajectory to adapt to the process requirements of the robot arm holding the workpiece to the belt grinding machine; Step 8: Send the grinding trajectory to the robotic arm for grinding. At the same time, the six-dimensional force sensor at the end senses the contact force in real time, dynamically adjusts the position, and achieves constant force grinding.

2. The method for planning a grinding trajectory of an artificial metal skeleton according to claim 1, characterized in that: Triangles are gradually generated through the local neighborhood criterion, and a patch model is constructed for subsequent geometric calculations and intersection solutions.

3. The method for planning a grinding trajectory of an artificial metal skeleton according to claim 1, characterized in that: The bounding box is calculated using the axis alignment algorithm in the point cloud library. The lengths and directions of the three sides of the bounding box are obtained to guide the construction of the cutting plane.

4. The method for planning a grinding trajectory of an artificial metal skeleton according to claim 1, characterized in that: The cutting plane construction sets the slice spacing according to the longest side of the bounding box and slices along that direction.

5. The method for planning a grinding trajectory of an artificial metal skeleton according to claim 1, characterized in that: The step of smoothing the contour line reduces the noise and irregularity in the contour line through least squares regression to improve the smoothness of the trajectory and the stability of grinding.

6. The method for planning a grinding trajectory of an artificial metal skeleton according to claim 1, characterized in that: in, The step of equally dividing the contour line equally divides the generated point set according to the preset interval, ensuring that the distances between the trajectory points are as equal as possible to obtain a uniform trajectory distribution.

7. The method for planning a grinding trajectory of an artificial metal skeleton according to claim 1, characterized in that: in, Calculating the grinding posture includes: dividing the trajectory points into several sets according to the slice positions, and calculating the vectors between adjacent points to determine the deflection angle of the grinding tool.

8. The method for planning a grinding trajectory of an artificial metal skeleton according to claim 1, characterized in that: The pose estimation realizes the redefinition of the coordinate system by rigidly transforming the local point cloud around the trajectory point to ensure the accurate adjustment of the grinding tool posture.

9. The method for planning a grinding trajectory of an artificial metal skeleton according to claim 1, characterized in that: in, The six-dimensional force sensor senses the contact force in real time during the grinding process, and when the contact force deviates from a preset range, the grinding path and posture of the robot arm are automatically adjusted to ensure constant force grinding.

Citation Information

Patent Citations

  • Three-dimensional point cloud real-time collecting device and robot polishing path planning method

    CN107127755A

  • Optimum grinding task route planning method and device based on articulated arm robot

    CN107932505A

  • Wall surface grinding path planning method, device and equipment and medium

    CN111203766A

  • Complex component robot grinding and polishing trajectory planning method, device and equipment and medium

    CN117047754A

  • Wall surface sanding path planning method and apparatus, and device and medium

    EP3926123A1

Cited By

  • Cutting track generation method, cutting track generation system and visual cutting equipment

    CN119772405A

  • Track generation method and device for deburring of casting blank and medium

    CN119897875A

  • Grinding track generation method and device, robot and storage medium

    CN120170750A

  • Metal part wire drawing method and equipment and storage medium

    CN122142832A

  • Metal piece wire drawing method, device and storage medium

    CN122142832B