Cargo storage method and apparatus, handling apparatus, and computer readable storage medium
By acquiring point cloud data through radar scanning and establishing a raster map, the storage accuracy problem of 3D cameras when lighting conditions are unstable or the goods are of similar colors is solved, and accurate goods storage and efficient space utilization are achieved in different scenarios.
Patent Information
- Application Number
- CN202211702219.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-28
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2042-12-28
AI Technical Summary
Existing 3D cameras have difficulty accurately determining the storage location of goods when lighting conditions are unstable or the color of the goods is similar to the color of the storage space, resulting in low palletizing accuracy.
Use radar scanning to obtain point cloud data and build a grid map. Use the point cloud data to determine whether each grid in the grid map is empty, and determine the storage location based on the empty grid. The data collected by radar is not affected by light, ensuring detection accuracy.
The accuracy and detection precision of cargo storage location are ensured in different scenarios, which improves the certainty and space utilization of cargo storage.
Smart Images

Figure CN116238908B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of industrial vision, and more particularly, to a goods storage method, a goods storage device, a carrying device, and a nonvolatile computer readable storage medium. BACKGROUND
[0002] With the progress of science and technology, robots have a wide range of applications in the palletizing industry. In some scenarios with high precision requirements, a 3D vision camera is usually used in combination. When the robot needs to palletize, the spatial coordinate position of the palletizing is accurately calculated. However, the current 3D camera is easily affected by light, and the detection accuracy in different scenes fluctuates, making it difficult to ensure the accurate determination of the palletizing position. SUMMARY
[0003] The present application provides a goods storage method, a goods storage device, a carrying device, and a nonvolatile computer readable storage medium.
[0004] The goods storage method of the present application includes scanning a preset storage space to obtain a plurality of point cloud data; establishing a grid map, and determining whether each grid in the grid map is empty according to the point cloud data; and determining a storage position to be stored according to the empty grid, so as to store goods to the storage position to be stored.
[0005] The goods storage device of the present application includes a scanning module, an establishing module, and a determining module. The scanning module is used to scan a preset storage space to obtain a plurality of point cloud data; the establishing module is used to establish a grid map, and determine whether each grid in the grid map is empty according to the point cloud data; and the determining module is used to determine a storage position to be stored according to the empty grid, so as to store goods to the storage position to be stored.
[0006] The carrying device of the present application includes a radar and a processor. The radar is used to scan a preset storage space to obtain a plurality of point cloud data; the processor is used to establish a grid map, and determine whether each grid in the grid map is empty according to the point cloud data; and determine a storage position to be stored according to the empty grid, so as to store goods to the storage position to be stored.
[0007] The nonvolatile computer readable storage medium of the present application includes a computer program. When the computer program is executed by a processor, the processor executes the goods storage method. The goods storage method includes scanning a preset storage space to obtain a plurality of point cloud data; establishing a grid map, and determining whether each grid in the grid map is empty according to the point cloud data; and determining a storage position to be stored according to the empty grid, so as to store goods to the storage position to be stored.
[0008] The goods storage method, the goods storage device, the carrying equipment and the computer readable storage medium of the embodiments of the present application realize the collection of the point cloud data of the preset storage space by using the radar, so as to determine the position of the goods capable of being placed in the preset storage space and determine the to-be-stored position of the goods. Since the point cloud data is not affected by light, the use of the radar to collect the data can ensure the detection accuracy in different scenes and ensure the determination accuracy of the to-be-stored position.
[0009] Additional aspects and advantages of the embodiments of the present application will be in part apparent and in part pointed out hereinafter in the description of the embodiments of the present application. BRIEF DESCRIPTION OF DRAWINGS
[0010] The above and / or additional aspects and advantages of the present application will become apparent and be readily appreciated from the description of the embodiments, given in conjunction with the accompanying drawings, in which:
[0011] Figure 1 is a flowchart of a goods storage method according to certain embodiments of the present application;
[0012] Figure 2 is a scenario diagram of a goods storage method according to certain embodiments of the present application;
[0013] Figure 3 is a flowchart of a goods storage method according to certain embodiments of the present application;
[0014] Figure 4 is a scenario diagram of a goods storage method according to certain embodiments of the present application;
[0015] Figure 5 is a flowchart of a goods storage method according to certain embodiments of the present application;
[0016] Figure 6 is a scenario diagram of a goods storage method according to certain embodiments of the present application;
[0017] Figure 7 is a scenario diagram of a goods storage method according to certain embodiments of the present application;
[0018] Figure 8 is a flowchart of a goods storage method according to certain embodiments of the present application;
[0019] Figure 9 is a scenario diagram of a goods storage method according to certain embodiments of the present application;
[0020] Figure 10 is a flowchart of a goods storage method according to certain embodiments of the present application;
[0021] Figure 11is a flowchart of a goods storage method according to some embodiments of the present application;
[0022] Figure 12 is a flowchart of a goods storage method according to some embodiments of the present application;
[0023] Figure 13 is a flowchart of a goods storage method according to some embodiments of the present application;
[0024] Figure 14 is a flowchart of a goods storage method according to some embodiments of the present application;
[0025] Figure 15 is a module diagram of a goods storage device according to some embodiments of the present application;
[0026] Figure 16 is a plan view of a handling equipment according to some embodiments of the present application;
[0027] Figure 17 is a connection state diagram of a non-volatile computer readable storage medium and a processor according to some embodiments of the present application. DETAILED DESCRIPTION
[0028] Embodiments of the present application are described in detail below with reference to the attached drawing figures, wherein the same or like reference numerals are used throughout the drawings to refer to the same or like components or elements. The embodiments described below are exemplary and are merely intended to explain the embodiments of the present application, and should not be understood as limiting the embodiments of the present application.
[0029] Referring to Figure 1 and Figure 2 , the embodiments of the present application provide a goods storage method, the goods storage method comprising:
[0030] Step 01: Scanning a preset storage space S1 to obtain a plurality of point cloud data;
[0031] Specifically, when it is needed to store the goods in the preset storage space S1, it is needed to determine the position in the preset storage space S1 that can store the goods, so as to store the goods in the to-be-stored position A1. Nowadays, a 3D camera is usually used to obtain the condition of the preset storage space S1, however, the 3D camera has great limitations in use, for example, the light environment adaptability of the 3D camera is poor, and the 3D camera has high requirements for environmental light, and the detection accuracy of the 3D camera is not ideal when there is external light interference. In addition, when the color of the goods in the preset storage space S1 is similar to the color of the preset storage space S1, it is difficult to distinguish the preset storage space S1 and the goods in the preset storage space S1 in the image captured by the 3D camera, which leads to difficulty in obtaining the accurate position in the preset storage space S1 that can store the goods to select the to-be-stored position A1.
[0032] To solve these problems, the present application uses a radar 10 that has low requirements for environmental light and does not need to identify the color of the preset storage space S1 and the goods to obtain accurate information of the preset storage space S1. Therefore, before each time of storing the goods, the radar 10 is used to scan the preset storage space S1 to obtain a plurality of point cloud data.
[0033] Step 02: Establish a grid map, and determine whether each grid C1 in the grid map is empty according to the point cloud data;
[0034] Specifically, after obtaining the plurality of point cloud data, a grid map is established, and 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 known through the point cloud data, and the data of the corresponding grid C1 can be obtained. Therefore, after obtaining the plurality of point cloud data, whether each grid C1 in the grid map is empty can be determined according to the point cloud data.
[0035] In particular, the resolution of the grid C1 is the minimum limit of the geometric length of the object that can be recognized by the grid C1. The higher the resolution, the more details of the object displayed in the grid map, and the closer to the actual object, but the data processing time required at this time is also more; the lower the resolution, the smaller the details of the object displayed in the grid map, and the data processing time is less.
[0036] Therefore, when setting the resolution, the requirement for the detail level when the grid map displays the object and the requirement for the data processing time need to be considered. In the present application, the resolution is 10 mm, so as to meet the requirement for the detail level when the grid map displays the preset storage space S1, and to ensure the data processing time, thereby improving the determination accuracy and selection speed of the to-be-stored position A1.
[0037] Step 03: Determine the to-be-stored position A1 according to the empty grid C1, so as to store the goods to the to-be-stored position A1.
[0038] Specifically, after determining the empty grid C1 in the grid map, the region where the goods can be placed can be determined according to the empty grid C1, and the to-be-stored position A1 can be determined from the region where the goods can be placed according to the size of the goods, and then the goods can be stored to the to-be-stored position A1.
[0039] The goods storage method of the embodiments of the present application realizes the collection of the point cloud data of the preset storage space S1 by using the radar 10, so as to determine the position where the goods can be placed in the preset storage space S1, and determine the to-be-stored position A1 of the goods. Since the point cloud data is not affected by light, the use of the radar 10 to collect data can ensure the detection accuracy in different scenes and ensure the accuracy of the determination of the to-be-stored position A1.
[0040] Referring to Figure 2 and Figure 3 In some embodiments, the point cloud data includes point cloud coordinates, and the step 02 of establishing the grid map and determining whether each grid C1 in the grid map is empty according to the point cloud data includes:
[0041] The step 021 of establishing the grid map includes that all grids C1 in the grid map are empty in the initial state.
[0042] The step 022 includes generating a plurality of vectors according to any two adjacent point cloud coordinates, and determining a scanning region corresponding to each vector according to the coordinate origin of the grid map and the vector.
[0043] The step 023 includes determining that the grid C1 located on the left side of the vector corresponding to the scanning region is not empty, and determining that the grid C1 located on the right side of the vector corresponding to the scanning region is empty.
[0044] Specifically, referring to Figure 4 The point cloud data includes point cloud coordinates. When the grid map is established, a plane coordinate system is also constructed in the grid map, wherein the position of the radar 10 is the coordinate origin, and the point cloud coordinates corresponding to the point cloud data can be obtained after the point cloud data is obtained. In the initial state, all grids C1 in the grid map are empty. In order to update the state of the grid C1, a plurality of vectors need to be generated according to any two adjacent point cloud coordinates, and a scanning region corresponding to each vector needs to be determined according to the coordinate origin of the grid map and the vector. When the scanning region is determined, the coordinate origin and the point cloud coordinates forming the vector are connected respectively, so as to form two straight lines, and the region surrounded by the two straight lines is the scanning region. For example, there are two adjacent point cloud coordinates K n (x1, y1) and K n+1 (x2, y2) in the grid map, so that the vector [K n (x1, y1)→K n+1(x2, y2)] is determined. Then in each scanning area, it is determined whether the grid C1 located in the scanning area is empty. Each grid C1 corresponds to a point cloud coordinate, such as P(x, y), and then it can be determined whether the grid C1 located in the scanning area is on the left side or the right side of the corresponding vector according to the equation r = (x2-x1)*(y-y1)-(y2-y1)*(x-y1). When r < 0, it indicates that the grid C1 corresponding to the point cloud coordinate is on the right side of the vector direction, and when r > 0, it indicates that the grid C1 corresponding to the point cloud coordinate is on the left side of the vector direction. Then it is determined that the grid C1 located on the left side of the vector corresponding to the scanning area is not empty, and it is determined that the grid C1 located on the right side of the vector corresponding to the scanning area is empty. Wherein, when determining whether the grid C1 in the scanning area is on the left side or the right side of the vector corresponding to the scanning area, the direction of the vector corresponding to the scanning area can be taken as the reference to determine the left and right directions of the grid C1. For example, in the vector [K n (x1, y1)→K n+1 (x2, y2)], along the arrow direction of the vector [K n (x1, y1)→K n+1 (x2, y2)], it can be determined that the area where P(x, y) is located is on the left side of the vector, the grid C1 in this area is not empty, and the area where P(x, y) is not located in the scanning area is on the right side of the vector, and the grid C1 in this area is empty.
[0045] For example, in an embodiment, the angular accuracy of the radar 10 is 0.33°, so after scanning the preset storage space S1 at an included angle of 90°, 271 point cloud data are obtained, and correspondingly, there are 271 point cloud coordinates in the grid map. When generating vectors, 270 vectors can be generated according to any two adjacent point cloud coordinates, and then the scanning area is determined according to the 270 vectors, and then it is determined whether the grid C1 in the scanning area is on the left side or the right side of the corresponding vector, so as to determine whether the grid C1 located in the scanning area is empty.
[0046] In this way, by establishing a grid map and generating a plurality of vectors according to point cloud coordinates, it can be determined whether the grid C1 is empty or not empty according to the vectors in the image, so as to obtain the area in the grid map where goods can be placed from the grid map, thereby facilitating the selection of the to-be-stored position A1.
[0047] Please refer to Figure 2 , Figure 5 and Figure 6 , in some embodiments, step 03: determining the to-be-stored position A1 according to the empty grid C1, so as to store the goods to the to-be-stored position A1, comprising:
[0048] Step 031: setting a first weight value of the first edge L1 and a second weight value of the second edge L2 of the preset storage space S1 in the grid map, the first edge L1 and the second edge L2 being perpendicular.
[0049] Step 032: Calculate the coordinate difference of each intersection grid C1 and the empty grid C1, and the third weight of each empty grid C1 according to the coordinate difference, the first weight and the second weight of each empty grid C1.
[0050] Step 033: Determine the third weight of each empty grid C1 according to the coordinate difference, the first weight and the second weight of each empty grid C1. The smaller the coordinate difference of each empty grid C1, the smaller the third weight of each empty grid C1.
[0051] Step 034: Determine the to-be-stored position A1 according to the third weight of each empty grid C1, and store the luggage in the to-be-stored position A1.
[0052] Specifically, different occasions may have different luggage placing tendencies when selecting the to-be-stored position A1. For example, some occasions require the luggage to be placed on one side of the preset storage space S1, and some occasions require the luggage to be placed on both sides of the preset storage space S1. Therefore, the first weight of the first edge L1 and the second weight of the second edge L2 of the preset storage space S1 can be set on the grid map at this time, and the first edge L1 and the second edge L2 are perpendicular. Then calculate the coordinate difference of each empty grid C1 and the intersection grid C1 of the first edge L1 and the second edge L2, and determine the third weight of each empty grid C1 according to the coordinate difference, the first weight and the second weight of each empty grid C1. The smaller the coordinate difference of each empty grid C1, the smaller the third weight of each empty grid C1.
[0053] For example, the third weight of each empty grid C1 can be calculated according to the formula W[i] = a*O. x -[i]. x )+b*o. y -[i]. y , wherein W[i] is the third weight, a is the first weight, b is the second weight, O. x and o. y respectively correspond to the horizontal coordinate and the vertical coordinate of the intersection grid C1, W[i]. x and W[i]. y respectively correspond to the horizontal coordinate and the vertical coordinate of the grid C1, i = {1, 2..n}, and n is the total number of empty grids C1.
[0054] When the third weight values of all empty grids C1 are calculated, the to-be-stored position A1 can be determined according to the third weight values. In an embodiment, the third weight values of all empty grids C1 are compared, and the empty grid C1 with the minimum third weight value is determined as the to-be-stored position A1. In another embodiment, the size of the grid C1 and the size of the goods are also taken into account, that is, when the to-be-stored position A1 is determined, the to-be-stored position with the minimum third weight value and capable of placing the goods is selected from the preset storage space S1 according to the size of the goods and the size of the grid C1 to place the goods.
[0055] For example, when the first weight value is greater than the second weight value, the grid C1 close to the first side L1 is preferentially selected as the to-be-stored position A1, for example Figure 6 When the first weight value is equal to the second weight value, the grid C1 close to the second side L2 is preferentially selected as the to-be-stored position A1, for example Figure 7 .
[0056] In this way, the first weight value of the first side L1 and the second weight value of the second side L2 of the grid map can be set by setting the preset storage space S1, the third weight value of the empty grid C1 can be calculated according to the first weight value and the second weight value, and the to-be-stored position A1 can be selected according to the third weight value, so as to meet the placement tendency of the goods in the use scenario, thereby enabling the present application to be applicable to various use scenarios.
[0057] Please refer to Figure 2 In some embodiments, the intersection grid C1 and the coordinate origin are located at two ends of a diagonal line of the grid map, or the intersection grid C1 and the coordinate origin are located at two ends of a side of the grid map.
[0058] Specifically, after the goods are placed in the preset storage space S1, the goods will block part of the light emitted by the radar 10, and the radar 10 cannot obtain the information of the area corresponding to the blocked light. If there is an area capable of placing goods in the corresponding area, the goods cannot be placed in this part of the area, which will reduce the space utilization rate of the preset storage space S1.
[0059] Therefore, the relative position of the radar 10 and the intersection grid C1 needs to be set as much as possible to ensure that after the goods are stored, the radar 10 is blocked by less light, so as to avoid that there is an empty area in the area corresponding to the blocked light. When the radar 10 is set, the intersection grid C1 and the coordinate origin are located at two ends of a diagonal line of the grid map, or the intersection grid C1 and the coordinate origin are located at two ends of a side of the grid map, so as to reduce the area of the area that cannot be scanned by the radar 10, thereby improving the utilization rate of the preset storage space S1.
[0060] Please refer to Figure 2 , Figure 8 and Figure 9In some embodiments, step 034: determining the to-be-stored location A1 according to the third weight values of the empty grids C1, so as to store the goods to the to-be-stored location A1, comprises:
[0061] Step 0341: sorting the third weight values of all the empty grids C1, so as to determine the empty grids C1 corresponding to the third weight values within a preset sorting range as the first target grids C11, and the third weight values within the preset sorting range are smaller than the third weight values outside the preset sorting range;
[0062] Step 0342: determining a target area according to the first target grids C11 and the size of the goods;
[0063] Step 0343: determining a first shielding area S2 corresponding to the first target grid C11 according to the coordinates of the vertices of the target area of the first target grid C11 and the coordinate origin;
[0064] Step 0344: determining a second shielding area S3 corresponding to the first target grid C11 according to the coordinates of the vertices of the target area of the first target grid C11 and the first shielding area S2;
[0065] Step 0345: determining the generation value of each first target grid C11 according to a preset fourth weight value and the first shielding area S2 corresponding to each first target grid C11, and a preset fifth weight value and the second shielding area S3 corresponding to each first target grid C11;
[0066] Step 0346: determining the first target grid C11 with the smallest generation value as the to-be-stored location A1, so as to store the goods to the to-be-stored location A1.
[0067] Specifically, before selecting the to-be-stored location A1, a preset sorting range is set according to actual needs, so as to complete pre-selection from all the empty grids C1 and reduce the workload of the step of determining the generation value of the first target grid C11. After obtaining the third weight values of all the empty grids C1, the third weight values of all the empty grids C1 are sorted, so as to determine the empty grids C1 corresponding to the third weight values within a preset sorting range as the first target grids C11. In particular, the third weight values within the preset sorting range are smaller than the third weight values outside the preset sorting range. Then, a target area is determined according to the first target grids C11 and the size of the goods. For example, if the preset sorting range is 5, then after sorting the third weight values of all the empty grids C1, the 5 smallest third weight values are selected from the third weight values of all the empty grids C1, and the empty grids C1 corresponding to the 5 smallest third weight values are determined as the first target grids C11.
[0068] The goods placed in the preset storage space S1 will block the light emitted by the radar 10, thereby forming a first shielding area S2 that cannot be scanned by the radar 10. In addition, due to the indefinite size and shape of the goods, the goods and the goods, and the goods and the frame of the preset storage space S1 cannot be completely fitted, so that there may be a space between the goods and the goods, and the goods and the frame of the preset storage space S1 that cannot be placed with goods, i.e. a second shielding area S3. In order to improve the utilization rate of the preset storage space S1, when selecting the to-be-stored position A1, the areas of the first shielding area S2 and the second shielding area S3 need to be reduced as much as possible, and according to the selection tendency of the first shielding area S2 and the second shielding area S3, the fourth weight value corresponding to the first shielding area S2 and the fifth weight value corresponding to the second shielding area S3 are set, so as to set the proportion of the first shielding area S2 and the second shielding area S3 in the utility value calculation formula according to the use demand. For example, some use scenarios may prefer to reduce the first shielding area S2 generated after placing the goods, so the proportion of the first shielding area S2 in the utility value calculation formula can be increased when calculating the utility value, and at this time the fourth utility value can be set to be larger. Some use scenarios may prefer to reduce the second shielding area S3 generated after placing the goods, so the proportion of the second shielding area S3 in the utility value calculation formula can be increased when calculating the utility value, and at this time the fifth utility value can be set to be larger. Therefore, by reasonably setting the fourth weight value and the fifth weight value, the proportion of the corresponding shielding area in the utility value calculation formula can be set accordingly, so that the first shielding area S2 and the second shielding area S3 generated after placing the goods in the to-be-stored position A1 can meet the use demand of the use scenario.
[0069] Then, according to the coordinates of the vertices of the target area of the first target grid C11 and the coordinate origin, the first shielding area S2 corresponding to the first target grid C11 is determined, and according to the coordinates of the vertices of the target area of the first target grid C11 and the first shielding area S2, the second shielding area S3 corresponding to the first target grid C11 is determined. After determining the first shielding area S2 and the second shielding area S3, the utility value of each first target grid C11 is determined according to the preset fourth weight value and the first shielding area S2 corresponding to each first target grid C11, and the preset fifth weight value and the second shielding area S3 corresponding to each first target grid C11. After comparing the utility value of each first target grid C11, the first target grid C11 with the smallest utility value is determined as the to-be-stored position A1, so as to store the goods to the to-be-stored position A1.
[0070] Further, the first occlusion area S2 can be determined by various methods. For example, according to the size of the preset storage space S1, a complete figure of the preset storage space S1 is drawn in the grid map, then the point cloud coordinates of the grid C1 at the upper left corner of the target area and the point cloud coordinates of the grid C1 at the lower right corner of the target area are obtained, and a straight line passing through the coordinate origin and the point cloud coordinates of the grid C1 at the upper left corner of the target area and a straight line passing through the coordinate origin and the point cloud coordinates of the grid C1 at the lower right corner of the target area are drawn, and the two straight lines will intersect the figure of the preset storage space S1 respectively. In this way, the area surrounded by the target area, the straight line passing through the coordinate origin and the point cloud coordinates of the grid C1 at the upper left corner of the target area, the straight line passing through the coordinate origin and the point cloud coordinates of the grid C1 at the lower right corner of the target area, and the figure of the preset storage space S1 is the first occlusion area S2.
[0071] Alternatively, the first occlusion area S2 can be determined according to the vector of the target area. For example, the point cloud coordinates of the grid C1 at the upper left corner of the target area, the point cloud coordinates of the grid C1 at the upper right corner of the target area, and the point cloud coordinates of the grid C1 at the lower right corner of the target area are obtained, the point cloud coordinates of the grid C1 at the upper left corner of the target area and the point cloud coordinates of the grid C1 at the upper right corner of the target area are connected to form a first vector, and the point cloud coordinates of the grid C1 at the upper right corner of the target area and the point cloud coordinates of the grid C1 at the lower right corner of the target area are connected to form a second vector, then the area between the first vector and the figure of the preset storage space S1 in the scanning area and the area between the second vector and the figure of the preset storage space S1 in the scanning area are calculated respectively, and the two areas are added to obtain the first occlusion area S2. Alternatively, the point cloud coordinates of the grid C1 at the upper left corner of the target area and the point cloud coordinates of the grid C1 at the lower right corner of the target area are connected to form a third vector, and the area between the third vector and the figure of the preset storage space S1 in the scanning area is calculated. Obviously, half of the area in the target area is located in the area between the third vector and the figure of the preset storage space S1, so when determining the first occlusion area S2, the target area needs to be subtracted from the area between the third vector and the figure of the preset storage space S1, and the final area obtained is the first occlusion area S2.
[0072] Similarly, the determination method of the second shielding area S3 can also be various. For example, the point cloud coordinates of the two end points of the highest side line of the target area are obtained, and two rays are extended from the point cloud coordinates of the two end points respectively towards the positive direction of the y-axis. The two rays, the highest side line of the target area and the graphics will form an area, and if the first shielding area S2 exists, the area of the first shielding area S2 will be excluded, and the remaining area will be the second shielding area S3. Alternatively, the point cloud coordinate with the highest longitudinal coordinate in the target area is obtained, and a ray is extended from the point cloud coordinate with the highest longitudinal coordinate towards the positive direction of the y-axis. The ray and the graphics of the preset storage area will intersect. In this way, the ray, the graphics of the preset storage area and the first shielding area S2 will form an area, and the area will be the second shielding area S3.
[0073] In this way, the first target grid C11 with the least first shielding area S2 and second shielding area S3 generated after the goods are placed can be obtained by calculating the value of the generation, so as to determine the first target grid C11 as the storage position A1, thereby improving the space utilization of the preset storage space S1.
[0074] Please refer to Figure 2 , Figure 9 and Figure 10 In some embodiments, the step 0345 of determining the generation value of each first target grid C11 according to the preset fourth weight value and the first shielding area S2 corresponding to each first target grid C11, and the preset fifth weight value and the second shielding area S3 corresponding to each first target grid C11, comprises:
[0075] The step 03451 of determining the generation value of each first target grid C11 according to the fourth weight value and the first shielding area S2 corresponding to each first target grid C11, the fifth weight value and the second shielding area S3 corresponding to each first target grid C11, the coordinates of the intersection grid C1, the first weight value, the second weight value, and the third weight value of the first target grid C11.
[0076] Specifically, when calculating the generation value of the first target, the influence of the length and width of the preset storage space S1 can also be planned into the calculation of the generation value. Since the intersection grid C1 is generally arranged at 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 generation value of each first target grid C11 can be determined according to the fourth weight value and the first shielding area S2 corresponding to each first target grid C11, the fifth weight value and the second shielding area S3 corresponding to each first target grid C11, the coordinates of the intersection grid C1, the first weight value, the second weight value, and the third weight value of the first target grid C11.
[0077] For example, the fourth weight value is k1, the fifth weight value is k2, U[i] is the first occlusion space corresponding to the first target grid C11, S[i] is the second occlusion space corresponding to the first target grid C11, where i={1, 2..n}, n is the maximum value in the preset sorting range. According to the formula Wmax=O. x *a+. y *bThe maximum third weight value in the preset storage space S1 can be calculated to obtain the proportion of the third weight value of each first target grid C11 to the maximum third weight value, so that the size factor of the third weight value can be planned into the calculation of the generation value. Then, according to the formula The generation value of each first target grid C11 can be calculated. Then, the first target grid C11 with the smallest generation value is obtained by using the formula Rout=MIN(R[1],[2]…R[n]), and the first target grid C11 with the smallest generation value is determined as the to-be-stored position A1, so as to store the goods to the to-be-stored position A1.
[0078] In this way, by including the coordinates of the intersection grid C1 in the formula for calculating the generation value, the influence of the length and width of the preset storage space S1 is planned into the calculation of the generation value, so that the to-be-stored position A1 can be selected based on the size of the preset storage space S1, so that the selected to-be-stored position A1 can be more consistent with the size of the preset storage space S1.
[0079] Please refer to Figure 2 and Figure 11 In some embodiments, step 034: determining the to-be-stored position A1 according to the third weight value of the empty grid C1, and storing the goods to the to-be-stored position A1, further comprises:
[0080] Step 0347: deleting the first target grid C11 whose coordinate corresponding size is smaller than the size of the goods.
[0081] Specifically, before calculating the generation value, some screening steps can be performed in advance to reduce the workload of subsequent generation value calculation. The size of the goods stored in the preset storage space S1 is variable, and the coordinates of the first target grid C11 may not be able to accommodate the goods. Therefore, before calculating the generation value, the size corresponding to the coordinates of the first target grid C11 can be obtained and compared with the size of the goods to be stored at this time, and the first target grid C11 whose coordinate corresponding size is smaller than the size of the goods is deleted, so that when calculating the generation value, the generation value of the first target grid C11 whose coordinate corresponding size is smaller than the size of the goods does not need to be calculated, thereby reducing the workload of the generation value calculation and improving the calculation efficiency of the generation value.
[0082] Please refer to Figure 2 and Figure 12In some embodiments, before the target region is determined according to the first target grid C11 and the size of the goods, step 034: determining the to-be-stored position A1 according to the third weight value of the empty grid C1, so as to store the goods to the to-be-stored position A1, further comprises:
[0083] Step 0348: deleting the first target grid C11 in which the target region exists and is not empty.
[0084] Specifically, the shape of the goods stored in the preset storage space S1 is indefinite, and the surface of some goods is uneven. Therefore, when the radar 10 scans the preset storage space S1, the point cloud data obtained may just be located at the concave part of the goods, so that the concave part is placed with goods, and the point cloud data of the concave part is still determined to be empty. Obviously, if the concave part corresponding to the grid C1 is selected when the to-be-stored position A1 is selected, the goods cannot be placed in the to-be-stored position A1, and the storage of the goods is disordered. Therefore, before the target region is determined, the first target grid C11 in which the target region exists and is not empty needs to be deleted, so as to ensure that the to-be-stored position A1 determined is empty and can place goods, thereby improving the determination accuracy of the to-be-stored position A1.
[0085] Please refer to Figure 2 and Figure 13 In some embodiments, the goods storage method further comprises:
[0086] Step 04: determining the remaining storage space according to the number of all non-empty grids C1 and the number of all grids C1 in the storage area of the grid map in the preset storage space S1.
[0087] Specifically, the remaining storage space can also be determined according to the number of all non-empty grids C1 and the number of all grids C1 in the storage area of the grid map in the preset storage space S1, so as to calculate the number of goods that can be placed in the remaining storage space according to the remaining storage space and the size of the goods, thereby facilitating the placement of goods according to the remaining storage space.
[0088] Please refer to Figure 2 and Figure 14 In some embodiments, the goods storage method further comprises:
[0089] Step 05: determining the contour information according to the point cloud data;
[0090] Step 06: determining that the preset storage space S1 is in place in the case that the contour information matches the preset contour information.
[0091] Specifically, in order to ensure that the radar 10 can scan all positions of the preset storage space S1, the preset storage space S1 needs to be parked at the preset position before the goods are placed. After the radar 10 scans the preset storage space S1, the contour information can be determined according to the point cloud data. In the case that the contour information and the preset contour information match, it is determined that the preset storage space S1 is in place. For example, the preset contour information is a preset pattern of the preset position in the grid C1 image, and the contour information is a pattern of the preset storage space S1 in the grid C1 image. After obtaining the point cloud data, the contour information of the preset storage space S1 at this time can be determined. If the contour line of the pattern of the preset storage space S1 in the grid C1 image and the contour line of the preset pattern of the preset position have a coincidence degree greater than a preset coincidence degree, it can be determined that the preset storage space S1 is in place. Alternatively, when the proportion of the number of point clouds located in the preset pattern to the total number of point clouds is greater than a preset proportion, the matching can be determined, and then it can be confirmed that the preset storage space S1 is in place.
[0092] In this way, whether the preset storage space S1 is in place can be determined by comparing the contour information and the preset contour information, so as to improve the accuracy of scanning, avoid that the radar 10 cannot scan part of the preset storage space S1, and reduce the space utilization rate of the preset storage space S1.
[0093] Please refer to Figure 15 In order to better implement the goods storage method of the embodiments of the present application, the embodiments of the present application further provide a goods storage device 20. The goods storage device 20 comprises a scanning module 21, an establishing module 22, and a determining module 23. The scanning module 21 is configured to scan the preset storage space S1 to obtain a plurality of point cloud data. The establishing module 22 is configured to establish a grid map and determine whether each grid C1 in the grid C1 image is empty according to the point cloud data. The determining module 23 is configured to determine a to-be-stored position A1 according to the empty grid C1, so as to store the goods to the to-be-stored position A1.
[0094] The establishing module 22 is specifically configured to establish the grid C1 image, and all grids C1 in the grid C1 image are empty in the initial state.
[0095] The determining module 23 is specifically configured to generate a plurality of vectors according to any two adjacent point cloud coordinates, and determine a scanning area corresponding to each vector according to the coordinate origin of the grid C1 image and the vector. In each scanning area, it is determined that the grid C1 located on the left side of the vector corresponding to the scanning area is not empty, and the grid C1 located on the right side of the vector corresponding to the scanning area is empty.
[0096] The goods storage device 20 further comprises a setting module 24 and a calculating module 25.
[0097] The setting module 24 is configured to set a first weight value of the first edge L1 and a second weight value of the second edge L2 of the preset storage space S1 in the grid map, and the first edge L1 and the second edge L2 are perpendicular.
[0098] The calculating module 25 is configured to calculate a coordinate difference value of each grid C1 at the intersection of the first edge L1 and the second edge L2.
[0099] The determining module 23 is specifically configured to determine a third weight value of each grid C1 according to the coordinate difference value, the first weight value and the second weight value of each grid C1, and the smaller the coordinate difference value of the grid C1 is, the smaller the third weight value of the grid C1 is; and determine the to-be-stored position A1 according to the third weight value of the empty grid C1, so as to store the goods to the to-be-stored position A1.
[0100] The determining module 23 is specifically configured to sort the third weight values of all the empty grids C1, so as to determine that the empty grid C1 corresponding to the third weight value within a preset sorting range as a first target grid C11, and the third weight value within the preset sorting range is smaller than the third weight value outside the preset sorting range; determine a target area according to the first target grid C11 and the size of the goods; determine a first shielding area S2 corresponding to the first target grid C11 according to the coordinates of the vertex of the target area of the first target grid C11 and the coordinate origin; determine a second shielding area S3 corresponding to the first target grid C11 according to the coordinates of the vertex of the target area of the first target grid C11 and the first shielding area S2; determine a generation value of each first target grid C11 according to a preset fourth weight value and the first shielding area S2 corresponding to each first target grid C11, and a preset fifth weight value and the second shielding area S3 corresponding to each first target grid C11; and determine the first target grid C11 with the smallest generation value as the to-be-stored position A1, so as to store the goods to the to-be-stored position A1.
[0101] The determining module 23 is specifically configured to determine the generation value of each first target grid C11 according to the fourth weight value and the first shielding area S2 corresponding to each first target grid C11, the fifth weight value and the second shielding area S3 corresponding to each first target grid C11, the coordinates of the intersection grid C1, the first weight value, the second weight value, and the third weight value of the first target grid C11.
[0102] The goods storage device 20 further includes a deleting module 26.
[0103] The deleting module 26 is configured to delete the first target grid C11 corresponding to the coordinates with a size smaller than the size of the goods.
[0104] The deleting module 26 is specifically configured to delete the first target grid C11 in which there is a non-empty grid C1 in the target area.
[0105] The determining module 23 is specifically configured to determine the remaining storage space according to the preset storage space S1, the number of all non-empty grids C1 in the storage area of the grid map, and the number of all grids C1.
[0106] The determining module 23 is specifically configured to determine the contour information according to the point cloud data, and determine that the preset storage space S1 is in place in a case where the contour information matches the preset contour information.
[0107] Referring to Figure 2 and Figure 16 , the carrying device 100 of the embodiment of the application comprises a radar 10 and a processor 30, the radar 10 is configured to scan the preset storage space S1 to obtain a plurality of point cloud data, the processor 30 is configured to establish a grid map, and determine whether each grid C1 in the grid C1 image is empty according to the point cloud data, and determine the to-be-stored position A1 according to the empty grid C1, so as to store the goods to the to-be-stored position A1.
[0108] Referring to Figure 2 and Figure 16 , in some embodiments, the field of view range of the radar 10 covers the preset storage space S1, the radar 10 is located at the coordinate origin of the grid map, and the preset storage space S1 is a rectangle in the grid map, and the coordinate origin is located on the extension line of the side of the rectangle.
[0109] Specifically, the radar 10 has a certain field of view range when scanning, in order to ensure that the radar 10 can scan the entire preset storage space S1, the field of view range of the radar 10 needs to cover the preset storage space S1, at this time, the radar 10 is placed at the coordinate origin of the grid map, the preset storage space S1 is a rectangle in the grid map, and the coordinate origin is located on the extension line of the side of the rectangle. Alternatively, the radar 10 can also be arranged at other places, for example, on the extension line of the center line of the rectangle, as long as the field of view range of the radar 10 covers the preset storage space S1. In this way, by setting the installation position of the radar 10, it can be ensured that the entire preset storage space S1 can be scanned, so that the to-be-stored position A1 can be determined according to the accurate point cloud data of the preset storage space S1, thereby improving the determination accuracy of the to-be-stored position A1.
[0110] Further, the scanning line emitted by the radar 10 can reach a relatively far distance, so the radar 10 does not have special requirements for the installation distance from the preset storage space S1, and since the radar 10 can be erected in the horizontal direction of the site, the installation of the radar 10 is more convenient and flexible compared with the 3D camera which can only be installed at a high place of the site and has requirements for the installation distance.
[0111] Referring to Figure 2 and Figure 16In some embodiments, the radar 10 includes a plurality of radars 10, and the combined field of view of the plurality of radars 10 covers the preset storage space S1.
[0112] Specifically, please refer to Figure 9 When the number of radars 10 is more than one, each radar 10 is arranged at a different position. Before storing the goods in the preset storage space S1, all radars 10 are controlled to scan the preset storage space S1, and a corresponding grid map is generated according to the point cloud data of each radar 10, and a first occluded area S2 in the grid map is calculated. Then, when generating the final grid map, the intersection of the first occluded areas S2 in all grid maps is taken, and the union of the areas with an empty state in the grid maps is taken. For example, when the number of radars 10 is two, grid map A and grid map B are generated. When part of the grid C1 is the first occluded area S2 in grid map A and is an area with an empty state in grid map B, the part of the grid C1 is confirmed as an area with an empty state in the final grid map. If the part of the grid C1 is the first occluded area S2 in both grid map A and grid map B, the part of the grid C1 is the first occluded area S2 in the final grid map. Similarly, if the part of the grid C1 is an area with an empty state in both grid map A and grid map B, the part of the grid C1 is an area with an empty state in the final grid map. In this way, by using a plurality of radars 10, point cloud data can be obtained from multiple angles to reduce the area of the first occluded area S2 in the final grid map, thereby improving the determination accuracy of the to-be-stored position A1 and improving the space utilization of the preset storage area.
[0113] Further, since the price of the radar 10 is cheaper than that of the 3D camera, and there are many types of radars 10, such as laser radars 10 and millimeter wave radars 10, when arranging the radars 10, the number and type of the radars 10 can be flexibly configured according to the requirements to ensure the accuracy of the obtained point cloud data and the determination accuracy of the to-be-stored position A1.
[0114] Please refer to Figure 17 The application also provides a non-volatile computer readable storage medium 200, which stores a computer program 210. When the computer program 210 is executed by the processor 30, the steps of the goods storage method of any one of the above embodiments are implemented. For brevity, the details are not repeated here.
[0115] In the description of this specification, the reference terms "certain embodiments", "in an example", "exemplarily", etc. mean that the specific features, structures, materials or characteristics described in conjunction with the embodiments or examples are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, unless they are mutually inconsistent.
[0116] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code comprising one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may be performed out of the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by those skilled in the art to which the embodiments of the present application belong.
[0117] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above embodiments within the scope of the present application.
Claims
1. A cargo storage method, characterized in that: include: Scan the preset storage space to obtain multiple point cloud data; Establishing a grid map, and determining whether each grid in the grid map is empty according to the point cloud data; and Determining a storage location according to the empty grids to store the goods in the storage location; The point cloud data includes point cloud coordinates, and the step of establishing a grid map and determining whether each grid in the grid map is empty based on the point cloud data includes: Establishing the grid map, wherein all the grids in the grid map are empty in an initial state; Generate multiple vectors according to any two adjacent point cloud coordinates, and determine a scanning area corresponding to each vector according to the coordinate origin of the grid map and the vector; In each of the scanning areas, determining that the grid located to the left of the vector corresponding to the scanning area is not empty, and determining that the grid located to the right of the vector corresponding to the scanning area is empty; The determining of a to-be-stored location based on the empty grids to store the goods in the to-be-stored location includes: Setting the preset storage space to a first weight of a first side and a second weight of a second side of the grid map, wherein the first side and the second side are perpendicular; Calculate the coordinate difference between the intersection grid of the first side and the second side and each of the grids; determining a third weight of each grid according to the coordinate difference, the first weight, and the second weight of each grid, wherein the smaller the coordinate difference corresponding to the grid is, the smaller the third weight of the grid is; The to-be-stored location is determined according to the third weight of the empty grid, so as to store the goods in the to-be-stored location.
2. The cargo storage method according to claim 1, characterized in that: The intersection grid and the coordinate origin are located at two ends of a diagonal line of the grid map, or the intersection grid and the coordinate origin are located at two ends of a side of the grid map.
3. The cargo storage method according to claim 1, characterized in that: The determining the to-be-stored location according to the third weight of the empty grid to store the goods at the to-be-stored location includes: sorting the third weights of all empty grids to determine as first target grids the empty grids corresponding to the third weights within a preset sorting range, wherein the third weights within the preset sorting range are smaller than the third weights outside the preset sorting range; determining a target area according to the first target grid and the size of the cargo; determining a first occlusion area corresponding to the first target grid according to the coordinates of the vertices of the target area of the first target grid and the coordinate origin; determining a second occlusion area corresponding to the first target grid according to the coordinates of the vertices of the target area of the first target grid and the first occlusion area; Determining a cost value for each first target grid according to 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; The first target grid with the smallest cost value is determined as the to-be-stored location, so as to store the goods in the to-be-stored location.
4. The cargo storage method according to claim 3, characterized in that: The determining of the cost value of each first target grid according to 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, 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 storage method according to claim 3, characterized in that: The method further comprises: determining the to-be-stored location according to the third weight of the empty grid to store the goods at the to-be-stored location; The first target grid whose coordinates correspond to a size smaller than the size of the cargo is deleted.
6. The cargo storage method according to claim 3, characterized in that: Before determining the target area according to the first target grid and the size of the goods, determining the to-be-stored location according to the third weight of the empty grid to store the goods in the to-be-stored location further includes: The first target grids that are not empty in the target area are deleted.
7. The cargo storage method according to claim 1, characterized in that: Also includes: The remaining storage space is determined according to the preset storage space in the storage area of the grid map, the number of all non-empty grids and the number of all grids.
8. The cargo storage method according to claim 1, characterized in that: Also includes: Determining contour information based on the point cloud data; In a case where the profile information matches the preset profile information, it is determined that the preset storage space is in place.
9. A cargo storage device, characterized in that: include: A scanning module, used for scanning a preset storage space to obtain multiple point cloud data; An establishment module, configured to establish a grid map and determine whether each grid in the grid map is empty based on the point cloud data; a determination module, configured to determine a to-be-stored location based on the empty grids, so as to store the goods in the to-be-stored location; The point cloud data includes point cloud coordinates, and the establishment module is used to establish the grid map, and all the grids in the grid map are empty in an initial state; The determination module is configured to generate a plurality of vectors based on any two adjacent point cloud coordinates, and determine a scanning area corresponding to each vector based on the coordinate origin of the grid map and the vector; in each scanning area, determine that the grid located to the left of the vector corresponding to the scanning area is not empty, and determine that the grid located to the right of the vector corresponding to the scanning area is empty; A setting module, configured to set a first weight of a first side and a second weight of a second side of the preset storage space on the grid map, wherein the first side and the second side are perpendicular; a calculation module, configured to calculate a coordinate difference between a grid of an intersection of the first side and the second side and each of the grids; The determination module is further configured to determine a third weight of each grid based on the coordinate difference, the first weight, and the second weight of each grid, wherein the smaller the coordinate difference corresponding to the grid, the smaller the third weight of the grid; and determine the location to be stored based on the third weight of the empty grid, so as to store the goods at the location to be stored.
10. A transport device, characterized in that: The system comprises a radar and a processor, wherein the radar is used to scan a preset storage space to obtain a plurality of point cloud data; the processor is used to establish a grid map and determine whether each grid in the grid map is empty according to the point cloud data; and determine a storage location based on the empty grid to store the goods in the storage location; The point cloud data includes point cloud coordinates, and the processor is further configured to establish the grid map, wherein all grids in the grid map are initially empty; generate multiple vectors based on any two adjacent point cloud coordinates, and determine a scanning area corresponding to each vector based on the coordinate origin of the grid map and the vector; in each scanning area, determine that the grid located to the left of the vector corresponding to the scanning area is not empty, and determine that the grid located to the right of the vector corresponding to the scanning area is empty; The processor is further configured to set a first weight of a first side of the preset storage space and a second weight of a second side of the grid map, wherein the first side and the second side are perpendicular; calculate a coordinate difference between an intersection grid of the first side and the second side and each of the grids; determine a third weight of each of the grids based on the coordinate difference, the first weight, and the second weight of each of the grids, wherein the smaller the coordinate difference corresponding to the grid, the smaller the third weight of the grid; and determine the location to be stored based on the third weight of the empty grid to store the goods at the location to be stored.
11. The transport equipment according to claim 10, characterized in that: The field of view of the radar covers the preset storage space, the radar is located at the coordinate origin of the grid map, the preset storage space is a rectangle in the grid map, and the coordinate origin is located on the extension line of the side of the rectangle.
12. The transport equipment according to claim 10, characterized in that The radar includes multiple radars, and the combined field of view of the multiple radars covers the preset storage space.
13. A non-volatile computer-readable storage medium containing a computer program, wherein when the computer program is executed by a processor, the processor is caused to execute the cargo storage method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Transfer device, control method, storage medium and electronic equipment
CN111573296A
Point cloud data processing method and apparatus, radar apparatus, electronic device, and computer readable storage medium
WO2022017147A1