Method for identifying and positioning pallets in carriage

Through point cloud segmentation, carriage rectangular fitting and pallet distribution calculation, the accurate identification and positioning of the pallets in the carriage by unmanned forklifts is achieved, and the problem that unmanned forklifts cannot be loaded efficiently is solved, loading accuracy and efficiency is improved, and system complexity is simplified.

CN120294765APending Publication Date: 2025-07-11CHANGSHA WANWEI ROBOT CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510475006.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-16
Publication Date
2025-07-11

AI Technical Summary

Technical Problem

Existing unmanned forklifts cannot efficiently and accurately transport goods to the pallets in the car, resulting in inefficient loading operations and relying on manual operations.

Method used

Using point cloud segmentation, carriage rectangle fitting and pallet distribution calculation methods, point cloud data is segmented through European clustering, carriage rectangle parameters are fitted, pallet docking points are calculated, and forklift navigation paths are planned to accurately identify and position the pallet.

Benefits of technology

It improves loading accuracy and efficiency, reduces dependence on complex map construction, makes the system more flexible and fast, and promotes the application of unmanned forklift technology in carriage loading operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120294765A_ABST
    Figure CN120294765A_ABST
Patent Text Reader

Abstract

The invention discloses a method for identifying and positioning pallets in carriages. The method comprises the following steps: S1, carrying out point cloud segmentation; s2, carrying out carriage rectangle fitting; s3, pallet distribution calculation: performing calculation to obtain a butt joint point location corresponding to each pallet under the laser radar coordinate system; and S4, according to the pose of the forklift in the pre-built map, the map pose of the butt joint point position corresponding to each pallet under the map coordinate system is obtained, and a path is planned to control the forklift to navigate to each butt joint point position. According to the method, the loading precision and efficiency are improved, the dependence on complex map construction is reduced, the system is more flexible, rapid and easy to deploy, and the application of the unmanned forklift technology in carriage loading operation is promoted.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of intelligent recognition and positioning, and particularly to a method for identifying and positioning pallets in a carriage. Background Art

[0002] With the development of the logistics industry, the traditional manual forklift handling method can no longer meet the requirements of modern logistics for efficiency and cost. Currently, in warehouse and truck loading operations, manual forklifts are generally used to transport the goods stacked on pallets into the truck carriage to complete the loading operation. This manual operation not only has a high labor intensity but also low efficiency. Especially in large-scale goods handling, the consumption of working time and labor cost is extremely considerable.

[0003] In order to improve the loading efficiency and reduce the labor cost, unmanned forklifts have gradually become a solution. Unmanned forklifts can autonomously perform goods handling operations through autonomous driving technology, thereby reducing the dependence on manual operations and improving the overall operation efficiency. However, the current main task of unmanned forklifts is to drive straight on a flat ground and transport goods from one place to another. Currently, when loading the goods stacked on pallets and packed into the truck carriage, manual forklifts are used to transport the goods one by one into the carriage to complete the loading operation. It can be said that the current tasks that unmanned forklifts can perform are to transport goods in the warehouse and have not yet involved how to accurately and efficiently transport goods into the truck carriage for loading operations.

[0004] Therefore, the present invention urgently needs to design a method for identifying and positioning pallets in a carriage, which can accurately transport goods onto the pallets distributed in the carriage by an unmanned forklift to solve the above technical problems. Summary of the Invention

[0005] The purpose of the present invention is to overcome the above deficiencies of the prior art and provide a method for identifying and positioning pallets in a carriage with simple implementation, high accuracy, and fast calculation speed.

[0006] The technical solution of the present invention is: A method for identifying and positioning pallets in a carriage, comprising the following steps:

[0007] S1: Point cloud segmentation: Obtain the originally scanned point cloud data, traverse each point therein and perform filtering to obtain the point cloud filtered data; perform Euclidean clustering processing on the point cloud filtered data to obtain the clustering result; obtain the clustering result data of the clustering result list, and take the three largest clustering cluster point clouds of the clustering result.

[0008] S2: Carriage rectangle fitting: According to the obtained clustering cluster point clouds, fit three straight lines to obtain the rectangle parameters, and further calculate the rectangle rotation angle in the lidar coordinate system and the two intersection points of the three straight lines.

[0009] S3: Pallet distribution calculation: Obtain the pallet size, carriage size, the two intersection points in the carriage coordinate system, the centroid of the filtered clustered point cloud, the rectangle rotation angle, the length of the boarding bridge, and the forklift docking distance, and calculate the docking points corresponding to each pallet in the lidar coordinate system;

[0010] S4: According to the pose of the forklift in the pre-built map, obtain the map poses of the docking points corresponding to each pallet in the map coordinate system, and plan the path to control the forklift to navigate to each docking point.

[0011] Further, in S1, the filtering method for traversing each point of the point cloud and performing filtering includes: determining whether the y coordinate of each point is less than the sum of the carriage width and the docking error e. If it is less, add this point to the filtered in-carriage point cloud set to generate point cloud filtering data; where the docking error e refers to the error in the direction parallel to the platform edge when the carriage docks at the platform.

[0012] Further, in S1, according to the point cloud filtering data, the clustering distance threshold D max and the minimum number of clustering points, perform Euclidean clustering on the point cloud filtering data to obtain the clustering result; where the clustering distance threshold D max is obtained through the following formula:

[0013]

[0014] In the formula, assume p n and p n-1 are two adjacent points in the point cloud, then r n-1 is the scanning distance corresponding to point p n-1 Δ φ is the angle difference between adjacent points, and λ is the incident angle threshold.

[0015] Further, in S1, the processing method of Euclidean clustering includes the following steps:

[0016] A. Initialize an empty clustering result list to store the final clustering sets;

[0017] B. Initialize an empty access flag list with the same length as the number of points in the point cloud data, and set all initial values to False, which is used to mark whether each point has been accessed;

[0018] C. Traverse each point in the point cloud data and execute the following steps:

[0019] If the point has been accessed, skip this point, continue to process the next point, and mark this point as accessed; create a new empty clustering set to store the clustering being constructed, add the marked accessed point to this clustering set; create a queue of points to be processed, and add this point to the queue;

[0020] D. When the queue is not empty, perform the following steps:

[0021] Take out the first point q in the queue; for each other point r in the point cloud data, perform the following operations:

[0022] ① Calculate the Euclidean distance between point q and point r;

[0023] ② If the calculated Euclidean distance is not greater than the clustering distance threshold D max , then make the following judgment:

[0024] If point r has not been visited yet, mark point r as visited, add point r to the empty clustering set, and add point r to the queue; if the number of points in the empty clustering set is not less than the minimum number of clustering points, add the empty clustering set to the clustering result list;

[0025] E. Obtain the clustering result data of the clustering result list, and take the first three largest clustering cluster point clouds of the clustering results.

[0026] Furthermore, in S1, the first three largest clustering cluster point clouds are the point clouds scanned on the three inner walls of the carriage; the three inner walls of the carriage are the left wall, the right wall and the inner wall of the carriage, and the inner wall refers to the side opposite to the forklift.

[0027] Furthermore, in S2, the two intersection points of the three straight lines refer to the two bottom corner points of the carriage, specifically the two corner points at the bottom of the inner wall of the carriage.

[0028] Furthermore, in S2, the rectangular fitting of the carriage specifically includes the following steps:

[0029] Let the linear equations corresponding to the three clustering cluster point clouds be:

[0030]

[0031] According to the distance formula from a point to a straight line:

[0032]

[0033] In the formula, y i and x i are point coordinates, m is the slope, and p is the constant coefficient of the linear equation;

[0034] Obtain the cost function composed of the distances from all points to the straight line:

[0035]

[0036] Calculate the parameters a, b, c, d of the three straight lines, which are the rectangular parameters;

[0037] The rectangular rotation angle in the laser radar coordinate system and the two intersection points of the three straight lines are calculated based on the slope b.

[0038] Furthermore, in S3, the pallet distribution calculation specifically includes the following steps:

[0039] S31: Get the pallet size L1, W1, the car size L, W, the two intersection points in the car coordinate system, the center of gravity of the filtered cluster point cloud, and the rectangular rotation angle rot angle , Length of the boarding bridge L ramp And the docking distance D align ;

[0040] S32: Obtain the number of horizontal pallets placed N1=W / W1; and obtain the number of vertical pallets placed N2=L / L1;

[0041] S33: Calculate the docking point coordinates corresponding to each pallet and generate a docking point set of the carriage coordinate system;

[0042] S34: traverse each docking point in the docking point set, calculate the pose of the docking point in the laser radar coordinate system, and store it in the pose set, where the pose of each docking point includes a pose coordinate and a pose angle;

[0043] S35: Output the final pose set to obtain the docking point corresponding to each pallet in the laser radar coordinate system.

[0044] Further, in S33, the method for generating a set of docking points of a carriage coordinate system includes the following steps:

[0045] a) Establishing an empty docking point set to store the docking points in the car coordinate system;

[0046] b) Take n1∈[0,N1-1],n2∈[0,N2-1], traverse, and calculate the horizontal and vertical coordinates of the docking point of the stack: align :First calculate the horizontal coordinate x of the stack pallet =x br -n1*W1-W1*0.5; and according to the horizontal coordinate of the pallet and the docking distance D align The difference is used to obtain the horizontal coordinate x of the pallet docking point align ; judge x align Is it less than 0? If x align <0, then correct to x align -L ramp ; where x br is the horizontal coordinate of the bottom corner point in the corresponding carriage coordinate system;

[0047] The y coordinate of the pallet docking point align :When the number of vertical pallets placed n2=0, take yalign = y tr -0.5 * L1, otherwise take y align = y br +0.5 * L1; where y br is the ordinate of a bottom corner point in the corresponding carriage coordinate system; y tr is the ordinate of another bottom corner point in the carriage coordinate system;

[0048] c) Store the coordinates (x align , y align ) into the docking point set.

[0049] Furthermore, in S34, the coordinate system conversion method includes the following steps:

[0050] a) Establish a set of empty poses to store the docking point poses in the lidar coordinate system, and each pose is composed of (x, y, angle);

[0051] b) Traverse each docking point a in the docking point set i , calculate the pose (x, y, angle) of this docking point in the lidar coordinate system; and store it in the pose set;

[0052] Among them, for the docking point a i , the pose coordinate x pose , y pose and the pose angle angle pose are obtained through the following formula: x pose = xa i + x_center; in the formula, xa i is the abscissa of the docking point a i , and x_center is the abscissa of the centroid of the filtered clustered point cloud;

[0053] y pose = ya i + y _ center;

[0054] angle pose = rot angle ; rot angle is the rotation angle of the rectangle.

[0055] Advantages of the present invention:

[0056] (1) Euclidean clustering segmentation is used for point cloud segmentation, and the distance threshold of Euclidean clustering is a fixed value. Since the laser point cloud has the characteristic that the farther away from the radar, the sparser the distribution, a fixed distance threshold is likely to result in over-segmentation or under-segmentation. In this embodiment, by adopting an incident angle threshold, the distance threshold of each point can be adaptively calculated according to the incident angle threshold and the coordinates of each point, and then the point cloud can be segmented more accurately.

[0057] (2) The rectangular fitting of the carriage adopts the method of fitting three straight lines to obtain the carriage parameters, with fast calculation speed, so as to obtain the angle deviation when the carriage stops, which is convenient for the subsequent navigation control of the forklift and the real-time acquisition of the pose of the forklift relative to the carriage in the carriage.

[0058] (3) The calculation of the pallet distribution uses the point positions of each pallet distribution as the target points for controlling the forklift navigation, which is used to plan the navigation path of the forklift, and at the same time calculates the angle and speed control parameters of the forklift to achieve precise navigation.

[0059] (4) By combining point cloud segmentation, rectangular fitting of the carriage, and calculation of the pallet distribution, the present invention does not require map building in the carriage, thus greatly simplifying the complexity and implementation difficulty of the system. The point cloud segmentation technology can accurately identify the obstacles and cargo distribution in the carriage, the rectangular fitting of the carriage can effectively obtain the spatial structure of the carriage, providing an important reference for the loading plan, and the calculation of the pallet distribution further optimizes the navigation path of the forklift, ensuring the reasonable distribution and efficient loading of the cargo. This method not only improves the accuracy and efficiency of loading, but also reduces the dependence on complex map construction, making the system more flexible, fast and easy to deploy, and promoting the application of the unmanned forklift technology in the carriage loading operation. Brief Description of the Drawings

[0060] Figure 1 is the forklift task distribution diagram of the embodiment of the present invention;

[0061] Figure 2 is the schematic diagram of the forklift in the embodiment of the present invention scanning the point cloud at the preset point O;

[0062] Figure 3 is the calculation principle diagram of the clustering distance threshold D max of the embodiment of the present invention;

[0063] Figure 4 is the schematic diagram of the docking point positions corresponding to the pallet distribution in the carriage of the embodiment of the present invention. Detailed Description of the Embodiment

[0064] The following will further describe the present invention in detail with reference to the drawings in the specification and specific embodiments.

[0065] Such as Figure 1As shown in the figure: The freight car compartment is parked on one side of the platform, and there is no cargo in the compartment. Since there is a gap and a height difference between the platform and the compartment, a boarding bridge needs to be placed first to ensure that the forklift can enter the compartment smoothly. The forklift navigates to the preset recognition point O, scans the position of the compartment using a single-line lidar, and obtains point cloud data; according to the dimensions of the compartment and the pallet, the unloading position of the pallet in the compartment is calculated. Therefore, the entire process of this embodiment is divided into three parts: point cloud segmentation, compartment fitting, and pallet distribution calculation.

[0066] (1) Point cloud segmentation:

[0067] Since the compartment itself is relatively long, for example, the compartment length of a 13m freight car is 12.5m. When the forklift scans the point cloud at the preset point O, due to the too small incident angle of some points on both sides of the compartment, the single-line lidar fails to effectively scan these areas, resulting in the situation of partial point cloud missing, as specifically shown in Figure 2 the figure.

[0068] Among them, the solid line represents the point cloud successfully scanned inside the compartment, the dotted line inside the compartment represents the missing point cloud due to too small incident angle inside the compartment, and the dotted line outside the compartment represents the point cloud scanned outside the compartment. Let the length of the compartment be L and the width be W, and they are known in advance. First, filter the point cloud outside the compartment. For the point cloud in the lidar coordinates, the method of point cloud segmentation in this embodiment includes the following steps:

[0069] S101: Obtain the original scanned point cloud data, which contains multiple three-dimensional point coordinates.

[0070] S102: Traverse each point in the original point cloud, and judge whether the y coordinate of each point is less than the sum of the compartment width and the docking error e. If it is less, add this point to the filtered point cloud set inside the compartment.

[0071] Among them, the docking error e refers to the error in the direction parallel to the platform edge when the compartment is docked on the platform, and the unit is m. The sum of the compartment width and the docking error is expressed by the formula: W*0.5 + e.

[0072] S103: Obtain the point cloud filtering data (containing multiple three-dimensional point coordinates), the clustering distance threshold D max (used to judge whether two points belong to the same cluster according to the Euclidean distance between them) and the minimum number of cluster points (used to filter out too small clusters), and perform Euclidean clustering processing on the point cloud filtering data to obtain the clustering result.

[0073] Specifically, in order to cope with different compartment sizes and uneven distance distributions between adjacent points in the point cloud inside the compartment, the calculation method of the clustering distance threshold D max is as shown in Figure 3 the figure:

[0074] Among them, p n and p n-1 are two adjacent points in the point cloud, r n-1 is the scanning distance corresponding to point p n-1 φ n-1 is the scanning angle corresponding to point p n-1 Then Δ φ is the angular difference between adjacent points (the angular resolution of the lidar, usually 0.5°), and λ is the incident angle threshold (usually taken as 20°); then based on the trigonometric relationship, the clustering distance threshold between two points is D max :

[0075]

[0076] The processing method of Euclidean clustering specifically includes:

[0077] A. Initialize an empty list of clustering results to store the final clustering set;

[0078] B. Initialize an empty list of access flags, with the same length as the number of points in the point cloud data, and all initial values are set to False, which is used to mark whether each point has been visited;

[0079] C. Traverse each point in the point cloud data and perform the following steps:

[0080] If the point has been visited (i.e., the corresponding position in the access flag list is True), skip the point, continue to process the next point, and mark the point as visited;

[0081] Create a new empty clustering set to store the current clustering being constructed, and add the marked visited points to this clustering set;

[0082] Create a queue of points to be processed and add this point to the queue.

[0083] D. When the queue is not empty, perform the following steps:

[0084] Take out the first point q in the queue;

[0085] For each other point r in the point cloud data, perform the following operations:

[0086] ① Calculate the Euclidean distance between point q and point r;

[0087] ② If the calculated Euclidean distance is not greater than the clustering distance threshold D max , then make the following judgment:

[0088] If point r has not been visited yet, mark point r as visited, add point r to the empty clustering set, and add point r to the queue;

[0089] If the number of points in the empty cluster set is not less than the minimum number of cluster points, add the empty cluster set to the cluster result list.

[0090] E. Obtain the cluster result data of the cluster result list, and take the three largest cluster point clouds in the cluster results, which are the point clouds scanned on the three inner walls of the carriage.

[0091] Among them, the three inner walls of the carriage are the left wall, the right wall and the inner wall of the carriage. The inner wall refers to the side opposite to the forklift. The cluster result contains multiple cluster sets, and each set is composed of points belonging to the same cluster.

[0092] (2) Fitting of the carriage rectangle:

[0093] According to the coordinates of the cluster point cloud mentioned above, the point clouds of the left wall, the right wall and the inner wall of the carriage can be obtained. Suppose the linear equations corresponding to the three cluster point clouds are:

[0094] y = a + bx, y = c + bx,

[0095] The distance formula from a point to a line is:

[0096]

[0097] In the formula, y i and x i are point coordinates, m is the slope, and p is the constant coefficient of the linear equation (derived from the linear equations of the above three clusters).

[0098] Obtain the cost function composed of the distances from all points to the line:

[0099]

[0100] Then, according to the least squares method or the random sample consensus (RANSAC) method, obtain the parameters a, b, c, d of the three lines, that is, obtain the rectangle parameters. Further, the rotation angle of the rectangle in the lidar coordinate system and the two intersections of the three lines can be obtained from the slope b; among them, the two intersections refer to the two bottom corner points p_br and p_tr of the carriage (the positions are as Figure 4 shown).

[0101] (3) Calculation of pallet distribution

[0102] In the carriage coordinate system (x, o t , y), according to the length L and width W of the carriage, and the length L1 and width W1 of the pallet, assuming that the pallets are evenly distributed in the carriage, the position of each pallet in the carriage can be obtained, as Figure 4 shown:

[0103] The forklift automatically unloads the pallets to each docking point, and it is necessary to calculate the docking point a corresponding to each pallet p according to the forklift docking distance D align (which is related to the actual control algorithm and vehicle characteristics). i And since the forklift uses 2D laser positioning and can only go straight on the boarding bridge, it is necessary to add a judgment on whether the docking point is on the boarding bridge and extend the docking point at this time, such as i the points a9, a shown in Figure 4 . The method for obtaining the docking point corresponding to each pallet in this embodiment includes the following steps: 10

[0104] S301: Obtain the pallet size L1, W1, the carriage size L, W, the two bottom corner points p_br and p_tr in the carriage coordinate system, the centroid a i center of the filtered clustered point cloud, the rectangular rotation angle rot angle , the length L ramp of the boarding bridge, and the docking distance D align .

[0105] S302: Obtain the number of horizontally placed pallets N1 = W / W1; and obtain the number of vertically placed pallets N2 = L / L1.

[0106] S303: Generate a set of docking points in the carriage coordinate system, specifically:

[0107] a) Establish an empty set of docking points to store the docking points in the carriage coordinate system;

[0108] b) Take n1 ∈ [0, N1 - 1], n2 ∈ [0, N2 - 1], and perform traversal to calculate the abscissa and ordinate of the pallet docking point:

[0109] For the abscissa x of the pallet docking point align : First, calculate the abscissa x pallet of the pallet = x br - n1 * W1 - W1 * 0.5; and obtain the abscissa x align of the pallet docking point according to the difference between the abscissa of the pallet and the docking distance D align ; Judge whether x align is less than 0. If x align < 0, correct it to x align - L ramp ; where x br is the abscissa of a bottom corner point in the corresponding carriage coordinate system;

[0110] For the ordinate y of the pallet docking point align : When the number of vertically placed pallets n2 = 0, take y align = ytr -0.5*L1, otherwise take y align = y br +0.5*L1;

[0111] c) Store the coordinates (x align , y align ) into the docking point set.

[0112] S304: Perform coordinate system conversion, specifically:

[0113] a) Establish a set of empty poses to store the docking point poses in the lidar coordinate system, and each pose consists of (x, y, angle);

[0114] b) Traverse each docking point a in the docking point set i , calculate the pose (x, y, angle) of this docking point in the lidar coordinate system; and store it in the pose set.

[0115] Among them, for the docking point a i , the pose coordinates x pose , y pose and the pose angle are obtained through the following formulas:

[0116] x pose = xa i + x_center; where xa i is the abscissa of the docking point a i , and x_center is the abscissa of the centroid of the filtered clustered point cloud;

[0117] y pose = ya i + y_center;

[0118] angle pose = rot angle ; rot angle is the rotation angle of the rectangle.

[0119] S305: Output the final pose set to obtain the docking points corresponding to each pallet in the lidar coordinate system.

[0120] In practical applications, according to the pose of the forklift in the pre-built map, the map poses of the docking points corresponding to each pallet in the map coordinate system can be obtained, and thus can be used to plan the path to control the forklift to navigate to each docking point.

[0121] In summary, for the point cloud segmentation of this embodiment, Euclidean clustering segmentation is adopted, and the distance threshold of Euclidean clustering is a fixed value. Since the laser point cloud has the characteristic that the farther away from the radar, the sparser the distribution, a fixed distance threshold is likely to result in over-segmentation or under-segmentation. In this embodiment, by adopting an incident angle threshold, the distance threshold of each point can be adaptively calculated according to the incident angle threshold and the coordinates of each point, thereby enabling more accurate segmentation of the point cloud.

[0122] For the carriage rectangle fitting of this embodiment, by adopting a method of fitting three straight lines to obtain the carriage parameters, the calculation speed is fast, so as to obtain the angle deviation when the carriage is docked, which is convenient for subsequent navigation control of the forklift and real-time acquisition of the pose of the forklift relative to the carriage inside the carriage.

[0123] For the pallet distribution calculation of this embodiment, the point positions of each pallet distribution are used as target points for controlling the forklift navigation, which is used to plan the navigation path of the forklift. At the same time, the angle and speed control parameters of the forklift are calculated to achieve precise navigation.

[0124] By combining point cloud segmentation, carriage rectangle fitting, and pallet distribution calculation, the present invention does not require map building inside the carriage, thus greatly simplifying the complexity and implementation difficulty of the system. The point cloud segmentation technology can accurately identify the obstacles and cargo distribution inside the carriage. The carriage rectangle fitting can effectively obtain the spatial structure of the carriage, providing an important reference for loading planning. The pallet distribution calculation further optimizes the forklift navigation path, ensuring the reasonable distribution and efficient loading of goods. This method not only improves the accuracy and efficiency of loading, but also reduces the dependence on complex map construction, making the system more flexible, fast, and easy to deploy, promoting the application of unmanned forklift technology in carriage loading operations.

[0125] In addition, the term "connection" should be understood in a broad sense. For example, it may include fixed connection, detachable connection, or integral connection; it may include direct connection, or indirect connection through an intermediate medium, and may also include the communication inside two elements. For those of ordinary skill in the art, the specific meaning of the above terms in this application can be understood according to specific situations.

[0126] In addition, the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include at least one of such features. In the description of this application, the meaning of "a plurality" is at least two, such as two, three, etc., unless otherwise specifically and clearly defined.

[0127] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and should not be construed as limiting the present application. Those of ordinary skill in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present application.

Claims

1. A method for identifying and positioning a pallet inside a carriage, characterized in that, It includes the following steps: S1: Point cloud segmentation: Obtain the point cloud data of the original scan, traverse each point therein and perform filtering to obtain the filtered point cloud data; perform Euclidean clustering processing on the filtered point cloud data to obtain the clustering result; Obtain the clustering result data of the clustering result list, and take the first three largest clustering cluster point clouds of the clustering result; S2: Carriage rectangle fitting: According to the obtained clustering cluster point clouds, fit three straight lines to obtain the rectangle parameters, and then calculate the rectangle rotation angle and the two intersection points of the three straight lines in the lidar coordinate system; S3: Pallet distribution calculation: Obtain the pallet size, carriage size, the two intersection points in the carriage coordinate system, the centroid of the filtered clustering cluster point clouds, the rectangle rotation angle, the length of the boarding bridge, and the forklift docking distance, and calculate the docking points corresponding to each pallet in the lidar coordinate system; S4: According to the pose of the forklift in the pre-built map, obtain the map poses of the docking points corresponding to each pallet in the map coordinate system, and plan the path to control the forklift to navigate to each docking point.

2. The method for identifying and positioning the pallet inside the carriage according to claim 1, wherein In S1, the filtering method for traversing each point of the point cloud and performing filtering is: Determine whether the y coordinate of each point is less than the sum of the carriage width and the docking error e. If it is less, add this point to the filtered in-carriage point cloud set to generate the filtered point cloud data; Wherein, the docking error e refers to the error in the direction parallel to the platform edge when the carriage docks at the platform.

3. The method for identifying and positioning the pallet inside the carriage according to claim 1, characterized in that In S1, according to the point cloud filtering data and the clustering distance threshold D max and the minimum number of clustering points, perform Euclidean clustering on the point cloud filtering data to obtain a clustering result; where the clustering distance threshold D max is obtained by the following formula: Wherein, assume p n and p n-1 are two adjacent points in the point cloud, then r n-1 is the scanning distance corresponding to the point p n-1 , Δ φ is the angular difference between adjacent points, and λ is the incident angle threshold.

4. The method for identifying and positioning the pallet inside the carriage according to claim 3, characterized in that In S1, the processing method of Euclidean clustering includes the following steps: A. Initialize an empty clustering result list for storing the final clustering set; B. Initialize an empty access marker list with the same length as the number of points in the point cloud data, and set all initial values to False, which is used to mark whether each point has been visited; C. Traverse each point in the point cloud data and perform the following steps: If the point has been visited, skip this point, continue to process the next point, and mark this point as visited; create a new empty clustering set for storing the current clustering being constructed, add the marked visited point to this clustering set; create a queue of points to be processed, and add this point to the queue; D. When the queue is not empty, perform the following steps: Take out the first point q in the queue; for each other point r in the point cloud data, perform the following operations: ① Calculate the Euclidean distance between point q and point r; ② If the calculated Euclidean distance is not greater than the clustering distance threshold D max , then make the following judgment: If point r has not been visited, mark point r as visited, add point r to the empty clustering set, and add point r to the queue; if the number of points in the empty clustering set is not less than the minimum clustering points, add the empty clustering set to the clustering result list; E. Obtain the clustering result data of the clustering result list, and take the first three largest clustering cluster point clouds of the clustering result.

5. The method for identifying and positioning the pallet inside the carriage according to claim 1 or 4, characterized in that, In S1, the first three largest clustering cluster point clouds are the point clouds scanned on the three inner walls of the carriage; the three inner walls of the carriage are the left wall, the right wall and the inner wall of the carriage, and the inner wall refers to the side opposite to the forklift.

6. The method for identifying and positioning the pallet in the carriage according to claim 1 or 4, characterized in that In S2, the two intersection points of the three straight lines refer to the two bottom corner points of the carriage, specifically the two corner points at the bottom of the inner wall of the carriage.

7. The method for identifying and positioning the pallet in the carriage according to claim 1, characterized in that, In S2, the carriage rectangle fitting specifically includes the following steps: Let the linear equations corresponding to the three cluster point clouds be as follows: y = a + bx, y = c + bx, The distance formula from a point to a line is: where y i and x i are point coordinates, m is the slope, and p is the constant coefficient of the linear equation; Obtain the cost function formed by the distances from all points to the line: Calculate the parameters a, b, c, and d of the three lines, which are the rectangle parameters; Calculate the rectangle rotation angle in the lidar coordinate system and the two intersection points of the three lines according to the slope b.

8. The method for identifying and positioning the pallet inside the carriage according to claim 1, characterized in that In S3, the calculation of the pallet distribution specifically includes the following steps: S31: Obtain the dimensions of the pallet L1, W1, the dimensions of the carriage L, W, two intersection points in the carriage coordinate system, the centroid of the filtered and clustered point cloud, the rectangular rotation angle rot angle , the length L of the boarding bridge ramp and the docking distance D align ; S32: Obtain the number of horizontally placed pallets N1 = W / W1; and obtain the number of vertically placed pallets N2 = L / L1; S33: Calculate the docking point coordinates corresponding to each pallet and generate a set of docking points in the carriage coordinate system; S34: Traverse each docking point in the set of docking points, calculate the pose of the docking point in the lidar coordinate system, and store it in the pose set. The pose of each docking point includes the pose coordinates and the pose angle; S35: Output the final pose set to obtain the docking point corresponding to each pallet in the lidar coordinate system.

9. The method for identifying and positioning the pallet in the carriage according to claim 8, wherein In S33, the method for generating the set of docking points in the carriage coordinate system includes the following steps: a) Establish an empty set of docking points to store the docking points in the carriage coordinate system; b) Take n1∈[0,N1-1],n2∈[0,N2-1], traverse, and calculate the horizontal and vertical coordinates of the docking point of the stack: align :First calculate the horizontal coordinate x of the stack pallet =x br -n1*W1-W1*0.5; and according to the horizontal coordinate of the pallet and the docking distance D aligh The difference is used to obtain the horizontal coordinate x of the pallet docking point align ; judge x align Is it less than 0? If x align <0, then correct to x align -L ramp ; where x br is the horizontal coordinate of the bottom corner point in the corresponding carriage coordinate system; For the vertical coordinate y of the pallet docking point align : When the number of longitudinally placed pallets n2 = 0, take y align = y tr - 0.5 * L1, otherwise take y align = y br + 0.5 * L1; where y br is the vertical coordinate of a bottom corner point in the corresponding carriage coordinate system; y tr is the vertical coordinate of another bottom corner point in the carriage coordinate system; c) Store the coordinates (x align , y align ) into the docking point set.

10. The method for identifying and positioning the pallet inside the carriage according to claim 8, wherein, In S34, the coordinate transformation method includes the following steps: a) Establish an empty set of poses to store the pose of the docking point in the lidar coordinate system, and each pose is composed of (x, y, angle); b) Traverse each docking point a in the set of docking points i , calculate the pose (x, y, angle) of this docking point in the lidar coordinate system; and store it in the pose set; Among them, for the docking point a i , the pose coordinates x pose , y pose and the pose angle angle pose are obtained through the following formula: x pose = xa i + x_center; where, xa i is the abscissa of the docking point a i , and x_center is the abscissa of the centroid of the filtered clustered point cloud; y pose = ya i + y _ center; angle pose = rot angle ; rot angle is the rotation angle of the rectangle.

Citation Information

Cited By

  • Automatic loading and unloading method and system based on AGV

    CN121559986A