Meat cutting decision method and system based on point cloud

By acquiring three-dimensional point cloud data of meat, determining the reference direction, and iteratively optimizing the cutting plane position, the problems of cutting accuracy and adaptability of irregular meat were solved, achieving high-precision and highly adaptable automated cutting, and improving the yield and raw material utilization rate.

CN122142980APending Publication Date: 2026-06-05SHANGHAI XIXI INTELLIGENT TECH CO LTD

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-05

AI Technical Summary

Technical Problem

Existing technologies struggle to precisely cut irregularly shaped meat according to users' individual needs, resulting in low yield and significant waste of raw materials.

Method used

By acquiring three-dimensional point cloud data of meat, a reference direction is determined, a virtual cutting plane is created, and the position of the cutting plane is adjusted through an iterative optimization process until the target size index is met, generating cutting instructions that can be executed by the robot.

Benefits of technology

It achieves high-precision and highly adaptable meat cutting, improves yield, reduces raw material waste, and enables automated and personalized processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122142980A_ABST
    Figure CN122142980A_ABST
Patent Text Reader

Abstract

The application provides a kind of meat cutting decision method and system based on point cloud, it is related to the field of automatic processing technology.The method obtains the three-dimensional point cloud data of meat, determines its reference direction and the initial attitude of virtual cutting plane, then the final position of cutting plane is optimized through iterative process.The iterative process includes: based on the current plane position, simulate the cutting point cloud to obtain a subset, calculate its geometric size, and compare with the preset target size, according to which the plane position is adjusted until the difference is less than the threshold value.Finally, control instructions are generated according to the finally determined cutting plane.The application also discloses a system for executing the method.The application can accurately determine the cutting scheme of irregular meat that meets the individualized shape index, improve the cutting precision, adaptability and raw material utilization rate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of automated processing technology, and in particular to a meat cutting decision-making method and system based on three-dimensional point cloud data processing. Background Technology

[0002] In food processing and manufacturing, automated cutting of irregularly shaped meat is a common technological requirement. Traditional automated cutting methods mostly rely on mechanical teaching, which involves pre-setting fixed cutting paths and postures. This method is difficult to adapt to naturally formed, irregularly shaped meats. Because the shape of each piece of meat is different, a fixed cutting program cannot guarantee that the cut product meets specific morphological indicators (such as length, angle, weight, etc.), resulting in low yield and significant raw material waste.

[0003] To address the aforementioned issues, existing technologies have proposed using 3D vision systems to acquire 3D point cloud data of meat and analyzing the object's pose and orientation based on this data. For example, algorithms can be used to determine the principal orientation of the object represented by the point cloud or to calculate its surface normal vector. However, these methods typically stop at passively measuring and analyzing the existing shape of the meat, failing to address the core problem of proactively and predictively determining an optimal cutting plane based on the desired post-cut shape. Therefore, existing technologies generally lack an automated decision-making method that can combine the user's personalized processing needs with the actual 3D shape of irregular meat to accurately calculate the optimal cutting position and orientation. Summary of the Invention

[0004] In view of the deficiencies in the existing technology, the purpose of this invention is to provide a meat cutting decision method and system based on point cloud.

[0005] A meat cutting decision method based on point cloud provided by the present invention includes the following steps: Obtain the three-dimensional point cloud data of the meat; Based on the three-dimensional point cloud data, the reference orientation of the meat is determined; Determine the initial spatial pose of a virtual cutting plane, wherein the initial direction of the virtual cutting plane is determined by the reference direction, and the initial position of the virtual cutting plane is set to pass through the centroid of the three-dimensional point cloud data. Through an iterative process, and based on a preset cutting shape index that includes the target size, the final position of the virtual cutting plane is determined. The iterative process includes: a) Based on the current position of the virtual cutting plane, simulate cutting the three-dimensional point cloud data to obtain a subset of the cut point cloud; b) Calculate a geometric dimension of the cut point cloud subset; c) Compare the geometric dimensions with the target dimensions, and adjust the position of the virtual cutting plane according to the comparison result until the absolute value of the difference between the geometric dimensions and the target dimensions is less than a preset threshold. Based on the final position of the virtual cutting plane, the direction determined in the initial spatial posture, and the final subset of cut point clouds, control commands are generated to control the cutting device to perform cutting actions.

[0006] Preferably, the step of determining the reference direction of the meat specifically includes: The three-dimensional point cloud data is projected onto a two-dimensional plane; Principal component analysis is performed on the projected data to determine the principal direction of the meat as the reference direction.

[0007] Preferably, the step of determining the reference direction of the meat specifically includes: Calculate the minimum bounding box of the 3D point cloud data; The direction of the longest edge of the minimum bounding box is used as the reference direction.

[0008] Preferably, the cutting morphology index includes the target length, the geometric dimension is the length, and the step of calculating the geometric dimension specifically includes: Calculate the maximum distance between any two points in the cut point cloud subset.

[0009] Preferably, the cutting morphology index includes the target weight, the geometric dimension is the weight, and the step of calculating the geometric dimension specifically includes: Calculate the convex hull volume of the cut point cloud subset; The estimated weight is calculated based on the preset material density.

[0010] Preferably, the step of adjusting the position of the virtual cutting plane specifically includes: Based on the difference between the geometric dimensions and the target dimensions, the virtual cutting plane is translated along the normal direction of the virtual cutting plane.

[0011] Preferably, the translation is achieved by adjusting the constant term of the plane equation of the virtual cutting plane using a fixed step size.

[0012] Preferably, the translation is achieved by adjusting the position of the virtual cutting plane using a binary search strategy.

[0013] Preferably, the step of generating control commands specifically includes: Calculate the centroid of the final cut point cloud subset and use it as a reference point; The reference point is projected onto the final virtual cutting plane defined by the direction determined in the final position and the initial spatial attitude to obtain a cutting target point; Generate a six-dimensional pose instruction, which includes the coordinates of the cutting target point and a tool pose in which the tool axis is parallel to the normal direction of the virtual cutting plane.

[0014] According to the present invention, a point cloud-based meat cutting decision system includes an input interface for acquiring three-dimensional point cloud data of the meat, a memory, and a processor, wherein the processor is configured to execute the point cloud-based meat cutting decision method.

[0015] Compared with the prior art, the present invention has the following beneficial effects: 1. This application achieves high-precision and highly adaptable cutting. By acquiring real-time three-dimensional point cloud data of meat and adopting a closed-loop iterative optimization strategy of "simulated cutting - size measurement - position adjustment", it can accurately find a cutting scheme that meets the preset morphological indicators such as length and weight for each irregularly shaped piece of meat. This greatly improves the cutting accuracy and adaptability to different types of meat, and overcomes the shortcomings of traditional fixed teaching methods that cannot handle irregular meat.

[0016] 2. This application realizes automated and personalized processing. By parameterizing the user's personalized needs, the algorithm automatically decides the best cutting scheme and finally generates instructions that can be executed by the robot. This opens up the entire link from virtual decision-making to physical execution, realizes automated and precise processing of irregular meat, and reduces the dependence on human experience.

[0017] 3. By accurately predicting and locating the cutting scheme in virtual space, the target part can be cut from the raw material as required to the maximum extent, effectively reducing waste caused by improper cutting position, thereby significantly improving the utilization rate of raw materials. Attached Figure Description

[0018] 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 This is a schematic diagram illustrating the definition of the cutting plane angle provided in an embodiment of this application; Figure 2 This is a schematic diagram illustrating the definition of the bevel angle of the cutting plane provided in an embodiment of this application; Figure 3 This is a schematic diagram illustrating the calculation of cutting length provided in an embodiment of this application; Figure 4 This is a schematic diagram of the cutting point projection provided in an embodiment of this application; Figure 5A flowchart illustrating a meat cutting decision-making method based on point cloud simulation iteration provided in this application embodiment; Figure 6 This is a schematic diagram of the architecture of a meat cutting decision system based on point cloud simulation iteration, provided for an embodiment of this application.

[0019] Explanation of reference numerals in the attached figures: 100. 3D scanning equipment; 200. Data processing unit; 300. Robot actuator; 400. Meat. Detailed Implementation

[0020] 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.

[0021] Example 1 This embodiment details a meat cutting decision-making method based on point cloud simulation iteration, which aims to achieve high-precision personalized morphological cutting of irregularly shaped meat. Figure 5 A general flowchart of a method according to an embodiment of this application is shown. Figure 6 This illustrates an exemplary system architecture for implementing the method.

[0022] Reference Figure 6 In a specific application scenario, such as the automated cutting of irregular pork tenderloin in the food processing field, the system may include a 3D scanning device 100, a data processing unit 200, and a robot actuator 300. The 3D scanning device 100 (e.g., a structured light camera or laser scanner) is used to scan the meat 400 (i.e., pork tenderloin) placed on a worktable to obtain 3D point cloud data of its surface. The data processing unit 200 (e.g., an industrial control computer or embedded system), which integrates a processor and memory, is used to receive and process the point cloud data and execute the decision algorithm described in this embodiment. Correspondingly, the robot actuator 300 (e.g., a six-axis industrial robot with cutting tools) is used to receive control commands from the data processing unit 200 and perform the final physical cutting action on the meat 400.

[0023] The following will combine Figure 5 The flowchart below provides a detailed explanation of the method in this embodiment.

[0024] In step S10, three-dimensional point cloud data of the meat is acquired. Specifically, the three-dimensional scanning device 100 scans the meat 400, generating a set of points consisting of a large number of three-dimensional spatial coordinates (x, y, z). It is understood that this raw point cloud data is typically based on the scanning device's own coordinate system. To facilitate subsequent robot operation, the data processing unit 200 needs to transform this set of point cloud data into the world coordinate system of the robot actuator 300 using a pre-defined coordinate transformation relationship. After the transformation, the coordinates of each point in the point cloud correspond to its actual physical position in the robot's workspace.

[0025] In step S20, the reference direction of the meat is calculated, which in this embodiment is specifically the main direction of the meat. Since meats like pork tenderloin are typically irregular strips, their natural orientation varies. To cut the meat according to a user-defined angle, it is necessary to first determine a reference direction that characterizes the overall orientation of the meat. As an optional implementation, this embodiment uses principal component analysis to determine this direction. The data processing unit 200 first preprocesses the acquired 3D point cloud data. To simplify the calculation and focus on the orientation of the meat on the horizontal plane, the Z-axis coordinates of all point clouds can be uniformly set to a constant (e.g., Z=1). This operation is equivalent to vertically projecting the entire 3D point cloud onto the XY plane, forming a 2D point set. Subsequently, principal component analysis is performed on this 2D point set. Principal component analysis aims to find the direction with the largest variance in the data distribution. After calculation, two eigenvalues ​​and their corresponding eigenvectors are obtained. The eigenvector vec=[xp, yp] corresponding to the largest eigenvalue indicates the main direction of the 2D point set distribution. Using this eigenvector, the angle between the principal direction of the meat and the X-axis of the coordinate system can be calculated using the arctangent function, denoted as the principal direction angle rz. The formula is as follows:

[0026] like Figure 1 As shown in the figure, this diagram vividly illustrates the geometric meaning of the meat's principal orientation angle rz, which represents the angle between the meat's orientation and the standard X-axis. This rz angle will serve as an important reference for subsequent calculations of the cutting plane's attitude.

[0027] In step S30, an initial virtual cutting plane is created based on the user-preset morphological indicators and the calculated main direction of the meat. As an example, suppose the user wants to cut a 150mm long slice from a piece of pork tenderloin, with the cutting direction at a 30-degree angle to the main direction of the meat and the cut surface tilted at a 10-degree angle. These requirements can be parameterized as: target length targ_long = 150mm, target cutting angle targ_angle = 30 degrees, and cut surface tilt angle_rx = 10 degrees. The data processing unit 200 determines the spatial orientation of a virtual cutting plane based on these parameters, which can be defined by a set of Euler angles (rotation angles about the X, Y, and Z axes). (Refer to...) Figure 1 The rotation angle of the cutting plane in the XY plane, i.e., the cutting plane angle_rz, is determined by the meat's main direction angle rz and the target cutting angle targ_angle. Its calculation formula is: angle_rz = rz - targ_angle. For example, if the calculated rz is 15 degrees, then angle_rz = 15 - 30 = -15 degrees. This definition ensures that regardless of how the meat is placed, the cutting direction always maintains the user-defined relative angle to the meat's main direction. (See reference...) Figure 2 The angle of inclination, angle_rx, is directly specified by the user and defines the degree of inclination of the cutting plane relative to the horizontal plane. In this example, angle_rx = 10 degrees. It should be noted that the rotation angle around the Y-axis, angle_ry, can be set to 0 degrees in this embodiment, or it can be set according to actual needs. After obtaining this set of Euler angles (angle_rx, angle_ry, angle_rz), to ensure the robustness of the rotation calculation, it is usually first converted into quaternions, and then the corresponding 3x3 rotation matrix rotMat is calculated from the quaternions. Applying this rotation matrix to an initial unit normal vector perpendicular to the XY plane (e.g., the transpose of [0, 0, 1]) yields the final normal vector of the cutting plane, normal(a, b, c):

[0028] At this point, the spatial direction of the cutting plane is uniquely determined. A spatial plane can be determined by its normal vector and any point on the plane, and its general equation is ax + by + cz + tmpd = 0. Here, (a, b, c) are the components of the normal vector, while the constant term tmpd determines the specific position of the plane along its normal direction.

[0029] Next, in step S40, the final position of the cutting plane is optimized and determined through a closed-loop iterative process of "simulation-measurement-adjustment". This process aims to find a suitable tmpd value so that the meat portion cut by the plane exactly meets the target length targ_long. Before the iteration begins, a length error threshold thr (e.g., 1 mm) and a fixed step size for plane movement (e.g., 0.5 mm) can be preset. At the start of the iteration, the initial position of the virtual cutting plane can be set at the geometric center of the meat, i.e., the centroid is obtained by calculating the average of all point cloud coordinates, and the initial tmpd value that allows the plane to pass through this centroid is calculated accordingly. In each iteration, simulated cutting is first performed (step S41): based on the current cutting plane determined by the normal vector (a, b, c) and the constant term tmpd, the data processing unit 200 traverses the entire 3D point cloud of the meat. For each point (xi, yi, zi), its coordinates are substituted into the left side of the plane equation to calculate value = a*xi + b*yi + c*zi + tmpd. By determining the sign of the value, the entire point cloud can be divided into two subsets. For example, all points where value > 0 are grouped into a "cut point cloud subset," which represents the "cut" meat portion in virtual space. Next, in step S42, the geometric dimensions of the "cut point cloud subset" obtained in the previous step are measured. In this embodiment, this geometric dimension is length. Specifically, the Euclidean distance between any two points in this subset is calculated, and the maximum distance value is found and denoted as the current cutting length, long_dist. Figure 3As shown, this figure illustrates how to determine the maximum distance long_dist by finding the farthest point A and the farthest point B in an irregular cut point cloud contour. Subsequently, in step S43, the calculated current cut length long_dist is compared with the target length targ_long (150 mm) set by the user to determine whether the absolute value of their difference is less than or equal to the preset error threshold thr (1 mm), that is, to determine whether |long_dist - 150| <= 1 holds. If it holds, it indicates that the position of the current cut plane is accurate enough, the iteration process ends, and it jumps to step S50. If it does not hold, it enters step S44 to adjust the plane position. Specifically, the constant term tmpd of the plane equation is adjusted according to the comparison result to achieve the translation of the cut plane along its normal direction. If long_dist < targ_long, it indicates that the simulated cut part is too short, and the cut plane needs to be moved "outward" to include more meat parts; conversely, if long_dist > targ_long, it indicates that the cut part is too long, and the plane needs to be moved "inward". The amount of translation is determined by the preset fixed step size step (0.5 mm). For example, tmpd = tmpd ± step can be set. After adjusting the tmpd value, the program returns to step S41 to perform the next iteration using the new plane equation.

[0030] After the iterative loop terminates, in step S50, control instructions executable by the robot are generated. At this time, the data processing unit 200 has determined the final equation of the optimal cut plane (i.e., the final tmpd value). To generate a specific cut starting point, two points with the largest distance calculated in step S42 can be selected first in the final "subset of the cut point cloud", and one of them can be selected as the original cut point p0(x, y, z). For example, the point with a larger y coordinate value can be selected. It can be understood that the original cut point p0 may be at any height of the meat. The cutting action of the robot usually needs to start from a standardized starting height, such as the conveyor belt or workbench plane where the meat is placed. Assuming that the height of the plane where the meat is placed is known as d (for example, d = 10 mm), then the original cut point p0 needs to be projected onto this height plane. As Figure 4 shown, this figure shows the projection process. Specifically, the point p0 is projected onto the plane with a height of Z = d along the normal direction of the final cut plane to obtain the final robot execution cut point p_prj(X, Y, Z). The calculation formula for its projection coordinates is as follows:

[0031]

[0032]

[0033] Where (x, y, z) are the coordinates of p0, and (a, b, c) are the normal vector components of the cutting plane. Finally, the data processing unit 200 combines the calculated final cutting point coordinates (X, Y, Z) with the cutting plane posture angles (angle_rx, angle_ry, angle_rz) determined in step S30 to generate a six-dimensional pose command. This command specifies the target position (X, Y, Z) that the end effector of the robot actuator 300 should move to and the target posture it should maintain (defined by the rotation angle to ensure the blade surface is parallel to the virtual cutting plane), and executes the cutting action accordingly. Through the above steps, this embodiment can accurately perform a single cut on pork tenderloin to obtain a slice of meat with a length between 149mm and 151mm, and whose cut angle and slope meet the preset requirements, thereby achieving precise and automated morphological cutting of irregular meat pieces.

[0034] Example 2 This embodiment provides a variation of Embodiment 1, the main difference being the step S20 of determining the reference direction of the meat. When processing meat of certain specific shapes, especially those that are relatively long and slender, the method of this embodiment may be more robust and intuitive.

[0035] In one embodiment of this application, the overall process of the method is basically the same as that of Embodiment 1, including steps such as acquiring point cloud (S10), creating cutting plane (S30), iterative optimization (S40), and generating robot instructions (S50). The difference lies in the specific implementation of step S20.

[0036] As an optional implementation, this embodiment no longer performs principal component analysis through two-dimensional projection, but directly calculates the minimum bounding box of the complete three-dimensional point cloud data. The minimum bounding box is an oriented cuboid that can enclose all point clouds with the smallest volume. There are various algorithms for calculating the minimum bounding box, such as the rotating caliper method or direct covariance matrix analysis based on the point cloud.

[0037] Specifically, when executing step S20, the data processing unit 200 calls the minimum bounding box calculation module. This module takes the 3D point cloud data after coordinate system transformation as input and outputs parameters describing the minimum bounding box, which typically include the coordinates of the center point of the bounding box, three mutually orthogonal axis vectors (representing the length, width, and height directions of the bounding box, respectively), and the dimensions along these axes.

[0038] After obtaining the minimum bounding box, this embodiment defines the direction vector corresponding to the longest edge of the bounding box as the reference direction of the meat. This direction can usually reflect the overall orientation of slender meat well. Subsequently, to be compatible with the subsequent steps of Embodiment 1, this three-dimensional longest edge direction vector can be projected onto the XY plane, and its angle with the X-axis can be calculated. This angle is defined as the main direction angle rz of the meat.

[0039] The subsequent steps are exactly the same as in Example 1. The data processing unit 200 uses the rz angle calculated based on the minimum bounding box method, combined with the target cutting angle targ_angle and the cutting angle angle_rx input by the user, to create an initial cutting plane in step S30; then, through the iterative optimization process in step S40, it finds the optimal plane position that satisfies the target length targ_long; finally, in step S50, it generates a six-dimensional pose command that can be executed by the robot.

[0040] Using the method of this embodiment, when processing a long and thin piece of meat, even if the meat has a certain degree of natural curvature, the minimum bounding box algorithm can more robustly identify its overall "length direction". This direction is often more in line with the intuitive feeling of human operators. Therefore, when the user sets a cutting angle relative to the "meat direction", the final cutting result will be more in line with their expectations, thereby improving the intuitiveness of human-computer interaction and the accuracy of the final cutting decision.

[0041] Example 3 This embodiment provides an alternative solution where the target morphological index is changed from length to the weight of the meat. This is valuable in many applications requiring quantitative packaging (such as cutting steaks or cheese cubes to a fixed weight). The core idea of ​​this embodiment is to estimate the weight by estimating the volume represented by a subset of the cut point cloud during iterative optimization, combined with the material density, until the target weight requirement is met.

[0042] The method flow in this embodiment still follows the general principle. Figure 5 The framework shown is retained, but adaptive modifications have been made to the measurement and comparison steps (S42 and S43) in the iterative optimization loop (S40).

[0043] The initial steps S10 (acquiring point cloud), S20 (calculating principal direction), and S30 (creating initial cutting plane) of the method can be exactly the same as in Example 1 or Example 2. At this time, among the morphological indicators input by the user, the core indicator is the target weight targ_Weight (e.g., 200 grams). In addition, the system also needs to pre-store or have the user input the material density ρ of meat (e.g., the density of beef is approximately 1.06 g / cm³).

[0044] After entering the iterative optimization loop of step S40, its internal logic is adjusted accordingly: Step S41 (simulated cutting) remains unchanged and still divides the meat point cloud according to the current virtual cutting plane equation to obtain the "cut point cloud subset".

[0045] The modified step S42 is to calculate the estimated weight in this embodiment. Specifically, first, it is necessary to estimate the three-dimensional volume Volume enclosed by the "cut point cloud subset". As an optional implementation, the convex hull of this point cloud subset can be calculated, that is, the smallest convex polyhedron containing all these points. The data processing unit 200 calls the three-dimensional convex hull algorithm to obtain the vertex and facet information describing the convex hull, and accurately calculates the volume of the convex hull based on this. It should be noted that for some meats with internal depressions, if a more accurate volume estimate is required, more complex algorithms such as Alpha Shape can also be used to reconstruct the point cloud surface and calculate its enclosed volume. After obtaining the estimated volume Volume, combined with the preset material density ρ, the estimated weight Weight can be calculated. The formula is: Weight = Volume * ρ.

[0046] The modified step S43 (comparison and judgment) is to compare the estimated weight Weight calculated in the previous step with the target weight targ_Weight (200 grams) set by the user, and judge whether the absolute value of their difference is less than or equal to a preset weight error threshold (for example, 5 grams), that is, judge whether |Weight - 200| <= 5 holds.

[0047] If it holds, the iteration ends. If it does not hold, enter step S44 (adjust the plane), and its adjustment logic is similar to that of Embodiment 1. That is, if Weight < targ_Weight, it means that the weight of the cut part is insufficient, so move the plane outward to cut a larger piece; conversely, if Weight > targ_Weight, move the plane inward.

[0048] After the iteration ends, the subsequent step S50 (generate robot instructions) is also the same as that in Embodiment 1, that is, determine a reference point on the "cut point cloud subset" that finally meets the weight requirement, project it to the specified height, and finally generate a six-dimensional pose instruction.

[0049] In this embodiment, when a user needs to cut a 200-gram steak, the system can continuously adjust the position of the cutting plane in virtual space, estimating the volume of the cut portion and converting it into weight each time. In this way, the system can find a precise planar position and orientation to cut approximately 200 grams of beef (e.g., between 195 and 205 grams) and guide the robot to complete the cut. This greatly expands the applicability of the method, enabling automated cutting based on weight targets and meeting more diverse personalized processing needs.

[0050] Example 4 This embodiment aims to improve the efficiency of the iterative optimization process (S40) in Embodiment 1. Embodiment 1 uses a linear search strategy with a fixed step size to adjust the cutting plane. Although this strategy is simple and reliable, it may require a large number of iterations when the search range is large or the accuracy requirement is high. This embodiment, on the other hand, uses a binary search strategy to adjust the cutting plane, aiming to converge to the position that meets the target length more quickly.

[0051] The overall method flow of this embodiment is the same as that of Embodiment 1. The main difference lies in the strategy of step S44 (adjusting the plane) and the iterative logic that works with it.

[0052] As an optional implementation, before entering the iterative optimization loop in step S40, an initial search interval can be determined for the binary search. This interval corresponds to the range of values ​​for the cutting plane position (i.e., the constant term tmpd in the plane equation). An effective method is to project all point cloud data of the meat onto the normal direction of the cutting plane, find the minimum and maximum values ​​among all projected values, and these two values ​​can define the initial search lower bound d_min and upper bound d_max of tmpd. This interval guarantees that the final optimal cutting plane must lie within it.

[0053] After entering the iterative loop, steps S41 (simulated cutting) and S42 (length calculation) are the same as those in Embodiment 1. However, in steps S43 and S44, the logic is adjusted as follows: In each iteration, instead of adding or subtracting a fixed step size, the middle position of the current search interval is taken as the position of the new cutting plane, that is, tmpd = (d_min + d_max) / 2. Use this new tmpd value for simulated cutting (S41) and length calculation (S42) to obtain the current cutting length long_dist. Then, a comparison and judgment are made (S43): If |long_dist - targ_long| <= thr, the accuracy requirement is met and the iteration ends. If not, the boundaries of the search interval are updated according to the comparison result (step S44): If long_dist < targ_long, it means that the meat cut at the midpoint of the current interval is too small, indicating that the ideal cutting plane should be located "outside" the current position. Therefore, the current midpoint position is set as the new search lower bound, that is, d_min = tmpd. If long_dist > targ_long, it means that the meat cut currently is too large, and the ideal cutting plane should be located "inside" the current position. Therefore, the current midpoint position is set as the new search upper bound, that is, d_max = tmpd.

[0054] In this way, in each iteration, the other half of the search interval that does not contain the solution is discarded, reducing the search range by half. This process is repeated continuously, and the search interval [d_min, d_max] will quickly narrow. The termination condition of the iteration can be that |long_dist - targ_long| <= thr holds, or when the size of the search interval (d_max - d_min) is less than a sufficiently small threshold.

[0055] For example, the system determines that the cutting plane must be between the "head" and "tail" of the meat. It first simulates a cut in the middle and finds that the cut part is too long, so it discards the second half of the interval from the "tail" to the "midpoint"; the position of the next simulated cut is selected as the new midpoint between the "head" and the "midpoint". If it is found that the cut part is too short, then the first half of the interval from the "head" to this "too short point" is discarded, and the search continues within the remaining smaller interval.

[0056] Compared with the linear search in Embodiment 1, the convergence speed of the binary search is significantly accelerated. If there are N possible discrete positions within the search interval, the linear search requires an average of N / 2 iterations, while the binary search only requires log2(N) iterations. In scenarios where the number of point clouds is extremely large, the length calculation is time-consuming, or extremely high positioning accuracy (i.e., an extremely small search step size) is required, this method can significantly reduce the running time and decision delay of the algorithm, thereby improving the response speed and production efficiency of the entire system.

[0057] 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 meat cutting decision method based on point cloud, characterized in that, Includes the following steps: Obtain the three-dimensional point cloud data of the meat; Based on the three-dimensional point cloud data, the reference orientation of the meat is determined; Determine the initial spatial pose of a virtual cutting plane, wherein the initial direction of the virtual cutting plane is determined by the reference direction, and the initial position of the virtual cutting plane is set to pass through the centroid of the three-dimensional point cloud data. Through an iterative process, and based on a preset cutting shape index that includes the target size, the final position of the virtual cutting plane is determined. The iterative process includes: a) Based on the current position of the virtual cutting plane, simulate cutting the three-dimensional point cloud data to obtain a subset of the cut point cloud; b) Calculate a geometric dimension of the cut point cloud subset; c) Compare the geometric dimensions with the target dimensions, and adjust the position of the virtual cutting plane according to the comparison result until the absolute value of the difference between the geometric dimensions and the target dimensions is less than a preset threshold. Based on the final position of the virtual cutting plane, the direction determined in the initial spatial posture, and the final subset of cut point clouds, control commands are generated to control the cutting device to perform cutting actions.

2. The meat cutting decision method based on point cloud according to claim 1, characterized in that, The step of determining the reference direction of the meat specifically includes: The three-dimensional point cloud data is projected onto a two-dimensional plane; Principal component analysis is performed on the projected data to determine the principal direction of the meat as the reference direction.

3. The meat cutting decision method based on point cloud according to claim 1, characterized in that, The step of determining the reference direction of the meat specifically includes: Calculate the minimum bounding box of the 3D point cloud data; The direction of the longest edge of the minimum bounding box is used as the reference direction.

4. The meat cutting decision method based on point cloud according to claim 1, characterized in that, The cutting morphology index includes the target length, the geometric dimension is the length, and the step of calculating the geometric dimension specifically includes: Calculate the maximum distance between any two points in the cut point cloud subset.

5. The meat cutting decision method based on point cloud according to claim 1, characterized in that, The cutting morphology index includes the target weight, the geometric dimension is the weight, and the step of calculating the geometric dimension specifically includes: Calculate the convex hull volume of the cut point cloud subset; The estimated weight is calculated based on the preset material density.

6. The meat cutting decision method based on point cloud according to claim 1, characterized in that, The step of adjusting the position of the virtual cutting plane specifically includes: Based on the difference between the geometric dimensions and the target dimensions, the virtual cutting plane is translated along the normal direction of the virtual cutting plane.

7. The meat cutting decision method based on point cloud according to claim 6, characterized in that, The translation is achieved by adjusting the constant term of the plane equation of the virtual cutting plane using a fixed step size.

8. The meat cutting decision method based on point cloud according to claim 6, characterized in that, The translation is achieved by adjusting the position of the virtual cutting plane using a binary search strategy.

9. The meat cutting decision method based on point cloud according to claim 1, characterized in that, The steps for generating control commands specifically include: Calculate the centroid of the final cut point cloud subset and use it as a reference point; The reference point is projected onto the final virtual cutting plane defined by the direction determined in the final position and the initial spatial attitude to obtain a cutting target point; Generate a six-dimensional pose instruction, which includes the coordinates of the cutting target point and a tool pose in which the tool axis is parallel to the normal direction of the virtual cutting plane.

10. A point cloud-based meat cutting decision system, comprising an input interface for acquiring three-dimensional point cloud data of the meat, a memory, and a processor, characterized in that, The processor is configured to execute the point cloud-based meat cutting decision method according to any one of claims 1-9.