Method, system, and medium for meat quantification cutting based on point cloud
By acquiring three-dimensional point cloud data of meat, creating a virtual cutting plane and iteratively adjusting it, the problem of quantitative cutting of irregular meat was solved, achieving efficient and precise automated cutting, and improving the automation level of the production line and the utilization rate of raw materials.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANGHAI XIXI INTELLIGENT TECH CO LTD
- Filing Date
- 2026-01-12
- Publication Date
- 2026-06-09
AI Technical Summary
Existing technologies struggle to achieve precise quantitative cutting of irregularly shaped meat. Traditional methods cannot adapt to changes in the position and posture of meat pieces, resulting in low automation and material waste.
By acquiring 3D point cloud data of meat, a virtual cutting plane perpendicular to the main direction is created. The spatial position of this plane is iteratively adjusted, and combined with a closed-loop feedback mechanism, the volume difference is calculated to determine the final cutting plane. Robot motion parameters are then generated for cutting.
It enables precise quantitative cutting of irregularly shaped meat, improves automation and production flexibility, reduces raw material waste, and enhances production efficiency.
Smart Images

Figure CN122165498A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of automation control, three-dimensional point cloud processing and robotics, and in particular to a point cloud-based quantitative cutting method and system for meat. Background Technology
[0002] In automated production, especially in food processing, precise weight cutting of raw materials (such as large pieces of meat) is a common requirement. Traditional automated cutting methods mostly employ machine teaching, which involves pre-setting fixed cutting paths and parameters. This method is only suitable for materials with regular shapes and fixed positions. However, in actual production, meat pieces are often irregularly shaped, and their position and orientation vary with each feeding. Therefore, the teach-and-write cutting method cannot adapt to these variations, making it difficult to achieve precise weight-based cutting, leading to raw material waste or substandard products, and resulting in low automation and production flexibility.
[0003] Currently, while technologies exist for measuring or identifying objects using point cloud data acquired from 3D vision sensors, and some solutions involve slicing the point cloud data to aid analysis, these methods typically focus on object size measurement or feature registration, ultimately aiming for non-contact measurement. Existing technologies generally lack an effective means to intelligently determine the optimal cutting position for an irregularly shaped object based on a custom target weight. In other words, current technologies lack an automated decision-making mechanism that combines target weight with virtual cutting operations, using closed-loop feedback to determine precise cutting parameters, thus failing to meet the practical production needs for precise quantitative cutting of irregularly shaped meat. Summary of the Invention
[0004] In view of the deficiencies in the prior art, the purpose of this invention is to provide a method, system and medium for quantitative meat cutting based on point cloud.
[0005] A point cloud-based quantitative meat cutting method according to the present invention includes the following steps: Obtain the 3D point cloud data of a piece of meat; Analyze the three-dimensional point cloud data of the meat to determine the main orientation of the meat; A virtual cutting plane perpendicular to the main direction is created, and a final cutting plane is determined by iteratively adjusting the spatial position of the virtual cutting plane. The iterative adjustment includes: calculating the volume of the part to be cut as defined by the current virtual cutting plane; comparing the calculated volume with a target volume; and moving the virtual cutting plane according to the comparison result until the absolute value of the difference between the calculated volume and the target volume is less than a preset error threshold. Based on the parameters of the final cutting plane, robot motion parameters are generated, and the robot is controlled to perform the cutting action.
[0006] Preferably, the step of determining the main direction of the meat includes: The three-dimensional point cloud data of the meat is projected onto a preset two-dimensional plane; and Principal component analysis is performed on the projected two-dimensional point cloud to determine the principal direction.
[0007] Preferably, the step of determining the main direction of the meat includes: Minimum orientation bounding box fitting is performed on the three-dimensional point cloud data of the meat; and The longest axis direction of the bounding box of the minimum direction is taken as the main direction.
[0008] Preferably, the step of calculating the volume of the portion to be cut includes: The surface triangulation process is performed on a portion of the point cloud data corresponding to the part to be cut, defined by the virtual cutting plane, within the 3D point cloud data of the meat. This is combined with the cross-section formed by the virtual cutting plane at the boundary of this portion of the point cloud to generate a closed triangular mesh model. The volume is calculated based on the closed triangular mesh model.
[0009] Preferably, the step of calculating the volume based on the closed triangular mesh model includes: For each triangular facet constituting the closed triangular mesh model, calculate the volume of the triangular prism enclosed by its projection onto a reference plane, where the reference plane is a predetermined plane; and The volumes of all the triangular prisms are summed to obtain the total volume of the part to be cut.
[0010] Preferably, the step of calculating the volume of the portion to be cut includes: The spatial region defined by the minimum axis-aligned bounding box of the partial point cloud data corresponding to the part to be cut in the three-dimensional point cloud data of the meat is divided into multiple voxels; and The volume is calculated by counting the number of voxels occupied by the partial point cloud and multiplying it by the volume of a single voxel.
[0011] Preferably, the step of moving the virtual cutting plane includes: If the absolute value of the difference between the calculated volume and the target volume is not less than the preset error threshold, then the virtual cutting plane is moved along the normal direction of the virtual cutting plane by a fixed preset step size.
[0012] Preferably, the step of moving the virtual cutting plane includes: Based on the difference between the calculated volume and the target volume, an adaptive movement step size proportional to the difference is determined; and The adaptive movement step size is moved along the normal direction of the virtual cutting plane.
[0013] A point cloud-based quantitative meat cutting system according to the present invention includes: A three-dimensional sensor is used to acquire three-dimensional point cloud data of a piece of meat; A robot equipped with cutting tools for performing cutting actions; and A processing unit, connected to the 3D sensor and the robot, is configured to: analyze the 3D point cloud data of the meat to determine its main direction; create a virtual cutting plane perpendicular to the main direction, and determine a final cutting plane by iteratively adjusting the spatial position of the virtual cutting plane, wherein the iterative adjustment includes: calculating the volume of the part to be cut as defined by the current virtual cutting plane, comparing the volume with a target volume, and moving the virtual cutting plane according to the comparison result until the absolute value of the difference between the calculated volume and the target volume is less than a preset error threshold; and generating robot motion parameters based on the parameters of the final cutting plane and controlling the robot to perform cutting actions.
[0014] According to the present invention, a computer-readable storage medium is provided thereon storing a computer program, which, when executed by a processor, performs the steps of the method to generate robot motion parameters for controlling a robot to perform a cutting action.
[0015] Compared with the prior art, the present invention has the following beneficial effects: 1. Achieving precise quantitative cutting: This application creates a virtual cutting plane and combines iterative volume calculation with a closed-loop feedback mechanism to accurately determine the optimal cutting position for irregularly shaped meat based on a custom target weight, solving the problem of quantitative cutting of irregular objects that is difficult to handle by traditional methods.
[0016] 2. Improved automation and flexibility: This application can automatically adapt to changes in the position and shape of incoming materials without manual intervention or tedious teaching, which significantly improves the automation level of the production line and its adaptability to different materials.
[0017] 3. Improve raw material utilization. Compared with manual estimation or fixed cutting modes, the cutting accuracy of this application is higher, which can effectively reduce the waste of raw materials caused by inaccurate cutting and reduce production costs.
[0018] 4. Improve production efficiency: The entire decision-making and execution process is completed automatically by computers and robots, enabling continuous and efficient operation and significantly improving production efficiency. Attached Figure Description
[0019] Other features, objects, and advantages of the present invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings: Figure 1 A schematic diagram illustrating the calculation of the main direction of meat processing according to an embodiment of this application; Figure 2 A schematic diagram illustrating the principle of triangulation volume calculation provided in the embodiments of this application; Figure 3 A schematic diagram illustrating the cutting plane iteration process provided in an embodiment of this application; Figure 4 A flowchart illustrating a point cloud-based quantitative meat cutting method provided in this application embodiment; Figure 5 This is a schematic diagram of a point cloud-based quantitative meat cutting system provided in an embodiment of this application.
[0020] Explanation of reference numerals in the attached figures: Detailed Implementation
[0021] The present invention will now be described in detail with reference to specific embodiments. These embodiments will help those skilled in the art to further understand the present invention, but do not limit the invention in any way. It should be noted that those skilled in the art can make several changes and improvements without departing from the concept of the present invention. These all fall within the protection scope of the present invention.
[0022] Example 1 This embodiment details a basic implementation scheme for a point cloud-based quantitative meat cutting method and system. This scheme can accurately cut meat with irregular shapes and unfixed positions (e.g., large pieces of meat in food processing) by weight.
[0023] Please see Figure 5This is a schematic diagram of a point cloud-based quantitative meat cutting system provided in an embodiment of this application. The system may include: a three-dimensional sensor 1, a processing unit 2, and a robot consisting of a robot controller 3 and a robot arm 4. The robot arm 4 has a cutting tool 5 mounted at its end. The three-dimensional sensor 1, such as a structured light camera or a laser scanner, is configured to acquire three-dimensional point cloud data of the meat to be processed. The processing unit 2 may be an industrial computer, server, or embedded system, and establishes a communication connection with the three-dimensional sensor 1 and the robot controller 3 via wired or wireless means. As the decision-making core of the system, the processing unit 2 integrates multiple functional modules for implementing the method of this application, specifically including a point cloud segmentation module 21, a posture analysis module 22, a cutting decision module 23, and a robot parameter generation module 24. The robot controller 3 is responsible for receiving motion commands from the processing unit 2 and precisely controlling the robot arm 4 to drive the cutting tool 5 to complete the cutting action.
[0024] The following will combine Figure 4 The flowchart shown illustrates the detailed processing flow of this embodiment.
[0025] In a specific application scenario, suppose we need to precisely cut a 500-gram portion from an irregularly shaped pork hind leg weighing approximately 2 kilograms. If the average density of this batch of pork is known to be approximately 1.06 g / cm³, then the target volume to be cut can be pre-calculated: Target volume = 500 g / 1.06 g / cm³ ≈ 471.7 cm³. The meat is randomly placed on a horizontal workbench, the height of which relative to the robot's base coordinate system is a known value, for example, d = 10 mm.
[0026] First, the system executes step S10, which involves acquiring point cloud data. After the system starts, the 3D sensor 1, located above the meat, scans the workbench area to capture raw 3D point cloud data, including the meat and the workbench background. This data is a collection of points containing 3D coordinates (x, y, z) and is sent to the processing unit 2.
[0027] Subsequently, in step S20, the point cloud segmentation module 21 within processing unit 2 segments the received raw point cloud data to extract the meat point cloud. Specifically, this module can perform background removal based on prior knowledge of the meat placement plane. The operation can be as follows: traverse each point p(x, y, z) in the raw point cloud and determine its z-coordinate value. Since the workbench height is known to be 10 mm, a threshold slightly higher than this value (e.g., 10.5 mm) can be set. If the z-coordinate of a point is greater than this threshold, the point is determined to be a point constituting meat and is included in a new set, thus forming a pure meat point cloud. Through this step, the meat can be effectively separated from its environment.
[0028] Next, in step S30, the attitude analysis module 22 analyzes the segmented meat point cloud to determine its position and main direction in space. First, by statistically analyzing the maximum and minimum values of the x, y, and z coordinates of all points in the meat point cloud set, the axis-aligned bounding box of the meat can be obtained, and the geometric center coordinates (centerX, centerY, centerZ) of the meat can be calculated from this. Subsequently, to determine the main extension direction of the meat, this module uses principal component analysis. Figure 1 As shown, this illustrates the calculation process for the main direction of the meat. The attitude analysis module 22 projects the three-dimensional meat point cloud onto the XY plane, forming a two-dimensional meat point cloud projection area 100. Principal component analysis is performed on this two-dimensional point cloud dataset to calculate its covariance matrix, and the eigenvalues and eigenvectors of the matrix are solved. Among them, the eigenvector corresponding to the largest eigenvalue is the main direction vector 101 of the two-dimensional point cloud distribution, which represents the longest extension direction of the meat on the horizontal plane. Accordingly, the rotation angle rz 102 of the meat can be obtained by calculating the angle between the main direction vector 101 and the X-axis of the coordinate system. Specifically, it can be calculated using the arctangent function rz = atan2(yp, xp), where xp and yp are the x and y components of the main direction vector. This rotation angle rz accurately describes the orientation of the meat.
[0029] After determining the main orientation of the meat, the cutting decision module 23 begins the step S40 of creating an initial virtual cutting plane, which aims to create a cutting plane adapted to the posture of the meat. In this embodiment, the cutting plane is set to be perpendicular to the main orientation of the meat. Specifically, an initial normal vector (e.g., [1, 0, 0]) can be created first, and then rotated around the Z-axis by the angle rz calculated in the previous step to obtain the final normal vector normal(a, b, c) of the cutting plane. Thus, the projection of this normal vector onto the XY plane is perpendicular to the main orientation of the meat. The equation of the cutting plane can be expressed as ax + by + cz + d_plane = 0. Initially, the plane can be set to pass through the geometric center point (centerX, centerY, centerZ) of the meat, so the constant term of the plane equation can be calculated as d_plane = -(a*centerX + b*centerY + c*centerZ).
[0030] Next, the system enters the core iterative optimization loop step S50, which is executed by the iterative optimization unit 231 within the cutting decision module 23. The purpose of this loop is to find an optimal cutting plane that can cut out the target volume (471.7 cubic centimeters) by continuously adjusting the position of the virtual cutting plane. Figure 3 As shown, it illustrates the iterative process of the cutting plane.
[0031] After the loop begins, the iterative optimization unit 231 first executes the plane-moving step S51. In the first iteration, the initial cutting plane created in the previous step is used; in subsequent iterations, the plane is moved according to the volume comparison results.
[0032] Next, step S52, calculating the cutting volume, is performed. For the virtual cutting plane at the current position, the volume of the meat portion on one side needs to be calculated. This process first iterates through each point p(xi, yi, zi) in the meat point cloud, substituting its coordinates into the plane equation ax + by + cz + d_plane. The sign (positive or negative) of the resulting value determines which side of the plane the point is located on. For example, all points that result in a positive value are grouped into the point cloud set of the "part to be cut". Subsequently, the volume of the point cloud set of the part to be cut is calculated.
[0033] In one embodiment of this application, the volume calculation employs a triangulation method, the principle of which is as follows: Figure 2As shown. The specific process is as follows: Surface reconstruction is performed on the point cloud of the part to be cut to generate a triangularized surface 200 composed of multiple tiny triangular facets 201, which represents the irregular outer surface of the part to be cut. For each triangular facet 201 constituting this surface, its area and centroid coordinates are calculated. Each triangular facet 201 and its projection onto the meat placement plane (i.e., the bottom plane 203 with z=10mm) together form a tiny triangular prism volume element 202. The volume of this prism is approximately equal to the area of the triangular facet multiplied by the average height of its centroid from the reference plane. The total volume of the part to be cut, colm_total, is obtained by summing the volumes of all these triangular prism volume elements 202.
[0034] Next, step S53, which determines whether the volume is within the error range, is executed. The calculated volume colm_total is compared with the target volume of 471.7 cubic centimeters. An acceptable volume error threshold can be preset, for example, col_range = 5 cubic centimeters. If |colm_total - 471.7| is less than 5, the condition is met; otherwise, it is not met.
[0035] If the absolute value of the difference is not less than 5, it means the current cutting position does not meet the requirements, and the loop continues. At this point, return to step S51 (moving the plane) and adjust the plane's position based on the comparison result. Specifically, a fixed movement step size can be set, for example, step_d = 0.5 mm. If colm_total is less than the target volume, it means too little has been cut, and the cutting plane needs to be moved inwards along its normal direction. This can be achieved by adjusting the constant term d_plane in the plane equation (e.g., d_plane = d_plane - step_d, where the addition and subtraction depend on the definition of the normal direction). Conversely, if colm_total is greater than the target volume, the plane is moved in the opposite direction of the normal (e.g., d_plane = d_plane + step_d). Figure 3 As shown, the plane moves from the initial cutting position 301 to the second cutting position 302, and the volume of the first cutting area 303 defined by it is recalculated. This "move-calculate-compare" process is repeated continuously.
[0036] If the absolute value of the difference is less than 5, the current virtual cutting plane is considered to be the optimal final cutting plane, and the iterative optimization loop ends. At this point, step S60, which determines the final cutting plane, is executed.
[0037] Subsequently, in step S70, the robot parameter generation module 24 generates robot motion parameters based on the determined final cutting plane parameters (normal vector normal(a, b, c) and constant term d_plane) and the final point cloud of the part to be cut. As an optional implementation, the geometric center (x0, y0) of the point cloud of the part to be cut on the XY plane can be calculated, and a safe height z0 can be set. Then, the point (x0, y0, z0) is projected onto the final cutting plane to obtain a key point (px, py, pz) on the cutting path. The coordinates of this point, together with the previously determined meat rotation angle rz, constitute a six-dimensional pose {px, py, pz, 0, 0, rz}. This pose defines the target position and orientation that the cutting tool 5 needs to reach, where (px, py, pz) is the position, and (0, 0, rz) is the orientation expressed in Euler angles.
[0038] Finally, the robot executes the cutting step S80. The robot parameter generation module 24 sends the calculated six-dimensional pose parameters to the robot controller 3. The robot controller 3 parses these parameters and generates low-level motor control commands to drive the robot arm 4 to precisely move the cutting tool 5 to the target pose and perform the cutting and lowering motion along the direction of the cutting plane.
[0039] Through the above process, the system can automatically complete the entire process from scanning and calculation to cutting within seconds, thus accurately cutting a specified weight (approximately 500 grams) from irregular pieces of meat. Understandably, its cutting weight error can be controlled within a small range (e.g., ±5 grams), achieving efficient, flexible, and precise automated quantitative cutting.
[0040] Example 2 This embodiment provides a variation scheme for determining the main orientation of meat. In some cases, this scheme may be more robust than principal component analysis, especially for meat with a distinctly elongated or blocky shape. The system structure of this embodiment is the same as that of Embodiment 1, and can be referred to accordingly. Figure 5 Most of its methodological steps are also similar to... Figure 4 The process shown is the same, the main difference lies in the specific implementation of step S30, which determines the position of the meat and the main direction.
[0041] In Example 1, step S30 determines the principal orientation by performing principal component analysis on the two-dimensional projected point cloud. As an optional implementation, in this example, the attitude analysis module 22 employs another technique, namely, directly performing minimum orientation bounding box fitting on the three-dimensional meat point cloud.
[0042] In detail, after completing step S10 of acquiring point cloud data and step S20 of segmenting meat point cloud, the obtained clean meat point cloud is sent to pose analysis module 22. This module calls a minimum orientation bounding box algorithm, the goal of which is to find a cuboid that can enclose all meat point cloud data in any orientation with the smallest volume. The output of this algorithm typically includes the coordinates of the center point of the bounding box, the dimensions in three dimensions (length, width, and height), and three mutually orthogonal axis vectors aligned with the edges of the bounding box.
[0043] In this embodiment, the vector corresponding to the longest axis among the three axial vectors is defined as the main direction vector of the meat. This vector intuitively represents the main direction of extension of the meat in three-dimensional space.
[0044] To ensure compatibility with subsequent 2D planar cutting operations, this 3D principal direction vector needs to be converted into a rotation angle on a 2D plane. Specifically, the principal direction vector is projected onto the XY plane (i.e., its z-component is ignored), and then the angle between the projected 2D vector and the X-axis of the coordinate system is calculated to obtain the rotation angle rz.
[0045] Once the rotation angle rz is determined using the minimum bounding box method, the subsequent steps are essentially the same as in Example 1. The cutting decision module 23 creates an initial virtual cutting plane based on this rz value (step S40), and the normal vector of this plane is also set to be perpendicular to the main direction of the meat. Then, the iterative optimization unit 231 executes an iterative optimization loop (step S50), moving the plane (step S51), calculating the volume using the triangulation method (step S52), and making comparisons (step S53) until a final cutting plane that meets the target volume is found (step S60). Finally, the robot parameter generation module 24 also generates robot motion parameters based on the final plane parameters and the geometric characteristics of the point cloud to be cut (step S70), and the robot controller 3 controls the robot to perform the cutting (step S80).
[0046] Compared to Example 1, this example uses a minimum orientation bounding box algorithm to determine the principal orientation of the meat. The advantage of this method is that it directly considers the overall shape of the meat in three-dimensional space. For meats with complex surface details but an overall elongated shape (such as a whole tenderloin), this algorithm can more stably capture its macroscopic principal axis and is less susceptible to interference from local unevenness. Therefore, this example provides another robust method for determining the principal orientation of meat, enhancing the adaptability of the entire quantitative cutting system to meats of different shapes, while still achieving accurate quantitative cutting.
[0047] Example 3 This embodiment provides a variant scheme for calculating the volume of the part to be cut. During iterative optimization, the efficiency and accuracy of volume calculation directly affect the speed of the entire decision-making process and the accuracy of the final cut. Embodiment 1 uses a surface triangulation-based method, which offers high accuracy but may be computationally complex. As an optional implementation, this embodiment employs a voxelization-based method, which can provide faster computation speeds in certain situations.
[0048] The system structure and most of the method steps in this embodiment are similar to those in Embodiment 1. The system also consists of a 3D sensor 1, a processing unit 2, and robots (3, 4, 5), etc. The method flow also follows the same principles. Figure 4 The steps shown include acquiring the point cloud (S10), segmenting the point cloud (S20), determining the principal direction (S30, which can be achieved using the principal component analysis method of Example 1 or the minimum orientation bounding box method of Example 2), and creating the initial cutting plane (S40). The core difference in this embodiment lies in the specific implementation of the step S52 for calculating the cutting volume in the iterative optimization loop step S50.
[0049] During the iteration process, after the iterative optimization unit 231 defines the point cloud set of the "part to be cut" based on the position of the current virtual cutting plane, it does not perform surface triangulation, but instead uses the voxel method to estimate its volume.
[0050] The specific process is as follows: First, a three-dimensional voxel mesh needs to be defined. This mesh consists of a series of closely packed tiny cubes (i.e., voxels), large enough to surround the entire meat. The size of the voxels is a key parameter and can be preset. For example, if the size of each voxel is set to 1 mm x 1 mm x 1 mm, then the volume of a single voxel is 1 cubic millimeter. Understandably, the selection of voxel size needs to strike a balance between computational accuracy and computational efficiency: the smaller the voxels, the higher the accuracy of volume estimation, but the greater the required memory and computational load.
[0051] For the currently defined point cloud set of "parts to be cut", the system iterates through every point in the set. For each point, it calculates its voxel index, which can be done by dividing its coordinate value by the voxel's side length and rounding down. Then, the voxel is marked as "occupied". For efficient processing, a hash table or a three-dimensional array can be used to store the indices of all occupied voxels to avoid duplicate counting.
[0052] After traversing the point cloud of all parts to be cut, the total number of independent voxels marked as "occupied" is counted. Multiplying this number by the volume of a single voxel (e.g., 1 cubic millimeter) gives an estimate of the total volume of the part to be cut, colm_total.
[0053] After obtaining the volume estimate, the subsequent steps are the same as in Example 1. The iterative optimization unit 231 performs step S53, which determines whether the volume is within the error range, by comparing colm_total with the target volume. If the accuracy requirement is not met, the virtual cutting plane is moved according to the comparison result and a fixed step size (step S51), and a new round of voxelized volume calculation begins. This loop continues until the difference between the calculated volume and the target volume is within a preset error threshold.
[0054] Once the iteration converges and the final cutting plane is determined (step S60), the subsequent robot parameter generation (step S70) and control execution (step S80) are completely consistent with Example 1.
[0055] This embodiment provides an alternative to triangulation for volume calculation. The voxel method has a relatively simple implementation logic, mainly involving rasterization and counting operations. For processing dense point clouds, its calculation speed may outperform complex surface mesh construction algorithms. By appropriately setting the voxel size, the cutting decision-making speed can be accelerated while maintaining a certain level of accuracy, thereby improving the overall system's production efficiency. This provides the possibility of selecting a suitable volume calculation algorithm based on different hardware computing capabilities and production cycle requirements.
[0056] Example 4 This embodiment improves the iterative optimization strategy for the cutting plane, aiming to increase the efficiency of searching for the optimal cutting position. In embodiments 1, 2, and 3, the virtual cutting plane moves with a fixed step size during the iteration process. Although this method is stable, it may require a large number of iterations to converge when the initial position is far from the target position. This embodiment, however, employs an iterative strategy with an adaptive step size to accelerate the convergence speed.
[0057] The system configuration and overall method flow of this embodiment are basically the same as those of Embodiment 1. Its innovation lies in the implementation logic of the plane-moving step S51 in the iterative optimization loop step S50. It should be noted that this embodiment can combine the triangulation volume calculation method of Embodiment 1, or the voxelization volume calculation method of Embodiment 3.
[0058] When executing iterative optimization loop step S50, iterative optimization unit 231 first needs to calculate the volume of the part to be cut defined by the current cutting plane, colm_total (step S52). Then, it calculates the difference between this volume and the target volume, targ_colm, delta_V = colm_total - targ_colm.
[0059] Unlike the previous embodiments, the step size of the moving plane, step_d, is no longer a fixed preset value. In this embodiment, the step size is dynamically changing, and its magnitude can be proportional to the volume difference delta_V. The specific calculation formula can be step_d = K * delta_V, where K is a preset proportional gain coefficient. The value of this coefficient K needs to be determined through experiments or simulations to ensure that the iteration process is both fast and stable.
[0060] After determining the adaptive step size step_d, the iterative optimization unit 231 moves the plane a corresponding distance along the normal direction of the virtual cutting plane. For example, this is achieved by updating the constant term d_plane in the plane equation: d_plane = d_plane - step_d. The negative sign here indicates that when the calculated volume colm_total is greater than the target volume targ_colm, delta_V is positive, the step size step_d is also positive, and the plane needs to be moved to reduce the cutting volume.
[0061] To prevent excessively large step sizes due to an overly large delta_V in the early stages of iteration, which could lead to oscillations or missing the optimal solution, a maximum upper limit can be set for the adaptive step size step_d. That is, if the calculated |step_d| exceeds a preset maximum step size threshold, then that maximum step size threshold is used as the actual step size for this iteration.
[0062] The advantage of using an adaptive step size strategy is that in the early stages of iteration, when the calculated volume differs significantly from the target volume, the absolute value of delta_V is large, resulting in a large step size that allows the cutting plane to quickly approach the target position. As the iteration progresses and the calculated volume gets closer to the target volume, the absolute value of delta_V decreases, and the step size automatically decreases accordingly. This allows for fine-tuning near the target position, ensuring high-precision convergence to the optimal solution.
[0063] The subsequent judgment step S53, the final plane determination step S60, the robot parameter generation step S70, and the robot execution control step S80 are all the same as in Example 1.
[0064] By introducing an adaptive step size or scaling adjustment strategy, this embodiment optimizes the iterative search process. Especially when the meat size varies greatly or the initial cutting plane setting deviates significantly, it can significantly reduce the number of iterations and shorten the calculation time for cutting decisions, thereby further improving the processing efficiency and response speed of the entire quantitative cutting system without sacrificing accuracy.
[0065] Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Unless otherwise specified, the embodiments and features described in this application can be arbitrarily combined with each other.
Claims
1. A method for quantitative cutting of meat based on point clouds, characterized in that, Includes the following steps: Obtain the 3D point cloud data of a piece of meat; Analyze the three-dimensional point cloud data of the meat to determine the main orientation of the meat; A virtual cutting plane perpendicular to the main direction is created, and a final cutting plane is determined by iteratively adjusting the spatial position of the virtual cutting plane. The iterative adjustment includes: calculating the volume of the part to be cut as defined by the current virtual cutting plane; comparing the calculated volume with a target volume; and moving the virtual cutting plane according to the comparison result until the absolute value of the difference between the calculated volume and the target volume is less than a preset error threshold. Based on the parameters of the final cutting plane, robot motion parameters are generated, and the robot is controlled to perform the cutting action.
2. The point cloud-based quantitative meat cutting method according to claim 1, characterized in that, The steps for determining the main direction of the meat include: The three-dimensional point cloud data of the meat is projected onto a preset two-dimensional plane; and Principal component analysis is performed on the projected two-dimensional point cloud to determine the principal direction.
3. The point cloud-based quantitative meat cutting method according to claim 1, characterized in that, The steps for determining the main direction of the meat include: Minimum orientation bounding box fitting is performed on the three-dimensional point cloud data of the meat; and The longest axis direction of the bounding box of the minimum direction is taken as the main direction.
4. The point cloud-based quantitative meat cutting method according to any one of claims 1 to 3, characterized in that, The step of calculating the volume of the part to be cut includes: The surface triangulation process is performed on a portion of the point cloud data corresponding to the part to be cut, defined by the virtual cutting plane, within the 3D point cloud data of the meat. This is combined with the cross-section formed by the virtual cutting plane at the boundary of this portion of the point cloud to generate a closed triangular mesh model. The volume is calculated based on the closed triangular mesh model.
5. The point cloud-based quantitative meat cutting method according to claim 4, characterized in that, The step of calculating the volume based on the closed triangular mesh model includes: For each triangular facet constituting the closed triangular mesh model, calculate the volume of the triangular prism enclosed by its projection onto a reference plane, where the reference plane is a predetermined plane; and The volumes of all the triangular prisms are summed to obtain the total volume of the part to be cut.
6. The point cloud-based quantitative meat cutting method according to any one of claims 1 to 3, characterized in that, The step of calculating the volume of the part to be cut includes: The spatial region defined by the minimum axis-aligned bounding box of the partial point cloud data corresponding to the part to be cut in the three-dimensional point cloud data of the meat is divided into multiple voxels; and The volume is calculated by counting the number of voxels occupied by the partial point cloud and multiplying it by the volume of a single voxel.
7. The point cloud-based quantitative meat cutting method according to any one of claims 1 to 3, characterized in that, The step of moving the virtual cutting plane includes: If the absolute value of the difference between the calculated volume and the target volume is not less than the preset error threshold, then the virtual cutting plane is moved along the normal direction of the virtual cutting plane by a fixed preset step size.
8. The point cloud-based quantitative meat cutting method according to any one of claims 1 to 3, characterized in that, The step of moving the virtual cutting plane includes: Based on the difference between the calculated volume and the target volume, an adaptive movement step size proportional to the difference is determined; and The adaptive movement step size is moved along the normal direction of the virtual cutting plane.
9. A point cloud-based quantitative meat cutting system, comprising: A three-dimensional sensor is used to acquire three-dimensional point cloud data of a piece of meat; A robot equipped with cutting tools is used to perform cutting actions; as well as A processing unit, connected to the three-dimensional sensor and the robot, is characterized in that the processing unit is configured to: analyze the three-dimensional point cloud data of the meat to determine its main direction; create a virtual cutting plane perpendicular to the main direction, and determine a final cutting plane by iteratively adjusting the spatial position of the virtual cutting plane, wherein the iterative adjustment includes: calculating the volume of the part to be cut as defined by the current virtual cutting plane, comparing the volume with a target volume, and moving the virtual cutting plane according to the comparison result until the absolute value of the difference between the calculated volume and the target volume is less than a preset error threshold; generating robot motion parameters according to the parameters of the final cutting plane and controlling the robot to perform cutting actions.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it performs the steps of the method according to any one of claims 1 to 8 to generate robot motion parameters for controlling the robot to perform cutting actions.