Cargo palletizing methods and apparatus, handling equipment and computer-readable storage media
By acquiring point cloud data from multiple radars and establishing a grid map, the problem of inaccurate cargo positioning inside the carriage was solved, enabling precise guidance for multi-layer palletizing and improved space utilization.
Patent Information
- Application Number
- CN202211731958.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-30
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2042-12-30
AI Technical Summary
Existing technologies make it difficult to obtain accurate location information of goods inside the carriage, resulting in inaccurate target stacking positions when stacking multiple layers, which affects space utilization.
Multiple radars are arranged vertically to acquire point cloud data, a grid map is built, the location to be palletized is determined based on the point cloud data, and the target palletizing location is selected according to the palletizing rules.
It enables precise guidance in complex multi-layer palletizing scenarios, improving the accuracy of target palletizing position determination and space utilization.
Smart Images

Figure CN116040331B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of industrial vision technology, and more specifically, to a cargo palletizing method, a cargo palletizing device, a handling equipment, and a non-volatile computer-readable storage medium. Background Technology
[0002] With the advancement of technology, robots are widely used in the palletizing industry. When robots stack goods into a truck, they often need to stack several layers inside the truck. However, current technology makes it difficult to obtain accurate location information of the goods inside the truck, thus making it difficult to guarantee the accuracy of the target stacking position when stacking multiple layers. Summary of the Invention
[0003] This application provides a cargo palletizing method, a cargo palletizing device, a handling equipment, and a non-volatile computer-readable storage medium.
[0004] The cargo palletizing method of this application includes scanning a preset storage space with multiple radars to obtain multiple point cloud data, wherein the multiple radars are arranged sequentially in a vertical direction; determining the palletizing position corresponding to each radar based on the point cloud data corresponding to each radar; and determining the target palletizing position based on the palletizing position corresponding to each radar, so as to store the cargo at the target palletizing position.
[0005] The cargo palletizing device according to this application includes a scanning module, a first determining module, and a second determining module. The scanning module is used to scan a preset storage space using multiple radars to obtain multiple point cloud data, with the multiple radars arranged sequentially along a vertical direction. The first determining module is used to determine the palletizing position corresponding to each radar based on the point cloud data corresponding to each radar. The second determining module is used to determine a target palletizing position based on the palletizing position corresponding to each radar, so as to store the goods at the target palletizing position.
[0006] The handling equipment of this application includes a radar and a processor. The radar is used to arrange multiple radars in a vertical direction. The processor is used to scan a preset storage space through the multiple radars to obtain multiple point cloud data. It is used to determine the palletizing position corresponding to each radar according to the point cloud data corresponding to each radar. It is used to determine the target palletizing position according to the palletizing position corresponding to each radar, so as to store the goods in the target palletizing position.
[0007] The non-volatile computer-readable storage medium of this application includes a computer program that, when executed by a processor, causes the processor to perform the cargo palletizing method. The cargo palletizing method includes acquiring multiple point cloud data by scanning a preset storage space with multiple radars, the multiple radars being arranged sequentially in a vertical direction; determining a palletizing position corresponding to each radar based on the point cloud data corresponding to each radar; and determining a target palletizing position based on the palletizing position corresponding to each radar, so as to store the goods at the target palletizing position.
[0008] The cargo palletizing method, palletizing device, handling equipment, and computer-readable storage medium of this application acquire point cloud data at different heights using multiple radars, and determine the palletizing position corresponding to each radar based on the multiple point cloud data. The target palletizing position is determined from the palletizing positions corresponding to radars at different heights, thereby dividing the three-dimensional preset storage space into multiple planes for analysis, and realizing precise guidance in complex multi-layer palletizing scenarios.
[0009] Additional aspects and advantages of embodiments of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of embodiments of this application. Attached Figure Description
[0010] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the description of the embodiments taken in conjunction with the following drawings, wherein:
[0011] Figure 1 This is a schematic flowchart of a cargo palletizing method according to certain embodiments of this application;
[0012] Figure 2 This is a schematic diagram of a cargo palletizing method according to certain embodiments of this application;
[0013] Figure 3 This is a schematic flowchart of a cargo palletizing method according to certain embodiments of this application;
[0014] Figure 4 This is a schematic flowchart of a cargo palletizing method according to certain embodiments of this application;
[0015] Figure 5 This is a schematic diagram of a cargo palletizing method according to certain embodiments of this application;
[0016] Figure 6 This is a schematic flowchart of a cargo palletizing method according to certain embodiments of this application;
[0017] Figure 7 This is a schematic diagram of a cargo palletizing method according to certain embodiments of this application;
[0018] Figure 8 This is a schematic diagram of a cargo palletizing method according to certain embodiments of this application;
[0019] Figure 9 This is a schematic flowchart of a cargo palletizing method according to certain embodiments of this application;
[0020] Figure 10 This is a schematic diagram of a cargo palletizing method according to certain embodiments of this application;
[0021] Figure 11 This is a schematic flowchart of a cargo palletizing method according to certain embodiments of this application;
[0022] Figure 12 This is a schematic flowchart of a cargo palletizing method according to certain embodiments of this application;
[0023] Figure 13 This is a schematic flowchart of a cargo palletizing method according to certain embodiments of this application;
[0024] Figure 14 This is a schematic diagram of a cargo palletizing method according to certain embodiments of this application;
[0025] Figure 15 This is a schematic diagram of a cargo palletizing method according to certain embodiments of this application;
[0026] Figure 16 This is a schematic flowchart of a cargo palletizing method according to certain embodiments of this application;
[0027] Figure 17 This is a schematic flowchart of a cargo palletizing method according to certain embodiments of this application;
[0028] Figure 18 This is a schematic flowchart of a cargo palletizing method according to certain embodiments of this application;
[0029] Figure 19 This is a schematic diagram of a cargo palletizing device according to certain embodiments of this application;
[0030] Figure 20 This is a plan view of a conveying device according to certain embodiments of this application;
[0031] Figure 21 This is a schematic diagram illustrating the connection state of a non-volatile computer-readable storage medium and a processor in certain embodiments of this application. Detailed Implementation
[0032] The embodiments of this application are described in detail below. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the embodiments of this application, and should not be construed as limiting the embodiments of this application.
[0033] Please see Figure 1 and Figure 2 This application provides a cargo palletizing method, which includes:
[0034] Step 01: Scan the preset storage space S1 with multiple radars 20 to obtain multiple point cloud data. The multiple radars 20 are arranged in sequence along the vertical direction.
[0035] Specifically, when stacking multiple layers of goods within a pre-defined storage space S1, to improve the space utilization of S1, it is necessary to select the target stacking position based on the stacking status of each layer. However, existing technologies cannot obtain accurate contour information of the goods within the pre-defined storage space S1, making it difficult to guarantee the accuracy of the determined target storage position. To address this issue, this application uses a radar 20 capable of detecting object contours to acquire the stacking status within the pre-defined storage space S1. By setting multiple radars 20 arranged vertically, different radars 20 can acquire point cloud information at different heights within the pre-defined storage space S1, facilitating the division of the three-dimensional pre-defined storage space S1 into multiple planes for the analysis and selection of the stacking position A1. Then, before stacking the goods, multiple radars 20 scan the pre-defined storage space S1 to acquire multiple point cloud data, with each point cloud data representing a different height.
[0036] Furthermore, since radar 20 can only acquire point cloud information of a plane within the preset storage space S1 at a height corresponding to the installation height of radar 20, the accuracy of determining the target palletizing position can be increased by increasing the number of radars 20. Multiple radars 20 divide the three-dimensional preset storage space S1 into multiple planes. As the number of radars 20 gradually increases, the number of divided planes also increases, enabling more accurate acquisition of the situation within the preset storage space S1 based on the point cloud data of each radar 20, thereby improving the accuracy of determining the target palletizing position. Simultaneously, as the number of radars 20 increases, the corresponding number of palletizing layers also increases, thereby improving the space utilization rate of the preset storage space S1.
[0037] Step 02: Determine the palletizing position A1 corresponding to each radar 20 based on the point cloud data corresponding to each radar 20;
[0038] Specifically, after acquiring the point cloud data corresponding to each radar 20, the palletizing position A1 corresponding to each radar 20 is determined based on the point cloud data of each radar 20, so as to determine the palletizing position A1 corresponding to multiple heights, thereby facilitating the selection of a suitable palletizing position A1 at multiple heights as the target palletizing position.
[0039] Step 03: Determine the target palletizing position based on the palletizing position A1 corresponding to each radar 20, so as to store the goods at the target palletizing position.
[0040] Specifically, after determining the palletizing position A1 corresponding to each radar 20, a target palletizing position that can place goods and conforms to the palletizing rules can be determined based on the specific situation of the palletizing position A1 of each radar 20. For example, the preset storage space S1 can be divided into multiple layers from bottom to top, with the bottom layer as the first layer, and so on upwards. The palletizing rule is to stack the highest layer first, that is, when selecting a target palletizing position, the palletizing position A1 with the highest layer and goods already placed below it is selected as the target storage position. Alternatively, the palletizing rule is to fill the first layer first, and then stack the goods to the second layer, and so on. In this case, when selecting a target palletizing position, the palletizing position A1 corresponding to the radar 20 of the first layer will be selected first. After the first layer is filled with goods, the palletizing position A1 corresponding to the radar 20 of the second layer will be selected as the target palletizing position.
[0041] The cargo palletizing method of this application uses multiple radars 20 to acquire point cloud data at different heights, and determines the palletizing position A1 corresponding to each radar 20 based on the multiple point cloud data. The target palletizing position is determined from the palletizing positions A1 corresponding to radars 20 at different heights, thereby dividing the three-dimensional preset storage space S1 into multiple planes for analysis, and realizing precise guidance in complex multi-layer palletizing scenarios.
[0042] Please see Figure 2 and Figure 3 In some implementations, step 02: determining the palletizing position A1 corresponding to each radar 20 based on the point cloud data corresponding to each radar 20, includes:
[0043] Step 021: Create a grid map corresponding to each radar 20, and determine whether each grid C1 in the grid map is empty based on the point cloud data corresponding to the radar 20;
[0044] Step 022: Determine the palletizing position A1 corresponding to each radar 20 based on the empty grid C1 in each grid map.
[0045] Specifically, after acquiring the point cloud data corresponding to each radar 20, a grid map corresponding to each radar 20 is established. The point cloud data is the data of the center point of the corresponding grid C1 in the grid map, so that the position of the corresponding grid C1 in the grid map can be determined through the point cloud data, and the data of the corresponding grid C1 can be obtained. Therefore, after acquiring the point cloud data corresponding to each radar 20, it is possible to determine whether each grid C1 in the grid map corresponding to each radar 20 is empty. Then, after determining the empty grid C1 in each grid map, the area in the region corresponding to each radar 20 that can be used to place goods can be determined according to the empty grid C1 in each grid map, and the palletizing position A1 corresponding to each radar 20 can be determined from the area in the region where goods can be placed according to the size of the goods.
[0046] Specifically, the resolution of grid C1 is the minimum limit of the geometric length of the object that grid C1 can recognize. Higher resolution means more detail of the object displayed in the grid map, making it closer to the actual object, but also requiring more data processing time. Conversely, lower resolution means less detail of the object displayed in the grid map, resulting in less data processing time. Therefore, when setting the resolution, it is necessary to balance the requirements for detail when displaying objects in the grid map with the requirements for data processing time. In this application, the resolution is 10mm to meet the requirements for detail in displaying the preset storage space S1 in the grid map, while ensuring sufficient data processing time, thereby improving the accuracy and speed of determining the palletizing position A1.
[0047] Please see Figure 2 and Figure 4 In some implementations, the point cloud data includes point cloud coordinates. Step 021: Establish a grid map corresponding to each radar 20, and determine whether each grid C1 in the grid map is empty based on the point cloud data corresponding to the radar 20, including:
[0048] Step 0211: Create a grid map corresponding to each radar 20. All grids C1 in the grid map are empty in the initial state.
[0049] Step 0212: Generate multiple vectors based on the coordinates of any two adjacent point cloud points, and determine the scanning area corresponding to each vector based on the coordinate origin and vector of the raster map;
[0050] Step 0213: In each scan area, determine that the grid C1 to the left of the vector corresponding to the scan area is not empty, and determine that the grid C1 to the right of the vector corresponding to the scan area is empty.
[0051] Specifically, please combine Figure 5Point cloud data includes point cloud coordinates. When building a grid map corresponding to each radar 20, a planar coordinate system is also constructed in each grid map, with the position of radar 20 as the origin of the coordinate system. After obtaining the point cloud data, the corresponding point cloud coordinates can be obtained. In the initial state, all grids C1 in the grid map are empty. To update the state of grid C1, multiple vectors need to be generated based on any two adjacent point cloud coordinates, and the scanning area corresponding to each vector is determined based on the origin of the grid map and the vectors. When determining the scanning area, the origin of the coordinate system and the point cloud coordinates that form the vectors are connected to form two straight lines. The area enclosed by these two straight lines is the scanning area. For example, if there are two adjacent point cloud coordinates K in the grid map... n (x1, y1) and K n+1 (x2, y2), thus generating the vector [K] n (x1, y1) → K n+1 (x2, y2)]. Then, in each scan area, determine whether the grid C1 within the scan area is empty. Each grid C1 corresponds to a point cloud coordinate, such as P(x, y), and then the equation r = (x2-x1)*(y-y1)-(y2-y1)*(x-y1) can be used to determine whether the grid C1 is to the left or right of the corresponding vector. When r < 0, it means that the grid C1 corresponding to the point cloud coordinate is to the right of the vector direction; when r > 0, it means that the grid C1 corresponding to the point cloud coordinate is to the left of the vector direction. Then, determine that the grid C1 to the left of the vector corresponding to the scan area is not empty, and determine that the grid C1 to the right of the vector corresponding to the scan area is empty. Among them, when determining whether the grid C1 within the scan area is to the left or right of the vector corresponding to the scan area, the direction of the vector corresponding to the scan area can be used as a reference to determine the left and right direction of the grid C1. For example, in vector [K n In the scan region corresponding to (x1, y1)→Kn+1x2, y2, following the arrow direction of vector Knx1, y1→Kn+1x2, y2, it can be determined that the region where P(x, y) is located is to the left of the vector, and the grid C1 in this region is non-empty. The region in the scan region where P(x, y) is not located is to the right of the vector, and the grid C1 in this region is empty.
[0052] For example, in one embodiment, the angular accuracy of radar 20 is 0.33°, so after scanning the preset storage space S1 at a 90° angle, 271 point cloud data points will be acquired, corresponding to 271 point cloud coordinates in the grid map. When generating vectors, 270 vectors can be generated based on any two adjacent point cloud coordinates. Then, the scanning area is determined based on these 270 vectors, and it is then determined whether the grid C1 within the scanning area is to the left or right of the corresponding vector, thereby determining whether the grid C1 within the scanning area is empty.
[0053] Thus, by establishing a grid map corresponding to each radar 20 and generating multiple vectors based on point cloud coordinates, it is possible to determine whether grid C1 is empty or not based on the vectors in the image, so as to obtain the area where goods can be placed from each grid map, thereby facilitating the selection of the palletizing position A1 corresponding to each radar 20.
[0054] Please see Figure 2 , Figure 6 and Figure 7 In some implementations, step 022: determining the palletizing position A1 corresponding to each radar 20 based on the empty grid C1 in each grid map, includes:
[0055] Step 0221: Set the first weight of the first side and the second weight of the second side of the preset storage space S1 in the raster map, with the first side and the second side perpendicular to each other;
[0056] Step 0222: Calculate the coordinate difference between the intersection grid C1 of the first and second sides and each grid C1;
[0057] Step 0223: Based on the coordinate difference, first weight, and second weight of each grid C1, determine the third weight of each grid C1. The smaller the coordinate difference of grid C1, the smaller the third weight of grid C1.
[0058] Step 0224: Determine the palletizing position A1 corresponding to each radar 20 based on the third weight of the empty grid C1 in each grid map.
[0059] Specifically, when selecting the palletizing location A1, different situations may have different cargo placement preferences. For example, in some situations, goods need to be placed preferentially on one side of the preset storage space S1, while in others, goods need to be placed sequentially on both sides of the preset storage space S1. Therefore, in this case, a first weight of the preset storage space S1 on the first side L1 and a second weight of the second side L2 of the grid map can be set, with the first side L1 and the second side L2 perpendicular. Then, the coordinate difference between the intersection grid C1 of the first side L1 and the second side L2 and each empty grid C1 is calculated, and a third weight of each empty grid C1 is determined based on the coordinate difference of each empty grid C1, the first weight, and the second weight. The smaller the coordinate difference corresponding to grid C1, the smaller the third weight of grid C1.
[0060] For example, it can be calculated using the formula W[i] = *(O). x -[i]. x )+*O. y -[i]. y Calculate the third weight of each empty grid cell C1, where W[i] is the third weight, a is the first weight, b is the second weight, and O is the weight. x And O.y Let W[i] be the x-coordinate and y-coordinate of the intersection grid C1, respectively. x And W[i]. y The x and y coordinates correspond to the raster C1, respectively, i = {1, 2, ..., n}, where n is the total number of empty raster C1s.
[0061] After calculating the third weight of all empty grids C1 in each grid map, the palletizing position A1 corresponding to each radar 20 can be determined based on the third weight. In one embodiment, the third weights of all empty grids C1 are compared, and the empty grid C1 with the smallest third weight is determined as the palletizing position A1. In another embodiment, the size of the grid C1 and the size of the goods are also taken into consideration. That is, when determining the palletizing position A1, the storage space with the smallest third weight that can hold the goods is selected from the preset storage space S1 based on the size of the goods and the size of the grid C1. For example, when the first weight is greater than the second weight, the grid C1 closest to the first edge L1 is preferentially selected as the palletizing position A1. Figure 7 When the first weight equals the second weight, the grid C1 closest to the second edge L2 will be preferentially selected as the palletizing position A1. For example... Figure 8 .
[0062] Furthermore, the first and second weights of the grid map corresponding to each radar 20 can be specified according to the actual stacking situation. In one embodiment, the first and second weights of the grid map corresponding to each radar 20 are different. When selecting the stacking position A1 according to the grid map corresponding to the radar 20 of the first layer, the grid C1 closer to the second side L2 is preferentially selected as the stacking position A1. When selecting the stacking position A1 according to the grid map corresponding to the radar 20 of the first layer, the grid C1 closer to the first side L1 is preferentially selected as the stacking position A1 of the second layer. In another embodiment, the first and second weights of the grid map corresponding to each radar 20 are the same. When selecting the stacking position A1 according to the grid map corresponding to each radar 20, the grid C1 closer to the first side L1 is preferentially selected as the stacking position A1.
[0063] In this way, by setting the first weight of the first side L1 and the second weight of the second side L2 of each grid map in the preset storage space S1, and calculating the third weight of the empty grid C1 in each grid map according to the first weight and the second weight respectively, and then selecting the palletizing position A1 corresponding to each radar 20 according to the third weight of each grid map, the placement preference of goods in different usage scenarios can be met, so that this application can be applied to a variety of usage scenarios.
[0064] Please see Figure 2 , Figure 9 and Figure 10 In some implementations, step 0224: determining the palletizing position A1 corresponding to each radar 20 based on the third weight of the empty grid C1 in each grid map, includes:
[0065] Step 02241: Sort the third weight of all empty grids C1 in each grid map to determine the empty grid C1 corresponding to the third weight within the preset sorting range as the first target grid C11. The third weight within the preset sorting range is less than the third weight outside the preset sorting range.
[0066] Step 02242: Determine the target area based on the first target grid C11 and the dimensions of the cargo;
[0067] Step 02243: Determine the first occlusion region S2 corresponding to the first target grid C11 based on the coordinates of the vertices and the origin of the target region of the first target grid C11;
[0068] Step 02244: Determine the second occlusion region corresponding to the first target grid C11 based on the coordinates of the vertices of the target region of the first target grid C11 and the first occlusion region S2;
[0069] Step 02245: Determine the cost of each first target grid C11 based on the preset fourth weight and the first occlusion area S2 corresponding to each first target grid C11, and the preset fifth weight and the second occlusion area corresponding to each first target grid C11.
[0070] Step 02246: Determine the first target grid C11 with the minimum value in each grid map as the palletizing position A1 corresponding to each radar 20.
[0071] Specifically, before selecting the palletizing location A1, a preset sorting range is set according to actual needs. This allows for pre-screening of all empty grids C1 in each grid map, reducing the workload of the subsequent step of determining the corresponding first target grid C111. After obtaining the third weight of all empty grids C1 in each grid map, the third weights of all empty grids C1 in each grid map are sorted to determine the empty grids C1 corresponding to the third weights within the preset sorting range as the first target grids C111. In particular, the third weights within the preset sorting range are less than the third weights outside the preset sorting range. Then, the target area of each grid map is determined based on the first target grid C111 and the cargo size. For example, if the preset sorting range is 5, then after sorting the third weights of all empty grids C1, the 5 empty grids C1 corresponding to the smallest third weights will be selected as the first target grids C111.
[0072] After goods are placed in the preset storage space S1, they will block the light emitted by the radar 20, thus forming an area that the radar 20 cannot scan, namely the first blocking area S2. Furthermore, since the size and shape of the goods are variable, it is difficult for goods to fit perfectly together, or between goods and the edge of the preset storage space S1. This may result in spaces between goods and between goods and the edge of the preset storage space S1 where no more goods can be placed, namely the second blocking area S3. To improve the utilization rate of the preset storage space S1, when selecting the palletizing position A1, it is necessary to minimize the area of the first blocking area S2 and the second blocking area S3. Based on the preference for the first blocking area S2 and the second blocking area S3, a fourth weight value corresponding to the first blocking area S2 and a fifth weight value corresponding to the second blocking area S3 are set, so that the proportion of the first blocking area S2 and the second blocking area S3 in the value calculation formula can be set according to usage requirements. For example, in some use cases, it's desirable to reduce the first obstruction area S2 after placing goods. Therefore, the weight of the first obstruction area S2 in the value calculation formula can be increased, allowing for a larger fourth-generation value. Conversely, in other use cases, it's desirable to reduce the second obstruction area S3 after placing goods. Therefore, the weight of the second obstruction area S3 in the value calculation formula can be increased, allowing for a larger fifth-generation value. Thus, by appropriately setting the fourth and fifth weights, the corresponding proportions of obstruction areas can be strategically set in the value calculation formula, ensuring that the first obstruction area S2 and the second obstruction area S3 generated after placing goods at the palletizing position A1 meet the usage requirements of the specific use case.
[0073] Then, based on the coordinates of the vertices and the origin of the target region of the first target grid C111, the first occlusion region S2 corresponding to each first target grid C111 is determined. And based on the coordinates of the vertices of the target region of each first target grid C111 and the first occlusion region S2, the second occlusion region S3 corresponding to each first target grid C111 is determined. After determining the first occlusion region S2 and the second occlusion region S3, the cost value of each first target grid C111 is determined based on the corresponding preset fourth weight and the first occlusion region S2 corresponding to each first target grid C111, and the preset fifth weight and the second occlusion region S3 corresponding to each first target grid C111. By repeating the above method for determining the cost value of the first target grid C111 in each grid map, the cost value of each first target grid C111 in each grid map can be determined. After comparing the cost value of each first target grid C111 in each grid map, the first target grid C111 with the smallest cost value is determined as the palletizing location A1, so that the goods can be stored in the palletizing location A1.
[0074] Furthermore, the first occlusion region S2 can be determined using various methods. For example, based on the size of the preset storage space S1, a complete graphic of the preset storage space S1 is drawn on a raster map. Then, the point cloud coordinates of the top-left corner of the target area's raster C1 and the bottom-right corner of the target area's raster C1 are obtained. Two straight lines are then drawn: one passing through the origin and the point cloud coordinates of the top-left corner of the target area's raster C1, and the other passing through the origin and the bottom-right corner of the target area's raster C1. These two lines intersect the graphic of the preset storage space S1. Thus, the area enclosed by the target area, the straight lines passing through the origin and the top-left corner of the target area's raster C1, the other passing through the origin and the bottom-right corner of the target area's raster C1, and the graphic of the preset storage space S1 constitutes the first occlusion region S2.
[0075] Alternatively, the first occlusion region S2 can be determined based on the vector of the target region. For example, obtain the point cloud coordinates of the top-left corner grid C1, the top-right corner grid C1, and the bottom-right corner grid C1 of the target region. Connect the point cloud coordinates of the top-left corner grid C1 and the top-right corner grid C1 of the target region to form a first vector. Connect the point cloud coordinates of the top-right corner grid C1 and the bottom-right corner grid C1 of the target region to form a second vector. Then, calculate the regions between the first vector and the graphic in the preset storage space S1 within the scanned area, and the regions between the second vector and the graphic in the preset storage space S1. Adding the two regions together yields the first occlusion region S2. Alternatively, connect the point cloud coordinates of the top-left corner grid C1 and the bottom-right corner grid C1 of the target region to form a third vector. Then, calculate the region between the third vector and the graphic in the preset storage space S1 within the scanned area. Obviously, half of the target area will be located in the area between the third vector and the graphic of the preset storage space S1. Therefore, when determining the first occlusion area S2, the target area needs to be subtracted from the area between the third vector and the graphic of the preset storage space S1. The final area obtained is the first occlusion area S2.
[0076] Similarly, there are multiple ways to determine the second occlusion region S3. For example, obtain the point cloud coordinates of the two endpoints of the highest edge of the target region, and extend two rays from the point cloud coordinates of the two endpoints in the positive y-axis direction. The two rays, the highest edge of the target region, and the graphic together will form a region. If the first occlusion region S2 exists in this region, then the region that is the first occlusion region S2 will be excluded, and the remaining region will be the second occlusion region S3. Alternatively, obtain the highest point cloud coordinate of the target region, and extend a ray from the highest point cloud coordinate in the positive y-axis direction. The ray will intersect with the graphic of the preset storage region. Then, the ray, the graphic of the preset storage region, and the first occlusion region S2 will form a region, which will be the second occlusion region S3.
[0077] In this way, by setting the cost value in each grid map, the first target grid C111 with the least first obstruction area S2 and second obstruction area S3 generated after the corresponding grid map is placed with goods can be obtained, and the first target grid C111 is determined as the palletizing position A1 corresponding to each radar 20, thereby facilitating the improvement of the space utilization rate of the preset storage space S1.
[0078] Please see Figure 2 , Figure 10 and Figure 11 In some embodiments, step 02245: determining the cost value of each first target grid C11 based on a preset fourth weight and the first occlusion area S2 corresponding to each first target grid C11, and a preset fifth weight and the second occlusion area corresponding to each first target grid C11, including:
[0079] Step 022451: Determine the cost of each first target grid C11 based on the fourth weight and the first occlusion area S2 corresponding to each first target grid C11, the fifth weight and the second occlusion area corresponding to each first target grid C11, the coordinates of the intersection grid C1, the first weight, the second weight, and the third weight of the first target grid C11.
[0080] Specifically, when calculating the cost of the first target, the influence of the length and width of the preset storage space S1 can also be included in the cost calculation. Since the intersection grid C1 is generally set as the top corner of the preset storage space S1, the coordinates of the intersection grid C1 can generally reflect the length and width of the preset storage space S1. Therefore, at this time, the cost of each first target grid C111 in each grid map can be determined based on the fourth weight and the first occlusion area S2 corresponding to each first target grid C111, the fifth weight and the second occlusion area S3 corresponding to each first target grid C111, the coordinates of the intersection grid C1, the first weight, the second weight, and the third weight of the first target grid C111.
[0081] For example, according to the formula Wmax = O. x *a+. y *b can calculate the maximum third weight within the preset storage space S1, thereby determining the ratio of the third weight of each first target grid C111 to the maximum third weight, and thus incorporating the magnitude of the third weight into the cost value calculation. Then, according to the formula... The cost value of each first target grid C111 can then be calculated, where the fourth weight is k1, the fifth weight is k2, U[i] is the first occlusion space corresponding to the first target grid C111, and S[i] is the second occlusion space corresponding to the first target grid C111, where i = {1, 2..n}, and n is the maximum value within the preset sorting range. Then, using the formula Rout = MIN(R[1], [2]…R[n]), the first target grid C111 with the smallest cost value is obtained, and the first target grid C111 with the smallest cost value is determined as the palletizing position A1.
[0082] Thus, by including the coordinates of the intersection grid C1 in the formula for calculating the cost value, the influence of the length and width of the preset storage space S1 is incorporated into the calculation of the cost value. This also allows for the selection of the palletizing position A1 based on the size of the preset storage space S1, so that each selected palletizing position A1 can better conform to the size of the preset storage space S1.
[0083] Please see Figure 2 and Figure 12 In some implementations, the number of radars 20 is N, and the installation height of the first radar 20 to the Nth radar 20 gradually increases, where N is a positive integer. Step 02: Determine the palletizing position A1 corresponding to each radar 20 based on the point cloud data corresponding to each radar 20, and further includes:
[0084] Step 023: If the palletizing position A1 corresponding to the Qth radar 20 does not exist, determine the palletizing position A1 corresponding to the Q+1th radar 20 based on the point cloud data corresponding to the Qth radar 20, where Q is a positive integer less than or equal to N.
[0085] Specifically, the palletizing rule can be to first fill a certain layer, and then stack the goods to the next layer after the layer is full. When selecting a palletizing position A1, it can be determined based on the point cloud data corresponding to the Qth radar 20, where Q is a positive integer less than or equal to N, and the initial value of Q is 1. If a palletizing position A1 corresponding to the Qth radar 20 exists, it is selected as the target palletizing position. If a palletizing position A1 corresponding to the Qth radar 20 does not exist, i.e., the storage space corresponding to the Qth radar 20 is no longer sufficient, the palletizing position A1 corresponding to the (Q+1)th radar 20 is determined based on the point cloud data, and this position is then set as the target palletizing position. This process continues, ensuring that goods are placed on the first layer during palletizing, and stacking continues upwards only after the first layer is full. In this way, the accuracy of the target stacking position selection can be guaranteed, and when selecting the target stacking position, it is not necessary to determine the stacking position A1 corresponding to all radars 20 at once. Instead, the stacking position A1 corresponding to radar 20 is determined sequentially from bottom to top according to the installation height of radar 20. When a stacking position A1 corresponding to a certain radar 20 exists, the existing stacking position A1 is determined as the target stacking position. It is not necessary to calculate the stacking position A1 of radars 20 with a height higher than the radar 20 corresponding to the target stacking position, thereby simplifying the calculation amount when selecting the stacking position A1 and the selection steps of the target stacking position.
[0086] Please see Figure 2 and Figure 13 In some implementations, the number of radars 20 is N, and the installation height of the first radar 20 to the Nth radar 20 gradually increases, where N is a positive integer. The palletizing position A1 corresponding to the first radar 20 is valid. Step 03: Determine the target palletizing position according to the palletizing position A1 corresponding to each radar 20, so as to store the goods in the target palletizing position, and further includes:
[0087] Step 031: Based on the stacking position A1 corresponding to the Mth radar 20 and the empty grid C1 in the grid map of the (M-1)th radar 20, determine whether the stacking position A1 corresponding to the Mth radar 20 is invalid, where M is a positive integer greater than 1 and less than or equal to N.
[0088] Step 032: Obtain the target radar 20 with the highest installation height among the multiple valid radars 20 at the palletizing position A1, and determine the palletizing position A1 corresponding to the target radar 20 as the target palletizing position.
[0089] Specifically, there are N radars 20, with the installation height of the first to the Nth radars gradually increasing, where N is a positive integer. When stacking goods, the stacking principle can also prioritize stacking goods on top of the highest-layered goods already placed. However, to ensure the safety of the goods, they need to be placed at a designated stacking position A1 on the ground below, where there are already placed goods or a pre-set storage space S1. Therefore, when selecting a target stacking position, it is necessary to determine whether the stacking position A1 corresponding to each radar 20 is valid. A valid stacking position A1 is one where there are already placed goods or a pre-set storage space S1 below. It can be understood that the stacking position A1 corresponding to the first radar 20 is valid. Therefore, when selecting a target stacking position, it is necessary to determine whether the stacking position A1 corresponding to the Mth radar 20 is invalid based on the stacking position A1 corresponding to the Mth radar 20 and the empty grid C1 in the grid map of the (M-1)th radar 20, where M is a positive integer greater than 1 and less than or equal to N. For example, when determining whether the palletizing position A1 corresponding to the second radar 20 is valid, the system checks whether the grid C1 below the palletizing position A1 is empty (i.e., whether goods are placed there) based on the empty grid C1 in the grid map of the first radar 20. If the grid C1 below the palletizing position A1 is not empty, then the palletizing position A1 is determined to be valid; if the grid C1 below the palletizing position A1 is empty, then the palletizing position A1 is determined to be invalid. After determining whether the palletizing position A1 corresponding to each radar 20 is valid, the system obtains the target radar 20 with the highest installation height among the multiple radars 20 with valid palletizing positions A1, and determines the palletizing position A1 corresponding to the target radar 20 as the target palletizing position.
[0090] For example, there are 3 radars. Figure 2 For the first radar's grid map, Figure 14 For the grid map of the second radar, Figure 15 This is the grid map for the third radar. After determining the palletizing location corresponding to the third radar, it's necessary to check whether there are any goods placed at the location corresponding to the palletizing location of the third radar in the grid map of the second radar. From... Figure 14 and Figure 15 As can be seen, the storage location determined by the third radar is located in the upper right corner of the preset storage space S1, while the grid map of the second radar shows that goods are placed in the upper right corner of the preset storage space S1. Therefore, the storage location corresponding to the third radar can be determined to be valid. Similarly, in the comparison... Figure 2 and Figure 14Then it can be determined that there are goods placed below the storage location corresponding to the second radar, so the palletizing location corresponding to the second radar is also valid.
[0091] Thus, after confirming whether the palletizing position A1 is valid, the principle of prioritizing palletizing goods above the highest-level placed goods can be implemented, that is, the principle of stacking goods first can be implemented, so as to ensure the accuracy of the selected target palletizing position on the one hand, and improve the space utilization of the preset storage space S1 on the other hand.
[0092] Please see Figure 2 and Figure 16 In some implementations, step 031: determining whether the stacking position A1 corresponding to the Mth radar 20 is invalid based on the stacking position A1 corresponding to the Mth radar 20 and the empty grid C1 in the grid map of the (M-1)th radar 20, further includes:
[0093] Step 0311: Determine the target area based on the palletizing position A1 corresponding to the Mth radar 20 and the size of the goods;
[0094] Step 0312: If there is an empty grid C1 in the grid map of the (M-1)th radar 20 corresponding to the target area of the Mth radar 20, then the palletizing position A1 corresponding to the Mth radar 20 is determined to be invalid.
[0095] Specifically, since the size of the goods is variable and the palletizing position A1 may not be large enough to hold the goods, it is necessary to determine the target area based on the palletizing position A1 corresponding to the Mth radar 20 and the size of the goods. At this point, it is also necessary to confirm whether there are any goods already placed or the ground of the preset storage space S1 under the target area. That is, after determining the target area based on the palletizing position A1 corresponding to the Mth radar 20 and the size of the goods, the validity of the target area is determined based on the distribution of empty grids C1 in the grid map of the (M-1)th radar 20 and the target area corresponding to the Mth radar 20. If there are empty grids C1 in the corresponding area of the grid map of the (M-1)th radar 20 within the target area corresponding to the Mth radar 20, then the palletizing position A1 corresponding to the Mth radar 20 is determined to be invalid. In this way, the target area can be determined based on the size of the goods and the corresponding palletizing position A1, and the validity of the palletizing position A1 corresponding to the target area can be determined. This allows for flexible selection of the target palletizing position, enabling the palletizing of goods of various sizes and selecting the most reasonable and suitable target palletizing position, thereby improving the utilization rate of the preset storage space S1. Furthermore, if the shape of the goods can be obtained, the target area can be determined based on the shape and size of the goods, further improving the accuracy of the selected target position.
[0096] Please see Figure 2 and Figure 17 In some embodiments, the cargo palletizing method further includes:
[0097] Step 04: If the height of the goods is greater than the preset height of the preset storage space S1, determine that the palletizing position A1 corresponding to the first radar 20 is invalid;
[0098] Step 05: If the height of the goods is less than or equal to the preset height, and the height of the goods is greater than the height difference between the preset height and the installation height of the (N-1)th radar 20, then the palletizing position A1 corresponding to the Nth radar 20 is determined to be invalid.
[0099] Specifically, since goods are stacked on top of already placed goods, the distance between the already placed goods and the top of the preset storage space S1 is variable, meaning goods may not be able to be placed between the already placed goods and the top of the preset storage space S1. Therefore, when determining whether the palletizing position A1 is valid, the height of the goods must also be taken into consideration. If the height of the goods is greater than the preset height of the preset storage space S1, the palletizing position A1 corresponding to the first radar 20 is determined to be invalid, meaning the goods cannot be placed into the preset storage space S1. In this case, an alarm needs to be issued, and staff need to handle the goods specifically. If the height of the goods is less than or equal to the preset height (i.e., the goods can be placed in the preset storage space S1), the height difference between the preset height and the installation height of the (N-1)th radar 20 is obtained. If the height of the goods is greater than the height difference between the preset height and the installation height of the (N-1)th radar 20, the palletizing position A1 corresponding to the Nth radar 20 is determined to be invalid. Only when the height of the goods is less than the height difference between the preset height and the installation height of the (N-1)th radar 20 can the goods be palletized to the palletizing position A1. In this case, the palletizing position A1 can be confirmed as a valid palletizing position A1. In this way, by comparing the height of the goods, the preset height, and the height difference between the preset height and the corresponding installation height of the radar 20, the validity of the palletizing position A1 can be determined, thereby improving the accuracy of the determined palletizing position A1 and ensuring that the goods can be placed in the palletizing position A1.
[0100] Please see Figure 2 and Figure 18 In some embodiments, the cargo palletizing method further includes:
[0101] Step 06: Determine the volume occupied by each radar 20 based on the number of all non-empty grids C1 in the grid map of each radar 20 and the installation height of each radar 20.
[0102] Step 07: Calculate the remaining space of the preset storage space S1 based on the occupied volume of all radars 20 and the preset volume of the preset storage space S1.
[0103] Specifically, the volume occupied by each radar 20 can be determined based on the number of all non-empty grids C1 in the grid map of each radar 20 and the installation height of each radar 20. At this point, it is necessary to determine the area corresponding to each grid C1, for example, determining the area of one grid C1 as 1 cm². 2 After determining the number of non-empty grids C1, the occupied area of each radar 20 can be determined. Next, based on the installation height of each radar 20, the occupied height of each radar 20 is determined. After determining the occupied area and height of each radar 20, the occupied area and height of each radar 20 are multiplied to determine the occupied volume of each radar 20. Then, the occupied volumes of each radar 20 are added together to obtain the occupied volume of the preset storage space S1. Finally, based on the occupied volume and the preset volume of the preset storage space S1, the remaining space of the preset storage space S1 is calculated. This allows for the calculation of the number of goods that can be placed in the remaining space, based on the remaining space and the dimensions of the goods, thus facilitating the planning of goods placement based on the remaining space.
[0104] For example, it can be based on the formula The occupied volume of the preset storage space S1 is calculated by multiplying the occupied area by (H[i+1]-H[i]), and H[N+1] = Ht, H[1] = 0, where i = {1, 2..N}, N is the number of radars 20, Map[i].occupied area is the occupied area of the corresponding radar 20, H[i] is the installation height of the corresponding radar 20, and Ht is the preset height of the preset storage space S1. If the preset volume of the preset storage space S1 is not directly provided, the preset volume of the preset storage space S1 can also be calculated according to the formula Vy = Ht * Xmax * Ymax, where Xmax is the length of the preset storage space S1 and Ymax is the width of the preset storage space S1. Subtracting the occupied volume of the preset storage space S1 from the preset volume of the preset storage space S1 gives the remaining space of the preset storage space S1. Furthermore, based on the preset volume of the preset storage space S1 and the occupied volume of the preset storage space S1, the remaining space ratio of the preset storage space S1 can also be calculated. For example, the remaining space ratio of the preset storage space S1 can be obtained according to the formula P = 1 - Vz / Vy, so that the storage situation in the preset storage space S1 can be viewed more clearly and intuitively based on the remaining space ratio of the preset storage space S1.
[0105] Further, please refer to Figure 2 and Figure 14In some implementations, the location of the preset storage space S1 can be determined based on the point cloud data in each grid map, thereby ensuring the normal operation of the palletizing process. After the radar 20 scans the preset storage space S1, it can determine the contour information based on the point cloud data. If the contour information matches the preset contour information, the preset storage space S1 is determined to be in place. For example, the preset contour information is a preset graphic at a preset position in the grid C1 image, and the contour information is the graphic of the preset storage space S1 in the grid C1 image. After acquiring the point cloud data, the contour information of the preset storage space S1 at this time can be determined. If the overlap between the contour line of the graphic of the preset storage space S1 in the grid C1 image and the contour line of the preset image at the preset position is greater than a preset overlap, the preset storage space S1 can be determined to be in place. Alternatively, if the ratio of the number of point clouds located within the preset graphic to the total number of point clouds is greater than a preset ratio, a match can be determined, and the preset storage space S1 can be confirmed to be in place. In this way, by comparing the contour information with the preset contour information, it can be determined whether the preset storage space S1 is in place, thereby improving the accuracy of scanning and avoiding the radar 20 being unable to scan part of the preset storage space S1, thus reducing the space utilization rate of the preset storage space S1.
[0106] Please see Figure 19 To facilitate better implementation of the cargo palletizing method of this application, this application also provides a cargo palletizing device 10. The cargo palletizing device 10 includes a scanning module 11, a first determining module 12, and a second determining module 13. The scanning module 11 is used to scan a preset storage space S1 using multiple radars 20 to obtain multiple point cloud data, with the multiple radars 20 arranged sequentially in a vertical direction. The first determining module 12 is used to determine the palletizing position A1 corresponding to each radar 20 based on the point cloud data corresponding to each radar 20. The second determining module 13 is used to determine the target palletizing position based on the palletizing position A1 corresponding to each radar 20, so as to store the goods at the target palletizing position.
[0107] The first determining module 12 is specifically used to establish a grid map corresponding to each radar 20, and determine whether each grid C1 in the grid map is empty based on the point cloud data corresponding to the radar 20; and determine the palletizing position A1 corresponding to each radar 20 based on the empty grid C1 in each grid map.
[0108] The first determining module 12 is specifically used to establish a grid map corresponding to each radar 20. All grids C1 in the grid map are empty in the initial state. Multiple vectors are generated based on the coordinates of any two adjacent point clouds, and the scanning area corresponding to each vector is determined based on the coordinate origin of the grid map and the vector. In each scanning area, it is determined that the grid C1 to the left of the vector corresponding to the scanning area is not empty, and the grid C1 to the right of the vector corresponding to the scanning area is empty.
[0109] The cargo palletizing device 10 also includes a setting module 14 and a calculation module 15.
[0110] The setting module 14 is used to set the first weight of the first side and the second weight of the second side of the preset storage space S1 in the raster map, wherein the first side and the second side are perpendicular.
[0111] The calculation module 15 is used to calculate the intersection grid C1 of the first side and the second side, and the coordinate difference between each grid C1.
[0112] The first determining module 12 is specifically used to determine the third weight of each grid C1 based on the coordinate difference, the first weight, and the second weight of each grid C1. The smaller the coordinate difference of the grid C1, the smaller the third weight of the grid C1. Based on the third weight of the empty grid C1 in each grid map, the palletizing position A1 corresponding to each radar 20 is determined.
[0113] The first determining module 12 is specifically used to sort the third weights of all empty grids C1 in each grid map to determine the empty grids C1 corresponding to the third weights within a preset sorting range as the first target grids C11, where the third weights within the preset sorting range are less than the third weights outside the preset sorting range; determine the target area based on the first target grids C11 and the size of the goods; determine the first occlusion area S2 corresponding to the first target grids C11 based on the coordinates of the vertices and the origin of the target area of the first target grids C11; determine the second occlusion area corresponding to the first target grids C11 based on the coordinates of the vertices of the target area of the first target grids C11 and the first occlusion area S2; determine the cost value of each first target grid C11 based on the preset fourth weight and the first occlusion area S2 corresponding to each first target grid C11, and the preset fifth weight and the second occlusion area corresponding to each first target grid C11; and determine the first target grid C11 with the smallest cost value in each grid map as the palletizing position A1 corresponding to each radar 20.
[0114] The first determining module 12 is specifically used to determine the cost of each first target grid C11 based on the fourth weight and the first occlusion area S2 corresponding to each first target grid C11, the fifth weight and the second occlusion area corresponding to each first target grid C11, the coordinates of the intersection grid C1, the first weight, the second weight, and the third weight of the first target grid C11.
[0115] The first determining module 12 is specifically used to determine the palletizing position A1 corresponding to the Q+1 radar 20 based on the point cloud data corresponding to the Qth radar 20 when the palletizing position A1 corresponding to the Qth radar 20 does not exist, where Q is a positive integer less than or equal to N.
[0116] The second determining module 13 is specifically used to determine whether the stacking position A1 corresponding to the Mth radar 20 is invalid based on the stacking position A1 corresponding to the Mth radar 20 and the empty grid C1 in the grid map of the (M-1)th radar 20, where M is a positive integer greater than 1 and less than or equal to N; and to obtain the target radar 20 with the highest installation height among the multiple radars 20 with valid stacking positions A1, so as to determine the stacking position A1 corresponding to the target radar 20 as the target stacking position.
[0117] The first determining module 12 is specifically used to determine the target area based on the palletizing position A1 corresponding to the Mth radar 20 and the size of the goods; if there is an empty grid C1 in the corresponding area of the grid map of the (M-1)th radar 20 in the target area corresponding to the Mth radar 20, the palletizing position A1 corresponding to the Mth radar 20 is determined to be invalid.
[0118] The first determining module 12 is specifically used to determine that the palletizing position A1 corresponding to the first radar 20 is invalid when the height of the goods is greater than the preset height of the preset storage space S1; and to determine that the palletizing position A1 corresponding to the Nth radar 20 is invalid when the height of the goods is less than or equal to the preset height and the height difference between the preset height and the installation height of the (N-1)th radar 20.
[0119] The calculation module 15 is specifically used to determine the occupied volume of each radar 20 based on the number of all non-empty grids C1 in the grid map of each radar 20 and the installation height of each radar 20; and to calculate the remaining space of the preset storage space S1 based on the occupied volume of all radars 20 and the preset volume of the preset storage space S1.
[0120] Please see Figure 2 and Figure 20 The handling device 100 of this application includes a plurality of radars 20 and a processor 30. The plurality of radars 20 are arranged in sequence along the vertical direction. The processor 30 is used to scan a preset storage space S1 through the plurality of radars 20 to obtain a plurality of point cloud data; determine the palletizing position A1 corresponding to each radar 20 according to the point cloud data corresponding to each radar 20; and determine the target palletizing position according to the palletizing position A1 corresponding to each radar 20 so as to store the goods in the target palletizing position.
[0121] Specifically, existing technologies generally use 3D cameras to acquire the palletizing information of the preset storage space S1. However, 3D cameras have significant limitations. They are sensitive to lighting conditions and the color and material of objects. If the lighting is dim or the color and material of the objects are similar to those of the preset storage space S1, it will affect the detection results of the 3D camera. Therefore, this application uses radar 20 to collect the point cloud information of the preset storage space S1. Radar 20 has no limitations on lighting conditions and the color and material of objects, has strong resistance to external interference, and is more adaptable, thus enabling this application to be applied to more palletizing scenarios.
[0122] Furthermore, since there are many types of radar 20, such as lidar 20 and millimeter-wave radar 20, the number and type of radar 20 can be flexibly configured according to requirements to ensure the accuracy of the acquired point cloud data, thereby ensuring the accuracy of determining the palletizing position A1. Alternatively, other sensors capable of scanning and acquiring the contour of the preset storage space S1 can also be used, without limitation.
[0123] Please see Figure 21 This application also provides a non-volatile computer-readable storage medium 200 storing a computer program 210. When the computer program 210 is executed by the processor 30, it implements the steps of the cargo palletizing method of any of the above embodiments. For the sake of brevity, these steps will not be repeated here.
[0124] In the description of this specification, the references to terms such as "some embodiments," "in one example," "exemplarily," etc., indicate that a specific feature, structure, material, or characteristic described in connection with an embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0125] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the function involved, as will be understood by those skilled in the art to which embodiments of this application pertain.
[0126] Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of this application.
Claims
1. A method for stacking goods, characterized in that, include: Multiple point cloud data are obtained by scanning a preset storage space with multiple radars, and the multiple radars are arranged sequentially along the vertical direction; The palletizing position corresponding to each radar is determined based on the point cloud data corresponding to each radar. The target palletizing position is determined based on the palletizing position corresponding to each radar, so as to store the goods at the target palletizing position; The step of determining the palletizing position corresponding to each radar based on the point cloud data corresponding to each radar includes: Establish a grid map corresponding to each radar, and determine whether each grid cell in the grid map is empty based on the point cloud data corresponding to the radar; and The palletizing position corresponding to each radar is determined based on the empty grid in each of the grid maps; The step of determining the palletizing position corresponding to each radar based on the empty grid in each grid map includes: The preset storage space is set to a first weight on the first side and a second weight on the second side of the raster map, wherein the first side and the second side are perpendicular. Calculate the intersection grid of the first side and the second side, and the coordinate difference between each grid. A third weight is determined for each grid cell based on the coordinate difference, the first weight, and the second weight. The smaller the coordinate difference for a grid cell, the smaller the third weight for that grid cell. The palletizing position corresponding to each radar is determined based on the third weight of each empty grid cell in the grid map.
2. The cargo palletizing method according to claim 1, characterized in that, The point cloud data includes point cloud coordinates. The step of establishing a grid map corresponding to each radar, and determining whether each grid cell in the grid map is empty based on the point cloud data corresponding to the radar, includes: Establish a grid map corresponding to each radar, wherein all the grids in the grid map are initially empty; Multiple vectors are generated based on any two adjacent point cloud coordinates, and the scanning area corresponding to each vector is determined based on the origin of the raster map and the vectors. In each scan region, it is determined that the grid to the left of the vector corresponding to the scan region is not empty, and the grid to the right of the vector corresponding to the scan region is empty.
3. The cargo palletizing method according to claim 1, characterized in that, The step of determining the palletizing position corresponding to each radar based on the third weight of each empty grid cell in the grid map includes: The third weight values of all empty graticles in each graticle map are sorted to determine the empty graticles corresponding to the third weight values within a preset sorting range as the first target graticles, wherein the third weight values within the preset sorting range are less than the third weight values outside the preset sorting range; The target area is determined based on the first target grid and the dimensions of the cargo; Based on the coordinates of the vertices and the origin of the target region of the first target grid, the first occlusion region corresponding to the first target grid is determined; Based on the coordinates of the vertices of the target region of the first target grid and the first occlusion region, determine the second occlusion region corresponding to the first target grid; The cost value of each first target grid is determined based on the preset fourth weight and the first occlusion area corresponding to each first target grid, and the preset fifth weight and the second occlusion area corresponding to each first target grid. The first target grid with the lowest value in each of the grid maps is determined as the palletizing position corresponding to each of the radars.
4. The cargo palletizing method according to claim 3, characterized in that, The step of determining the cost value of each first target grid based on a preset fourth weight and the first occlusion area corresponding to each first target grid, and a preset fifth weight and the second occlusion area corresponding to each first target grid, includes: The cost value of each first target grid is determined based on the fourth weight and the first occlusion area corresponding to each first target grid, the fifth weight and the second occlusion area corresponding to each first target grid, the coordinates of the intersection grid, the first weight, the second weight, and the third weight of the first target grid.
5. The cargo palletizing method according to claim 1, characterized in that, The number of radars is N, and the installation height of the first radar to the Nth radar gradually increases, where N is a positive integer. Determining the palletizing position corresponding to each radar based on the point cloud data corresponding to each radar includes: If the location to be stacked for the Qth radar does not exist, based on the point cloud data corresponding to the Qth radar, the location to be stacked for the Q+1th radar is determined based on the point cloud data corresponding to the Q+1th radar, where Q is a positive integer less than or equal to N.
6. The cargo palletizing method according to claim 1, characterized in that, The number of radars is N, and the installation height of the first radar to the Nth radar gradually increases, where N is a positive integer. The palletizing position corresponding to the first radar is valid. The step of determining the target palletizing position based on the palletizing position corresponding to each radar, so as to store the goods in the target palletizing position, includes: Based on the stacking position corresponding to the Mth radar and the empty grid in the grid map of the (M-1)th radar, determine whether the stacking position corresponding to the Mth radar is invalid, where M is a positive integer greater than 1 and less than or equal to N; The target radar with the highest installation height among the multiple radars with valid palletizing positions is obtained, and the palletizing position corresponding to the target radar is determined as the target palletizing position.
7. The cargo palletizing method according to claim 6, characterized in that, The step of determining whether the stacking position corresponding to the Mth radar is invalid based on the stacking position corresponding to the Mth radar and the empty grid cells in the grid map of the (M-1)th radar includes: The target area is determined based on the palletizing position corresponding to the Mth radar and the size of the goods. If there is an empty grid in the grid map corresponding to the target area of the Mth radar, the stacking position corresponding to the Mth radar is determined to be invalid.
8. The cargo palletizing method according to claim 6, characterized in that, Also includes: If the height of the goods is greater than the preset height of the preset storage space, the palletizing position corresponding to the first radar is determined to be invalid. If the height of the goods is less than or equal to the preset height, and the height of the goods is greater than the height difference between the preset height and the installation height of the (N-1)th radar, then the palletizing position corresponding to the Nth radar is determined to be invalid.
9. The cargo palletizing method according to claim 1, characterized in that, Also includes: The volume occupied by each radar is determined based on the number of all non-empty grids in the grid map of each radar and the installation height of each radar. The remaining space of the preset storage space is calculated based on the occupied volume of all the radars and the preset volume of the preset storage space.
10. A cargo palletizing device, characterized in that, include: The scanning module is used to scan a preset storage space with multiple radars to obtain multiple point cloud data, wherein the multiple radars are arranged sequentially along the vertical direction; The first determining module is used to determine the palletizing position corresponding to each radar based on the point cloud data corresponding to each radar. and The second determining module is used to determine the target palletizing position based on the palletizing position corresponding to each radar, so as to store the goods in the target palletizing position; The first determining module is further configured to establish a grid map corresponding to each radar, and determine whether each grid in the grid map is empty based on the point cloud data corresponding to the radar; and determine the palletizing position corresponding to each radar based on the empty grid in each grid map; The first determining module is further configured to set a first weight value and a second weight value on a first side and a second side of a grid map, wherein the first side and the second side are perpendicular; calculate the intersection grid of the first side and the second side and the coordinate difference between each grid; determine a third weight value for each grid based on the coordinate difference value, the first weight value, and the second weight value, wherein the smaller the coordinate difference value of the grid, the smaller the third weight value of the grid; and determine the palletizing position corresponding to each radar based on the third weight value of each empty grid in the grid map.
11. A handling device, characterized in that, The system includes multiple radars and a processor. The radars are arranged vertically in sequence. The processor is used to scan a preset storage space through the multiple radars to obtain multiple point cloud data. It determines the palletizing position corresponding to each radar based on the point cloud data corresponding to each radar. It determines the target palletizing position based on the palletizing position corresponding to each radar, so as to store the goods in the target palletizing position. The processor is further configured to establish a grid map corresponding to each radar, and determine whether each grid in the grid map is empty based on the point cloud data corresponding to the radar; and determine the palletizing position corresponding to each radar based on the empty grid in each grid map; The processor is further configured to set a first weight and a second weight of the first side and the second side of the grid map, wherein the first side and the second side are perpendicular; calculate the intersection grid of the first side and the second side and the coordinate difference between each grid; determine a third weight of each grid based on the coordinate difference, the first weight, and the second weight, wherein the smaller the coordinate difference of the grid, the smaller the third weight of the grid; and determine the palletizing position corresponding to each radar based on the third weight of each empty grid in the grid map.
12. A non-volatile computer-readable storage medium comprising a computer program, which, when executed by a processor, causes the processor to perform the cargo palletizing method according to any one of claims 1-9.
Citation Information
Patent Citations
Automatic cargo loading planning system and method
CN109720891A
Goods counting method and device, computer equipment and storage medium
CN114418952A