A grinding trajectory planning method for artificial metal bones
Through visual and tactile multimodal perception technology, combined with 3D vision sensors and six-dimensional force sensors, the metal bone grinding trajectory is adjusted in real time, solving the problem of insufficient precision of complex surface grinding and achieving high-precision and stable metal bone surface treatment.
Patent Information
- Application Number
- CN202411416160.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-11
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2044-10-11
AI Technical Summary
The prior art is difficult to achieve adaptive fine grinding and real-time dynamic control of the surface of complex metal bones, resulting in insufficient grinding accuracy and poor surface consistency, which cannot meet the needs of high-precision medical products.
Vision and tactile multimodal perception technology is adopted, combined with 3D vision sensors and six-dimensional force sensors, and global and local point cloud data are obtained through line laser sensors. Greedy triangulation algorithms and slice construction technology are used for precise modeling, and grinding trajectory is adjusted in real time to achieve constant force control.
It significantly improves the grinding accuracy and consistency of the metal bone surface, ensures surface smoothness and biocompatibility, improves production efficiency and personalized grinding accuracy, and avoids surface damage and uneven problems in traditional methods.
Smart Images

Figure CN119217364B_ABST
Abstract
Description
Technical Field
[0001] The present 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 skeletons are key components widely used in the medical field. They are often used to replace human bone structures and are installed inside the body to restore function or correct structure. Their surface smoothness and precision directly affect contact friction with human tissue, durability, and patient comfort. However, in existing technologies:
[0003] 1. Polishing metal bones primarily relies on manual operation or simple automated polishing equipment. Manual polishing involves the operator using handheld polishing tools to polish the bone surface to eliminate surface imperfections and improve smoothness. While this method offers a certain degree of flexibility, its effectiveness relies heavily on the operator's experience and skill, making it difficult to guarantee surface accuracy and consistency. This is prone to human error, resulting in rough or uneven surfaces and failing to meet the demands of high-precision medical products.
[0004] 2. To improve the accuracy and consistency of polishing, the industry has introduced an offline programming automated polishing method, which controls the robotic arm and polishing tools through preset trajectories for surface treatment. This method measures and plans the path of the metal skeleton offline to generate a fixed polishing trajectory, which is automatically executed by the equipment. However, this preset trajectory polishing method lacks real-time feedback on the actual polishing process and is difficult to dynamically adjust the trajectory. Especially when facing the complex curved surfaces of the metal skeleton, it is easy to have problems with insufficient or excessive local polishing, affecting the final surface quality.
[0005] 3. To further improve machining accuracy, some technical solutions attempt to introduce 3D vision sensors to obtain morphological data of the bone surface and generate a grinding trajectory based on point cloud data. Although visual perception technology can obtain more accurate surface data, in practice, relying solely on visual feedback makes it difficult to perceive changes in contact force during the grinding process in real time, and it is impossible to instantly adjust the grinding path and posture based on the contact conditions. This leads to uneven grinding force when grinding complex curved or irregular surfaces, resulting in uneven grinding and surface damage, and still cannot meet the high-precision requirements of metal bones.
[0006] In addition, 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 the grinding process lacks adaptive adjustment capabilities. This method often suffers from 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 the technical problem to be solved by the present invention. Summary of the Invention
[0008] The technical problem solved by the present invention is to address the defects existing in the above-mentioned prior art and provide a grinding trajectory planning method for artificial metal bones to solve the problems of insufficient grinding accuracy, poor surface consistency, and lack of real-time feedback and adjustment capabilities of metal bones raised in the above-mentioned background technology.
[0009] In order to solve the above technical problems, the technical solutions adopted by the present invention are 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 the grinding trajectory 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 aligned, and then the high-precision point cloud and the benchmark model are finely aligned using the ICP algorithm to calculate the area to be polished and the height difference;
[0014] Step 4, determine whether the height difference meets the process requirements;
[0015] Step 5: Based on 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, obtain the point cloud of the area to be polished;
[0017] Step 5-2, triangulate the point cloud data and generate a mesh 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 along the coordinate axis. Construct a parallel cutting plane based on the size and direction of the bounding box.
[0020] Step 5-5, calculate the intersection of the tangent plane and the triangulated point cloud model, and project the intersection onto a two-dimensional plane to obtain the contour line;
[0021] Steps 5-6: Smooth the contour line, use the least squares method to find the local regression line, and project the contour points onto the regression line to generate a smooth contour point set;
[0022] Steps 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 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: The grinding 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.
[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 irregularities in the contour line through least squares regression, thereby improving the smoothness of the trajectory and the stability of polishing.
[0030] As a further solution of the present invention, the step of dividing the contour line into equal parts generates a point set by dividing the point set into equal parts according to a preset interval, ensuring 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 calculating 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 robotic 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 and require extremely high surface accuracy and consistency to avoid friction, wear and other problems that affect the patient. 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 to ensure 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 polishing 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 polishing path, ensure that the movement of the polishing tool accurately matches the surface morphology of the bone, and provide excellent surface processing effects.
[0037] 3. Advanced data smoothing and trajectory optimization ensure smooth and stable grinding of metal bone surfaces: 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 contours and optimize the grinding tool's motion path to ensure smoothness and stability, avoid surface roughness or discontinuities, and ensure the long-term safety and stability of metal bones after implantation.
[0038] 4. Combining constant force control with real-time feedback to improve the surface quality and consistency of metal bone polishing: For metal bones implanted in the human body, constant contact force is crucial, as the slightest carelessness can cause surface damage or unevenness. This application uses tactile constant force control to achieve real-time feedback and adjustment during the polishing process, ensuring that the contact force is always within the optimal range, effectively preventing surface unevenness and damage that may occur with traditional polishing. It is particularly suitable for polishing bone joint surfaces and other high-precision parts.
[0039] 5. Adaptive trajectory planning significantly improves the production efficiency and precision of metal bone grinding: Because artificial metal bones need to be customized according to the individual's physiological structure, traditional fixed-path 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 different metal bone shapes, reduce program adjustment time, significantly 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 set forth in part in the description which follows and, in part, will be obvious from the description which follows, or may be learned by 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 following briefly introduces the drawings required for use in the embodiments or the description of the prior art. 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 any creative work.
[0042] Figure 1 Flowchart of the software recommendation method in an embodiment of the present invention.
[0043] Figure 2 This is the flowchart of polishing area point cloud processing and trajectory planning 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 flowchart of posture trajectory point posture calculation and coordinate system conversion of the present invention. DETAILED DESCRIPTION
[0046] The following is a clear and complete description of the technical solutions in the embodiments of the present invention. Obviously, the embodiments described are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making any creative efforts 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 the grinding trajectory 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 aligned, and then the high-precision point cloud and the benchmark model are finely aligned using the ICP algorithm to calculate the area to be polished and the height difference;
[0051] Step 4, determine whether the height difference meets the process requirements;
[0052] Step 5: Based on 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, obtain the point cloud of the area to be polished;
[0054] Step 5-2, triangulate the point cloud data and generate a mesh 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 along the coordinate axis. Construct a parallel cutting plane based on the size and direction of the bounding box.
[0057] Step 5-5, calculate the intersection of the tangent plane and the triangulated point cloud model, and project the intersection onto a two-dimensional plane to obtain the contour line;
[0058] Steps 5-6: Smooth the contour line, use the least squares method to find the local regression line, and project the contour points onto the regression line to generate a smooth contour point set;
[0059] Steps 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 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: The grinding 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.
[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 irregularities in the contour line through least squares regression, thereby improving the smoothness of the trajectory and the stability of polishing.
[0067] As a further solution of the present invention, the step of dividing the contour line into equal parts generates a point set by dividing the point set into equal parts according to a preset interval, ensuring 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 calculating 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 robotic arm are automatically adjusted to ensure constant-force grinding.
[0071] Example 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 includes:
[0073] S10: Generate the grinding trajectory 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 reference model are first coarsely registered using the robot arm scanning position and posture. Then, the high-precision point cloud and the reference model are finely registered using the ICP algorithm. 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, the polishing position coordinates, is obtained through real-time calculation.
[0078] S60: Calculate the polishing posture according to the polishing 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] S50: Based on the area to be polished, a polishing trajectory, i.e., the polishing position coordinates, is obtained through real-time calculation. 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 precise polishing of the target area. The following is a detailed step-by-step process to achieve this goal:
[0082] S501: Obtaining a point cloud of the area to be polished.
[0083] S502: Triangulate the point cloud surface. A triangulation algorithm is used to triangulate the point cloud data, generating a mesh model for subsequent geometric calculations. Triangulation helps form smooth surfaces between point clouds, facilitating the calculation of intersections and other geometric features. A traditional greedy triangulation algorithm is used here, which incrementally generates triangles based on a local neighborhood criterion 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 axis-aligned bounding box of the point cloud, and obtain the lengths of the three sides of the bounding box (Length1, Length2, Length3) and the position and orientation of the bounding box (Pose).
[0085] S504: Construct a cutting plane and perform cyclic slicing along the coordinate axis. According to the size and direction of the bounding box, a series of parallel cutting planes are constructed.
[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 a new X-axis, slice along this direction. Set the slice spacing Δx and define the position of each slice using 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 pose 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, the Euler angle rotation sequence is ZYX when performing posture transformation.
[0095] S505: Calculate the intersection of the tangent plane and the triangulated point cloud model.
[0096] By 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 the form of points and normal vectors. i Given the origin and normal vector of the plane: Origin (X 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 triangle mesh, where each triangle is defined by three vertices V1, V2, and V3. To find the intersection of each triangle with the plane, we need to check the intersection of each triangle's edge with the plane. V1-V2 forms a side 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 point exists and lies on the edge. Repeat the above steps, checking each edge of the triangle (V1-V2, V2-V3, V3-V1) for intersection with the plane. For each triangle, if two intersection points are found, these intersection points form a line segment representing the intersection of the triangle with the plane.
[0105] S506: Project the intersection onto a two-dimensional plane to obtain the 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] Where fx and fy represent the focal length, cx and cy are the coordinates of the image center. Since this embodiment is a parallel projection (orthogonal projection), the 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 the point (u, v) in the image, which is the projection point of the 3D object model in the image coordinate system. Further, the projection point is fitted as an XLD contour line.
[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 the 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. 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 it to 0:
[0126]
[0127] The two equations are combined:
[0128]
[0129] Here, 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] 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 into equal parts according to the preset spacing d, and calculate the position coordinates of the grinding track points in the 3D space based on the XLD after equal division. The smoothed XLD contour line consists of a series of continuous points, and the row coordinates and column coordinates of these points are represented by Row={y1, y2, y3, y4, ..., y n}, Col={x1, x2, x3, x4,...,x n First, initialize a set NewPoints to store the equally divided points, add the first point to the set NewPoints = {(x1, y1)}, and then define a variable to store the last selected equally divided point, with the initial value of the first point (x last ,y last )=(x1, y1). For the first to the second to last point (i-th point and 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 starting point and the end point, NewPoints=NewPoints∪{(x n ,y n )}.
[0133] The above process generates a new set of equally spaced points by traversing the smoothed XLD contour points and calculating the distances between them. This process ensures that the distances between each equally spaced point are as equal as possible, providing a uniform point distribution during subsequent analysis and processing.
[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 remains in the correct direction during actual operation.
[0135] S601: Divide the trajectory points into several sets according to the slice positions. 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, assume 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 Expressed as:
[0137] v i =P k(i+1) -P ki .
[0138] S603: Calculate the angle between the adjacent point vectors 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 with 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, create a KD tree object using the PCL `pcl::KdTreeFLANN` class and set the point cloud dataset as input to the KD tree. Then, set a radius value, radius, to represent the size of the local region 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 it to a local point cloud collection. This local point cloud contains all points that fall 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 rigid transformation to facilitate subsequent calculations. The main purpose of rigid transformation is to redefine the coordinate system for the local point cloud, making subsequent operations more convenient and consistent. In the unified coordinate system after transformation, the posture of the trajectory point can be more easily calculated. The points in the local point cloud can be represented as 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. Calculate the intersection of the tangent plane and the point cloud model. Project the intersection onto a two-dimensional plane to obtain an XLD. Fit the XLD to a line segment to obtain the start and end points of the line segment. Since the local point cloud pose has been transformed in the previous step, the X-axis displacement of the tangent plane can be directly defined as 0. The tangent 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 XLD has been explained in the above process.
[0149] S607: Calculate the direction vector according to the start point and 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 area 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 part).
[0154] Define the X direction: Select a reference point near the origin, guide the robot arm 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. Typically, 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: Obtain Tool0 pose. The Tool0 pose typically refers to the reference pose of the robot end effector in the robot base coordinate system. This pose can be when the robot is at the origin or at another known pose. The Tool0 pose serves as an intermediate variable for coordinate transformation and trajectory calculation, but is ultimately offset.
[0158] S703: Traverse all trajectory points and transform the generated trajectory points to the robot arm base coordinate system through the Tool0 pose.
[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 pose and Tool0 pose to offset the Tool0 pose. At the same time, according to the robot arm design information, obtain the Euler angle rotation sequence of the robot arm 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 in step S704.
[0167] Example 2:
[0168] Artificial metal skeletons are increasingly used in the medical field, particularly in treating traffic accidents and sports injuries. Through precise machining using CNC equipment, these metal skeletons closely resemble the shape of human bones. However, to ensure a close fit with the human skeleton, the joint surfaces still require a meticulous polishing process to achieve a smooth and consistent fit.
[0169] Currently, the polishing process in the domestic manufacturing of artificial metal bones still relies primarily on manual labor. This method relies on experienced workers to manually process the joints and surfaces of the metal bones using various polishing tools. Manual polishing offers a certain degree of flexibility, allowing for fine-tuning to suit different bone shapes and surface requirements. Furthermore, offline programming technology is gradually being introduced into the polishing process. Using offline programming software, precise robotic polishing trajectories are generated, allowing the robot to automatically perform the polishing operation.
[0170] Manual polishing has several limitations: It is labor-intensive, requiring workers to concentrate for extended periods. Furthermore, due to its reliance on manual labor, consistency in finished products is difficult to guarantee. The performance of different workers, or even the same worker at different times, can vary, leading to inconsistent product quality, low efficiency, and high scrap rates. Furthermore, with the shrinking young workforce and the gradual exit of older workers from the labor market, manual polishing faces the risk of a workforce gap, further exacerbating the industry's demand for automation technology.
[0171] While offline programming and automated polishing technologies excel in improving production efficiency and product consistency, they still have some significant limitations. First, limited flexibility is a major issue. Offline programming typically requires detailed programming and setup based on the specific shape and specifications of the product. This means that the program needs to be rewritten or adjusted every time the product shape or specifications change. This not only increases time and labor costs in the production process, but also reduces production flexibility and responsiveness.
[0172] Furthermore, the polishing paths generated by offline programming are pre-set and lack the ability to sense and adjust in real time. Unable to dynamically adjust to the surface conditions of the metal skeleton during actual operation, this static programming approach struggles to cope with the various uncertainties that may arise during the production process. This lack of real-time adjustment can lead to suboptimal polishing results and even compromise final product quality. Therefore, while offline programming and automated polishing offer numerous advantages for the production process, their limitations in flexibility and real-time responsiveness still require further improvement and optimization.
[0173] This embodiment provides a polishing trajectory planning method based on visual and tactile multimodal perception, which is specifically applied to the surface processing scenario of artificial metal bones. It aims to improve the processing quality of metal bones through adaptive polishing control and solve the shortcomings of traditional technology.
[0174] In practical applications, the artificial metal bone to be polished is first clamped and fixed. The surface of the bone typically has a complex three-dimensional morphology, including curves, grooves, and protrusions. Traditional fixed trajectories make it difficult to achieve fine polishing of these areas. To achieve high-precision surface processing, the system integrates 3D vision sensors and six-dimensional force sensors. Using multimodal sensing technology, it captures the geometry of the bone surface and 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. This data is aligned with the preset bone model to obtain the relative pose matrix T low , as a reference benchmark 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 previously obtained relative pose matrix T low Based on the pose data of the robot arm, the system performs a rough registration of the high-precision point cloud and the reference model, and then uses the ICP (iterative closest point) algorithm for fine registration to finally determine the area to be polished and its height difference.
[0177] If the height difference of the bone surface is detected to not meet the process requirements during the polishing process (step S40), the system will calculate the polishing trajectory in real time (step S50). This involves triangulating the point cloud of the polishing area, constructing a cutting plane, calculating the intersection of the plane and the point cloud, and other geometric calculations to generate a surface contour line. The system then smoothes the surface using the least squares method. This process ensures the continuity and accuracy of the polishing 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 it 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 aspect of this embodiment is the fusion of visual and tactile multimodal perception. During the polishing process, a six-dimensional force sensor monitors the changes in contact force between the polishing tool and the metal bone surface in real time. By integrating tactile feedback data with geometric information acquired by the visual sensor in real time, the system can dynamically adjust the tool's path and posture during the polishing process, ensuring that each polishing stroke precisely matches the morphological changes of the bone surface.
[0180] For example, when the grinding tool detects increased contact force on a curved or raised surface, the system automatically adjusts the grinding tool's posture to reduce grinding force and avoid surface damage. Conversely, in concave or low-lying areas, the system increases contact force to ensure sufficient grinding. Real-time control through multimodal sensing ensures constant force output during the grinding process, resulting in a more uniform and stable polishing effect.
[0181] This method not only achieves adaptive fine polishing of complex surfaces, significantly improving surface consistency and finish, but also effectively avoids the problems of under-polishing or over-polishing caused by fixed trajectories or single-sensor methods in traditional methods. Compared to traditional polishing methods, the multimodal sensing method used in this embodiment significantly reduces the need for manual intervention, improves the level of automation, and greatly enhances polishing precision and efficiency.
[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] Example 3:
[0184] In the production of artificial metal bones, fine polishing is a key step in ensuring a good bond between bone and human tissue. In particular, surface finish and precision are crucial for post-implant stability and comfort when processing the interface with human bone. This embodiment, applied to the polishing of metal-bone interface surfaces, combines multimodal perception with vision and touch to achieve adaptive fine polishing of complex metal bone surfaces, significantly improving processing efficiency and surface quality.
[0185] In actual applications, the joint surfaces of metal bones often have complex three-dimensional surfaces. Traditional manual polishing methods, which rely on the experience of workers, are difficult to ensure the consistency and accuracy of the surface. While offline programming automated polishing improves efficiency, the fixed polishing trajectory lacks real-time adjustment capabilities and is difficult to cope with subtle morphological changes on the surface of metal bones. Therefore, this embodiment integrates 3D vision sensors and six-dimensional force sensors to perceive 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 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 posture T low The system uses the robot arm's scanning position for coarse registration and the ICP algorithm for fine registration to determine the area to be polished and its height difference. During this step, the system can accurately identify hard-to-reach recessed or raised areas on the joint surface and adaptively adjust the trajectory based on these features.
[0188] During the polishing process, the system continuously monitors the contact force between the polishing tool and the bone surface using a six-dimensional force sensor. If the contact force exceeds the preset range, the system instantly adjusts the polishing path and posture to ensure that the force applied to the polishing tool remains optimal. This real-time force feedback control prevents over-polishing and uneven polishing, especially when working on sensitive areas where bone interfaces directly contact human tissue, ensuring that the surface smoothness meets the high medical standards.
[0189] For example, when tiny protrusions appear on the surface of a metal skeleton, traditional methods may result in insufficient polishing of certain areas due to the inability to adjust the fixed trajectory. Using real-time data captured by the vision sensor, the system can quickly adjust the polishing tool's trajectory, increasing polishing force and path coverage to ensure that the protrusions are smoothed. Conversely, for recessed areas, the system reduces polishing force to avoid surface damage. 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 sensing, the polishing system significantly reduces the need for manual intervention and operator skill, while also improving polishing precision and consistency. Compared to traditional manual polishing or offline automated polishing, this embodiment not only enhances the smoothness and fineness of metal skeleton surfaces, but also improves production efficiency and product quality consistency, significantly reducing scrap rates.
[0191] This embodiment demonstrates the application scenario of multimodal sensing technology in metal bone polishing. By integrating visual and tactile feedback control, it effectively solves the problems of insufficient flexibility and low precision in traditional polishing methods, 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 invention can be embodied in other specific forms without departing from the spirit or essential characteristics of the invention. Therefore, the embodiments should be considered in all respects as illustrative and non-restrictive, and the scope of the invention is defined by the appended claims rather than the foregoing description, and it is intended that all variations that come within the meaning and range of equivalents of the claims be embraced therein.
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 the grinding trajectory 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 The high-precision point cloud and the reference model are roughly registered based on the scanning posture of the robotic arm. Then, the high-precision point cloud and the reference model are finely registered using the ICP algorithm to calculate the area to be polished and the height difference. Step 4, determine whether the height difference meets the process requirements; Step 5: Based on the area to be polished, the polishing trajectory, i.e., the polishing position coordinates, is obtained through real-time calculation, including: Step 5-1, obtain the point cloud of the area to be polished; Step 5-2, triangulate the point cloud data and generate a mesh 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 along the coordinate axis. Construct a parallel cutting plane based on the size and direction of the bounding box. Step 5-5, calculate the intersection of the tangent plane and the triangulated point cloud model, and project the intersection onto a two-dimensional plane to obtain the contour line; Steps 5-6: Smooth the contour line, use the least squares method to find the local regression line, and project the contour points onto the regression line to generate a smooth contour point set; Steps 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: The grinding 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.
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 local neighborhood criteria to construct a patch model 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, wherein: 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 uses least square regression to reduce the noise and irregularities in the contour line to improve the smoothness of the trajectory and the stability of the 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 spacing, 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, wherein: The pose estimation performs a rigid transformation on the local point cloud around the trajectory point to redefine the coordinate system to ensure accurate adjustment of the grinding tool posture.
9. The method for planning a grinding trajectory of an artificial metal skeleton according to claim 1, wherein: in, 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 robotic 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